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:
@@ -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");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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());
|
||||
|
||||
Reference in New Issue
Block a user