mirror of
https://github.com/gnosygnu/xowa.git
synced 2024-10-27 20:34:16 +00:00
User_wiki: Add list of user wikis page
This commit is contained in:
parent
0fb6fea11a
commit
6d92c3cfbf
@ -16,7 +16,8 @@ You should have received a copy of the GNU Affero General Public License
|
|||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
package gplx.xowa.addons.users.wikis.regys; import gplx.*; import gplx.xowa.*; import gplx.xowa.addons.*; import gplx.xowa.addons.users.*; import gplx.xowa.addons.users.wikis.*;
|
package gplx.xowa.addons.users.wikis.regys; 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.dbs.*; import gplx.xowa.addons.users.wikis.regys.specials.itms.*;
|
import gplx.xowa.addons.users.wikis.regys.dbs.*;
|
||||||
|
import gplx.xowa.addons.users.wikis.regys.specials.itms.*; import gplx.xowa.addons.users.wikis.regys.specials.lists.*;
|
||||||
import gplx.xowa.htmls.bridges.*;
|
import gplx.xowa.htmls.bridges.*;
|
||||||
import gplx.dbs.*;
|
import gplx.dbs.*;
|
||||||
import gplx.xowa.specials.*;
|
import gplx.xowa.specials.*;
|
||||||
@ -24,6 +25,7 @@ public class Xou_regy_addon implements Xoax_addon_itm, Xoax_addon_itm__special,
|
|||||||
public Xow_special_page[] Special_pages() {
|
public Xow_special_page[] Special_pages() {
|
||||||
return new Xow_special_page[]
|
return new Xow_special_page[]
|
||||||
{ Xouw_itm_special.Prototype
|
{ Xouw_itm_special.Prototype
|
||||||
|
, Xouw_list_special.Prototype
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
public Bridge_cmd_itm[] Json_cmds() {
|
public Bridge_cmd_itm[] Json_cmds() {
|
||||||
|
@ -17,8 +17,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
*/
|
*/
|
||||||
package gplx.xowa.addons.users.wikis.regys.specials.itms; 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.*; import gplx.xowa.addons.users.wikis.regys.specials.*;
|
package gplx.xowa.addons.users.wikis.regys.specials.itms; 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.*; import gplx.xowa.addons.users.wikis.regys.specials.*;
|
||||||
import gplx.core.ios.*;
|
import gplx.core.ios.*;
|
||||||
import gplx.langs.mustaches.*;
|
import gplx.langs.mustaches.*; import gplx.xowa.addons.users.wikis.regys.dbs.*;
|
||||||
class Xouw_itm_doc implements Mustache_doc_itm {
|
public class Xouw_itm_doc implements Mustache_doc_itm {
|
||||||
private final boolean mode_is_new;
|
private final boolean mode_is_new;
|
||||||
private final int id;
|
private final int id;
|
||||||
private final String domain, name, dir;
|
private final String domain, name, dir;
|
||||||
@ -41,5 +41,15 @@ class Xouw_itm_doc implements Mustache_doc_itm {
|
|||||||
if (String_.Eq(key, "mode_is_new")) return Mustache_doc_itm_.Ary__bool(mode_is_new);
|
if (String_.Eq(key, "mode_is_new")) return Mustache_doc_itm_.Ary__bool(mode_is_new);
|
||||||
return Mustache_doc_itm_.Ary__empty;
|
return Mustache_doc_itm_.Ary__empty;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final Xouw_itm_doc[] Ary_empty = new Xouw_itm_doc[0];
|
public static final Xouw_itm_doc[] Ary_empty = new Xouw_itm_doc[0];
|
||||||
|
public static Xouw_itm_doc New(Xou_wiki_itm itm) {return new Xouw_itm_doc(itm.Id(), itm.Domain(), itm.Name(), itm.Url().OwnerDir().Xto_api());}
|
||||||
|
public static Xouw_itm_doc[] New_ary(Xou_wiki_itm[] itms_ary) {
|
||||||
|
int len = itms_ary.length;
|
||||||
|
Xouw_itm_doc[] rv = new Xouw_itm_doc[itms_ary.length];
|
||||||
|
for (int i = 0; i < len; i++) {
|
||||||
|
rv[i] = New(itms_ary[i]);
|
||||||
|
}
|
||||||
|
return rv;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -31,7 +31,7 @@ class Xouw_itm_html extends Xow_special_wtr__base {
|
|||||||
Xou_wiki_itm itm = db_mgr.Tbl__wiki().Select_by_key_or_null(domain);
|
Xou_wiki_itm itm = db_mgr.Tbl__wiki().Select_by_key_or_null(domain);
|
||||||
if (itm == null)
|
if (itm == null)
|
||||||
itm = new Xou_wiki_itm(-1, "", "", Io_url_.Empty, "");
|
itm = new Xou_wiki_itm(-1, "", "", Io_url_.Empty, "");
|
||||||
return new Xouw_itm_doc(itm.Id(), itm.Domain(), itm.Name(), itm.Url().OwnerDir().Xto_api());
|
return Xouw_itm_doc.New(itm);
|
||||||
}
|
}
|
||||||
@Override protected void Bld_tags(Xoa_app app, Io_url addon_dir, Xopage_html_data page_data) {
|
@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();
|
Xopg_tag_mgr head_tags = page_data.Head_tags();
|
||||||
|
@ -0,0 +1,34 @@
|
|||||||
|
/*
|
||||||
|
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 <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
package gplx.xowa.addons.users.wikis.regys.specials.lists; 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.*; import gplx.xowa.addons.users.wikis.regys.specials.*;
|
||||||
|
import gplx.core.ios.*;
|
||||||
|
import gplx.langs.mustaches.*;
|
||||||
|
import gplx.xowa.addons.users.wikis.regys.dbs.*; import gplx.xowa.addons.users.wikis.regys.specials.itms.*;
|
||||||
|
class Xouw_list_doc implements Mustache_doc_itm {
|
||||||
|
private final Xouw_itm_doc[] itms_ary;
|
||||||
|
public Xouw_list_doc(Xouw_itm_doc[] itms_ary) {
|
||||||
|
this.itms_ary = itms_ary;
|
||||||
|
}
|
||||||
|
public boolean Mustache__write(String key, Mustache_bfr bfr) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
public Mustache_doc_itm[] Mustache__subs(String key) {
|
||||||
|
if (String_.Eq(key, "itms")) return itms_ary;
|
||||||
|
return Mustache_doc_itm_.Ary__empty;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,40 @@
|
|||||||
|
/*
|
||||||
|
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 <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
package gplx.xowa.addons.users.wikis.regys.specials.lists; 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.*; import gplx.xowa.addons.users.wikis.regys.specials.*;
|
||||||
|
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.*; import gplx.xowa.addons.users.wikis.regys.specials.itms.*;
|
||||||
|
class Xouw_list_html extends Xow_special_wtr__base {
|
||||||
|
@Override protected Io_url Get_addon_dir(Xoa_app app) {return app.Fsys_mgr().Http_root().GenSubDir_nest("bin", "any", "xowa", "addon", "user", "wiki", "list");}
|
||||||
|
@Override protected Io_url Get_mustache_fil(Io_url addon_dir) {return addon_dir.GenSubFil_nest("bin", "xouw_list.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[] itms_ary = db_mgr.Tbl__wiki().Select_all();
|
||||||
|
return new Xouw_list_doc(Xouw_itm_doc.New_ary(itms_ary));
|
||||||
|
}
|
||||||
|
@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();
|
||||||
|
Xopg_tag_wtr_.Add__xocss (head_tags, app.Fsys_mgr().Http_root());
|
||||||
|
Xopg_tag_wtr_.Add__xohelp (head_tags, app.Fsys_mgr().Http_root());
|
||||||
|
Xopg_tag_wtr_.Add__xolog (head_tags, app.Fsys_mgr().Http_root());
|
||||||
|
Xopg_tag_wtr_.Add__xoajax (head_tags, app.Fsys_mgr().Http_root(), app);
|
||||||
|
|
||||||
|
head_tags.Add(Xopg_tag_itm.New_css_file(addon_dir.GenSubFil_nest("bin", "xouw_list.css")));
|
||||||
|
head_tags.Add(Xopg_tag_itm.New_js_file(addon_dir.GenSubFil_nest("bin", "xouw_list.js")));
|
||||||
|
}
|
||||||
|
}
|
@ -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 <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
package gplx.xowa.addons.users.wikis.regys.specials.lists; 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.*; import gplx.xowa.addons.users.wikis.regys.specials.*;
|
||||||
|
import gplx.xowa.specials.*; import gplx.core.net.qargs.*;
|
||||||
|
public class Xouw_list_special implements Xow_special_page {
|
||||||
|
public void Special__gen(Xow_wiki wiki, Xoa_page page, Xoa_url url, Xoa_ttl ttl) {
|
||||||
|
new Xouw_list_html().Bld_page_by_mustache(wiki.App(), page, this);
|
||||||
|
}
|
||||||
|
Xouw_list_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;
|
||||||
|
public Xow_special_page Special__clone() {return this;}
|
||||||
|
public static final Xow_special_page Prototype = new Xouw_list_special(Xow_special_meta.New_xo("XowaUserWikis", "Personal Wikis"));
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user