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

'v3.7.3.1'

This commit is contained in:
gnosygnu
2016-07-17 21:10:59 -04:00
parent b333db45f8
commit 7a851a41a5
290 changed files with 3048 additions and 2124 deletions

View File

@@ -29,11 +29,12 @@ public class Imap_parser {
private byte[] src;
private int itm_idx; private int itm_bgn, itm_end;
private Xoae_app app; private Xowe_wiki wiki; private Xop_ctx wiki_ctx, imap_ctx; private Xop_root_tkn imap_root;
private final Btrie_rv trv = new Btrie_rv();
public Imap_parser(Imap_xtn_mgr xtn_mgr) {this.xtn_mgr = xtn_mgr;}
public void Init(Xowe_wiki wiki, Xoae_page page, Gfo_usr_dlg usr_dlg) {// SCOPE.PAGE
this.app = wiki.Appe(); this.wiki = wiki; this.page_url = page.Url(); this.usr_dlg = usr_dlg;
this.wiki_ctx = wiki.Parser_mgr().Ctx();
imap_ctx = Xop_ctx.new_(wiki, wiki.Parser_mgr(), page.Ttl().Raw()); // NOTE: must update page ttl for Modules; PAGE:it.s:Patria_Esercito_Re/Indice_generale; DATE:2015-12-02
imap_ctx = Xop_ctx.New__top(wiki, page.Ttl().Raw()); // NOTE: must update page ttl for Modules; PAGE:it.s:Patria_Esercito_Re/Indice_generale; DATE:2015-12-02
imap_root = app.Parser_mgr().Tkn_mkr().Root(Bry_.Empty);
}
public void Clear() {
@@ -68,9 +69,9 @@ public class Imap_parser {
if (itm_idx == 0)
itm_end = Parse_img(rv, itm_bgn, itm_end, src_end);
else {
Object tid_obj = tid_trie.Match_bgn_w_byte(b, src, itm_bgn, itm_end);
Object tid_obj = tid_trie.Match_at_w_b0(trv, b, src, itm_bgn, itm_end);
byte tid_val = tid_obj == null ? Imap_part_.Tid_invalid : ((Byte_obj_val)tid_obj).Val();
int tid_end_pos = tid_trie.Match_pos();
int tid_end_pos = trv.Pos();
switch (tid_val) {
case Imap_part_.Tid_desc: Parse_desc(tid_end_pos, itm_end); break;
case Imap_part_.Tid_dflt: Parse_dflt(tid_end_pos, itm_end); break;

View File

@@ -35,8 +35,8 @@ public class Imap_xnde implements Xox_xnde {
boolean log_wkr_enabled = Log_wkr != Xop_log_basic_wkr.Null; if (log_wkr_enabled) Log_wkr.Log_end_xnde(ctx.Page(), Xop_log_basic_wkr.Tid_imageMap, src, xnde);
} public static Xop_log_basic_wkr Log_wkr = Xop_log_basic_wkr.Null;
public void Xtn_write(Bry_bfr bfr, Xoae_app app, Xop_ctx ctx, Xoh_html_wtr html_wtr, Xoh_wtr_ctx hctx, Xop_xnde_tkn xnde, byte[] src) {
public void Xtn_write(Bry_bfr bfr, Xoae_app app, Xop_ctx ctx, Xoh_html_wtr html_wtr, Xoh_wtr_ctx hctx, Xoae_page wpg, Xop_xnde_tkn xnde, byte[] src) {
if (imap_data.Invalid()) return;
html_wtr.Write_tkn(bfr, ctx, hctx, imap_data.Img_src(), xnde, Xoh_html_wtr.Sub_idx_null, imap_data.Img().Img_link());
html_wtr.Write_tkn_to_html(bfr, ctx, hctx, imap_data.Img_src(), xnde, Xoh_html_wtr.Sub_idx_null, imap_data.Img().Img_link());
}
}

View File

@@ -28,7 +28,7 @@ public class Imap_link_owner_ {
switch (tkn_tid) {
case Xop_tkn_itm_.Tid_lnki: {
Xop_lnki_tkn lnki_tkn = (Xop_lnki_tkn)tkn;
link_owner.Link_href_(app.Html__href_wtr().Build_to_bry(wiki, lnki_tkn.Ttl()));
link_owner.Link_href_(wiki.Html__href_wtr().Build_to_bry(wiki, lnki_tkn.Ttl()));
wiki.Html_mgr().Html_wtr().Lnki_wtr().Write_caption(bfr, Xoh_wtr_ctx.Alt, src, lnki_tkn, lnki_tkn.Ttl());
link_owner.Link_text_(bfr.To_bry_and_clear());
break;
@@ -54,7 +54,7 @@ public class Imap_link_owner_ {
switch (link_owner.Link_tid()) {
case Xop_tkn_itm_.Tid_lnki: {
Xop_lnki_tkn lnki_tkn = (Xop_lnki_tkn)link_owner.Link_tkn();
link_owner.Link_href_(app.Html__href_wtr().Build_to_bry(wiki, lnki_tkn.Ttl()));
link_owner.Link_href_(wiki.Html__href_wtr().Build_to_bry(wiki, lnki_tkn.Ttl()));
wiki.Html_mgr().Html_wtr().Lnki_wtr().Write_caption(bfr, hctx, src, lnki_tkn, lnki_tkn.Ttl());
link_owner.Link_text_(bfr.To_bry_and_clear());
break;