mirror of
https://github.com/gnosygnu/xowa.git
synced 2026-03-02 03:49:30 +00:00
Cfg: Convert 'Import - Dansguardian'
This commit is contained in:
@@ -65,6 +65,7 @@ public class Xoax_addon_mgr {
|
||||
if (app.Mode().Tid_is_http()) {
|
||||
app.Addon_mgr().Itms__add_many(new gplx.xowa.addons.servers.https.Xoax_long_poll_addon());
|
||||
}
|
||||
|
||||
return this;
|
||||
}
|
||||
public void Run_by_app(Xoa_app app) {
|
||||
@@ -102,7 +103,13 @@ public class Xoax_addon_mgr {
|
||||
}
|
||||
}
|
||||
}
|
||||
private boolean init_cfg = true; // WORKAROUND:move cfg to separate proc instead of lazy-loading on 1st wiki
|
||||
public void Load_by_wiki(Xow_wiki wiki) {
|
||||
if (init_cfg) {
|
||||
init_cfg = false;
|
||||
gplx.xowa.bldrs.filters.dansguardians.Dg_match_mgr.Cfg__reg(wiki.App());
|
||||
}
|
||||
|
||||
int len = init_list.Len();
|
||||
for (int i = 0; i < len; ++i) {
|
||||
Xoax_addon_itm__init itm = (Xoax_addon_itm__init)init_list.Get_at(i);
|
||||
|
||||
@@ -53,10 +53,40 @@ public class Xocfg_mgr {
|
||||
cache_mgr.Sub(sub, ctx, key, key);
|
||||
return cache_mgr.Get(ctx, key);
|
||||
}
|
||||
public String Get_str_app(String key) {return Get_str(Xocfg_mgr.Ctx__app, key);}
|
||||
public String Get_str(String ctx, String key) {
|
||||
return cache_mgr.Get(ctx, key);
|
||||
public boolean Get_bool_by_wiki_or(Xow_wiki wiki, String key, boolean or) {
|
||||
String rv = Get_str(wiki.Domain_itm().Abrv_xo_str(), key);
|
||||
return rv == null ? Yn.parse_or(rv, or) : 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) {
|
||||
String rv = cache_mgr.Get(ctx, key);
|
||||
try {return Yn.parse(rv);}
|
||||
catch (Exception exc) {
|
||||
Err_.Noop(exc);
|
||||
Gfo_usr_dlg_.Instance.Warn_many("", "", "cfg:failed to parse boolean; key=~{0} val=~{1}", key, rv);
|
||||
return or;
|
||||
}
|
||||
}
|
||||
public int Get_int_or(String ctx, String key, int or) {
|
||||
String rv = cache_mgr.Get(ctx, key);
|
||||
try {return Int_.parse(rv);}
|
||||
catch (Exception exc) {
|
||||
Err_.Noop(exc);
|
||||
Gfo_usr_dlg_.Instance.Warn_many("", "", "cfg:failed to parse int; key=~{0} val=~{1}", key, rv);
|
||||
return or;
|
||||
}
|
||||
}
|
||||
public Io_url Get_url_or(String ctx, String key, Io_url or) {
|
||||
String rv = cache_mgr.Get(ctx, key);
|
||||
try {return Io_url_.new_any_(rv);}
|
||||
catch (Exception exc) {
|
||||
Err_.Noop(exc);
|
||||
Gfo_usr_dlg_.Instance.Warn_many("", "", "cfg:failed to parse int; key=~{0} val=~{1}", key, rv);
|
||||
return or;
|
||||
}
|
||||
}
|
||||
public String To_ctx(Xow_wiki wiki) {return wiki.Domain_itm().Abrv_xo_str();}
|
||||
public String Get_str(String ctx, String key) {return cache_mgr.Get(ctx, key);}
|
||||
public void Set_str_app(String key, String val) {Set_str(Xocfg_mgr.Ctx__app, key, val);}
|
||||
public void Set_str(String ctx, String key, String val) {
|
||||
cache_mgr.Set(ctx, key, val);
|
||||
|
||||
@@ -33,6 +33,7 @@ public class Xocfg_dflt_mgr {
|
||||
}
|
||||
public void Add(String key, String val) {
|
||||
cache_mgr.Dflt(key, val);
|
||||
hash.Add(key, new Xocfg_dflt_itm__static(val));
|
||||
}
|
||||
public void Add(String key, Xocfg_dflt_itm itm) {
|
||||
hash.Add(key, itm);
|
||||
|
||||
@@ -26,7 +26,7 @@ public class Xocfg_edit_special implements Xow_special_page {
|
||||
String lang = url_args.Read_str_or("lang", wiki.App().User().Wikii().Lang().Key_str());
|
||||
|
||||
if (String_.Eq(grp, "")) {
|
||||
grp = wiki.App().Cfg().Get_str_app("xowa.app.cfg.general.previous_section");
|
||||
grp = wiki.App().Cfg().Get_str_app("xowa.app.cfg.recent_page");
|
||||
}
|
||||
new Xocfg_edit_html(grp, ctx, lang).Bld_page_by_mustache(wiki.App(), page, this);
|
||||
}
|
||||
|
||||
@@ -46,7 +46,7 @@ public class Xocfg_edit_svc {
|
||||
String key = args.Get_as_str("key");
|
||||
if (edit_loader == null) edit_loader = Xocfg_edit_loader.New(app);
|
||||
Xoedit_root root = edit_loader.Load_root(key, ctx, "en");
|
||||
app.Cfg().Set_str_app("xowa.app.cfg.general.previous_section", key);
|
||||
app.Cfg().Set_str_app("xowa.app.cfg.recent_page", key);
|
||||
app.Gui__cbk_mgr().Send_json(cbk_trg, "xo.cfg_edit.load__recv", root.To_nde());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user