1
0
mirror of https://github.com/gnosygnu/xowa.git synced 2026-03-02 03:49:30 +00:00

Cfg: Convert rest of pages

This commit is contained in:
gnosygnu
2016-12-21 03:07:38 -05:00
parent 68674ace83
commit 93fcec3457
112 changed files with 946 additions and 1386 deletions

View File

@@ -16,7 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.xowa.addons.apps.cfgs; import gplx.*; import gplx.xowa.*; import gplx.xowa.addons.*; import gplx.xowa.addons.apps.*;
import gplx.dbs.*; import gplx.xowa.addons.apps.cfgs.mgrs.caches.*; import gplx.xowa.addons.apps.cfgs.mgrs.dflts.*; import gplx.xowa.addons.apps.cfgs.mgrs.types.*;
import gplx.dbs.*; import gplx.xowa.addons.apps.cfgs.mgrs.caches.*; import gplx.xowa.addons.apps.cfgs.mgrs.dflts.*; import gplx.xowa.addons.apps.cfgs.mgrs.types.*; import gplx.xowa.addons.apps.cfgs.mgrs.execs.*;
public class Xocfg_mgr {
private final Xocfg_cache_mgr cache_mgr = new Xocfg_cache_mgr();
public Xocfg_mgr() {
@@ -24,6 +24,7 @@ public class Xocfg_mgr {
}
public Xocfg_type_mgr Type_mgr() {return type_mgr;} private final Xocfg_type_mgr type_mgr = new Xocfg_type_mgr();
public Xocfg_dflt_mgr Dflt_mgr() {return dflt_mgr;} private final Xocfg_dflt_mgr dflt_mgr;
public Xocfg_exec_mgr Exec_mgr() {return exec_mgr;} private final Xocfg_exec_mgr exec_mgr = new Xocfg_exec_mgr();
public void Init_by_app(Xoa_app app) {
cache_mgr.Init_by_app
( gplx.xowa.addons.apps.cfgs.dbs.Xocfg_db_app.New_conn(app)
@@ -62,6 +63,10 @@ public class Xocfg_mgr {
String rv = cache_mgr.Get_or(Ctx__app, key, null);
return rv == null ? or : Int_.parse_or(rv, or);
}
public long Get_long_app_or(String key, long or) {
String rv = cache_mgr.Get_or(Ctx__app, key, null);
return rv == null ? or : Long_.parse_or(rv, or);
}
public String Get_str_app_or(String key, String or) {return cache_mgr.Get_or(Ctx__app, key, or);}
public String Get_str_app(String key) {return Get_str(Xocfg_mgr.Ctx__app, key);}
public boolean Get_bool_or(String ctx, String key, boolean or) {

View File

@@ -69,6 +69,7 @@ public class Xoitm_gui_tid {
else if (String_.Eq(db_type, "memo")) return Itm__memo.key;
else if (String_.Eq(db_type, "io.cmd")) return Itm__io_cmd.key;
else if (String_.Has_at_bgn(db_type, "list:")) return Itm__list.key;
else if (String_.Eq(db_type, "btn")) return Itm__btn.key;
else return Itm__str.key;
}
}

View File

@@ -0,0 +1,39 @@
/*
XOWA: the XOWA Offline Wiki Application
Copyright (C) 2012 gnosygnu@gmail.com
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.xowa.addons.apps.cfgs.mgrs.execs; import gplx.*; import gplx.xowa.*; import gplx.xowa.addons.*; import gplx.xowa.addons.apps.*; import gplx.xowa.addons.apps.cfgs.*; import gplx.xowa.addons.apps.cfgs.mgrs.*;
public class Xocfg_exec_mgr {
private final Ordered_hash hash = Ordered_hash_.New();
public void Add(Gfo_invk invk, String... cmds) {
for (String cmd : cmds) {
hash.Add(cmd, invk);
}
}
public void Exec(String cmd, Object... args) {
Gfo_invk invk = (Gfo_invk)hash.Get_by(cmd);
// create msg and add args
GfoMsg msg = GfoMsg_.new_parse_(cmd);
int args_len = args.length;
if (args_len > 0) {
for (int i = 0; i < args_len; i += 2) {
msg.Add((String)args[i], args[i + 1]);
}
}
Gfo_invk_.Invk_by_msg(invk, cmd, msg);
}
}

View File

@@ -23,13 +23,13 @@ public class Xocfg_type_mgr {
this.Lists__add("list:xowa.app.startup.window.mode", "previous", "maximized", "absolute", "relative", "default");
this.Lists__add("list:xowa.app.startup.pages.type", "blank", "xowa", "previous", "custom");
this.Lists__add("list:xowa.gui.window.html_box.adj_type", "none", "relative", "absolute");
this.Lists__add("list:xowa.wiki.database.general.zip_mode", "text", "gzip", "bzip2", "xz");
this.Lists__add("list:xowa.wiki.database.zip_mode", "text", "gzip", "bzip2", "xz");
this.Lists__add("list:xowa.html.wiki.portal.missing_class", Keyval_.new_("", "Show as blue link"), Keyval_.new_("new", "Show as red link"), Keyval_.new_("xowa_display_none", "Hide"));
this.Lists__add("list:xowa.html.category.basic.missing_class", "normal", "hide", "red_link");
this.Lists__add("list:xowa.html.tidy.general.engine", "tidy", "jtidy");
this.Lists__add("list:xowa.addon.http_server.general.file_retrieve_mode", Keyval_.new_("wait"), Keyval_.new_("skip"), Keyval_.new_("async_server", "async server"));
this.Lists__add("list:xowa.addon.http_server.file_retrieve_mode", Keyval_.new_("wait"), Keyval_.new_("skip"), Keyval_.new_("async_server", "async server"));
this.Lists__add("list:xowa.addon.search_suggest.html_bar.search_mode", "Search", "AllPages", "AllPages_(v2)");
this.Lists__add("list:xowa.addon.math.general.renderer", "MathJax", "LaTeX");
this.Lists__add("list:xowa.addon.math.renderer", Keyval_.new_("mathjax","MathJax"), Keyval_.new_("latex", "LaTeX"));
this.Lists__add("list:xowa.addon.scribunto.general.engine", "luaj", "lua");
}
public void Lists__add(String key, String... vals) {

View File

@@ -55,6 +55,9 @@ public class Xoedit_itm_html {
( "<input class=\"xocfg__io_cmd__arg__txt\" id=\"{1}-arg\" data-xocfg-key=\"{1}\" data-xocfg-gui=\"{0}-arg\" accesskey=\"d\" type=\"text\" value='{2}'>\n"
, gui_type_key, key, lines[1]);
break;
case Xoitm_gui_tid.Tid__btn:
bfr.Add_str_u8_fmt("<input id=\"{1}\" data-xocfg-key=\"{1}\" data-xocfg-gui=\"{0}\" class=\"xocfg__btn\" type=\"button\"{2}></input>", gui_type_key, key, key);
break;
default:
break;
}

View File

@@ -19,8 +19,10 @@ package gplx.xowa.addons.apps.cfgs.specials.edits.pages; import gplx.*; import g
import gplx.xowa.specials.*; import gplx.langs.mustaches.*; import gplx.xowa.wikis.pages.*; import gplx.xowa.wikis.pages.tags.*;
import gplx.xowa.addons.apps.cfgs.specials.edits.services.*; import gplx.xowa.addons.apps.cfgs.specials.edits.objs.*;
class Xocfg_edit_html extends Xow_special_wtr__base {
private final Xocfg_edit_loader loader;
private final String grp, ctx, lang;
public Xocfg_edit_html(String grp, String ctx, String lang) {
public Xocfg_edit_html(Xocfg_edit_loader loader, String grp, String ctx, String lang) {
this.loader = loader;
this.grp = grp;
this.ctx = ctx;
this.lang = lang;
@@ -28,8 +30,7 @@ class Xocfg_edit_html extends Xow_special_wtr__base {
@Override protected Io_url Get_addon_dir(Xoa_app app) {return app.Fsys_mgr().Http_root().GenSubDir_nest("bin", "any", "xowa", "addon", "app", "cfg", "edit");}
@Override protected Io_url Get_mustache_fil(Io_url addon_dir) {return addon_dir.GenSubFil_nest("bin", "xo.cfg_edit.page.mustache.html");}
@Override protected Mustache_doc_itm Bld_mustache_root(Xoa_app app) {
Xocfg_edit_loader mgr = Xocfg_edit_loader.New(app);
return mgr.Load_root(grp, ctx, lang);
return loader.Load_root(grp, ctx, lang);
}
@Override protected void Bld_tags(Xoa_app app, Io_url addon_dir, Xopage_html_data page_data) {
Xopg_tag_mgr head_tags = page_data.Head_tags();

View File

@@ -17,6 +17,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.xowa.addons.apps.cfgs.specials.edits.pages; import gplx.*; import gplx.xowa.*; import gplx.xowa.addons.*; import gplx.xowa.addons.apps.*; import gplx.xowa.addons.apps.cfgs.*; import gplx.xowa.addons.apps.cfgs.specials.*; import gplx.xowa.addons.apps.cfgs.specials.edits.*;
import gplx.xowa.specials.*; import gplx.core.net.qargs.*;
import gplx.xowa.addons.apps.cfgs.specials.edits.services.*;
public class Xocfg_edit_special implements Xow_special_page {
public void Special__gen(Xow_wiki wiki, Xoa_page page, Xoa_url url, Xoa_ttl ttl) {
Gfo_qarg_mgr url_args = new Gfo_qarg_mgr().Init(url.Qargs_ary());
@@ -25,10 +26,16 @@ public class Xocfg_edit_special implements Xow_special_page {
String ctx = url_args.Read_str_or("ctx", "app");
String lang = url_args.Read_str_or("lang", wiki.App().User().Wikii().Lang().Key_str());
Xocfg_edit_loader loader = Xocfg_edit_loader.New(wiki.App());
if (String_.Eq(grp, "")) {
grp = wiki.App().Cfg().Get_str_app("xowa.app.cfg.recent_page");
if (!loader.Grp_key_exists(grp)) {
grp = "xowa.app.security";
Gfo_usr_dlg_.Instance.Warn_many("", "", "cfg:grp_key not found; defaulting to xowa.app.security; key=~{0}", grp);
}
}
new Xocfg_edit_html(grp, ctx, lang).Bld_page_by_mustache(wiki.App(), page, this);
new Xocfg_edit_html(loader, grp, ctx, lang).Bld_page_by_mustache(wiki.App(), page, this);
}
Xocfg_edit_special(Xow_special_meta special__meta) {this.special__meta = special__meta;}

View File

@@ -31,6 +31,8 @@ public class Xocfg_edit_loader {
this.type_mgr = type_mgr;
this.dflt_mgr = dflt_mgr;
}
public boolean Grp_key_exists(String grp_key) {return db_app.Tbl__grp().Select_by_key_or_null(grp_key) != null;
}
public Xoedit_root Load_root(String grp_key, String ctx, String lang) {
// create lists
Ordered_hash grp_temp = Ordered_hash_.New();

View File

@@ -30,7 +30,7 @@ public class Xoscript_mgr {
}
public void Write(Bry_bfr rv, Xow_wiki wiki, Xoa_page page) {
// init
if (!wiki.App().Api_root().Addon().App__scripting__enabled()) return;
if (!wiki.Html__wtr_mgr().Scripting_enabled()) return;
this.Init(wiki);
if (xtn_mgr == null) return;