diff --git a/140_dbs/src/gplx/dbs/utls/Db_tbl__crud_.java b/140_dbs/src/gplx/dbs/utls/Db_tbl__crud_.java index cd9830475..075f01ea8 100644 --- a/140_dbs/src/gplx/dbs/utls/Db_tbl__crud_.java +++ b/140_dbs/src/gplx/dbs/utls/Db_tbl__crud_.java @@ -33,9 +33,9 @@ public class Db_tbl__crud_ { // do update / insert; NOTE: 0-index and crt_cols_len assumes that objs starts with crts; EX: (id) -> (1, 'abc') x> ('abc', 1) // update if (exists) { - Db_stmt update_stmt = conn.Stmt_update(tbl_name, crt_cols, crt_cols); - Add_arg(update_stmt, flds, crt_cols, objs, Bool_.Y, 0); + Db_stmt update_stmt = conn.Stmt_update(tbl_name, crt_cols, val_cols); Add_arg(update_stmt, flds, val_cols, objs, Bool_.N, crt_cols_len); + Add_arg(update_stmt, flds, crt_cols, objs, Bool_.Y, 0); update_stmt.Exec_update(); update_stmt.Rls(); return false; diff --git a/400_xowa/src/gplx/xowa/Xow_wiki.java b/400_xowa/src/gplx/xowa/Xow_wiki.java index b1093c5e9..0241ab009 100644 --- a/400_xowa/src/gplx/xowa/Xow_wiki.java +++ b/400_xowa/src/gplx/xowa/Xow_wiki.java @@ -54,7 +54,7 @@ public interface Xow_wiki extends Xow_ttl_parser, Gfo_invk { Xow_mw_parser_mgr Mw_parser_mgr(); Xow_xwiki_mgr Xwiki_mgr(); Xow_wiki_props Props(); - Xow_site_stats_mgr Stats(); + Xowd_site_stats_mgr Stats(); void Init_by_wiki(); void Init_by_wiki__force(); // HACK: force init for drd wiki Bry_bfr_mkr Utl__bfr_mkr(); diff --git a/400_xowa/src/gplx/xowa/Xowe_wiki.java b/400_xowa/src/gplx/xowa/Xowe_wiki.java index 060270623..5eb16d486 100644 --- a/400_xowa/src/gplx/xowa/Xowe_wiki.java +++ b/400_xowa/src/gplx/xowa/Xowe_wiki.java @@ -52,7 +52,7 @@ public class Xowe_wiki implements Xow_wiki, Gfo_invk, Gfo_evt_itm { cfg_parser = new Xowc_parser(this); props.Init_props(domain_tid, domain_bry); props.ContentLanguage_(lang.Key_bry()); - stats = new Xow_site_stats_mgr(this); + stats = new Xowd_site_stats_mgr(this); Pf_func_.Reg(domain_itm, lang.Func_regy(), lang); special_mgr = new Xow_special_mgr(this, lang); sys_cfg = new Xow_sys_cfg(this); @@ -113,7 +113,7 @@ public class Xowe_wiki implements Xow_wiki, Gfo_invk, Gfo_evt_itm { public Xow_mw_parser_mgr Mw_parser_mgr() {return mw_parser_mgr;} private final Xow_mw_parser_mgr mw_parser_mgr = new Xow_mw_parser_mgr(); public Xow_xwiki_mgr Xwiki_mgr() {return xwiki_mgr;} private final Xow_xwiki_mgr xwiki_mgr; public Xow_wiki_props Props() {return props;} private final Xow_wiki_props props = new Xow_wiki_props(); - public Xow_site_stats_mgr Stats() {return stats;} private final Xow_site_stats_mgr stats; + public Xowd_site_stats_mgr Stats() {return stats;} private final Xowd_site_stats_mgr stats; public Xow_parser_mgr Parser_mgr() {return parser_mgr;} private final Xow_parser_mgr parser_mgr; public Xoax_addon_mgr Addon_mgr() {return addon_mgr;} private final Xoax_addon_mgr addon_mgr = new Xoax_addon_mgr(); public Xog_cbk_mgr Gui__cbk_mgr() {return gui__cbk_mgr;} private final Xog_cbk_mgr gui__cbk_mgr = new Xog_cbk_mgr(); @@ -178,6 +178,7 @@ public class Xowe_wiki implements Xow_wiki, Gfo_invk, Gfo_evt_itm { public void Init_by_wiki() {Init_assert();} public Xowe_wiki Init_assert() {if (init_needed) Init_wiki(app.Usere()); return this;} public void Init_db_mgr() { + int j = 1; Io_url core_db_url = gplx.xowa.wikis.data.Xow_db_file__core_.Find_core_fil(this); if (core_db_url == null) { tdb_fsys_mgr.Scan_dirs(); diff --git a/400_xowa/src/gplx/xowa/addons/users/wikis/regys/dbs/Xou_wiki_itm.java b/400_xowa/src/gplx/xowa/addons/users/wikis/regys/dbs/Xou_wiki_itm.java index 138f391d5..703931a55 100644 --- a/400_xowa/src/gplx/xowa/addons/users/wikis/regys/dbs/Xou_wiki_itm.java +++ b/400_xowa/src/gplx/xowa/addons/users/wikis/regys/dbs/Xou_wiki_itm.java @@ -17,16 +17,14 @@ along with this program. If not, see . */ package gplx.xowa.addons.users.wikis.regys.dbs; import gplx.*; import gplx.xowa.*; import gplx.xowa.addons.*; import gplx.xowa.addons.users.*; import gplx.xowa.addons.users.wikis.*; import gplx.xowa.addons.users.wikis.regys.*; public class Xou_wiki_itm { - public Xou_wiki_itm(int id, int type, String domain, String name, Io_url url, String data) { + public Xou_wiki_itm(int id, String domain, String name, Io_url url, String data) { this.id = id; - this.type = type; this.domain = domain; this.name = name; this.url = url; this.data = data; } public int Id() {return id;} private int id; - public int Type() {return type;} private int type; public String Domain() {return domain;} private String domain; public String Name() {return name;} private String name; public Io_url Url() {return url;} private Io_url url; diff --git a/400_xowa/src/gplx/xowa/addons/users/wikis/regys/dbs/Xou_wiki_tbl.java b/400_xowa/src/gplx/xowa/addons/users/wikis/regys/dbs/Xou_wiki_tbl.java index d3cc33ac6..9f090a0f5 100644 --- a/400_xowa/src/gplx/xowa/addons/users/wikis/regys/dbs/Xou_wiki_tbl.java +++ b/400_xowa/src/gplx/xowa/addons/users/wikis/regys/dbs/Xou_wiki_tbl.java @@ -19,17 +19,15 @@ package gplx.xowa.addons.users.wikis.regys.dbs; import gplx.*; import gplx.xowa. import gplx.dbs.*; import gplx.dbs.utls.*; public class Xou_wiki_tbl implements Db_tbl { private final Dbmeta_fld_list flds = new Dbmeta_fld_list(); - private final String fld__wiki_id, fld__wiki_type, fld__wiki_domain, fld__wiki_name, fld__wiki_data_date, fld__wiki_core_url, fld__wiki_data; + private final String fld__wiki_id, fld__wiki_domain, fld__wiki_name, fld__wiki_core_url, fld__wiki_data; private final Db_conn conn; public Xou_wiki_tbl(Db_conn conn) { this.conn = conn; this.tbl_name = Tbl_name_dflt; this.fld__wiki_id = flds.Add_int_pkey("wiki_id"); - this.fld__wiki_type = flds.Add_int("wiki_type"); // enum: 0=user; 1=wmf; 2=wikia; this.fld__wiki_domain = flds.Add_str("wiki_domain", 255); // EX: "en.wikipedia.org" this.fld__wiki_name = flds.Add_str("wiki_name", 255); // EX: "English Wikipedia" this.fld__wiki_core_url = flds.Add_str("wiki_core_url", 255); // EX: "/xowa/wiki/en.wikipedia.org/en.wikipedia.org-core.xowa" - this.fld__wiki_data_date = flds.Add_str("wiki_data_date", 16); // EX: "20161001" this.fld__wiki_data = flds.Add_text("wiki_data"); // EX: '{category_level="1",search_level="2", ...}' conn.Rls_reg(this); } @@ -37,16 +35,15 @@ public class Xou_wiki_tbl implements Db_tbl { public void Create_tbl() { conn.Meta_tbl_create(Dbmeta_tbl_itm.New(tbl_name, flds)); } - public void Insert(int id, String type, String domain, String name, String data_date, String core_url, String data) { - conn.Stmt_insert(tbl_name, flds) - .Val_int(fld__wiki_id, id) - .Val_str(fld__wiki_type, type).Val_str(fld__wiki_domain, domain).Val_str(fld__wiki_name, name) - .Val_str(fld__wiki_data_date, data_date).Val_str(fld__wiki_core_url, core_url).Val_str(fld__wiki_data, data) + public void Insert(int id, String domain, String name, String core_url, String data) { + conn.Stmt_insert(tbl_name, flds).Val_int(fld__wiki_id, id) + .Val_str(fld__wiki_domain, domain).Val_str(fld__wiki_name, name) + .Val_str(fld__wiki_core_url, core_url).Val_str(fld__wiki_data, data) .Exec_insert() ; } public boolean Upsert(int id, String domain, String name, String file) { - return Db_tbl__crud_.Upsert(conn, tbl_name, flds, String_.Ary(fld__wiki_id), id, 0, domain, name, file, "", ""); + return Db_tbl__crud_.Upsert(conn, tbl_name, flds, String_.Ary(fld__wiki_id), id, domain, name, file, ""); } public Xou_wiki_itm[] Select_all() { Db_rdr rdr = conn.Stmt_select(tbl_name, flds).Exec_select__rls_auto(); @@ -69,9 +66,7 @@ public class Xou_wiki_tbl implements Db_tbl { finally {rdr.Rls();} } private Xou_wiki_itm Make(Db_rdr rdr) { - return new Xou_wiki_itm(rdr.Read_int(fld__wiki_id), rdr.Read_int(fld__wiki_type) - , rdr.Read_str(fld__wiki_domain), rdr.Read_str(fld__wiki_name), Io_url_.new_fil_(rdr.Read_str(fld__wiki_core_url)), rdr.Read_str(fld__wiki_data) - ); + return new Xou_wiki_itm(rdr.Read_int(fld__wiki_id), rdr.Read_str(fld__wiki_domain), rdr.Read_str(fld__wiki_name), Io_url_.new_fil_(rdr.Read_str(fld__wiki_core_url)), rdr.Read_str(fld__wiki_data)); } public void Rls() {} diff --git a/400_xowa/src/gplx/xowa/addons/users/wikis/regys/dbs/Xouw_db_mgr.java b/400_xowa/src/gplx/xowa/addons/users/wikis/regys/dbs/Xouw_db_mgr.java index 4cb7c90f0..67243734c 100644 --- a/400_xowa/src/gplx/xowa/addons/users/wikis/regys/dbs/Xouw_db_mgr.java +++ b/400_xowa/src/gplx/xowa/addons/users/wikis/regys/dbs/Xouw_db_mgr.java @@ -20,6 +20,7 @@ import gplx.dbs.*; public class Xouw_db_mgr { public Xouw_db_mgr(Db_conn conn) { tbl__wiki = new Xou_wiki_tbl(conn); + conn.Meta_tbl_assert(tbl__wiki); } public Xou_wiki_tbl Tbl__wiki() {return tbl__wiki;} private final Xou_wiki_tbl tbl__wiki; } diff --git a/400_xowa/src/gplx/xowa/addons/users/wikis/regys/specials/itms/Xopg_db_mgr.java b/400_xowa/src/gplx/xowa/addons/users/wikis/regys/specials/itms/Xopg_db_mgr.java index d2c58cb7f..ca2becbc6 100644 --- a/400_xowa/src/gplx/xowa/addons/users/wikis/regys/specials/itms/Xopg_db_mgr.java +++ b/400_xowa/src/gplx/xowa/addons/users/wikis/regys/specials/itms/Xopg_db_mgr.java @@ -21,36 +21,6 @@ import gplx.xowa.wikis.dbs.*; import gplx.xowa.wikis.data.*; import gplx.xowa.wi import gplx.xowa.addons.users.wikis.regys.dbs.*; import gplx.xowa.addons.users.wikis.regys.specials.itms.bldrs.*; public class Xopg_db_mgr { - private final Xodb_mgr_sql db_mgr; - public Xopg_db_mgr(Xowe_wiki wiki) { - this.db_mgr = wiki.Db_mgr_as_sql(); - } - public int Create(int ns_id, byte[] ttl_page_db, byte[] text_raw) { - Xow_db_file core_db = db_mgr.Core_data_mgr().Db__core(); - - int page_id = core_db.Tbl__cfg().Select_int_or("db", "page.id_next", -1); - - // get page_db, text_db and over variables - Xowd_page_tbl page_tbl = db_mgr.Core_data_mgr().Tbl__page(); - Xow_db_file text_db = db_mgr.Core_data_mgr().Db__text(); - if (text_db == null) text_db = db_mgr.Core_data_mgr().Db__core(); // HACK: needed for create new wiki DATE:2016-10-29 - Xowd_text_tbl text_tbl = text_db.Tbl__text(); - byte[] text_zip = text_tbl.Zip(text_raw); - boolean redirect = db_mgr.Wiki().Redirect_mgr().Is_redirect(text_raw, text_raw.length); - - // do insert - page_tbl.Insert_bgn(); - text_tbl.Insert_bgn(); - int ns_count = core_db.Tbl__ns().Select_ns_count(ns_id) + 1; - try { - db_mgr.Core_data_mgr().Create_page(page_tbl, text_tbl, page_id, ns_id, ttl_page_db, redirect, Datetime_now.Get(), text_zip, text_raw.length, ns_count, text_db.Id(), -1); - core_db.Tbl__ns().Update_ns_count(ns_id, ns_count); - } finally { - page_tbl.Insert_end(); - text_tbl.Insert_end(); - } - return page_id; - } public static int Create(Xodb_wiki_db core_db, int ns_id, byte[] ttl_page_db, byte[] text_raw) { Db_cfg_tbl cfg_tbl = Db_cfg_tbl.Get_by_key(core_db, Xowd_cfg_tbl_.Tbl_name); diff --git a/400_xowa/src/gplx/xowa/addons/users/wikis/regys/specials/itms/Xouw_itm_html.java b/400_xowa/src/gplx/xowa/addons/users/wikis/regys/specials/itms/Xouw_itm_html.java index 704408b97..283222774 100644 --- a/400_xowa/src/gplx/xowa/addons/users/wikis/regys/specials/itms/Xouw_itm_html.java +++ b/400_xowa/src/gplx/xowa/addons/users/wikis/regys/specials/itms/Xouw_itm_html.java @@ -19,18 +19,18 @@ package gplx.xowa.addons.users.wikis.regys.specials.itms; import gplx.*; import import gplx.xowa.specials.*; import gplx.langs.mustaches.*; import gplx.xowa.wikis.pages.*; import gplx.xowa.wikis.pages.tags.*; import gplx.dbs.*; import gplx.xowa.addons.users.wikis.regys.dbs.*; class Xouw_itm_html extends Xow_special_wtr__base { - private final String key; - public Xouw_itm_html(String key) { - this.key = key; + private final String domain; + public Xouw_itm_html(String domain) { + this.domain = domain; } @Override protected Io_url Get_addon_dir(Xoa_app app) {return app.Fsys_mgr().Http_root().GenSubDir_nest("bin", "any", "xowa", "addon", "user", "wiki", "itm");} @Override protected Io_url Get_mustache_fil(Io_url addon_dir) {return addon_dir.GenSubFil_nest("bin", "xouw_itm.mustache.html");} @Override protected Mustache_doc_itm Bld_mustache_root(Xoa_app app) { Db_conn conn = app.User().User_db_mgr().Conn(); Xouw_db_mgr db_mgr = new Xouw_db_mgr(conn); - Xou_wiki_itm itm = db_mgr.Tbl__wiki().Select_by_key_or_null(key); + Xou_wiki_itm itm = db_mgr.Tbl__wiki().Select_by_key_or_null(domain); if (itm == null) - itm = new Xou_wiki_itm(-1, 0, "test4", "test4", Io_url_.new_fil_("C:\\xowa\\test\\test4.xowa"), ""); + itm = new Xou_wiki_itm(-1, "", "", Io_url_.Empty, ""); return new Xouw_itm_doc(itm.Id(), itm.Domain(), itm.Name(), itm.Url().Xto_api()); } @Override protected void Bld_tags(Xoa_app app, Io_url addon_dir, Xopage_html_data page_data) { diff --git a/400_xowa/src/gplx/xowa/addons/users/wikis/regys/specials/itms/Xouw_itm_mgr.java b/400_xowa/src/gplx/xowa/addons/users/wikis/regys/specials/itms/Xouw_itm_mgr.java index aa86315d3..50e43539c 100644 --- a/400_xowa/src/gplx/xowa/addons/users/wikis/regys/specials/itms/Xouw_itm_mgr.java +++ b/400_xowa/src/gplx/xowa/addons/users/wikis/regys/specials/itms/Xouw_itm_mgr.java @@ -30,17 +30,17 @@ class Xouw_itm_mgr { } public void Save(int id, String domain, String name, String url_str) { boolean itm_is_new = false; - // get next id if new + // get next id if none provided if (id == -1) { itm_is_new = true; Db_sys_mgr sys_mgr = new Db_sys_mgr(app.User().User_db_mgr().Conn()); id = sys_mgr.Autonum_next("user.wikis.id"); } - // insert into user_wiki + // insert into user_db.user_wiki Xouw_db_mgr db_mgr = new Xouw_db_mgr(app.User().User_db_mgr().Conn()); db_mgr.Tbl__wiki().Upsert(id, domain, name, url_str); - // if (itm_is_new) Xow_db_mkr.Create_wiki(app, domain, url_str); - if (itm_is_new) Xow_db_mkr.Create_wiki2(new Xodb_wiki_data(domain, Io_url_.new_fil_(url_str))); + if (itm_is_new) + Xow_db_mkr.Create_wiki(new Xodb_wiki_data(domain, Io_url_.new_fil_(url_str))); } } diff --git a/400_xowa/src/gplx/xowa/addons/users/wikis/regys/specials/itms/Xouw_itm_special.java b/400_xowa/src/gplx/xowa/addons/users/wikis/regys/specials/itms/Xouw_itm_special.java index 1110359d6..c0cc7985d 100644 --- a/400_xowa/src/gplx/xowa/addons/users/wikis/regys/specials/itms/Xouw_itm_special.java +++ b/400_xowa/src/gplx/xowa/addons/users/wikis/regys/specials/itms/Xouw_itm_special.java @@ -21,9 +21,9 @@ public class Xouw_itm_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()); - String key = url_args.Read_str_or("key", ""); + String domain = url_args.Read_str_or("domain", ""); - new Xouw_itm_html(key).Bld_page_by_mustache(wiki.App(), page, this); + new Xouw_itm_html(domain).Bld_page_by_mustache(wiki.App(), page, this); } Xouw_itm_special(Xow_special_meta special__meta) {this.special__meta = special__meta;} public Xow_special_meta Special__meta() {return special__meta;} private final Xow_special_meta special__meta; diff --git a/400_xowa/src/gplx/xowa/addons/users/wikis/regys/specials/itms/bldrs/Xow_db_mkr.java b/400_xowa/src/gplx/xowa/addons/users/wikis/regys/specials/itms/bldrs/Xow_db_mkr.java index 2be4017d0..f4f02685f 100644 --- a/400_xowa/src/gplx/xowa/addons/users/wikis/regys/specials/itms/bldrs/Xow_db_mkr.java +++ b/400_xowa/src/gplx/xowa/addons/users/wikis/regys/specials/itms/bldrs/Xow_db_mkr.java @@ -23,7 +23,7 @@ import gplx.xowa.langs.cases.*; import gplx.fsdb.*; import gplx.fsdb.meta.*; import gplx.fsdb.data.*; import gplx.xowa.files.origs.*; import gplx.xowa.addons.users.wikis.regys.dbs.*; public class Xow_db_mkr { - public static Xodb_wiki_mgr Create_wiki2(Xodb_wiki_data data) { + public static Xodb_wiki_mgr Create_wiki(Xodb_wiki_data data) { // create db Xodb_wiki_mgr wiki_mgr = new Xodb_wiki_mgr(data.Domain()); wiki_mgr.Dbs__add(Xodb_wiki_db.Make(Xodb_wiki_db_tid.Tid__core, data.Core_url())); @@ -35,24 +35,31 @@ public class Xow_db_mkr { , Xowd_cfg_tbl_.New(core_conn) , new Xowd_xowa_db_tbl(core_conn, Bool_.N) , new Xowd_site_ns_tbl(core_conn, Bool_.N) - , new Xow_site_stats_tbl(core_conn, Bool_.N) + , new Xowd_site_stats_tbl(core_conn, Bool_.N) , new Xowd_page_tbl(core_conn, Bool_.N) , new Xowd_text_tbl(core_conn, Bool_.N, data.Text_zip_tid()) - // if (props.Layout_text().Tid_is_all_or_few()) { // create in advance else will fail for v2; import wiki -> wiki loads and tries to load categories; v2 category processes and builds tbl; DATE:2015-03-22 + ); + + // create tbls: cat; may want to do "if (props.Layout_text().Tid_is_all_or_few())" // create in advance else will fail for v2; import wiki -> wiki loads and tries to load categories; v2 category processes and builds tbl; DATE:2015-03-22 + core_db.Tbls__add(Bool_.Y , new Xowd_cat_core_tbl(core_conn, Bool_.N) , new Xowd_cat_link_tbl(core_conn, Bool_.N) ); // insert data: wiki + Xowd_xowa_db_tbl.Get_by_key(core_db).Upsert(0, Xow_db_file_.Tid__core, core_db.Url().NameAndExt(), "", -1, Guid_adp_.New_str()); Xowd_site_ns_tbl.Get_by_key(core_db).Insert(Xow_ns_mgr_.default_(Xol_case_mgr_.U8())); - Xow_site_stats_tbl.Get_by_key(core_db).Update(0, 0, 0); + Xowd_site_stats_tbl.Get_by_key(core_db).Update(0, 0, 0); + + // insert data: cfg Db_cfg_tbl cfg_tbl = Db_cfg_tbl.Get_by_key(core_db, Xowd_cfg_tbl_.Tbl_name); - cfg_tbl.Insert_str(Xow_cfg_consts.Grp__wiki_init, Xow_cfg_consts.Key__init__main_page, "Main_Page"); - cfg_tbl.Insert_str(Xow_cfg_consts.Grp__wiki_init, Xow_cfg_consts.Key__init__modified_latest, Datetime_now.Get().XtoStr_fmt(DateAdp_.Fmt_iso8561_date_time)); - Xopg_db_mgr.Create(core_db, Xow_ns_.Tid__main, Bry_.new_a7("Main_Page"), Bry_.new_a7("Main page created")); Xowd_core_db_props props = new Xowd_core_db_props(2, Xow_db_layout.Itm_all, Xow_db_layout.Itm_all, Xow_db_layout.Itm_all, Io_stream_tid_.Tid__raw, Io_stream_tid_.Tid__raw, Bool_.N, Bool_.N); props.Cfg_save(cfg_tbl); - Xowd_xowa_db_tbl.Get_by_key(core_db).Upsert(0, Xow_db_file_.Tid__core, core_db.Url().NameAndExt(), "", -1, Guid_adp_.New_str()); + cfg_tbl.Insert_str(Xow_cfg_consts.Grp__wiki_init, Xow_cfg_consts.Key__init__modified_latest, Datetime_now.Get().XtoStr_fmt(DateAdp_.Fmt_iso8561_date_time)); + + // insert data: page + cfg_tbl.Insert_str(Xow_cfg_consts.Grp__wiki_init, Xow_cfg_consts.Key__init__main_page, "Main_Page"); + Xopg_db_mgr.Create(core_db, Xow_ns_.Tid__main, Bry_.new_a7("Main_Page"), Bry_.new_a7("Main page created")); // create tbls: fsdb core_db.Tbls__add(Bool_.Y @@ -72,23 +79,6 @@ public class Xow_db_mkr { return wiki_mgr; } - public static void Create_wiki(Xoa_app app, String domain, String url_str) { - // create wiki - Io_url url = Io_url_.new_any_(url_str); - Xow_ns_mgr ns_mgr = Xow_ns_mgr_.default_(Xol_case_mgr_.U8()); - Xow_wiki_.Create(app.User().Key(), ns_mgr, domain, url.OwnerDir()); - - // more create; need wiki-reference to create fsdb and create page - Xowe_wiki wiki = new Xowe_wiki((Xoae_app)app, app.Lang_mgr().Get_by_or_en(Bry_.Empty), ns_mgr, Xow_domain_itm_.parse(Bry_.new_u8(domain)), url.OwnerDir()); - gplx.fsdb.Fsdb_db_mgr__v2_bldr.Make_core_file_main(wiki, url, domain, gplx.xowa.wikis.data.Xow_db_layout.Itm_all); - wiki.Init_db_mgr(); - wiki.Init_by_wiki__force_and_mark_inited(); - wiki.Data__core_mgr().Dbs__make_by_id(1, Xow_db_file_.Tid__core, "", 0, ".xowa"); - wiki.Data__core_mgr().Db__core().Tbl__db().Commit_all(wiki.Data__core_mgr()); - - // create default Main_Page - new Xopg_db_mgr(wiki).Create(Xow_ns_.Tid__main, Bry_.new_a7("Main_Page"), Bry_.new_a7("Main page created")); - } } /* xowa_cfg diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/texts/tdbs/Xob_calc_stats_cmd.java b/400_xowa/src/gplx/xowa/bldrs/cmds/texts/tdbs/Xob_calc_stats_cmd.java index dc390ac0c..5a466da88 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/texts/tdbs/Xob_calc_stats_cmd.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/texts/tdbs/Xob_calc_stats_cmd.java @@ -41,14 +41,14 @@ public class Xob_calc_stats_cmd extends Xob_itm_basic_base implements Xob_cmd { int count_file = Calc_count_articles(wiki.Ns_mgr().Ns_file()); Bry_bfr bfr = Bry_bfr_.New(); Gen_call(Bool_.Y, bfr, Xowe_wiki.Invk_stats); - Gen_call(Bool_.N, bfr, Xow_site_stats_mgr.Invk_number_of_articles_, count_main); - Gen_call(Bool_.N, bfr, Xow_site_stats_mgr.Invk_number_of_files_, count_file); - Gen_call(Bool_.N, bfr, Xow_site_stats_mgr.Invk_number_of_pages_, total); + Gen_call(Bool_.N, bfr, Xowd_site_stats_mgr.Invk_number_of_articles_, count_main); + Gen_call(Bool_.N, bfr, Xowd_site_stats_mgr.Invk_number_of_files_, count_file); + Gen_call(Bool_.N, bfr, Xowd_site_stats_mgr.Invk_number_of_pages_, total); for (int i = 0; i < ns_len; i++) { Xow_ns ns = wiki.Ns_mgr().Ords_ary()[i]; if (ns.Id() < 0) continue; bfr.Add_byte_nl(); - Gen_call(Bool_.N, bfr, Xow_site_stats_mgr.Invk_number_of_articles_in_ns_, ns.Num_str(), Int_.To_str_pad_bgn_zero(ns.Count(), 10)); + Gen_call(Bool_.N, bfr, Xowd_site_stats_mgr.Invk_number_of_articles_in_ns_, ns.Num_str(), Int_.To_str_pad_bgn_zero(ns.Count(), 10)); } bfr.Add_byte_nl().Add_byte(Byte_ascii.Semic).Add_byte_nl(); Io_url wiki_gfs = Wiki_gfs_url(wiki); diff --git a/400_xowa/src/gplx/xowa/htmls/Xoh_page_bfr.java b/400_xowa/src/gplx/xowa/htmls/Xoh_page_bfr.java index 80dfb21e0..5412ce26d 100644 --- a/400_xowa/src/gplx/xowa/htmls/Xoh_page_bfr.java +++ b/400_xowa/src/gplx/xowa/htmls/Xoh_page_bfr.java @@ -26,7 +26,8 @@ public class Xoh_page_bfr { body_bfr.Clear(); } public Bry_bfr Split_by_toc(byte toc_mode) { - this.toc_mode = toc_mode; + if (this.toc_mode != Xoh_toc_data.Toc_mode__pgbnr) + this.toc_mode = toc_mode; return body_bfr; } public void Commit(Xoa_page pg) { diff --git a/400_xowa/src/gplx/xowa/wikis/Xowv_wiki.java b/400_xowa/src/gplx/xowa/wikis/Xowv_wiki.java index 947250bfb..be98add78 100644 --- a/400_xowa/src/gplx/xowa/wikis/Xowv_wiki.java +++ b/400_xowa/src/gplx/xowa/wikis/Xowv_wiki.java @@ -48,7 +48,7 @@ public class Xowv_wiki implements Xow_wiki, Xow_ttl_parser, Gfo_invk { this.fsdb_mgr = new Xof_fsdb_mgr__sql(); this.url__parser = new Xow_url_parser(this); this.xwiki_mgr = new Xow_xwiki_mgr(this); - this.stats = new Xow_site_stats_mgr(this); + this.stats = new Xowd_site_stats_mgr(this); this.lnki_bldr = new Xoh_lnki_bldr(app, href_wtr); this.ctg_catpage_mgr = new Xoctg_catpage_mgr(this); } @@ -82,7 +82,7 @@ public class Xowv_wiki implements Xow_wiki, Xow_ttl_parser, Gfo_invk { public Xow_wiki_props Props() {return props;} private final Xow_wiki_props props = new Xow_wiki_props(); public Xol_lang_itm Lang() {return lang;} private final Xol_lang_itm lang; public Xol_case_mgr Case_mgr() {if (case_mgr == null) case_mgr = Xol_case_mgr_.U8(); return case_mgr;} private Xol_case_mgr case_mgr; - public Xow_site_stats_mgr Stats() {return stats;} private final Xow_site_stats_mgr stats; + public Xowd_site_stats_mgr Stats() {return stats;} private final Xowd_site_stats_mgr stats; public Bry_bfr_mkr Utl__bfr_mkr() {return utl__bry_bfr_mkr;} private final Bry_bfr_mkr utl__bry_bfr_mkr = new Bry_bfr_mkr(); public Io_stream_zip_mgr Utl__zip_mgr() {return utl__zip_mgr;} private final Io_stream_zip_mgr utl__zip_mgr = new Io_stream_zip_mgr(); public Xow_url_parser Utl__url_parser() {return url__parser;} private final Xow_url_parser url__parser; diff --git a/400_xowa/src/gplx/xowa/wikis/data/Xow_db_file.java b/400_xowa/src/gplx/xowa/wikis/data/Xow_db_file.java index c2b1f1d2a..ec178a978 100644 --- a/400_xowa/src/gplx/xowa/wikis/data/Xow_db_file.java +++ b/400_xowa/src/gplx/xowa/wikis/data/Xow_db_file.java @@ -29,7 +29,7 @@ public class Xow_db_file { this.tbl__cfg = cfg_tbl; this.tbl__db = new Xowd_xowa_db_tbl(conn, schema_is_1); this.tbl__ns = new Xowd_site_ns_tbl(conn, schema_is_1); - this.tbl__site_stats = new Xow_site_stats_tbl(conn, schema_is_1); + this.tbl__site_stats = new Xowd_site_stats_tbl(conn, schema_is_1); this.tbl__page = new Xowd_page_tbl(conn, schema_is_1); this.tbl__text = new Xowd_text_tbl(conn, schema_is_1, props.Zip_tid_text()); this.tbl__html = new Xowd_html_tbl(conn); @@ -66,7 +66,7 @@ public class Xow_db_file { public Xowd_css_file_tbl Tbl__css_file() {return tbl__css_file;} private final Xowd_css_file_tbl tbl__css_file; public Xowd_cat_core_tbl Tbl__cat_core() {return tbl__cat_core;} private final Xowd_cat_core_tbl tbl__cat_core; public Xowd_cat_link_tbl Tbl__cat_link() {return tbl__cat_link;} private final Xowd_cat_link_tbl tbl__cat_link; - public Xow_site_stats_tbl Tbl__site_stats() {return tbl__site_stats;} private final Xow_site_stats_tbl tbl__site_stats; + public Xowd_site_stats_tbl Tbl__site_stats() {return tbl__site_stats;} private final Xowd_site_stats_tbl tbl__site_stats; public Xowd_wbase_qid_tbl Tbl__wbase_qid() {return tbl__wbase_qid;} private final Xowd_wbase_qid_tbl tbl__wbase_qid; public Xowd_wbase_pid_tbl Tbl__wbase_pid() {return tbl__wbase_pid;} private final Xowd_wbase_pid_tbl tbl__wbase_pid; public Xob_info_session Info_session() { diff --git a/400_xowa/src/gplx/xowa/wikis/data/site_stats/Xow_site_stats_mgr.java b/400_xowa/src/gplx/xowa/wikis/data/site_stats/Xowd_site_stats_mgr.java similarity index 93% rename from 400_xowa/src/gplx/xowa/wikis/data/site_stats/Xow_site_stats_mgr.java rename to 400_xowa/src/gplx/xowa/wikis/data/site_stats/Xowd_site_stats_mgr.java index 15e6fbf7e..5dd5bfd5b 100644 --- a/400_xowa/src/gplx/xowa/wikis/data/site_stats/Xow_site_stats_mgr.java +++ b/400_xowa/src/gplx/xowa/wikis/data/site_stats/Xowd_site_stats_mgr.java @@ -17,9 +17,9 @@ along with this program. If not, see . */ package gplx.xowa.wikis.data.site_stats; import gplx.*; import gplx.xowa.*; import gplx.xowa.wikis.*; import gplx.xowa.wikis.data.*; import gplx.xowa.wikis.nss.*; -public class Xow_site_stats_mgr implements Gfo_invk { // REF.MW:https://www.mediawiki.org/wiki/Manual:Site_stats_table +public class Xowd_site_stats_mgr implements Gfo_invk { // REF.MW:https://www.mediawiki.org/wiki/Manual:Site_stats_table private final Xow_wiki wiki; - public Xow_site_stats_mgr(Xow_wiki wiki) {this.wiki = wiki;} + public Xowd_site_stats_mgr(Xow_wiki wiki) {this.wiki = wiki;} public long Num_pages() {return num_pages;} private long num_pages; // ss_total_pages; pages in entire wiki: 16,299,475 public long Num_articles() {return num_articles;} private long num_articles; // ss_good_articles; pages in main ns w/o redirect: 5,072,469 public long Num_views() {return num_views;} private long num_views; // ss_total_views diff --git a/400_xowa/src/gplx/xowa/wikis/data/site_stats/Xow_site_stats_tbl.java b/400_xowa/src/gplx/xowa/wikis/data/site_stats/Xowd_site_stats_tbl.java similarity index 88% rename from 400_xowa/src/gplx/xowa/wikis/data/site_stats/Xow_site_stats_tbl.java rename to 400_xowa/src/gplx/xowa/wikis/data/site_stats/Xowd_site_stats_tbl.java index 7b9e53f47..7d860eca1 100644 --- a/400_xowa/src/gplx/xowa/wikis/data/site_stats/Xow_site_stats_tbl.java +++ b/400_xowa/src/gplx/xowa/wikis/data/site_stats/Xowd_site_stats_tbl.java @@ -17,10 +17,10 @@ along with this program. If not, see . */ package gplx.xowa.wikis.data.site_stats; import gplx.*; import gplx.xowa.*; import gplx.xowa.wikis.*; import gplx.xowa.wikis.data.*; import gplx.dbs.*; import gplx.xowa.wikis.data.site_stats.*; -public class Xow_site_stats_tbl implements Db_tbl { +public class Xowd_site_stats_tbl implements Db_tbl { private final String fld_row_id, fld_good_articles, fld_total_pages, fld_images; private final Db_conn conn; private final Dbmeta_fld_list flds = new Dbmeta_fld_list(); - public Xow_site_stats_tbl(Db_conn conn, boolean schema_is_1) { + public Xowd_site_stats_tbl(Db_conn conn, boolean schema_is_1) { this.conn = conn; fld_row_id = flds.Add_int_pkey("ss_row_id"); fld_good_articles = flds.Add_long("ss_good_articles"); @@ -38,7 +38,7 @@ public class Xow_site_stats_tbl implements Db_tbl { .Crt_int(fld_row_id, Site_stats_row_id) .Exec_update(); } - public void Select(Xow_site_stats_mgr stats) { + public void Select(Xowd_site_stats_mgr stats) { Db_rdr rdr = conn.Stmt_select(tbl_name, flds, fld_row_id).Crt_int(fld_row_id, Site_stats_row_id).Exec_select__rls_auto(); try { if (rdr.Move_next()) { @@ -54,5 +54,5 @@ public class Xow_site_stats_tbl implements Db_tbl { private static final int Site_stats_row_id = 1; public static final String TBL_NAME = "site_stats"; - public static Xow_site_stats_tbl Get_by_key(Db_tbl_owner owner) {return (Xow_site_stats_tbl)owner.Tbls__get_by_key(TBL_NAME);} + public static Xowd_site_stats_tbl Get_by_key(Db_tbl_owner owner) {return (Xowd_site_stats_tbl)owner.Tbls__get_by_key(TBL_NAME);} } diff --git a/400_xowa/src/gplx/xowa/xtns/pfuncs/wikis/Pfunc_wiki_stats.java b/400_xowa/src/gplx/xowa/xtns/pfuncs/wikis/Pfunc_wiki_stats.java index ca76c5f0d..96ce3e8ea 100644 --- a/400_xowa/src/gplx/xowa/xtns/pfuncs/wikis/Pfunc_wiki_stats.java +++ b/400_xowa/src/gplx/xowa/xtns/pfuncs/wikis/Pfunc_wiki_stats.java @@ -27,7 +27,7 @@ public class Pfunc_wiki_stats extends Pf_func_base { byte argx_0 = argx[0]; switch (argx_0) {case Byte_ascii.Ltr_R: case Byte_ascii.Ltr_r: raw = true; break;} } - Xow_site_stats_mgr stats = ctx.Wiki().Stats(); + Xowd_site_stats_mgr stats = ctx.Wiki().Stats(); long v = 0; switch (id) { case Xol_kwd_grp_.Id_num_pages: v = stats.Num_pages(); break; @@ -48,5 +48,5 @@ public class Pfunc_wiki_stats extends Pf_func_base { public Pfunc_wiki_stats(int id) {this.id = id;} @Override public int Id() {return id;} private int id; @Override public Pf_func New(int id, byte[] name) {return new Pfunc_wiki_stats(id).Name_(name);} - public static final Pfunc_wiki_stats Instance = new Pfunc_wiki_stats(-1); + public static final Pfunc_wiki_stats Instance = new Pfunc_wiki_stats(-1); } diff --git a/400_xowa/src/gplx/xowa/xtns/scribunto/libs/Scrib_lib_site.java b/400_xowa/src/gplx/xowa/xtns/scribunto/libs/Scrib_lib_site.java index 8d2155796..5577a3a9b 100644 --- a/400_xowa/src/gplx/xowa/xtns/scribunto/libs/Scrib_lib_site.java +++ b/400_xowa/src/gplx/xowa/xtns/scribunto/libs/Scrib_lib_site.java @@ -199,7 +199,7 @@ public class Scrib_lib_site implements Scrib_lib { return rv; } private Keyval[] Bld_stats(Xowe_wiki wiki) { - Xow_site_stats_mgr stats = wiki.Stats(); + Xowd_site_stats_mgr stats = wiki.Stats(); Keyval[] rv = new Keyval[8]; rv[0] = Keyval_.new_("pages" , stats.Num_pages()); // SiteStats::pages(), rv[1] = Keyval_.new_("articles" , stats.Num_articles()); // SiteStats::articles(),