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

'v3.6.3.1'

This commit is contained in:
gnosygnu
2016-06-19 23:58:10 -04:00
parent 96636f3161
commit d4e8590345
1960 changed files with 20790 additions and 9272 deletions

View File

@@ -18,20 +18,20 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
package gplx.xowa.xtns.pagebanners; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*;
import gplx.core.primitives.*;
public class Pgbnr_cfg {
private final Hash_adp ns_hash = Hash_adp_.new_(); private final Int_obj_ref tmp_ns_key = Int_obj_ref.neg1_();
private final Hash_adp ns_hash = Hash_adp_.New(); private final Int_obj_ref tmp_ns_key = Int_obj_ref.New_neg1();
public Pgbnr_cfg(boolean enabled, boolean enable_heading_override, boolean enable_default_banner, int[] ns_ary, int dflt_img_wdata_prop, byte[] dflt_img_title, int[] standard_sizes) {
this.enabled = enabled; this.enable_heading_override = enable_heading_override; this.enable_default_banner = enable_default_banner;
this.standard_sizes = standard_sizes;
this.dflt_img_wdata_prop = dflt_img_wdata_prop; this.dflt_img_title = dflt_img_title;
for (int ns : ns_ary)
this.ns_hash.Add_as_key_and_val(Int_obj_ref.new_(ns));
this.ns_hash.Add_as_key_and_val(Int_obj_ref.New(ns));
}
public final boolean enabled;
public final boolean enable_heading_override;
public final boolean enable_default_banner;
public final int dflt_img_wdata_prop;
public final byte[] dflt_img_title;
public final int[] standard_sizes;
public final boolean enabled;
public final boolean enable_heading_override;
public final boolean enable_default_banner;
public final int dflt_img_wdata_prop;
public final byte[] dflt_img_title;
public final int[] standard_sizes;
public boolean Chk_pgbnr_allowed(Xoa_ttl ttl, Xowe_wiki wiki) {
boolean enabled_in_ns = ns_hash.Has(tmp_ns_key.Val_(ttl.Ns().Id()));
return enabled_in_ns // chk if ns allows banner

View File

@@ -32,7 +32,7 @@ public class Pgbnr_func extends Pf_func_base {
boolean bottomtoc = false;;
double data_pos_x = 0, data_pos_y = 0;
List_adp icons_list = null;
Bry_bfr tmp_bfr = Bry_bfr.new_();
Bry_bfr tmp_bfr = Bry_bfr_.New();
int args_len = self.Args_len();
Xop_func_arg_itm func_arg = new Xop_func_arg_itm();
for (int i = 0; i < args_len; ++i) {
@@ -56,7 +56,7 @@ public class Pgbnr_func extends Pf_func_base {
&& Bry_.Len_gt_0(val) // if ( !isset( $$value ) )
) { // REF.MW:addIcons
tid = Arg__icon;
if (icons_list == null) icons_list = List_adp_.new_();
if (icons_list == null) icons_list = List_adp_.New();
byte[] icon_key = Bry_.Mid(key, 5);
byte[] icon_name = Xop_sanitizer.Escape_cls(icon_key);
byte[] icon_title = icon_name;
@@ -128,7 +128,7 @@ public class Pgbnr_func extends Pf_func_base {
}
public static byte[] Get_banner_html(Xowe_wiki wiki, Xop_ctx ctx, byte[] src, Pgbnr_cfg cfg, Xoa_ttl banner_ttl, Pgbnr_itm itm) {
byte[][] urls = Get_standard_size_urls(wiki, cfg, banner_ttl); if (urls == null) return null;
Bry_bfr tmp_bfr = Bry_bfr.new_();
Bry_bfr tmp_bfr = Bry_bfr_.New();
int urls_len = urls.length;
int[] sizes = cfg.standard_sizes;
for (int i = 0; i < urls_len; ++i) {

View File

@@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
package gplx.xowa.xtns.pagebanners; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*;
import org.junit.*; import gplx.core.brys.*; import gplx.xowa.wikis.pages.skins.*;
public class Pgbnr_func_tst {
private final Pgbnr_func_fxt fxt = new Pgbnr_func_fxt();
private final Pgbnr_func_fxt fxt = new Pgbnr_func_fxt();
@Test public void Basic() {
fxt.Test__parse__eq("{{PAGEBANNER:A.png|icon-star=Star_article}}", String_.Concat_lines_nl_apos_skip_last
( "<div class='ext-wpb-pagebanner noprint pre-content'>"
@@ -35,7 +35,7 @@ public class Pgbnr_func_tst {
}
}
class Pgbnr_func_fxt {
private final Xop_fxt fxt;
private final Xop_fxt fxt;
public Pgbnr_func_fxt() {
Xoae_app app = Xoa_app_fxt.Make__app__edit();
Xowe_wiki wiki = Xoa_app_fxt.Make__wiki__edit(app, "en.wikivoyage.org");
@@ -44,7 +44,7 @@ class Pgbnr_func_fxt {
public void Test__parse__eq(String raw, String expd) {
fxt.Exec_parse_page_all_as_str(raw);
Bfr_arg arg = fxt.Wiki().Xtn_mgr().Xtn_pgbnr().Write_html(fxt.Ctx(), fxt.Page(), null, null);
Bry_bfr bfr = Bry_bfr.new_();
Bry_bfr bfr = Bry_bfr_.New();
arg.Bfr_arg__add(bfr);
Tfds.Eq_str_lines(expd, bfr.To_str_and_clear());
}

View File

@@ -21,12 +21,12 @@ import gplx.xowa.langs.*; import gplx.xowa.wikis.domains.*; import gplx.xowa.wik
import gplx.xowa.htmls.core.htmls.*;
public class Pgbnr_xtn_mgr extends Xox_mgr_base implements Bfr_arg {
@Override public byte[] Xtn_key() {return Xtn_key_static;} public static final byte[] Xtn_key_static = Bry_.new_a7("pagebanner");
@Override public Xox_mgr Clone_new() {return new Pgbnr_xtn_mgr();}
@Override public Xox_mgr Xtn_clone_new() {return new Pgbnr_xtn_mgr();}
public Pgbnr_cfg Cfg() {return cfg;} private Pgbnr_cfg cfg;
public Mustache_tkn_itm Template_root() {return template_root;} private Mustache_tkn_itm template_root;
@Override public void Xtn_init_by_app(Xoae_app app) {}
@Override public void Xtn_init_by_wiki(Xowe_wiki wiki) {
// load config; TODO: load by file
// load config; TODO_OLD: load by file
boolean enabled = false, enable_heading_override = true, enable_default_banner = false;
int[] ns_ary = Int_.Ary(Xow_ns_.Tid__main, Xow_ns_.Tid__user);
int[] standard_sizes = new int[] {640, 1280, 2560};