diff --git a/400_xowa/src/gplx/xowa/addons/htmls/includes/Script_engine__noop.java b/400_xowa/src/gplx/langs/htmls/scripts/Gfh_script_engine.java similarity index 83% rename from 400_xowa/src/gplx/xowa/addons/htmls/includes/Script_engine__noop.java rename to 400_xowa/src/gplx/langs/htmls/scripts/Gfh_script_engine.java index 052676b40..14829df1c 100644 --- a/400_xowa/src/gplx/xowa/addons/htmls/includes/Script_engine__noop.java +++ b/400_xowa/src/gplx/langs/htmls/scripts/Gfh_script_engine.java @@ -15,14 +15,14 @@ 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 . */ -package gplx.xowa.addons.htmls.includes; import gplx.*; import gplx.xowa.*; import gplx.xowa.addons.*; import gplx.xowa.addons.htmls.*; -interface Script_engine { +package gplx.langs.htmls.scripts; import gplx.*; import gplx.langs.*; import gplx.langs.htmls.*; +public interface Gfh_script_engine { void Load_script(Io_url url); Object Get_object(String obj_name); void Put_object(String name, Object obj); Object Invoke_method(Object obj, String func, Object... args); } -class Script_engine__noop implements Script_engine { +class Gfh_script_engine__noop implements Gfh_script_engine { public void Load_script(Io_url url) {} public Object Get_object(String obj_name) {return null;} public void Put_object(String name, Object obj) {} diff --git a/400_xowa/src/gplx/xowa/addons/htmls/includes/Script_engine__java.java b/400_xowa/src/gplx/langs/htmls/scripts/Gfh_script_engine__java.java similarity index 79% rename from 400_xowa/src/gplx/xowa/addons/htmls/includes/Script_engine__java.java rename to 400_xowa/src/gplx/langs/htmls/scripts/Gfh_script_engine__java.java index c6e5ece58..3cd57aab1 100644 --- a/400_xowa/src/gplx/xowa/addons/htmls/includes/Script_engine__java.java +++ b/400_xowa/src/gplx/langs/htmls/scripts/Gfh_script_engine__java.java @@ -15,27 +15,36 @@ 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 . */ -package gplx.xowa.addons.htmls.includes; import gplx.*; import gplx.xowa.*; import gplx.xowa.addons.*; import gplx.xowa.addons.htmls.*; +package gplx.langs.htmls.scripts; import gplx.*; import gplx.langs.*; import gplx.langs.htmls.*; import java.io.FileReader; import javax.script.Invocable; import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; -class Script_engine__java implements Script_engine { +public class Gfh_script_engine__java implements Gfh_script_engine { private final ScriptEngine engine; private final Invocable invk; - public Script_engine__java() { + public Gfh_script_engine__java() { ScriptEngineManager manager = new ScriptEngineManager(); this.engine = manager.getEngineByName("JavaScript"); this.invk = (Invocable)engine; } public void Load_script(Io_url url) { + FileReader rdr = null; try { - engine.eval(new FileReader(url.Xto_api())); + rdr = new FileReader(url.Xto_api()); + engine.eval(rdr); // return engine.eval(script); } catch (Exception e) { System.out.println(e); } + finally { + try { + rdr.close(); + } catch (Exception e) { + System.out.println(e); + } + } } public void Put_object(String key, Object val) { engine.put(key, val); diff --git a/400_xowa/src/gplx/xowa/Xoa_app_.java b/400_xowa/src/gplx/xowa/Xoa_app_.java index bb8a54dcf..4d0aa5da9 100644 --- a/400_xowa/src/gplx/xowa/Xoa_app_.java +++ b/400_xowa/src/gplx/xowa/Xoa_app_.java @@ -32,7 +32,7 @@ public class Xoa_app_ { } } public static final String Name = "xowa"; - public static final String Version = "3.9.4.5"; + public static final String Version = "3.9.4.6"; public static String Build_date = "2012-12-30 00:00:00"; public static String Op_sys_str; public static String User_agent = ""; diff --git a/400_xowa/src/gplx/xowa/addons/Xoax_addon_mgr.java b/400_xowa/src/gplx/xowa/addons/Xoax_addon_mgr.java index ecd8664ff..e39bcddc4 100644 --- a/400_xowa/src/gplx/xowa/addons/Xoax_addon_mgr.java +++ b/400_xowa/src/gplx/xowa/addons/Xoax_addon_mgr.java @@ -26,8 +26,8 @@ public class Xoax_addon_mgr { public void Itms__add(Xoax_addon_itm itm) { synchronized (hash) { String addon_key = itm.Addon__key(); - Xoa_app_.Usr_dlg().Log_many("", "", "addons.init: ~{0}", addon_key); hash.Add(addon_key, itm); + // Xoa_app_.Usr_dlg().Log_many("", "", "addons.init: ~{0}", addon_key); } } public Xoax_addon_mgr Add_dflts_by_app(Xoa_app app) { diff --git a/400_xowa/src/gplx/xowa/addons/bldrs/updates/files/find_missings/Xodel_find_missing_mgr.java b/400_xowa/src/gplx/xowa/addons/bldrs/updates/files/find_missings/Xodel_find_missing_mgr.java index c98e6f59d..37c91d855 100644 --- a/400_xowa/src/gplx/xowa/addons/bldrs/updates/files/find_missings/Xodel_find_missing_mgr.java +++ b/400_xowa/src/gplx/xowa/addons/bldrs/updates/files/find_missings/Xodel_find_missing_mgr.java @@ -20,7 +20,7 @@ import gplx.dbs.*; import gplx.xowa.bldrs.*; import gplx.xowa.addons.bldrs.files.dbs.*; class Xodel_find_missing_mgr { public void Exec(Xow_wiki wiki) { - // get page_file_map; note that it must have fsdb_deleted + // get page_file_map; note that it must have fsdb_regy Db_conn pfm_conn = Xob_db_file.New__page_file_map(wiki).Conn(); // attach page_db @@ -71,7 +71,7 @@ class Xodel_find_missing_mgr { deletion_conn.Meta_idx_create(Dbmeta_idx_itm.new_normal_by_tbl(delete_regy_tbl.tbl_name, "main", delete_regy_tbl.fld_fil_id, delete_regy_tbl.fld_thm_id)); } /* ---create in pfm_db +--create fsdb_regy in pfm_db CREATE TABLE fsdb_regy ( fsdb_id integer NOT NULL PRIMARY KEY AUTOINCREMENT , fsdb_name varchar(255) NOT NULL @@ -88,7 +88,7 @@ CREATE TABLE fsdb_regy , fsdb_deleted tinyint NOT NULL ); ---run in file.make +--export fsdb_regy from file.make ATTACH 'simple.wikipedia.org-file-page_map.xowa' AS pfm_db; INSERT INTO pfm_db.fsdb_regy SELECT * FROM fsdb_regy; CREATE INDEX fsdb_regy__main ON fsdb_regy (fsdb_fil_id, fsdb_thm_id); diff --git a/400_xowa/src/gplx/xowa/addons/htmls/includes/Xoh_include_mgr.java b/400_xowa/src/gplx/xowa/addons/htmls/includes/Xoh_include_mgr.java deleted file mode 100644 index dba3d4eb1..000000000 --- a/400_xowa/src/gplx/xowa/addons/htmls/includes/Xoh_include_mgr.java +++ /dev/null @@ -1,57 +0,0 @@ -/* -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 . -*/ -package gplx.xowa.addons.htmls.includes; import gplx.*; import gplx.xowa.*; import gplx.xowa.addons.*; import gplx.xowa.addons.htmls.*; -import gplx.xowa.wikis.pages.tags.*; -public class Xoh_include_mgr { - private Io_url[] main_urls; private int main_urls_len; - public void Init(Xow_wiki wiki) { - // check bin dir - Io_url include_dir = wiki.Fsys_mgr().Root_dir().GenSubDir_nest("bin", "html", "include"); - if (!Io_mgr.Instance.ExistsDir(include_dir)) return; - - this.main_urls = Io_mgr.Instance.QueryDir_args(include_dir).FilPath_("*.js").ExecAsUrlAry(); - this.main_urls_len = main_urls.length; - if (main_urls_len == 0) { - Gfo_usr_dlg_.Instance.Warn_many("", "", "no '.js' files found; dir=~{0}", include_dir.Raw()); - return; - } - } - public void Write(Xow_wiki wiki, Xoa_page page) { - this.Init(wiki); - if (main_urls_len == 0) return; - - // create engine and load scripts - Script_engine engine = new Script_engine__java(); - for (int i = 0; i < main_urls_len; ++i) { - engine.Load_script(main_urls[i]); - } -// engine.Put_object("page", new Xoscript_page()) - Xoscript_page xos_pg = new Xoscript_page(); - - Object xowa_script = engine.Get_object("xowa_script"); -// engine.Invoke_method(xowa_script, "main", page.Url().To_str()); - engine.Invoke_method(xowa_script, "main", xos_pg); -// if (String_.Has(rv, "yes")) { -// Io_url js_url = null; -// page.Html_data().Custom_head_tags().Add(Xopg_tag_itm.New_js_file(js_url)); -// } - } -// public static Xoh_include_mgr Get_or_new(Xow_wiki wiki) { -// wiki.Addon_mgr().Itms__get_or_null(); -// } -} diff --git a/400_xowa/src/gplx/xowa/addons/htmls/includes/Xoscript_page_doc.java b/400_xowa/src/gplx/xowa/addons/htmls/scripts/Xoscript_env.java similarity index 69% rename from 400_xowa/src/gplx/xowa/addons/htmls/includes/Xoscript_page_doc.java rename to 400_xowa/src/gplx/xowa/addons/htmls/scripts/Xoscript_env.java index f06110e32..58693b1b9 100644 --- a/400_xowa/src/gplx/xowa/addons/htmls/includes/Xoscript_page_doc.java +++ b/400_xowa/src/gplx/xowa/addons/htmls/scripts/Xoscript_env.java @@ -15,9 +15,8 @@ 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 . */ -package gplx.xowa.addons.htmls.includes; import gplx.*; import gplx.xowa.*; import gplx.xowa.addons.*; import gplx.xowa.addons.htmls.*; -public class Xoscript_page_doc { - public void Test() { - // Tfds.Write("hi"); - } +package gplx.xowa.addons.htmls.scripts; import gplx.*; import gplx.xowa.*; import gplx.xowa.addons.*; import gplx.xowa.addons.htmls.*; +public class Xoscript_env { + public Xoscript_env(Io_url root_dir) {this.root_dir = root_dir;} + public Io_url Root_dir() {return root_dir;} private final Io_url root_dir; } diff --git a/400_xowa/src/gplx/xowa/addons/htmls/scripts/Xoscript_mgr.java b/400_xowa/src/gplx/xowa/addons/htmls/scripts/Xoscript_mgr.java new file mode 100644 index 000000000..7182e438c --- /dev/null +++ b/400_xowa/src/gplx/xowa/addons/htmls/scripts/Xoscript_mgr.java @@ -0,0 +1,62 @@ +/* +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 . +*/ +package gplx.xowa.addons.htmls.scripts; import gplx.*; import gplx.xowa.*; import gplx.xowa.addons.*; import gplx.xowa.addons.htmls.*; +import gplx.langs.htmls.scripts.*; +import gplx.xowa.wikis.pages.tags.*; +import gplx.xowa.addons.htmls.scripts.apis.*; +public class Xoscript_mgr { + private Io_url root_dir; + private Io_url[] script_urls; private int script_urls_len; + public void Init(Xow_wiki wiki) { + // check script_dir + this.root_dir = wiki.Fsys_mgr().Root_dir().GenSubDir_nest("bin", "html", "script"); + if (!Io_mgr.Instance.ExistsDir(root_dir)) return; + + // xowa.boot.js + // find script urls + this.script_urls = Io_mgr.Instance.QueryDir_args(root_dir).FilPath_("*.js").ExecAsUrlAry(); + this.script_urls_len = script_urls.length; + if (script_urls_len == 0) { + Gfo_usr_dlg_.Instance.Warn_many("", "", "xoscript:no '.js' files found; dir=~{0}", root_dir.Raw()); + return; + } + } + public void Write(Bry_bfr rv, Xow_wiki wiki, Xoa_page page) { + // init + this.Init(wiki); + if (script_urls_len == 0) return; + + // create engine and load scripts + Gfh_script_engine engine = new Gfh_script_engine__java(); + for (int i = 0; i < script_urls_len; ++i) { + engine.Load_script(script_urls[i]); + } + + // call script + Object xowa_script = engine.Get_object("xowa_script"); + Xoscript_env env = new Xoscript_env(root_dir); + Xoscript_page spg = new Xoscript_page(rv, env, new Xoscript_url(page.Wiki().Domain_str(), String_.new_u8(page.Url().Page_bry()))); + engine.Invoke_method(xowa_script, "main", spg); + + // overwrite html + if (spg.Doc().Dirty()) { + rv.Clear(); + rv.Add_str_u8(spg.Doc().Html()); + } + } +} diff --git a/400_xowa/src/gplx/xowa/addons/htmls/scripts/apis/Xoscript_doc.java b/400_xowa/src/gplx/xowa/addons/htmls/scripts/apis/Xoscript_doc.java new file mode 100644 index 000000000..4298aefc1 --- /dev/null +++ b/400_xowa/src/gplx/xowa/addons/htmls/scripts/apis/Xoscript_doc.java @@ -0,0 +1,43 @@ +/* +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 . +*/ +package gplx.xowa.addons.htmls.scripts.apis; import gplx.*; import gplx.xowa.*; import gplx.xowa.addons.*; import gplx.xowa.addons.htmls.*; import gplx.xowa.addons.htmls.scripts.*; +public class Xoscript_doc { + private final Bry_bfr bfr; + public Xoscript_doc(Bry_bfr bfr, Xoscript_page page) { + this.bfr = bfr; + this.page = page; + this.head = new Xoscript_doc_head(this); + this.tail = new Xoscript_doc_tail(this); + } + public Xoscript_page Page() {return page;} private final Xoscript_page page; + public Xoscript_doc_head Head() {return head;} private final Xoscript_doc_head head; + public Xoscript_doc_tail Tail() {return tail;} private final Xoscript_doc_tail tail; + public String Html() { + if (html == null) { + html = bfr.To_str(); + } + return html; + } private String html; + public void Html_(String s) { + html = s; + html_dirty = true; + } + public boolean Dirty() { + return html_dirty; + } private boolean html_dirty; +} diff --git a/400_xowa/src/gplx/xowa/addons/htmls/scripts/apis/Xoscript_doc_head.java b/400_xowa/src/gplx/xowa/addons/htmls/scripts/apis/Xoscript_doc_head.java new file mode 100644 index 000000000..410387555 --- /dev/null +++ b/400_xowa/src/gplx/xowa/addons/htmls/scripts/apis/Xoscript_doc_head.java @@ -0,0 +1,32 @@ +/* +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 . +*/ +package gplx.xowa.addons.htmls.scripts.apis; import gplx.*; import gplx.xowa.*; import gplx.xowa.addons.*; import gplx.xowa.addons.htmls.*; import gplx.xowa.addons.htmls.scripts.*; +public class Xoscript_doc_head { + private final Xoscript_doc doc; + public Xoscript_doc_head(Xoscript_doc doc) {this.doc = doc;} + public void Add_js_file(String file, String pos) { + String marker = String_.Eq(pos, "top") ? "" : ""; + if (String_.Has_at_bgn(file, "./")) file = String_.Replace(file, "./", doc.Page().Env().Root_dir().To_http_file_str()); + String elem = "\n"; + doc.Html_(String_.Replace(doc.Html(), marker, marker + elem)); + } + public void Add_elem(String elem, String pos) { + String marker = String_.Eq(pos, "top") ? "" : ""; + doc.Html_(String_.Replace(doc.Html(), marker, marker + elem)); + } +} diff --git a/400_xowa/src/gplx/xowa/addons/htmls/scripts/apis/Xoscript_doc_tail.java b/400_xowa/src/gplx/xowa/addons/htmls/scripts/apis/Xoscript_doc_tail.java new file mode 100644 index 000000000..04605d087 --- /dev/null +++ b/400_xowa/src/gplx/xowa/addons/htmls/scripts/apis/Xoscript_doc_tail.java @@ -0,0 +1,32 @@ +/* +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 . +*/ +package gplx.xowa.addons.htmls.scripts.apis; import gplx.*; import gplx.xowa.*; import gplx.xowa.addons.*; import gplx.xowa.addons.htmls.*; import gplx.xowa.addons.htmls.scripts.*; +public class Xoscript_doc_tail { + private final Xoscript_doc doc; + public Xoscript_doc_tail(Xoscript_doc doc) {this.doc = doc;} + public void Add_js_file(String file, String pos) { + String marker = String_.Eq(pos, "top") ? "" : ""; + if (String_.Has_at_bgn(file, "./")) file = String_.Replace(file, "./", doc.Page().Env().Root_dir().To_http_file_str()); + String elem = "\n"; + doc.Html_(String_.Replace(doc.Html(), marker, marker + elem)); + } + public void Add_elem(String elem, String pos) { + String marker = String_.Eq(pos, "top") ? "" : ""; + doc.Html_(String_.Replace(doc.Html(), marker, marker + elem)); + } +} diff --git a/400_xowa/src/gplx/xowa/addons/htmls/scripts/apis/Xoscript_page.java b/400_xowa/src/gplx/xowa/addons/htmls/scripts/apis/Xoscript_page.java new file mode 100644 index 000000000..7709a1050 --- /dev/null +++ b/400_xowa/src/gplx/xowa/addons/htmls/scripts/apis/Xoscript_page.java @@ -0,0 +1,28 @@ +/* +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 . +*/ +package gplx.xowa.addons.htmls.scripts.apis; import gplx.*; import gplx.xowa.*; import gplx.xowa.addons.*; import gplx.xowa.addons.htmls.*; import gplx.xowa.addons.htmls.scripts.*; +public class Xoscript_page { + public Xoscript_page(Bry_bfr rv, Xoscript_env env, Xoscript_url url) { + this.env = env; + this.url = url; + this.doc = new Xoscript_doc(rv, this); + } + public Xoscript_env Env() {return env;} private final Xoscript_env env; + public Xoscript_url Url() {return url;} private final Xoscript_url url; + public Xoscript_doc Doc() {return doc;} private final Xoscript_doc doc; +} diff --git a/400_xowa/src/gplx/xowa/addons/htmls/includes/Xoscript_page.java b/400_xowa/src/gplx/xowa/addons/htmls/scripts/apis/Xoscript_url.java similarity index 59% rename from 400_xowa/src/gplx/xowa/addons/htmls/includes/Xoscript_page.java rename to 400_xowa/src/gplx/xowa/addons/htmls/scripts/apis/Xoscript_url.java index c67ddd81c..ded36502e 100644 --- a/400_xowa/src/gplx/xowa/addons/htmls/includes/Xoscript_page.java +++ b/400_xowa/src/gplx/xowa/addons/htmls/scripts/apis/Xoscript_url.java @@ -15,10 +15,9 @@ 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 . */ -package gplx.xowa.addons.htmls.includes; import gplx.*; import gplx.xowa.*; import gplx.xowa.addons.*; import gplx.xowa.addons.htmls.*; -public class Xoscript_page { - private Xoscript_page_doc doc = new Xoscript_page_doc(); - public Xoscript_page_doc Doc() { - return doc; - } +package gplx.xowa.addons.htmls.scripts.apis; import gplx.*; import gplx.xowa.*; import gplx.xowa.addons.*; import gplx.xowa.addons.htmls.*; import gplx.xowa.addons.htmls.scripts.*; +public class Xoscript_url { + public Xoscript_url(String wiki_name, String page_name) {this.wiki_name = wiki_name; this.page_name = page_name;} + public String Wiki_name() {return wiki_name;} private final String wiki_name; + public String Page_name() {return page_name;} private final String page_name; } diff --git a/400_xowa/src/gplx/xowa/guis/views/Xog_tab_itm.java b/400_xowa/src/gplx/xowa/guis/views/Xog_tab_itm.java index fa5ecebe8..99727849f 100644 --- a/400_xowa/src/gplx/xowa/guis/views/Xog_tab_itm.java +++ b/400_xowa/src/gplx/xowa/guis/views/Xog_tab_itm.java @@ -160,12 +160,12 @@ public class Xog_tab_itm implements Gfo_invk { else { wkr.Page().Tab_data().Tab().Page_(page); // NOTE: must set tab's page to current page, so that switching to it will update url bar; EX:pt.b:A"MANUAL_DE_PROCEDURI_.Sectiunea:""CONTABILITATE_SI_MANAGEMENT_FINANCIAR""" DATE:2015-09-17 if (page.Redirect_trail().Itms__len() > 0) - usr_dlg.Prog_many("", "", "could not find: ~{0} (redirected from ~{1})", String_.new_u8(page.Url().Page_bry()), page.Redirect_trail().Itms__get_at_0th_or_null()); + usr_dlg.Prog_many("", "", "could not find page in wiki: ~{0} (redirected from ~{1})", String_.new_u8(page.Url().Page_bry()), page.Redirect_trail().Itms__get_at_0th_or_null()); else { if (ttl.Ns().Id_is_file()) usr_dlg.Prog_one("", "", "commons.wikimedia.org must be installed in order to view the file. See [[App/Wiki_types/Commons]]: ~{0}", String_.new_u8(url.Raw()));// HOME else - usr_dlg.Prog_one("", "", "could not find: ~{0}", String_.new_u8(url.Raw())); + usr_dlg.Prog_one("", "", "could not find page in wiki: ~{0}", String_.new_u8(url.Raw())); } } app.Log_wtr().Queue_enabled_(false); diff --git a/400_xowa/src/gplx/xowa/htmls/Xoh_page_wtr_wkr.java b/400_xowa/src/gplx/xowa/htmls/Xoh_page_wtr_wkr.java index 6b561765e..1d1b3485f 100644 --- a/400_xowa/src/gplx/xowa/htmls/Xoh_page_wtr_wkr.java +++ b/400_xowa/src/gplx/xowa/htmls/Xoh_page_wtr_wkr.java @@ -62,7 +62,7 @@ public class Xoh_page_wtr_wkr { wdata_lang_wtr.Page_(null); if (page_mode == Xopg_page_.Tid_read) { // EXPERIMENTAL - new gplx.xowa.addons.htmls.includes.Xoh_include_mgr().Write(wiki, page); + new gplx.xowa.addons.htmls.scripts.Xoscript_mgr().Write(rv, wiki, page); } } } diff --git a/400_xowa/src/gplx/xowa/wikis/pages/Xopg_page_heading.java b/400_xowa/src/gplx/xowa/wikis/pages/Xopg_page_heading.java index 92554d4cf..b304b11bf 100644 --- a/400_xowa/src/gplx/xowa/wikis/pages/Xopg_page_heading.java +++ b/400_xowa/src/gplx/xowa/wikis/pages/Xopg_page_heading.java @@ -30,5 +30,5 @@ public class Xopg_page_heading implements Bfr_arg { if (html_data.Xtn_pgbnr() != null) return; // pgbnr exists; don't add title fmtr.Bld_many(bfr, display_title); } - private final Bry_fmt fmtr = Bry_fmt.New(Bry_.New_u8_nl_apos("

~{page_title}

"), "page_title"); + private final Bry_fmt fmtr = Bry_fmt.New(Bry_.New_u8_nl_apos("

~{page_title}

"), "page_title"); // ~{page_title} }