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

Personal_wikis: Add Main_Page back to json

This commit is contained in:
gnosygnu
2017-02-17 23:28:40 -05:00
parent c9e22b69f7
commit 083ab133f7
7 changed files with 35 additions and 11 deletions

View File

@@ -18,15 +18,18 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
package gplx.xowa.addons.wikis.directorys.dbs; import gplx.*; import gplx.xowa.*; import gplx.xowa.addons.*; import gplx.xowa.addons.wikis.*; import gplx.xowa.addons.wikis.directorys.*;
import gplx.langs.jsons.*;
public class Xowdir_wiki_json {
public Xowdir_wiki_json(String name) {
public Xowdir_wiki_json(String name, String main_page) {
this.name = name;
this.main_page = main_page;
}
public String Name() {return name;} private String name; public void Name_(String v) {name = v;}
public String Main_page() {return main_page;} private String main_page; public void Main_page_(String v) {main_page = v;}
public String To_str(Json_wtr wtr) {
wtr.Doc_nde_bgn();
wtr.Nde_bgn("core");
wtr.Kv_str("name", name);
wtr.Kv_str("main_page", main_page);
wtr.Nde_end();
wtr.Doc_nde_end();
@@ -36,9 +39,10 @@ public class Xowdir_wiki_json {
public static Xowdir_wiki_json New_by_json(Json_parser json_parser, String json) {
Json_doc jdoc = json_parser.Parse(json);
String name = jdoc.Get_val_as_str_or(Bry_.Ary("core", "name"), "");
return new Xowdir_wiki_json(name);
String main_page = jdoc.Get_val_as_str_or(Bry_.Ary("core", "main_page"), "");
return new Xowdir_wiki_json(name, main_page);
}
public static Xowdir_wiki_json New_empty() {
return new Xowdir_wiki_json("");
return new Xowdir_wiki_json("", "Main_Page");
}
}

View File

@@ -23,7 +23,7 @@ public interface Xowdir_wiki_props_mgr {
String Wiki_cfg__select_or(String key, String or);
void User_reg__upsert(String domain, String val);
String User_reg__select(String domain);
Xowdir_wiki_props Verify(boolean mode_is_import, String domain_str, Io_url core_db_url);
Xowdir_wiki_props Verify(boolean mode_is_import, String domain, Io_url core_db_url);
}
abstract class Xowdir_wiki_props_mgr__base implements Xowdir_wiki_props_mgr {
private final Gfo_usr_dlg usr_dlg;
@@ -34,7 +34,7 @@ abstract class Xowdir_wiki_props_mgr__base implements Xowdir_wiki_props_mgr {
public abstract String Wiki_cfg__select_or(String key, String or);
public abstract void User_reg__upsert(String domain, String val);
public abstract String User_reg__select(String domain);
public Xowdir_wiki_props Verify(boolean mode_is_import, String domain_str, Io_url core_db_url) {
public Xowdir_wiki_props Verify(boolean mode_is_import, String domain, Io_url core_db_url) {
Xowdir_wiki_props rv = new Xowdir_wiki_props();
Verify_or_fix(rv, core_db_url, Xowd_cfg_key_.Key__wiki_core__domain);

View File

@@ -35,11 +35,11 @@ class Xowdir_wiki_props_mgr__xowa extends Xowdir_wiki_props_mgr__base {
}
@Override public void Wiki_cfg__upsert(String key, String val) {
Wiki_cfg__assert_tbl();
wiki_cfg_tbl.Upsert_str("init", key, val);
wiki_cfg_tbl.Upsert_str(gplx.xowa.wikis.data.Xowd_cfg_key_.Grp__wiki_init, key, val);
}
@Override public String Wiki_cfg__select_or(String key, String or) {
Wiki_cfg__assert_tbl();
return wiki_cfg_tbl.Select_str_or("init", key, or);
return wiki_cfg_tbl.Select_str_or(gplx.xowa.wikis.data.Xowd_cfg_key_.Grp__wiki_init, key, or);
}
private void User_reg__assert_tbl() {
if (user_reg_tbl == null) {

View File

@@ -44,12 +44,12 @@ public class Xowdir_item_doc implements Mustache_doc_itm {
}
public static final Xowdir_item_doc[] Ary_empty = new Xowdir_item_doc[0];
public static Xowdir_item_doc New(Xowdir_wiki_itm itm, String main_page) {return new Xowdir_item_doc(itm.Id(), itm.Domain(), itm.Json().Name(), itm.Url().OwnerDir().Xto_api(), main_page);}
public static Xowdir_item_doc New(Xowdir_wiki_itm itm) {return new Xowdir_item_doc(itm.Id(), itm.Domain(), itm.Json().Name(), itm.Url().OwnerDir().Xto_api(), itm.Json().Main_page());}
public static Xowdir_item_doc[] New_ary(Xowdir_wiki_itm[] itms_ary) {
int len = itms_ary.length;
Xowdir_item_doc[] rv = new Xowdir_item_doc[itms_ary.length];
for (int i = 0; i < len; i++) {
rv[i] = New(itms_ary[i], ""); // NOTE: main_page empty b/c not shown on list page
rv[i] = New(itms_ary[i]);
}
return rv;
}

View File

@@ -31,7 +31,7 @@ class Xowdir_item_html extends Xow_special_wtr__base {
Xowdir_wiki_itm itm = db_mgr.Tbl__wiki().Select_by_key_or_null(domain);
if (itm == null)
itm = new Xowdir_wiki_itm(-1, "", Io_url_.Empty, Xowdir_wiki_json.New_empty());
return Xowdir_item_doc.New(itm, itm.Json().Name());
return Xowdir_item_doc.New(itm);
}
@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

@@ -55,7 +55,7 @@ class Xowdir_list_svc {
// add it to user_wiki
int id = Xowdir_db_utl.Wiki_id__next(app);
db_mgr.Tbl__wiki().Upsert(id, domain, core_db_url, new Xowdir_wiki_json(wiki_props.Name()).To_str(new Json_wtr()));
db_mgr.Tbl__wiki().Upsert(id, domain, core_db_url, new Xowdir_wiki_json(wiki_props.Name(), wiki_props.Main_page()).To_str(new Json_wtr()));
// add it to personal wikis
gplx.xowa.addons.wikis.directorys.specials.items.bldrs.Xow_wiki_factory.Load_personal((Xoae_app)app, Bry_.new_u8(domain), core_db_url.OwnerDir());