mirror of
https://github.com/gnosygnu/xowa.git
synced 2026-03-02 03:49:30 +00:00
v3.1.4.2
This commit is contained in:
@@ -239,6 +239,7 @@ public class Pf_func_ {
|
||||
, Xol_kwd_grp_.Id_bang
|
||||
, Xol_kwd_grp_.Id_rev_revisionsize
|
||||
, Xol_kwd_grp_.Id_pagebanner
|
||||
, Xol_kwd_grp_.Id_rev_protectionexpiry
|
||||
};
|
||||
public static Xot_defn Get_prototype(int id) {
|
||||
switch (id) {
|
||||
@@ -323,6 +324,7 @@ public class Pf_func_ {
|
||||
case Xol_kwd_grp_.Id_rev_pagesize:
|
||||
case Xol_kwd_grp_.Id_rev_revisionsize:
|
||||
case Xol_kwd_grp_.Id_rev_user:
|
||||
case Xol_kwd_grp_.Id_rev_protectionexpiry:
|
||||
case Xol_kwd_grp_.Id_rev_protectionlevel: return Pfunc_rev_props.Instance;
|
||||
case Xol_kwd_grp_.Id_page_displaytitle: return Pfunc_displaytitle.Instance;
|
||||
case Xol_kwd_grp_.Id_page_defaultsort: return Pfunc_defaultsort.Instance;
|
||||
|
||||
@@ -41,7 +41,7 @@ public class Pfunc_gender extends Pf_func_base {
|
||||
}
|
||||
if (self_args_len == 1) {bfr.Add(when_m); return;} // per MW: EX: {{gender:name|a}} -> "a"
|
||||
int gender = Get_gender(ctx.App().User(), user_name);
|
||||
Xol_lang_itm lang = ctx.Cur_page().Lang();
|
||||
Xol_lang_itm lang = ctx.Page().Lang();
|
||||
bfr.Add(lang.Gender().Gender_eval(gender, when_m, when_f, when_u));
|
||||
}
|
||||
private static int Get_gender(Xou_user user, byte[] user_name) {
|
||||
|
||||
@@ -25,7 +25,7 @@ public class Pfunc_grammar extends Pf_func_base {
|
||||
@Override public void Func_evaluate(Bry_bfr bfr, Xop_ctx ctx, Xot_invk caller, Xot_invk self, byte[] src) {
|
||||
byte[] argx = Eval_argx(ctx, src, caller, self);
|
||||
byte[] word = Pf_func_.Eval_arg_or_empty(ctx, src, caller, self, self.Args_len(), 0);
|
||||
Xol_lang_itm lang = ctx.Cur_page().Lang();
|
||||
Xol_lang_itm lang = ctx.Page().Lang();
|
||||
boolean pass = false;
|
||||
try {pass = lang.Grammar().Grammar_eval(bfr, lang, word, argx);}
|
||||
catch (Exception e) {Err_.Noop(e);}
|
||||
|
||||
@@ -25,7 +25,7 @@ public class Pfunc_int extends Pf_func_base {
|
||||
@Override public void Func_evaluate(Bry_bfr bfr, Xop_ctx ctx, Xot_invk caller, Xot_invk self, byte[] src) {
|
||||
byte[] msg_key = Eval_argx(ctx, src, caller, self);
|
||||
Xowe_wiki wiki = ctx.Wiki();
|
||||
Xol_lang_itm page_lang = ctx.Cur_page().Lang();
|
||||
Xol_lang_itm page_lang = ctx.Page().Lang();
|
||||
byte[][] args_ary = Bry_.Ary_empty;
|
||||
int args_len = self.Args_len();
|
||||
if (args_len > 0) {
|
||||
|
||||
@@ -33,7 +33,7 @@ public class Pfunc_displaytitle extends Pf_func_base {
|
||||
wiki.Html_mgr().Html_wtr().Write_tkn(tmp_bfr, display_ttl_ctx, hctx, display_ttl_root.Data_mid(), display_ttl_root, 0, display_ttl_root);
|
||||
byte[] val_html = tmp_bfr.To_bry_and_clear();
|
||||
if (restrict) { // restrict only allows displayTitles which have text similar to the pageTitle; PAGE:de.b:Kochbuch/_Druckversion; DATE:2014-08-18
|
||||
Xoae_page page = ctx.Cur_page();
|
||||
Xoae_page page = ctx.Page();
|
||||
wiki.Html_mgr().Html_wtr().Write_tkn(tmp_bfr, display_ttl_ctx, Xoh_wtr_ctx.Alt, display_ttl_root.Data_mid(), display_ttl_root, 0, display_ttl_root);
|
||||
byte[] val_html_lc = tmp_bfr.To_bry_and_clear();
|
||||
Xol_case_mgr case_mgr = wiki.Lang().Case_mgr();
|
||||
@@ -42,7 +42,7 @@ public class Pfunc_displaytitle extends Pf_func_base {
|
||||
if (!Bry_.Eq(val_html_lc, page_ttl_lc))
|
||||
val_html = null;
|
||||
}
|
||||
ctx.Cur_page().Html_data().Display_ttl_(val_html);
|
||||
ctx.Page().Html_data().Display_ttl_(val_html);
|
||||
tmp_bfr.Mkr_rls();
|
||||
}
|
||||
private static byte[] Standardize_displaytitle_text(Xol_case_mgr case_mgr, byte[] val) {
|
||||
|
||||
@@ -24,14 +24,15 @@ public class Pfunc_rev_props extends Pf_func_base {
|
||||
@Override public Pf_func New(int id, byte[] name) {return new Pfunc_rev_props(id).Name_(name);}
|
||||
@Override public void Func_evaluate(Bry_bfr bfr, Xop_ctx ctx, Xot_invk caller, Xot_invk self, byte[] src) {
|
||||
byte[] argx = Eval_argx(ctx, src, caller, self);
|
||||
Xopg_revision_data rev_data = ctx.Cur_page().Revision_data();
|
||||
Xopg_revision_data rev_data = ctx.Page().Revision_data();
|
||||
switch (id) {
|
||||
case Xol_kwd_grp_.Id_page_id:
|
||||
case Xol_kwd_grp_.Id_rev_id: bfr.Add_int_variable(ctx.Cur_page().Revision_data().Id()); break; // NOTE: making rev_id and page_id interchangeable; XOWA does not store rev_id
|
||||
case Xol_kwd_grp_.Id_rev_id: bfr.Add_int_variable(ctx.Page().Revision_data().Id()); break; // NOTE: making rev_id and page_id interchangeable; XOWA does not store rev_id
|
||||
case Xol_kwd_grp_.Id_rev_user: bfr.Add(rev_data.User()); break;
|
||||
case Xol_kwd_grp_.Id_rev_protectionlevel: bfr.Add(rev_data.Protection_level()); break;
|
||||
case Xol_kwd_grp_.Id_rev_protectionexpiry: bfr.Add(rev_data.Protection_expiry()); break;
|
||||
case Xol_kwd_grp_.Id_rev_revisionsize: // default revsize to pagesize; MW has additional logic for subst which should not apply to XO; https://gerrit.wikimedia.org/r/#/c/82650/
|
||||
bfr.Add_int_variable(ctx.Cur_page().Data_raw().length);
|
||||
bfr.Add_int_variable(ctx.Page().Data_raw().length);
|
||||
break;
|
||||
case Xol_kwd_grp_.Id_rev_pagesize:
|
||||
if (argx.length > 0) {
|
||||
|
||||
@@ -26,6 +26,7 @@ public class Pfunc_rev_props_tst {
|
||||
@Test public void Page_size() {fxt.Test_parse_tmpl_str_test("{{PAGESIZE:Test page}}" , "{{test}}", "0");}
|
||||
@Test public void Revision_size() {fxt.Test_parse_tmpl_str_test("{{REVISIONSIZE}}" , "{{test}}", "8");}
|
||||
@Test public void Protection_level() {fxt.Test_parse_tmpl_str_test("{{PROTECTIONLEVEL}}" , "{{test}}", "normal");}
|
||||
@Test public void Protection_expiry() {fxt.Test_parse_tmpl_str_test("{{PROTECTIONEXPIRY}}" , "{{test}}", "infinite");}
|
||||
@Test public void PageSize_invalid_ttl() {
|
||||
fxt.Init_log_(Xop_ttl_log.Invalid_char);
|
||||
fxt.Test_parse_tmpl_str_test("{{PAGESIZE:{{{100}}}|R}}" , "{{test}}", "0");
|
||||
|
||||
@@ -28,7 +28,7 @@ public class Pft_func_date_int extends Pf_func_base {
|
||||
switch (date_tid) {
|
||||
case Date_tid_lcl: date = DateAdp_.Now(); break;
|
||||
case Date_tid_utc: date = DateAdp_.Now().XtoUtc(); break;
|
||||
case Date_tid_rev: date = ctx.Cur_page().Revision_data().Modified_on(); break;
|
||||
case Date_tid_rev: date = ctx.Page().Revision_data().Modified_on(); break;
|
||||
default: throw Err_.new_unhandled(date_tid);
|
||||
}
|
||||
switch (id) {
|
||||
|
||||
@@ -26,7 +26,7 @@ public class Pft_func_date_name extends Pf_func_base {
|
||||
switch (date_tid) {
|
||||
case Pft_func_date_int.Date_tid_lcl: date = DateAdp_.Now(); break;
|
||||
case Pft_func_date_int.Date_tid_utc: date = DateAdp_.Now().XtoUtc(); break;
|
||||
case Pft_func_date_int.Date_tid_rev: date = ctx.Cur_page().Revision_data().Modified_on(); break;
|
||||
case Pft_func_date_int.Date_tid_rev: date = ctx.Page().Revision_data().Modified_on(); break;
|
||||
default: throw Err_.new_unhandled(date_tid);
|
||||
}
|
||||
byte[] val = ctx.Wiki().Msg_mgr().Val_by_id(base_idx + date.Segment(seg_idx));
|
||||
|
||||
@@ -33,7 +33,7 @@ public class Pfunc_rel2abs extends Pf_func_base {
|
||||
@Override public void Func_evaluate(Bry_bfr bfr, Xop_ctx ctx, Xot_invk caller, Xot_invk self, byte[] src) {// REF.MW:ParserFunctions_body.php
|
||||
byte[] qry = Eval_argx(ctx, src, caller, self);
|
||||
byte[] orig = Pf_func_.Eval_arg_or_empty(ctx, src, caller, self, self.Args_len(), 0);
|
||||
if (orig.length == 0) orig = ctx.Cur_page().Ttl().Full_txt();
|
||||
if (orig.length == 0) orig = ctx.Page().Ttl().Full_txt();
|
||||
bfr.Add(Rel2abs(ctx.App().Utl__bfr_mkr().Get_b512().Mkr_rls(), qry, orig));
|
||||
}
|
||||
public static boolean Rel2abs_ttl(byte[] ttl, int bgn, int end) {
|
||||
|
||||
@@ -22,7 +22,7 @@ public class Pfunc_ttl extends Pf_func_base {
|
||||
@Override public void Func_evaluate(Bry_bfr bfr, Xop_ctx ctx, Xot_invk caller, Xot_invk self, byte[] src) {
|
||||
byte[] val_dat_ary = Eval_argx_or_null(ctx, src, caller, self, this.Name());
|
||||
if (val_dat_ary == Bry_.Empty) return; // if argx is empty, return EX: {{PAGENAME:}}; DATE:2013-02-20
|
||||
Xoa_ttl ttl = val_dat_ary == null ? ctx.Cur_page().Ttl() : Xoa_ttl.parse(ctx.Wiki(), val_dat_ary);
|
||||
Xoa_ttl ttl = val_dat_ary == null ? ctx.Page().Ttl() : Xoa_ttl.parse(ctx.Wiki(), val_dat_ary);
|
||||
if (ttl == null) return;
|
||||
switch (id) {
|
||||
case Xol_kwd_grp_.Id_ttl_page_txt: bfr.Add(ttl.Page_txt()); break;
|
||||
|
||||
@@ -33,7 +33,7 @@ public class Pfunc_wiki_props extends Pf_func_base {
|
||||
case Xol_kwd_grp_.Id_site_stylepath: bfr.Add(props.StylePath()); break;
|
||||
case Xol_kwd_grp_.Id_site_directionmark: bfr.Add(props.DirectionMark()); break;
|
||||
case Xol_kwd_grp_.Id_site_currentversion: bfr.Add(props.Current_version()); break;
|
||||
case Xol_kwd_grp_.Id_site_contentlanguage: bfr.Add(ctx.Cur_page().Lang().Key_bry()); break;
|
||||
case Xol_kwd_grp_.Id_site_contentlanguage: bfr.Add(ctx.Page().Lang().Key_bry()); break;
|
||||
default: throw Err_.new_unhandled(id);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -43,7 +43,7 @@ public class Pfunc_wiki_stats extends Pf_func_base {
|
||||
if (raw)
|
||||
bfr.Add_int_variable(v);
|
||||
else
|
||||
bfr.Add(ctx.Cur_page().Lang().Num_mgr().Format_num(v));
|
||||
bfr.Add(ctx.Page().Lang().Num_mgr().Format_num(v));
|
||||
}
|
||||
public Pfunc_wiki_stats(int id) {this.id = id;}
|
||||
@Override public int Id() {return id;} private int id;
|
||||
|
||||
Reference in New Issue
Block a user