mirror of
https://github.com/gnosygnu/xowa.git
synced 2026-03-02 03:49:30 +00:00
Import: Fix wrong main_page for non-English wikis
This commit is contained in:
@@ -19,6 +19,7 @@ package gplx.xowa.bldrs.cmds.texts; import gplx.*; import gplx.xowa.*; import gp
|
||||
import gplx.xowa.xtns.wbases.*;
|
||||
import gplx.xowa.bldrs.*; import gplx.xowa.bldrs.wkrs.*; import gplx.xowa.bldrs.xmls.*; import gplx.xowa.bldrs.cmds.texts.xmls.*;
|
||||
import gplx.xowa.bldrs.css.*; import gplx.xowa.wikis.domains.*;
|
||||
import gplx.xowa.wikis.data.*;
|
||||
public abstract class Xob_init_base implements Xob_cmd, Gfo_invk {
|
||||
private Xob_bldr bldr; private Xowe_wiki wiki; private Gfo_usr_dlg usr_dlg;
|
||||
private byte wbase_enabled = Bool_.__byte;
|
||||
@@ -48,8 +49,11 @@ public abstract class Xob_init_base implements Xob_cmd, Gfo_invk {
|
||||
Io_mgr.Instance.DeleteFil_args(url).MissingFails_off().Exec();
|
||||
// }
|
||||
|
||||
// always save xowa_cfg import data now; note that other builder commands will load cfg and overwrite data with null; DATE:2017-02-20
|
||||
gplx.xowa.wikis.data.Xowd_cfg_tbl_.Insert__import(wiki);
|
||||
// always save xowa_cfg data at end of init step, not term step; else, other builder commands will load empty cfg and import data will be null; DATE:2017-02-20
|
||||
if (!gplx.core.envs.Env_.Mode_testing()) { // need else Xob_init_base_tst fails; DATE:2017-02-20
|
||||
Xowd_cfg_tbl_.Upsert__import(wiki);
|
||||
Xowd_cfg_tbl_.Upsert__create(wiki);
|
||||
}
|
||||
}
|
||||
@gplx.Virtual public void Cmd_term() {}
|
||||
@gplx.Virtual public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) {
|
||||
|
||||
@@ -35,7 +35,8 @@ public abstract class Xob_term_base implements Xob_cmd, Gfo_invk {
|
||||
|
||||
// update main page
|
||||
byte[] new_main_page = gplx.xowa.langs.msgs.Xow_mainpage_finder.Find_or(wiki, wiki.Props().Siteinfo_mainpage()); // get new main_page from mainpage_finder
|
||||
wiki.Props().Main_page_update_(new_main_page);
|
||||
wiki.Props().Main_page_(new_main_page);
|
||||
wiki.Data__core_mgr().Db__core().Tbl__cfg().Upsert_bry(gplx.xowa.wikis.data.Xowd_cfg_key_.Grp__wiki_init, gplx.xowa.wikis.data.Xowd_cfg_key_.Key__init__main_page , new_main_page);
|
||||
|
||||
// remove import marker
|
||||
app.Bldr().Import_marker().End(wiki);
|
||||
|
||||
@@ -93,7 +93,6 @@ public class Xob_page_cmd extends Xob_itm_basic_base implements Xob_page_wkr, Gf
|
||||
Xow_db_file db_core = db_mgr.Db__core();
|
||||
db_core.Tbl__site_stats().Update(page_count_main, page_count_all, ns_mgr.Ns_file().Count()); // save page stats
|
||||
db_core.Tbl__ns().Insert(ns_mgr); // save ns
|
||||
db_mgr.Tbl__cfg().Insert_str(Xowd_cfg_key_.Grp__wiki_init, Xowd_cfg_key_.Key__init__modified_latest, modified_latest.XtoStr_fmt(DateAdp_.Fmt_iso8561_date_time));
|
||||
if (idx_mode.Tid_is_end()) page_core_tbl.Create_idx();
|
||||
if (redirect_id_enabled) {
|
||||
redirect_tbl.Conn().Txn_end();
|
||||
|
||||
@@ -25,10 +25,6 @@ public class Xob_term_cmd extends Xob_term_base {
|
||||
// delete wiki's temp dir
|
||||
Io_mgr.Instance.DeleteDirDeep(wiki.Fsys_mgr().Tmp_dir());
|
||||
|
||||
// insert cfg defaults
|
||||
Xowd_cfg_tbl_.Insert__import(wiki);
|
||||
Xowd_cfg_tbl_.Insert__create(wiki);
|
||||
|
||||
// build fsdb
|
||||
gplx.fsdb.Fsdb_db_mgr__v2_bldr.Get_or_make(wiki, false);// always build file.user db; DATE:2015-05-12
|
||||
|
||||
|
||||
@@ -34,6 +34,7 @@ public class Xob_siteinfo_parser_ {
|
||||
Xob_siteinfo_nde nde = Parse(String_.new_u8(siteinfo_bry), wiki.Ns_mgr());
|
||||
wiki.Props().Bldr_version_(Bry_.new_a7(Xoa_app_.Version));
|
||||
wiki.Props().Main_page_(nde.Main_page());
|
||||
wiki.Props().Siteinfo_mainpage_(nde.Main_page());
|
||||
Bry_bfr bfr = Bry_bfr_.New().Add_str_u8(nde.Site_name()).Add_byte_pipe().Add_str_u8(nde.Generator()).Add_byte_pipe().Add_str_u8(nde.Case_dflt()).Add_byte_pipe();
|
||||
wiki.Props().Siteinfo_misc_(bfr.To_bry_and_clear());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user