public byte[] Bld(Xowe_wiki cur_wiki, Xoae_page page, Xow_popup_itm popup_itm, Bry_bfr wrdx_bfr) { if (output_js_clean) cur_wiki.Html_mgr().Js_cleaner().Clean_bfr(wiki, page.Ttl(), wrdx_bfr, 0); if (output_tidy) cur_wiki.Html_mgr().Tidy_mgr().Exec_tidy(wrdx_bfr, Bool_.Y, page.Url_bry_safe()); byte[] hdom_bry = wrdx_bfr.To_bry_and_clear(); String page_url = wrdx_bfr.Add(page.Wiki().Domain_bry()) .Add(gplx.xowa.htmls.hrefs.Xoh_href_.Bry__wiki) .Add( gplx.langs.htmls.encoders.Gfo_url_encoder_.Href.Encode( page.Ttl() .Full_db())) // NOTE: was page.Url().Raw(), but that doesn't work for // Special:Search; PAGE:en.w:Earth and "Quotations"; // DATE:2014-06-29 .To_str_and_clear(); fmtr_popup.Bld_bfr_many( wrdx_bfr, hdom_bry, wiki.Lang().Dir_ltr_bry(), page_url, String_.new_u8(page.Ttl().Full_txt_w_ttl_case()), popup_itm.Popup_id(), Xow_popup_html_bldr_.Bld_fmtr_wiki( fmtr_wiki, wrdx_bfr, cur_wiki.Domain_bry(), page.Wiki().Domain_bry()) // NOTE: use cur_wiki, not page_wiki; DATE:2014-06-28 , gplx.core.ios.Io_size_.To_str(page.Db().Text().Text_bry().length), page.Db().Page().Modified_on().XtoStr_fmt_yyyy_MM_dd_HH_mm_ss(), Xow_popup_html_bldr_.Bld_fmtr_viewed(fmtr_viewed, app, wiki, wrdx_bfr, page.Ttl()), app.Fsys_mgr().Root_dir().To_http_file_bry()); return wrdx_bfr.To_bry_and_clear(); }
public static byte[] Bld_fmtr_viewed( Bry_fmtr fmtr, Xoae_app app, Xowe_wiki wiki, Bry_bfr wrdx_bfr, Xoa_ttl ttl) { byte[] view_time_item = Bry_.Empty; gplx.xowa.users.history.Xou_history_itm history_itm = app.Usere().History_mgr().Get_or_null(wiki.Domain_bry(), ttl.Full_txt_w_ttl_case()); if (history_itm != null) view_time_item = fmtr.Bld_bry_many(wrdx_bfr, history_itm.View_end().XtoStr_fmt_yyyy_MM_dd_HH_mm_ss()); return view_time_item; }
public static byte[] Bld_fmtr_wiki( Bry_fmtr fmtr, Bry_bfr wrdx_bfr, byte[] wiki_domain, byte[] page_domain) { return Bry_.Eq(wiki_domain, page_domain) ? Bry_.Empty // same domain; return ""; : fmtr.Bld_bry_many(wrdx_bfr, page_domain); }
public class Xow_popup_html_mkr { private Xoae_app app; private Xowe_wiki wiki; public Bry_fmtr Fmtr_popup() { return fmtr_popup; } private Bry_fmtr fmtr_popup = Bry_fmtr.keys_(Xoapi_popups.Dflt_html_fmtr_popup_keys); public Bry_fmtr Fmtr_viewed() { return fmtr_viewed; } private Bry_fmtr fmtr_viewed = Bry_fmtr.keys_(Xoapi_popups.Dflt_html_fmtr_viewed_keys); public Bry_fmtr Fmtr_wiki() { return fmtr_wiki; } private Bry_fmtr fmtr_wiki = Bry_fmtr.keys_(Xoapi_popups.Dflt_html_fmtr_wiki_keys); public Bry_fmtr Fmtr_next_sect() { return fmtr_next_sect; } private Bry_fmtr fmtr_next_sect = Bry_fmtr.keys_(Xoapi_popups.Dflt_html_fmtr_next_sect_keys); public void Output_js_clean_(boolean v) { output_js_clean = v; } private boolean output_js_clean = true; public void Output_tidy_(boolean v) { output_tidy = v; } private boolean output_tidy = true; public void Ctor(Xoae_app app, Xowe_wiki wiki) { this.wiki = wiki; this.app = app; wiki.Eval_mgr().Eval_mgr_(fmtr_popup, fmtr_viewed, fmtr_wiki, fmtr_next_sect); } public byte[] Bld(Xowe_wiki cur_wiki, Xoae_page page, Xow_popup_itm popup_itm, Bry_bfr wrdx_bfr) { if (output_js_clean) cur_wiki.Html_mgr().Js_cleaner().Clean_bfr(wiki, page.Ttl(), wrdx_bfr, 0); if (output_tidy) cur_wiki.Html_mgr().Tidy_mgr().Exec_tidy(wrdx_bfr, Bool_.Y, page.Url_bry_safe()); byte[] hdom_bry = wrdx_bfr.To_bry_and_clear(); String page_url = wrdx_bfr.Add(page.Wiki().Domain_bry()) .Add(gplx.xowa.htmls.hrefs.Xoh_href_.Bry__wiki) .Add( gplx.langs.htmls.encoders.Gfo_url_encoder_.Href.Encode( page.Ttl() .Full_db())) // NOTE: was page.Url().Raw(), but that doesn't work for // Special:Search; PAGE:en.w:Earth and "Quotations"; // DATE:2014-06-29 .To_str_and_clear(); fmtr_popup.Bld_bfr_many( wrdx_bfr, hdom_bry, wiki.Lang().Dir_ltr_bry(), page_url, String_.new_u8(page.Ttl().Full_txt_w_ttl_case()), popup_itm.Popup_id(), Xow_popup_html_bldr_.Bld_fmtr_wiki( fmtr_wiki, wrdx_bfr, cur_wiki.Domain_bry(), page.Wiki().Domain_bry()) // NOTE: use cur_wiki, not page_wiki; DATE:2014-06-28 , gplx.core.ios.Io_size_.To_str(page.Db().Text().Text_bry().length), page.Db().Page().Modified_on().XtoStr_fmt_yyyy_MM_dd_HH_mm_ss(), Xow_popup_html_bldr_.Bld_fmtr_viewed(fmtr_viewed, app, wiki, wrdx_bfr, page.Ttl()), app.Fsys_mgr().Root_dir().To_http_file_bry()); return wrdx_bfr.To_bry_and_clear(); } }