From d8c2eaba1d9aa242a40cb6fb004aaf680002afea Mon Sep 17 00:00:00 2001 From: gnosygnu Date: Fri, 24 Feb 2017 07:56:49 -0500 Subject: [PATCH] Xomw: Change Php classes to Xophp; move to root namespace --- .../src/gplx/gfui/kits/swts/Swt_app_main.java | 4 +- .../net/downloads/Http_download_wkr__jre.java | 7 + ebuildsrcxowa | 213 ------------------ .../utls/Php_ary_.java => XophpArray.java} | 8 +- .../Php_encode_.java => XophpEncode.java} | 4 +- .../utls/Php_math_.java => XophpMath.java} | 6 +- .../utls/Php_preg_.java => XophpPreg.java} | 10 +- .../gplx/xowa/mediawiki/XophpPregTest.java | 31 +++ .../utls/Php_str_.java => XophpString.java} | 30 +-- .../gplx/xowa/mediawiki/XophpStringTest.java | 85 +++++++ .../utls/Php_utl_.java => XophpUtility.java} | 5 +- .../includes/XomwGlobalFunctions.java | 4 +- .../xowa/mediawiki/includes/XomwLinker.java | 69 +++--- .../mediawiki/includes/XomwSanitizer.java | 6 +- .../xowa/mediawiki/includes/XomwSetup.java | 2 +- .../xowa/mediawiki/includes/XomwTitle.java | 110 ++++++++- ...w_ttl_utl__tst.java => XomwTitleTest.java} | 10 +- .../includes/filerepo/XomwFileRepo.java | 1 - .../includes/filerepo/file/XomwFile.java | 15 +- .../mediawiki/includes/htmls/XomwHtml.java | 3 +- .../includes/libs/XomwStringUtils.java | 1 - .../includes/media/XomwImageHandler.java | 21 +- .../includes/media/XomwImageHandlerTest.java | 3 +- .../media/XomwMediaTransformOutput.java | 1 - .../includes/media/XomwThumbnailImage.java | 35 ++- .../parsers/Xomw_block_level_pass.java | 37 ++- .../includes/parsers/Xomw_parser.java | 2 +- .../includes/parsers/hrs/Xomw_hr_wkr.java | 1 - .../includes/parsers/lnkes/Xomw_lnke_wkr.java | 3 +- .../includes/parsers/lnkis/Xomw_lnki_wkr.java | 9 +- .../parsers/lnkis/Xomw_params_frame.java | 5 +- .../parsers/lnkis/Xomw_params_handler.java | 3 +- .../parsers/lnkis/Xomw_params_scalar.java | 3 +- .../magiclinks/Xomw_magiclinks_wkr.java | 10 +- .../parsers/prepros/Xomw_prepro_wkr.java | 21 +- .../parsers/quotes/Xomw_quote_wkr.java | 7 +- .../parsers/tables/Xomw_table_wkr.java | 37 ++- .../title/XomwMediaWikiTitleCodec.java | 3 +- .../includes/utls/Php_preg___tst.java | 31 --- .../includes/utls/Php_str___tst.java | 85 ------- .../mediawiki/includes/utls/Xomw_ttl_utl.java | 118 ---------- h origin master | 213 ------------------ 42 files changed, 408 insertions(+), 864 deletions(-) delete mode 100644 ebuildsrcxowa rename gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/{includes/utls/Php_ary_.java => XophpArray.java} (59%) rename gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/{includes/utls/Php_encode_.java => XophpEncode.java} (80%) rename gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/{includes/utls/Php_math_.java => XophpMath.java} (79%) rename gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/{includes/utls/Php_preg_.java => XophpPreg.java} (85%) create mode 100644 gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/XophpPregTest.java rename gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/{includes/utls/Php_str_.java => XophpString.java} (76%) create mode 100644 gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/XophpStringTest.java rename gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/{includes/utls/Php_utl_.java => XophpUtility.java} (89%) rename gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/{utls/Xomw_ttl_utl__tst.java => XomwTitleTest.java} (69%) delete mode 100644 gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/utls/Php_preg___tst.java delete mode 100644 gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/utls/Php_str___tst.java delete mode 100644 gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/utls/Xomw_ttl_utl.java delete mode 100644 h origin master diff --git a/150_gfui/src/gplx/gfui/kits/swts/Swt_app_main.java b/150_gfui/src/gplx/gfui/kits/swts/Swt_app_main.java index ac424274f..461bd391d 100644 --- a/150_gfui/src/gplx/gfui/kits/swts/Swt_app_main.java +++ b/150_gfui/src/gplx/gfui/kits/swts/Swt_app_main.java @@ -33,8 +33,8 @@ public class Swt_app_main { public static void main(String[] args) { // Drag_drop(); // List_fonts(); - keystrokes(args); -// Permission_denied(); +// keystrokes(args); + Permission_denied(); // Combo_default(); // Combo_composite(); } diff --git a/400_xowa/src/gplx/core/net/downloads/Http_download_wkr__jre.java b/400_xowa/src/gplx/core/net/downloads/Http_download_wkr__jre.java index e67c06451..2dd544d55 100644 --- a/400_xowa/src/gplx/core/net/downloads/Http_download_wkr__jre.java +++ b/400_xowa/src/gplx/core/net/downloads/Http_download_wkr__jre.java @@ -44,14 +44,21 @@ public class Http_download_wkr__jre extends Http_download_wkr__base { HttpURLConnection src_conn = null; try { // open connection + Gfo_usr_dlg_.Instance.Warn_many("", "", "a1"); src_conn = (HttpURLConnection)src_url_itm.openConnection(); + Gfo_usr_dlg_.Instance.Warn_many("", "", "a2"); if (prog_resumed) src_conn.addRequestProperty("Range", "bytes=" + Long_.To_str(prog_data_cur) + "-"); + Gfo_usr_dlg_.Instance.Warn_many("", "", "a3"); src_conn.setReadTimeout(10000); // explicitly set timeout; NOTE:needed on Mac OS X, else error never thrown; DATE:2016-09-03 + Gfo_usr_dlg_.Instance.Warn_many("", "", "a4"); src_conn.connect(); + Gfo_usr_dlg_.Instance.Warn_many("", "", "a5"); // check response code + Gfo_usr_dlg_.Instance.Warn_many("", "", "a6"); int response_code = src_conn.getResponseCode(); + Gfo_usr_dlg_.Instance.Warn_many("", "", "a7"); if (prog_resumed) { if (response_code != HttpURLConnection.HTTP_PARTIAL) { try {if (trg_stream != null) trg_stream.close();} diff --git a/ebuildsrcxowa b/ebuildsrcxowa deleted file mode 100644 index a4acdb689..000000000 --- a/ebuildsrcxowa +++ /dev/null @@ -1,213 +0,0 @@ - 100_core/src/gplx/Array_.java | 20 +- - 100_core/src/gplx/Array__tst.java | 20 +- - 100_core/src/gplx/Bool_.java | 20 +- - 100_core/src/gplx/Bool__tst.java | 20 +- - 100_core/src/gplx/Bry_.java | 20 +- - 100_core/src/gplx/Bry__tst.java | 20 +- - 100_core/src/gplx/Bry_bfr.java | 20 +- - 100_core/src/gplx/Bry_bfr_.java | 20 +- - 100_core/src/gplx/Bry_bfr_tst.java | 20 +- - 100_core/src/gplx/Bry_find_.java | 20 +- - 100_core/src/gplx/Bry_find__tst.java | 20 +- - 100_core/src/gplx/Bry_fmt.java | 20 +- - 100_core/src/gplx/Bry_split_.java | 20 +- - 100_core/src/gplx/Bry_split__tst.java | 20 +- - 100_core/src/gplx/Byte_.java | 20 +- - 100_core/src/gplx/Byte__tst.java | 20 +- - 100_core/src/gplx/Byte_ascii.java | 20 +- - 100_core/src/gplx/Cancelable.java | 20 +- - 100_core/src/gplx/Cancelable_.java | 20 +- - 100_core/src/gplx/Char_.java | 20 +- - 100_core/src/gplx/CompareAble.java | 20 +- - 100_core/src/gplx/CompareAble_.java | 20 +- - 100_core/src/gplx/DateAdp.java | 20 +- - 100_core/src/gplx/DateAdp_.java | 20 +- - 100_core/src/gplx/DateAdp__tst.java | 20 +- - 100_core/src/gplx/Datetime_now.java | 20 +- - 100_core/src/gplx/Decimal_adp.java | 20 +- - 100_core/src/gplx/Decimal_adp_.java | 20 +- - 100_core/src/gplx/Decimal_adp__tst.java | 20 +- - 100_core/src/gplx/Double_.java | 20 +- - 100_core/src/gplx/Double__tst.java | 20 +- - 100_core/src/gplx/Enm_.java | 20 +- - 100_core/src/gplx/Err.java | 20 +- - 100_core/src/gplx/Err_.java | 20 +- - 100_core/src/gplx/Err_tst.java | 20 +- - 100_core/src/gplx/Float_.java | 20 +- - 100_core/src/gplx/GfoMsg.java | 20 +- - 100_core/src/gplx/GfoMsgUtl.java | 20 +- - 100_core/src/gplx/GfoMsg_.java | 20 +- - 100_core/src/gplx/GfoMsg_tst.java | 20 +- - 100_core/src/gplx/GfoTemplate.java | 20 +- - 100_core/src/gplx/GfoTemplateFactory.java | 20 +- - 100_core/src/gplx/Gfo_evt_itm.java | 20 +- - 100_core/src/gplx/Gfo_evt_mgr.java | 20 +- - 100_core/src/gplx/Gfo_evt_mgr_.java | 20 +- - 100_core/src/gplx/Gfo_evt_mgr_owner.java | 20 +- - 100_core/src/gplx/Gfo_evt_mgr_tst.java | 20 +- - 100_core/src/gplx/Gfo_invk.java | 20 +- - 100_core/src/gplx/Gfo_invk_.java | 20 +- - 100_core/src/gplx/Gfo_invk_cmd.java | 20 +- - 100_core/src/gplx/Gfo_invk_cmd_mgr.java | 20 +- - 100_core/src/gplx/Gfo_invk_cmd_mgr_owner.java | 20 +- - 100_core/src/gplx/Gfo_invk_root_wkr.java | 20 +- - 100_core/src/gplx/Gfo_invk_to_str.java | 20 +- - 100_core/src/gplx/Gfo_log.java | 20 +- - 100_core/src/gplx/Gfo_log_.java | 20 +- - 100_core/src/gplx/Gfo_log_bfr.java | 20 +- - 100_core/src/gplx/Gfo_usr_dlg.java | 20 +- - 100_core/src/gplx/Gfo_usr_dlg_.java | 20 +- - 100_core/src/gplx/Gfo_usr_dlg__gui.java | 20 +- - 100_core/src/gplx/Gfo_usr_dlg__gui_.java | 20 +- - 100_core/src/gplx/Gfo_usr_dlg__gui_test.java | 20 +- - 100_core/src/gplx/Gfo_usr_dlg__log.java | 20 +- - 100_core/src/gplx/Gfo_usr_dlg__log_.java | 20 +- - 100_core/src/gplx/Gfo_usr_dlg__log_base.java | 20 +- - 100_core/src/gplx/Gfo_usr_dlg_base.java | 20 +- - 100_core/src/gplx/GfsCtx.java | 20 +- - 100_core/src/gplx/Guid_adp.java | 20 +- - 100_core/src/gplx/Guid_adp_.java | 20 +- - 100_core/src/gplx/Guid_adp__tst.java | 20 +- - 100_core/src/gplx/Hash_adp.java | 20 +- - 100_core/src/gplx/Hash_adp_.java | 20 +- - 100_core/src/gplx/Hash_adp_bry.java | 20 +- - 100_core/src/gplx/Hash_adp_bry_tst.java | 20 +- - 100_core/src/gplx/Int_.java | 20 +- - 100_core/src/gplx/Int__tst.java | 20 +- - 100_core/src/gplx/Internal.java | 20 +- - 100_core/src/gplx/Io_mgr.java | 20 +- - 100_core/src/gplx/Io_mgr__tst.java | 20 +- - 100_core/src/gplx/Io_url.java | 20 +- - 100_core/src/gplx/Io_url_.java | 20 +- - 100_core/src/gplx/Io_url__tst.java | 20 +- - 100_core/src/gplx/Keyval.java | 20 +- - 100_core/src/gplx/Keyval_.java | 20 +- - 100_core/src/gplx/Keyval_hash.java | 20 +- - 100_core/src/gplx/Keyval_list.java | 20 +- - 100_core/src/gplx/List_adp.java | 20 +- - 100_core/src/gplx/List_adp_.java | 20 +- - 100_core/src/gplx/List_adp_base.java | 20 +- - 100_core/src/gplx/List_adp_tst.java | 20 +- - 100_core/src/gplx/Long_.java | 20 +- - 100_core/src/gplx/Long__tst.java | 20 +- - 100_core/src/gplx/Math_.java | 20 +- - 100_core/src/gplx/Math__tst.java | 20 +- - 100_core/src/gplx/New.java | 20 +- - 100_core/src/gplx/ObjAry.java | 20 +- - 100_core/src/gplx/Object_.java | 20 +- - 100_core/src/gplx/Object__tst.java | 20 +- - 100_core/src/gplx/Ordered_hash.java | 20 +- - 100_core/src/gplx/Ordered_hash_.java | 20 +- - 100_core/src/gplx/Ordered_hash_base.java | 20 +- - 100_core/src/gplx/Ordered_hash_tst.java | 20 +- - 100_core/src/gplx/RandomAdp.java | 20 +- - 100_core/src/gplx/RandomAdp_.java | 20 +- - 100_core/src/gplx/Rls_able.java | 20 +- - 100_core/src/gplx/Rls_able_.java | 20 +- - 100_core/src/gplx/Short_.java | 20 +- - 100_core/src/gplx/String_.java | 20 +- - 100_core/src/gplx/String__tst.java | 20 +- - 100_core/src/gplx/Tfds.java | 20 +- - 100_core/src/gplx/TfdsTstr_fxt.java | 20 +- - 100_core/src/gplx/Time_span.java | 20 +- - 100_core/src/gplx/Time_span_.java | 20 +- - 100_core/src/gplx/To_str_able.java | 20 +- - 100_core/src/gplx/To_str_able_.java | 20 +- - 100_core/src/gplx/Type_adp_.java | 20 +- - 100_core/src/gplx/UsrDlg.java | 20 +- - 100_core/src/gplx/UsrDlg_.java | 20 +- - 100_core/src/gplx/UsrMsg.java | 20 +- - 100_core/src/gplx/UsrMsgWkr.java | 20 +- - 100_core/src/gplx/UsrMsgWkr_.java | 20 +- - 100_core/src/gplx/UsrMsgWkr_console.java | 20 +- - 100_core/src/gplx/UsrMsgWkr_test.java | 20 +- - 100_core/src/gplx/Virtual.java | 20 +- - 100_core/src/gplx/Yn.java | 20 +- - 100_core/src/gplx/core/bits/Bitmask_.java | 20 +- - 100_core/src/gplx/core/brys/Bfr_arg.java | 20 +- - 100_core/src/gplx/core/brys/Bfr_arg_.java | 20 +- - 100_core/src/gplx/core/brys/Bfr_arg_clearable.java | 20 +- - 100_core/src/gplx/core/brys/Bry_bfr_able.java | 20 +- - 100_core/src/gplx/core/brys/Bry_bfr_able_.java | 20 +- - 100_core/src/gplx/core/brys/Bry_bfr_mkr.java | 20 +- - 100_core/src/gplx/core/brys/Bry_bfr_mkr_mgr.java | 20 +- - 100_core/src/gplx/core/brys/Bry_bfr_mkr_tst.java | 20 +- - 100_core/src/gplx/core/brys/Bry_err_wkr.java | 20 +- - 100_core/src/gplx/core/brys/Bry_rdr.java | 20 +- - 100_core/src/gplx/core/brys/Bry_rdr_old.java | 20 +- - 100_core/src/gplx/core/brys/Bry_rdr_tst.java | 20 +- - 100_core/src/gplx/core/brys/Bry_split_wkr.java | 20 +- - 100_core/src/gplx/core/brys/args/Bfr_arg__bry.java | 20 +- - .../src/gplx/core/brys/args/Bfr_arg__bry_ary.java | 20 +- - .../src/gplx/core/brys/args/Bfr_arg__bry_fmt.java | 20 +- - .../src/gplx/core/brys/args/Bfr_arg__bry_fmtr.java | 20 +- - .../src/gplx/core/brys/args/Bfr_arg__byte.java | 20 +- - .../gplx/core/brys/args/Bfr_arg__decimal_int.java | 20 +- - 100_core/src/gplx/core/brys/args/Bfr_arg__int.java | 20 +- - .../src/gplx/core/brys/args/Bfr_arg__time.java | 20 +- - .../src/gplx/core/brys/args/Bfr_arg__time_tst.java | 20 +- - 100_core/src/gplx/core/brys/fmtrs/Bry_fmtr.java | 20 +- - .../gplx/core/brys/fmtrs/Bry_fmtr_eval_mgr.java | 20 +- - .../gplx/core/brys/fmtrs/Bry_fmtr_eval_mgr_.java | 20 +- - .../core/brys/fmtrs/Bry_fmtr_eval_mgr_gfs.java | 20 +- - .../src/gplx/core/brys/fmtrs/Bry_fmtr_itm.java | 20 +- - .../src/gplx/core/brys/fmtrs/Bry_fmtr_tst.java | 20 +- - .../src/gplx/core/brys/fmtrs/Bry_fmtr_vals.java | 20 +- - 100_core/src/gplx/core/brys/fmts/Bfr_fmt_arg.java | 20 +- - 100_core/src/gplx/core/brys/fmts/Bry_fmt_itm.java | 20 +- - .../src/gplx/core/brys/fmts/Bry_fmt_parser_.java | 20 +- - 100_core/src/gplx/core/brys/fmts/Bry_fmt_tst.java | 20 +- - .../gplx/core/brys/fmts/Bry_keys_parser_tst.java | 20 +- - 100_core/src/gplx/core/btries/Btrie_bwd_mgr.java | 20 +- - .../src/gplx/core/btries/Btrie_bwd_mgr_tst.java | 20 +- - 100_core/src/gplx/core/btries/Btrie_fast_mgr.java | 20 +- - .../src/gplx/core/btries/Btrie_fast_mgr_tst.java | 20 +- - 100_core/src/gplx/core/btries/Btrie_itm_stub.java | 20 +- - 100_core/src/gplx/core/btries/Btrie_mgr.java | 20 +- - 100_core/src/gplx/core/btries/Btrie_rv.java | 20 +- - 100_core/src/gplx/core/btries/Btrie_slim_itm.java | 20 +- - .../src/gplx/core/btries/Btrie_slim_itm_tst.java | 20 +- - 100_core/src/gplx/core/btries/Btrie_slim_mgr.java | 20 +- - .../src/gplx/core/btries/Btrie_slim_mgr_tst.java | 20 +- - 100_core/src/gplx/core/btries/Btrie_u8_itm.java | 20 +- - 100_core/src/gplx/core/btries/Btrie_u8_mgr.java | 20 +- - 100_core/src/gplx/core/consoles/Console_adp.java | 20 +- - 100_core/src/gplx/core/consoles/Console_adp_.java | 20 +- - .../src/gplx/core/consoles/Console_adp__mem.java | 20 +- - .../src/gplx/core/consoles/Console_adp__sys.java | 20 +- - 100_core/src/gplx/core/criterias/Criteria.java | 20 +- - 100_core/src/gplx/core/criterias/Criteria_.java | 20 +- - .../src/gplx/core/criterias/Criteria_between.java | 20 +- - .../gplx/core/criterias/Criteria_bool_base.java | 20 +- - .../src/gplx/core/criterias/Criteria_comp.java | 20 +- - 100_core/src/gplx/core/criterias/Criteria_eq.java | 20 +- - 100_core/src/gplx/core/criterias/Criteria_fld.java | 20 +- - 100_core/src/gplx/core/criterias/Criteria_in.java | 20 +- - .../gplx/core/criterias/Criteria_ioItm_tst.java | 20 +- - .../src/gplx/core/criterias/Criteria_ioMatch.java | 20 +- - .../src/gplx/core/criterias/Criteria_like.java | 20 +- - 100_core/src/gplx/core/criterias/Criteria_not.java | 20 +- - 100_core/src/gplx/core/criterias/Criteria_tst.java | 20 +- - 100_core/src/gplx/core/encoders/B85_fp_.java | 20 +- - 100_core/src/gplx/core/encoders/B85_fp__tst.java | 20 +- - 100_core/src/gplx/core/encoders/Base85_.java | 20 +- - 100_core/src/gplx/core/encoders/Base85__tst.java | 20 +- - 100_core/src/gplx/core/encoders/Gfo_hzip_int_.java | 20 +- - 100_core/src/gplx/core/encoders/Hex_utl_.java | 20 +- - 100_core/src/gplx/core/encoders/Hex_utl__tst.java | 20 +- - 100_core/src/gplx/core/envs/Env_.java | 20 +- - 100_core/src/gplx/core/envs/Jar_adp_.java | 20 +- - 100_core/src/gplx/core/envs/Op_sys.java | 20 +- - 100_core/src/gplx/core/envs/Op_sys_.java | 20 +- - 100_core/src/gplx/core/envs/Process_adp.java | 20 +- - 100_core/src/gplx/core/envs/Process_adp_tst.java | 20 +- - 100_core/src/gplx/core/envs/Runtime_.java | 20 +- - 100_core/src/gplx/core/envs/System_.java | 20 +- - 100_core/src/gplx/core/errs/Err_msg.java | 20 +- - 100_core/src/gplx/core/gfo_ndes/GfoFld.java | 20 +- - 100_core/src/gplx/core/gfo_ndes/GfoFldList.java | 20 +- - 100_core/src/gplx/core/gfo_ndes/GfoFldList_.java | 20 +- - 100_core/src/gplx/core/gfo_ndes/GfoNde.java | 20 +- - 100_core/src/gplx/core/gfo_ndes/GfoNdeFxt.java | 20 +- - 100_core/src/gplx/core/gfo_ndes/GfoNdeList.java | 20 +- - 100_core/src/gplx/core/gfo_ndes/GfoNdeList_.java | 20 [ \ No newline at end of file diff --git a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/utls/Php_ary_.java b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/XophpArray.java similarity index 59% rename from gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/utls/Php_ary_.java rename to gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/XophpArray.java index 4df71e78f..654a175b1 100644 --- a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/utls/Php_ary_.java +++ b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/XophpArray.java @@ -13,8 +13,8 @@ The terms of each license can be found in the source code repository: GPLv3 License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-GPLv3.txt Apache License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-APACHE2.txt */ -package gplx.xowa.mediawiki.includes.utls; import gplx.*; import gplx.xowa.*; import gplx.xowa.mediawiki.*; import gplx.xowa.mediawiki.includes.*; -public class Php_ary_ { - public static boolean Pop_bool_or_n(List_adp list) {return Bool_.Cast(List_adp_.Pop_or(list, false));} - public static byte[] Pop_bry_or_null(List_adp list) {return (byte[])List_adp_.Pop_or(list, null);} +package gplx.xowa.mediawiki; import gplx.*; import gplx.xowa.*; +public class XophpArray { + public static boolean popBoolOrN(List_adp list) {return Bool_.Cast(List_adp_.Pop_or(list, false));} + public static byte[] popBryOrNull(List_adp list) {return (byte[])List_adp_.Pop_or(list, null);} } diff --git a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/utls/Php_encode_.java b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/XophpEncode.java similarity index 80% rename from gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/utls/Php_encode_.java rename to gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/XophpEncode.java index a2dec1408..ca5ca2d07 100644 --- a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/utls/Php_encode_.java +++ b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/XophpEncode.java @@ -13,8 +13,8 @@ The terms of each license can be found in the source code repository: GPLv3 License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-GPLv3.txt Apache License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-APACHE2.txt */ -package gplx.xowa.mediawiki.includes.utls; import gplx.*; import gplx.xowa.*; import gplx.xowa.mediawiki.*; import gplx.xowa.mediawiki.includes.*; -public class Php_encode_ { +package gplx.xowa.mediawiki; import gplx.*; import gplx.xowa.*; +public class XophpEncode { public static byte[] rawurlencode(byte[] v) { return gplx.langs.htmls.encoders.Gfo_url_encoder_.Php_rawurlencode.Encode(v); } diff --git a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/utls/Php_math_.java b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/XophpMath.java similarity index 79% rename from gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/utls/Php_math_.java rename to gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/XophpMath.java index a13194a7d..211018a8b 100644 --- a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/utls/Php_math_.java +++ b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/XophpMath.java @@ -13,9 +13,9 @@ The terms of each license can be found in the source code repository: GPLv3 License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-GPLv3.txt Apache License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-APACHE2.txt */ -package gplx.xowa.mediawiki.includes.utls; import gplx.*; import gplx.xowa.*; import gplx.xowa.mediawiki.*; import gplx.xowa.mediawiki.includes.*; -public class Php_math_ { - public static double Round(double v, int places) { +package gplx.xowa.mediawiki; import gplx.*; import gplx.xowa.*; +public class XophpMath { + public static double round(double v, int places) { if (places < 0) { // -1 means round to 10; -2 means round to 100; etc.. int factor = (int)Math_.Pow(10, places * -1); return ((int)(Math_.Round(v, 0) / factor)) * factor; // EX: ((int)Round(123, 0) / 10) * 10: 123 -> 12.3 -> 12 -> 120 diff --git a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/utls/Php_preg_.java b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/XophpPreg.java similarity index 85% rename from gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/utls/Php_preg_.java rename to gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/XophpPreg.java index 6ca69d378..a53a488e1 100644 --- a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/utls/Php_preg_.java +++ b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/XophpPreg.java @@ -13,11 +13,11 @@ The terms of each license can be found in the source code repository: GPLv3 License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-GPLv3.txt Apache License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-APACHE2.txt */ -package gplx.xowa.mediawiki.includes.utls; import gplx.*; import gplx.xowa.*; import gplx.xowa.mediawiki.*; import gplx.xowa.mediawiki.includes.*; +package gplx.xowa.mediawiki; import gplx.*; import gplx.xowa.*; import gplx.core.btries.*; import gplx.core.brys.*; import gplx.core.primitives.*; -public class Php_preg_ { - public static byte[][] Split(Int_list list, byte[] src, int src_bgn, int src_end, byte[] dlm, boolean extend) { +public class XophpPreg { + public static byte[][] split(Int_list list, byte[] src, int src_bgn, int src_end, byte[] dlm, boolean extend) { // find delimiters int dlm_len = dlm.length; byte dlm_nth = dlm[dlm_len - 1]; @@ -57,7 +57,7 @@ public class Php_preg_ { list.Clear(); return rv; } - public static Object Match(Btrie_slim_mgr trie, Btrie_rv trv, byte[] src, int src_bgn, int src_end) { + public static Object match(Btrie_slim_mgr trie, Btrie_rv trv, byte[] src, int src_bgn, int src_end) { trv.Match_bgn = -1; int cur = src_bgn; while (cur < src_end) { @@ -73,7 +73,7 @@ public class Php_preg_ { return null; } - public static void Replace(Bry_tmp bry, Bry_bfr tmp, Btrie_slim_mgr find_trie, Btrie_rv trv, byte[] repl_bry) { + public static void replace(Bry_tmp bry, Bry_bfr tmp, Btrie_slim_mgr find_trie, Btrie_rv trv, byte[] repl_bry) { byte[] src = bry.src; int src_bgn = bry.src_bgn; int src_end = bry.src_end; diff --git a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/XophpPregTest.java b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/XophpPregTest.java new file mode 100644 index 000000000..2b8aea8ce --- /dev/null +++ b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/XophpPregTest.java @@ -0,0 +1,31 @@ +/* +XOWA: the XOWA Offline Wiki Application +Copyright (C) 2012-2017 gnosygnu@gmail.com + +XOWA is licensed under the terms of the General Public License (GPL) Version 3, +or alternatively under the terms of the Apache License Version 2.0. + +You may use XOWA according to either of these licenses as is most appropriate +for your project on a case-by-case basis. + +The terms of each license can be found in the source code repository: + +GPLv3 License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-GPLv3.txt +Apache License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-APACHE2.txt +*/ +package gplx.xowa.mediawiki; import gplx.*; import gplx.xowa.*; +import org.junit.*; import gplx.core.tests.*; +public class XophpPregTest { + private final XophpPregFxt fxt = new XophpPregFxt(); + @Test public void Basic() {fxt.Test_split("a''b''c" , "''", Bool_.Y, "a", "''", "b", "''", "c");} + @Test public void Extend() {fxt.Test_split("a'''b'''c" , "''", Bool_.Y, "a", "'''", "b", "'''", "c");} + @Test public void Eos() {fxt.Test_split("a''" , "''", Bool_.Y, "a", "''");} +} +class XophpPregFxt { + private final gplx.core.primitives.Int_list rv = new gplx.core.primitives.Int_list(); + public void Test_split(String src, String dlm, boolean extend, String... expd) {Test_split(src, 0, String_.Len(src), dlm, extend, expd);} + public void Test_split(String src, int src_bgn, int src_end, String dlm, boolean extend, String... expd) { + byte[][] actl = XophpPreg.split(rv, Bry_.new_u8(src), src_bgn, src_end, Bry_.new_u8(dlm), extend); + Gftest.Eq__ary(expd, String_.Ary(actl), "find_failed"); + } +} diff --git a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/utls/Php_str_.java b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/XophpString.java similarity index 76% rename from gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/utls/Php_str_.java rename to gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/XophpString.java index 15986efc1..e1ef2a303 100644 --- a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/utls/Php_str_.java +++ b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/XophpString.java @@ -13,15 +13,15 @@ The terms of each license can be found in the source code repository: GPLv3 License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-GPLv3.txt Apache License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-APACHE2.txt */ -package gplx.xowa.mediawiki.includes.utls; import gplx.*; import gplx.xowa.*; import gplx.xowa.mediawiki.*; import gplx.xowa.mediawiki.includes.*; +package gplx.xowa.mediawiki; import gplx.*; import gplx.xowa.*; import gplx.core.btries.*; -public class Php_str_ { - public static int Strpos(byte[] src, byte find) {return Strpos(src, find, 0, src.length);} - public static int Strpos(byte[] src, byte find, int bgn, int end) { +public class XophpString { + public static int strpos(byte[] src, byte find) {return strpos(src, find, 0, src.length);} + public static int strpos(byte[] src, byte find, int bgn, int end) { return Bry_find_.Find_fwd(src, find, bgn, end); } - public static byte[] Substr(byte[] src, int bgn) {return Substr(src, bgn, src.length);} - public static byte[] Substr(byte[] src, int bgn, int len) { + public static byte[] substr(byte[] src, int bgn) {return substr(src, bgn, src.length);} + public static byte[] substr(byte[] src, int bgn, int len) { int src_len = src.length; if (bgn < 0) bgn = src_len + bgn; // handle negative if (bgn < 0) bgn = 0; // handle out of bounds; EX: ("a", -1, -1) @@ -29,8 +29,8 @@ public class Php_str_ { if (end > src.length) end = src.length;; // handle out of bounds; return Bry_.Mid(src, bgn, end); } - public static byte Substr_byte(byte[] src, int bgn) {return Substr_byte(src, bgn, src.length);} - public static byte Substr_byte(byte[] src, int bgn, int len) { + public static byte substr_byte(byte[] src, int bgn) {return substr_byte(src, bgn, src.length);} + public static byte substr_byte(byte[] src, int bgn, int len) { int src_len = src.length; if (src_len == 0) return Byte_ascii.Null; if (bgn < 0) bgn = src_len + bgn; // handle negative @@ -39,7 +39,7 @@ public class Php_str_ { if (end > src.length) end = src.length;; // handle out of bounds; return src[bgn]; } - public static int Strspn_fwd__ary(byte[] src, boolean[] find, int bgn, int max, int src_len) { + public static int strspn_fwd__ary(byte[] src, boolean[] find, int bgn, int max, int src_len) { if (max == -1) max = src_len; int rv = 0; for (int i = bgn; i < src_len; i++) { @@ -50,7 +50,7 @@ public class Php_str_ { } return rv; } - public static int Strspn_fwd__byte(byte[] src, byte find, int bgn, int max, int src_len) { + public static int strspn_fwd__byte(byte[] src, byte find, int bgn, int max, int src_len) { if (max == -1) max = src_len; int rv = 0; for (int i = bgn; i < src_len; i++) { @@ -61,7 +61,7 @@ public class Php_str_ { } return rv; } - public static int Strspn_fwd__space_or_tab(byte[] src, int bgn, int max, int src_len) { + public static int strspn_fwd__space_or_tab(byte[] src, int bgn, int max, int src_len) { if (max == -1) max = src_len; int rv = 0; for (int i = bgn; i < src_len; i++) { @@ -78,7 +78,7 @@ public class Php_str_ { } return rv; } - public static int Strspn_bwd__byte(byte[] src, byte find, int bgn, int max) { + public static int strspn_bwd__byte(byte[] src, byte find, int bgn, int max) { if (max == -1) max = Int_.Max_value; int rv = 0; for (int i = bgn - 1; i > -1; i--) { @@ -89,7 +89,7 @@ public class Php_str_ { } return rv; } - public static int Strspn_bwd__ary(byte[] src, boolean[] find, int bgn, int max) { + public static int strspn_bwd__ary(byte[] src, boolean[] find, int bgn, int max) { if (max == -1) max = Int_.Max_value; int rv = 0; for (int i = bgn - 1; i > -1; i--) { @@ -100,7 +100,7 @@ public class Php_str_ { } return rv; } - public static int Strspn_bwd__space_or_tab(byte[] src, int bgn, int max) { + public static int strspn_bwd__space_or_tab(byte[] src, int bgn, int max) { if (max == -1) max = Int_.Max_value; int rv = 0; for (int i = bgn - 1; i > -1; i--) { @@ -117,7 +117,7 @@ public class Php_str_ { } return rv; } - public static byte[] Strtr(byte[] src, Btrie_slim_mgr trie, Bry_bfr tmp, Btrie_rv trv) { + public static byte[] strtr(byte[] src, Btrie_slim_mgr trie, Bry_bfr tmp, Btrie_rv trv) { boolean dirty = false; int src_bgn = 0; int src_end = src.length; diff --git a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/XophpStringTest.java b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/XophpStringTest.java new file mode 100644 index 000000000..0327764f7 --- /dev/null +++ b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/XophpStringTest.java @@ -0,0 +1,85 @@ +/* +XOWA: the XOWA Offline Wiki Application +Copyright (C) 2012-2017 gnosygnu@gmail.com + +XOWA is licensed under the terms of the General Public License (GPL) Version 3, +or alternatively under the terms of the Apache License Version 2.0. + +You may use XOWA according to either of these licenses as is most appropriate +for your project on a case-by-case basis. + +The terms of each license can be found in the source code repository: + +GPLv3 License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-GPLv3.txt +Apache License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-APACHE2.txt +*/ +package gplx.xowa.mediawiki; import gplx.*; import gplx.xowa.*; +import org.junit.*; import gplx.core.tests.*; import gplx.core.btries.*; +public class XophpStringTest { + private final XophpStringFxt fxt = new XophpStringFxt(); + @Test public void Strspn_fwd__byte() { + fxt.Test_strspn_fwd__byte("aaaaab", Byte_ascii.Ltr_a, 0, -1, 5); // basic + fxt.Test_strspn_fwd__byte("aaaaab", Byte_ascii.Ltr_a, 1, -1, 4); // bgn + fxt.Test_strspn_fwd__byte("aaaaab", Byte_ascii.Ltr_a, 1, 2, 2); // max + } + @Test public void Strspn_fwd__space_or_tab() { + fxt.Test_strspn_fwd__space_or_tab(" a", 0, -1, 5); // basic + fxt.Test_strspn_fwd__space_or_tab(" a", 1, -1, 4); // bgn + fxt.Test_strspn_fwd__space_or_tab(" a", 1, 2, 2); // max + } + @Test public void Strspn_bwd__byte() { + fxt.Test_strspn_bwd__byte("aaaaab", Byte_ascii.Ltr_a, 5, -1, 5); // basic + fxt.Test_strspn_bwd__byte("aaaaab", Byte_ascii.Ltr_a, 4, -1, 4); // bgn + fxt.Test_strspn_bwd__byte("aaaaab", Byte_ascii.Ltr_a, 4, 2, 2); // max + } + @Test public void Strspn_bwd__space_or_tab() { + fxt.Test_strspn_bwd__space_or_tab(" a", 5, -1, 5); // basic + fxt.Test_strspn_bwd__space_or_tab(" a", 4, -1, 4); // bgn + fxt.Test_strspn_bwd__space_or_tab(" a", 4, 2, 2); // max + } + @Test public void Substr__bgn_is_neg() { + fxt.Test_substr("abcde" , -1, "e"); + fxt.Test_substr("abcde" , -3, -1, "cd"); + } + @Test public void Strtr() { + fxt.Init_strtr_by_trie("01", "89", "02", "79"); + fxt.Test_strtr_by_trie("abc" , "abc"); // found=none + fxt.Test_strtr_by_trie("ab_01_cd" , "ab_89_cd"); // found=one + fxt.Test_strtr_by_trie("ab_01_cd_02_ef", "ab_89_cd_79_ef"); // found=many + fxt.Test_strtr_by_trie("01_ab" , "89_ab"); // BOS + fxt.Test_strtr_by_trie("ab_01" , "ab_89"); // EOS + } +} +class XophpStringFxt { + public void Test_strspn_fwd__byte(String src_str, byte find, int bgn, int max, int expd) { + byte[] src_bry = Bry_.new_u8(src_str); + Gftest.Eq__int(expd, XophpString.strspn_fwd__byte(src_bry, find, bgn, max, src_bry.length)); + } + public void Test_strspn_fwd__space_or_tab(String src_str, int bgn, int max, int expd) { + byte[] src_bry = Bry_.new_u8(src_str); + Gftest.Eq__int(expd, XophpString.strspn_fwd__space_or_tab(src_bry, bgn, max, src_bry.length)); + } + public void Test_strspn_bwd__byte(String src_str, byte find, int bgn, int max, int expd) { + Gftest.Eq__int(expd, XophpString.strspn_bwd__byte(Bry_.new_u8(src_str), find, bgn, max)); + } + public void Test_strspn_bwd__space_or_tab(String src_str, int bgn, int max, int expd) { + Gftest.Eq__int(expd, XophpString.strspn_bwd__space_or_tab(Bry_.new_u8(src_str), bgn, max)); + } + public void Test_substr(String src_str, int bgn, String expd) {Test_substr(src_str, bgn, String_.Len(src_str), expd);} + public void Test_substr(String src_str, int bgn, int len, String expd) { + Gftest.Eq__str(expd, XophpString.substr(Bry_.new_u8(src_str), bgn, len)); + } + private Btrie_slim_mgr strtr_trie; + public void Init_strtr_by_trie(String... kvs) { + if (strtr_trie == null) strtr_trie = Btrie_slim_mgr.cs(); + int len = kvs.length; + for (int i = 0; i < len; i += 2) { + strtr_trie.Add_str_str(kvs[i], kvs[i + 1]); + } + } + public void Test_strtr_by_trie(String src, String expd) { + Bry_bfr tmp = Bry_bfr_.New(); + Btrie_rv trv = new Btrie_rv(); + Gftest.Eq__str(expd, XophpString.strtr(Bry_.new_u8(src), strtr_trie, tmp, trv)); + } +} diff --git a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/utls/Php_utl_.java b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/XophpUtility.java similarity index 89% rename from gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/utls/Php_utl_.java rename to gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/XophpUtility.java index e6660c9c4..091452511 100644 --- a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/utls/Php_utl_.java +++ b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/XophpUtility.java @@ -13,8 +13,8 @@ The terms of each license can be found in the source code repository: GPLv3 License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-GPLv3.txt Apache License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-APACHE2.txt */ -package gplx.xowa.mediawiki.includes.utls; import gplx.*; import gplx.xowa.*; import gplx.xowa.mediawiki.*; import gplx.xowa.mediawiki.includes.*; -public class Php_utl_ { +package gplx.xowa.mediawiki; import gplx.*; import gplx.xowa.*; +public class XophpUtility { public static boolean empty(byte[] v) {return v == null || v.length == 0;} public static boolean empty(boolean v) {return v == false;} public static boolean empty(int v) {return v == 0;} @@ -37,6 +37,7 @@ public class Php_utl_ { } return true; } + public static final int Null_int = Int_.Max_value; public static final double Null_double = Double_.MinValue; public static final byte[] Null_bry = null; diff --git a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/XomwGlobalFunctions.java b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/XomwGlobalFunctions.java index e99a33e4b..170dff3e7 100644 --- a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/XomwGlobalFunctions.java +++ b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/XomwGlobalFunctions.java @@ -2596,11 +2596,11 @@ public class XomwGlobalFunctions { // * @return String // */ // function wfShellWikiCmd( $script, array $parameters = [], array $options = [] ) { -// global $wgPhpCli; +// global $wgXophpCli; // // Give site config file a chance to run the script in a wrapper. // // The caller may likely want to call wfBasename() on $script. // Hooks::run( 'wfShellWikiCmd', [ &$script, &$parameters, &$options ] ); -// $cmd = isset( $options['php'] ) ? [ $options['php'] ] : [ $wgPhpCli ]; +// $cmd = isset( $options['php'] ) ? [ $options['php'] ] : [ $wgXophpCli ]; // if ( isset( $options['wrapper'] ) ) { // $cmd[] = $options['wrapper']; // } diff --git a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/XomwLinker.java b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/XomwLinker.java index a73ab8071..9076f312a 100644 --- a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/XomwLinker.java +++ b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/XomwLinker.java @@ -19,7 +19,6 @@ import gplx.langs.htmls.*; import gplx.xowa.mediawiki.includes.htmls.*; import gplx.xowa.mediawiki.includes.linkers.*; import gplx.xowa.mediawiki.includes.parsers.*; import gplx.xowa.mediawiki.includes.filerepo.file.*; import gplx.xowa.mediawiki.includes.media.*; import gplx.xowa.mediawiki.includes.parsers.lnkis.*; -import gplx.xowa.mediawiki.includes.utls.*; /* TODO.XO * thumb = $file->getUnscaledThumb(handlerParams); * P8: wfMessage @@ -342,16 +341,16 @@ public class XomwLinker { // Clean up parameters int page = handlerParams.page; - if (!Php_utl_.isset(frameParams.align)) { + if (!XophpUtility.isset(frameParams.align)) { frameParams.align = Bry_.Empty; } - if (!Php_utl_.isset(frameParams.alt)) { + if (!XophpUtility.isset(frameParams.alt)) { frameParams.alt = Bry_.Empty; } - if (!Php_utl_.isset(frameParams.title)) { + if (!XophpUtility.isset(frameParams.title)) { frameParams.title = Bry_.Empty; } - if (!Php_utl_.isset(frameParams.cls)) { + if (!XophpUtility.isset(frameParams.cls)) { frameParams.cls = Bry_.Empty; } @@ -362,8 +361,8 @@ public class XomwLinker { postfix = Gfh_tag_.Div_rhs; frameParams.align = Align__frame__none; } - if (file != null && !Php_utl_.isset(handlerParams.width)) { - if (Php_utl_.isset(handlerParams.height) && file.isVectorized()) { + if (file != null && !XophpUtility.isset(handlerParams.width)) { + if (XophpUtility.isset(handlerParams.height) && file.isVectorized()) { // If its a vector image, and user only specifies height // we don't want it to be limited by its "normal" width. handlerParams.width = env.Global__wgSVGMaxSize; @@ -372,13 +371,13 @@ public class XomwLinker { handlerParams.width = file.getWidth(page); } - if ( Php_utl_.isset(frameParams.thumbnail) - || Php_utl_.isset(frameParams.manualthumb) - || Php_utl_.isset(frameParams.framed) - || Php_utl_.isset(frameParams.frameless) - || !Php_utl_.istrue(handlerParams.width) + if ( XophpUtility.isset(frameParams.thumbnail) + || XophpUtility.isset(frameParams.manualthumb) + || XophpUtility.isset(frameParams.framed) + || XophpUtility.isset(frameParams.frameless) + || !XophpUtility.istrue(handlerParams.width) ) { - if (widthOption == Php_utl_.Null_int) { // XO.MW: MW does extra validation that widthOption is in array; ("!isset( $wgThumbLimits[$widthOption] )") + if (widthOption == XophpUtility.Null_int) { // XO.MW: MW does extra validation that widthOption is in array; ("!isset( $wgThumbLimits[$widthOption] )") widthOption = env.User__default__thumbsize; } @@ -390,13 +389,13 @@ public class XomwLinker { // For caching health: If width scaled down due to upright // parameter, round to full __0 pixel to avoid the creation of a // lot of odd thumbs. - int prefWidth = Php_utl_.isset(frameParams.upright) ? - (int)Php_math_.Round(widthOption * frameParams.upright, -1) : + int prefWidth = XophpUtility.isset(frameParams.upright) ? + (int)XophpMath.round(widthOption * frameParams.upright, -1) : widthOption; // Use width which is smaller: real image width or user preference width // Unless image is scalable vector. - if (handlerParams.height == Php_utl_.Null_int && handlerParams.width <= 0 || + if (handlerParams.height == XophpUtility.Null_int && handlerParams.width <= 0 || prefWidth < handlerParams.width || file.isVectorized()) { handlerParams.width = prefWidth; } @@ -425,13 +424,13 @@ public class XomwLinker { // For "frameless" option: do not present an image bigger than the // source (for bitmap-style images). This is the same behavior as the // "thumb" option does it already. - if (Php_utl_.istrue(srcWidth) && !file.mustRender() && handlerParams.width > srcWidth) { + if (XophpUtility.istrue(srcWidth) && !file.mustRender() && handlerParams.width > srcWidth) { handlerParams.width = srcWidth; } } XomwMediaTransformOutput thumb = null; - if (file != null && Php_utl_.isset(handlerParams.width)) { + if (file != null && XophpUtility.isset(handlerParams.width)) { // Create a resized image, without the additional thumbnail features thumb = file.transform(handlerParams); } @@ -482,9 +481,9 @@ public class XomwLinker { // @return array // XO.MW:SYNC:1.29; DATE:2017-02-08 private static void getImageLinkMTOParams(Xomw_params_mto rv, Xomw_params_frame frameParams, byte[] query, XomwParserIface parser) { - if (Php_utl_.isset(frameParams.link_url) && frameParams.link_url != Bry_.Empty) { + if (XophpUtility.isset(frameParams.link_url) && frameParams.link_url != Bry_.Empty) { rv.custom_url_link = frameParams.link_url; - if (Php_utl_.isset(frameParams.link_target)) { + if (XophpUtility.isset(frameParams.link_target)) { rv.custom_target_link = frameParams.link_target; } if (parser != null) { @@ -495,10 +494,10 @@ public class XomwLinker { // } } } - else if (Php_utl_.isset(frameParams.link_title) && frameParams.link_title != Bry_.Empty) { + else if (XophpUtility.isset(frameParams.link_title) && frameParams.link_title != Bry_.Empty) { // rv.custom_title_link = Title::newFromLinkTarget(Normalize_speecial_page(frameParams.link_title)); } - else if (!Php_utl_.empty(frameParams.no_link)) { + else if (!XophpUtility.empty(frameParams.no_link)) { // No link } else { @@ -539,22 +538,22 @@ public class XomwLinker { boolean exists = file != null && file.exists(); int page = handlerParams.page; - if (!Php_utl_.isset(frameParams.align)) { + if (!XophpUtility.isset(frameParams.align)) { frameParams.align = Align__frame__right; } - if (!Php_utl_.isset(frameParams.alt)) { + if (!XophpUtility.isset(frameParams.alt)) { frameParams.alt = Bry_.Empty; } - if (!Php_utl_.isset(frameParams.title)) { + if (!XophpUtility.isset(frameParams.title)) { frameParams.title = Bry_.Empty; } - if (!Php_utl_.isset(frameParams.caption)) { + if (!XophpUtility.isset(frameParams.caption)) { frameParams.caption = Bry_.Empty; } - if (Php_utl_.empty(handlerParams.width)) { + if (XophpUtility.empty(handlerParams.width)) { // Reduce width for upright images when parameter 'upright' is used - handlerParams.width = Php_utl_.isset(frameParams.upright) ? 130 : 180; + handlerParams.width = XophpUtility.isset(frameParams.upright) ? 130 : 180; } XomwMediaTransformOutput thumb = null; boolean noscale = false; @@ -565,7 +564,7 @@ public class XomwLinker { outerWidth = handlerParams.width + 2; } else { - if (Php_utl_.isset(frameParams.manualthumb)) { + if (XophpUtility.isset(frameParams.manualthumb)) { // Use manually specified thumbnail // $manual_title = Title::makeTitleSafe(NS_FILE, frameParams['manualthumb']); // if ($manual_title) { @@ -578,7 +577,7 @@ public class XomwLinker { // } // } } - else if (Php_utl_.isset(frameParams.framed)) { + else if (XophpUtility.isset(frameParams.framed)) { // Use image dimensions, don't scale // thumb = $file->getUnscaledThumb(handlerParams); thumb = new XomwThumbnailImage(file, file.getUrl(), file.getUrl(), file.getWidth(), file.getHeight()); @@ -588,7 +587,7 @@ public class XomwLinker { // Do not present an image bigger than the source, for bitmap-style images // This is a hack to maintain compatibility with arbitrary pre-1.10 behavior int srcWidth = file.getWidth(page); - if (Php_utl_.istrue(srcWidth) && !file.mustRender() && handlerParams.width > srcWidth) { + if (XophpUtility.istrue(srcWidth) && !file.mustRender() && handlerParams.width > srcWidth) { handlerParams.width = srcWidth; } thumb = file.transform(handlerParams); @@ -611,9 +610,9 @@ public class XomwLinker { // $url = wfAppendQuery($url, [ 'page' => $page ]); // } if (manualthumb - && !Php_utl_.isset(frameParams.link_title) - && !Php_utl_.isset(frameParams.link_url) - && !Php_utl_.isset(frameParams.no_link) + && !XophpUtility.isset(frameParams.link_title) + && !XophpUtility.isset(frameParams.link_url) + && !XophpUtility.isset(frameParams.no_link) ) { frameParams.link_url = url; } @@ -643,7 +642,7 @@ public class XomwLinker { getImageLinkMTOParams(prms, frameParams, query, null); thumb.toHtml(bfr, tmp, prms); - if (Php_utl_.isset(frameParams.framed)) { + if (XophpUtility.isset(frameParams.framed)) { zoom_icon = Bry_.Empty; } else { diff --git a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/XomwSanitizer.java b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/XomwSanitizer.java index 385cf872a..9af46f6cf 100644 --- a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/XomwSanitizer.java +++ b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/XomwSanitizer.java @@ -16,7 +16,7 @@ Apache License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-APACHE2.txt package gplx.xowa.mediawiki.includes; import gplx.*; import gplx.xowa.*; import gplx.xowa.mediawiki.*; import gplx.core.brys.*; import gplx.core.btries.*; import gplx.core.encoders.*; import gplx.core.primitives.*; import gplx.langs.htmls.entitys.*; import gplx.xowa.parsers.htmls.*; -import gplx.langs.htmls.*; import gplx.xowa.mediawiki.includes.htmls.*; import gplx.xowa.mediawiki.includes.parsers.*; import gplx.xowa.mediawiki.includes.utls.*; +import gplx.langs.htmls.*; import gplx.xowa.mediawiki.includes.htmls.*; import gplx.xowa.mediawiki.includes.parsers.*; import gplx.xowa.mediawiki.includes.libs.*; public class XomwSanitizer { private final Mwh_doc_wkr__atr_bldr atr_bldr = new Mwh_doc_wkr__atr_bldr(); @@ -1233,7 +1233,7 @@ public class XomwSanitizer { // ' ', // $text); normalizeWhitespaceBry.Init(text, 0, text.length); - Php_preg_.Replace(normalizeWhitespaceBry, tmp_bfr_2, normalizeWhitespaceTrie, trv, Byte_ascii.Space_bry); + XophpPreg.replace(normalizeWhitespaceBry, tmp_bfr_2, normalizeWhitespaceTrie, trv, Byte_ascii.Space_bry); return normalizeWhitespaceBry.src; } @@ -1722,7 +1722,7 @@ public class XomwSanitizer { // https://tools.ietf.org/html/rfc3454#section-3.1 // Strip them before further processing so blacklists and such work. // XO.MW.MOVED: see invalid_idn_trie - Php_preg_.Replace(tmp_host.Init(url, regex_find_domain.host_bgn, regex_find_domain.host_end), tmp_bfr, invalid_idn_trie, trv, Bry_.Empty); + XophpPreg.replace(tmp_host.Init(url, regex_find_domain.host_bgn, regex_find_domain.host_end), tmp_bfr, invalid_idn_trie, trv, Bry_.Empty); // IPv6 host names are bracketed with []. Url-decode these. // if (substr_compare("//%5B", $host, 0, 5) === 0 && diff --git a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/XomwSetup.java b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/XomwSetup.java index 3d4f2af17..0884227ad 100644 --- a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/XomwSetup.java +++ b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/XomwSetup.java @@ -382,7 +382,7 @@ public class XomwSetup { // $wgMinUploadChunkSize = min( // $wgMinUploadChunkSize, // UploadBase::getMaxUploadSize( 'file' ), -// UploadBase::getMaxPhpUploadSize(), +// UploadBase::getMaxXophpUploadSize(), // ( wfShorthandToInteger( // ini_get( 'post_max_size' ) ?: ini_get( 'hhvm.server.max_post_size' ), // PHP_INT_MAX diff --git a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/XomwTitle.java b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/XomwTitle.java index 10360cc90..78b4d7a07 100644 --- a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/XomwTitle.java +++ b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/XomwTitle.java @@ -14,7 +14,6 @@ GPLv3 License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-GPLv3.txt Apache License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-APACHE2.txt */ package gplx.xowa.mediawiki.includes; import gplx.*; import gplx.xowa.*; import gplx.xowa.mediawiki.*; -import gplx.xowa.mediawiki.includes.utls.*; import gplx.xowa.mediawiki.includes.title.*; /** * Represents a title within MediaWiki. @@ -308,7 +307,7 @@ public class XomwTitle { byte[] filteredText = text; XomwTitle t = new XomwTitle(); - t.mDbkeyform = Php_str_.strtr(filteredText, Byte_ascii.Space, Byte_ascii.Underline); + t.mDbkeyform = XophpString.strtr(filteredText, Byte_ascii.Space, Byte_ascii.Underline); t.mDefaultNamespace = defaultNamespace; t.secureAndSplit(); @@ -1434,7 +1433,7 @@ public class XomwTitle { */ public byte[] getPrefixedDBkey() { byte[] s = this.prefix(this.mDbkeyform); - s = Php_str_.strtr(s, Byte_ascii.Space, Byte_ascii.Underline); + s = XophpString.strtr(s, Byte_ascii.Space, Byte_ascii.Underline); return s; } @@ -1447,7 +1446,7 @@ public class XomwTitle { public byte[] getPrefixedText() { if (this.mPrefixedText == null) { byte[] s = this.prefix(this.mTextform); - s = Php_str_.strtr(s, Byte_ascii.Underline, Byte_ascii.Space); + s = XophpString.strtr(s, Byte_ascii.Underline, Byte_ascii.Space); this.mPrefixedText = s; } return this.mPrefixedText; @@ -3378,7 +3377,7 @@ public class XomwTitle { this.mDbkeyform = parts.dbkey; // this.mUrlform = wfUrlencode(this.mDbkeyform); - this.mTextform = Php_str_.strtr(this.mDbkeyform, Byte_ascii.Underline, Byte_ascii.Space); + this.mTextform = XophpString.strtr(this.mDbkeyform, Byte_ascii.Underline, Byte_ascii.Space); // We already know that some pages won't be in the database! if (this.isExternal() || this.mNamespace == XomwDefines.NS_SPECIAL) { @@ -4836,4 +4835,105 @@ public class XomwTitle { // this.mTextform = strtr(this.mDbkeyform, '_', ' '); // } private static final byte[] Bry__wgArticlePath__wiki = Bry_.new_a7("/wiki/"); + + // REF.MW: DefaultSettings.php + // Allowed title characters -- regex character class + // Don't change this unless you know what you're doing + // + // Problematic punctuation: + // - []{}|# Are needed for link syntax, never enable these + // - <> Causes problems with HTML escaping, don't use + // - % Enabled by default, minor problems with path to query rewrite rules, see below + // - + Enabled by default, but doesn't work with path to query rewrite rules, + // corrupted by apache + // - ? Enabled by default, but doesn't work with path to PATH_INFO rewrites + // + // All three of these punctuation problems can be avoided by using an alias, + // instead of a rewrite rule of either variety. + // + // The problem with % is that when using a path to query rewrite rule, URLs are + // double-unescaped: once by Apache's path conversion code, and again by PHP. So + // %253F, for example, becomes "?". Our code does not double-escape to compensate + // for this, indeed double escaping would break if the double-escaped title was + // passed in the query String rather than the path. This is a minor security issue + // because articles can be created such that they are hard to view or edit. + // + // In some rare cases you may wish to remove + for compatibility with old links. + // + // Theoretically 0x80-0x9F of ISO 8859-1 should be disallowed, but + // this breaks interlanguage links + // $wgLegalTitleChars = " %!\"$&'()*,\\-.\\/0-9:;=?@A-Z\\\\^_`a-z~\\x80-\\xFF+"; + // + // REGEX: + // without-backslash escaping --> \s%!"$&'()*,-./0-9:;=?@A-Z\^_`a-z~x80-xFF+ + // rearranged + // letters --> 0-9A-Za-z + // unicode-chars --> x80-xFF + // symbols --> \s%!"$&'()*,-./:;=?@\^_`~+" + // deliberately ignores + // control chars: 00-31,127 + // []{}|#<> + public static int Find_fwd_while_title(byte[] src, int src_bgn, int src_end, boolean[] valid) { + int cur = src_bgn; + while (true) { + if (cur == src_end) break; + byte b = src[cur]; + int b_len = gplx.core.intls.Utf8_.Len_of_char_by_1st_byte(b); + if (b_len == 1) { // ASCII + if (valid[b & 0xFF]) // valid; EX: "a0A B&$"; PATCH.JAVA:need to convert to unsigned byte + cur++; + else // invalid; EX: "" + break; + } + else { // Multi-byte UTF8; NOTE: all sequences are valid + cur += b_len; + } + } + return cur; + } + private static boolean[] title_chars_valid; + public static boolean[] Title_chars_valid() { + if (title_chars_valid == null) { + title_chars_valid = new boolean[128]; + // add num and alpha + for (int i = Byte_ascii.Num_0; i <= Byte_ascii.Num_9; i++) + title_chars_valid[i] = true; + for (int i = Byte_ascii.Ltr_A; i <= Byte_ascii.Ltr_Z; i++) + title_chars_valid[i] = true; + for (int i = Byte_ascii.Ltr_a; i <= Byte_ascii.Ltr_z; i++) + title_chars_valid[i] = true; + + // add symbols: \s%!"$&'()*,-./:;=?@\^_`~+" + byte[] symbols = new byte[] + { Byte_ascii.Space + , Byte_ascii.Percent + , Byte_ascii.Bang + , Byte_ascii.Quote + , Byte_ascii.Amp + , Byte_ascii.Apos + , Byte_ascii.Paren_bgn + , Byte_ascii.Paren_end + , Byte_ascii.Star + , Byte_ascii.Comma + , Byte_ascii.Dash + , Byte_ascii.Dot + , Byte_ascii.Slash + , Byte_ascii.Colon + , Byte_ascii.Semic + , Byte_ascii.Eq + , Byte_ascii.Question + , Byte_ascii.At + , Byte_ascii.Backslash + , Byte_ascii.Pow + , Byte_ascii.Underline + , Byte_ascii.Tick + , Byte_ascii.Tilde + , Byte_ascii.Plus + }; + int symbols_len = symbols.length; + for (int i = 0; i < symbols_len; i++) + title_chars_valid[symbols[i]] = true; + } + return title_chars_valid; + } } diff --git a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/utls/Xomw_ttl_utl__tst.java b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/XomwTitleTest.java similarity index 69% rename from gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/utls/Xomw_ttl_utl__tst.java rename to gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/XomwTitleTest.java index 6fa2b5177..586459fde 100644 --- a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/utls/Xomw_ttl_utl__tst.java +++ b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/XomwTitleTest.java @@ -13,16 +13,16 @@ The terms of each license can be found in the source code repository: GPLv3 License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-GPLv3.txt Apache License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-APACHE2.txt */ -package gplx.xowa.mediawiki.includes.utls; import gplx.*; import gplx.xowa.*; import gplx.xowa.mediawiki.*; import gplx.xowa.mediawiki.includes.*; +package gplx.xowa.mediawiki.includes; import gplx.*; import gplx.xowa.*; import gplx.xowa.mediawiki.*; import org.junit.*; import gplx.core.tests.*; -public class Xomw_ttl_utl__tst { - private final Xomw_ttl_utl__fxt fxt = new Xomw_ttl_utl__fxt(); +public class XomwTitleTest { + private final XomwTitleFxt fxt = new XomwTitleFxt(); @Test public void Alphanum() {fxt.Test__find_fwd_while_title("0aB" , 3);} @Test public void Angle() {fxt.Test__find_fwd_while_title("0a<" , 2);} } -class Xomw_ttl_utl__fxt { +class XomwTitleFxt { public void Test__find_fwd_while_title(String src_str, int expd) { byte[] src_bry = Bry_.new_u8(src_str); - Gftest.Eq__int(expd, Xomw_ttl_utl.Find_fwd_while_title(src_bry, 0, src_bry.length, Xomw_ttl_utl.Title_chars_valid())); + Gftest.Eq__int(expd, XomwTitle.Find_fwd_while_title(src_bry, 0, src_bry.length, XomwTitle.Title_chars_valid())); } } diff --git a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/filerepo/XomwFileRepo.java b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/filerepo/XomwFileRepo.java index 92ae9b75b..2218a7e4c 100644 --- a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/filerepo/XomwFileRepo.java +++ b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/filerepo/XomwFileRepo.java @@ -15,7 +15,6 @@ Apache License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-APACHE2.txt */ package gplx.xowa.mediawiki.includes.filerepo; import gplx.*; import gplx.xowa.*; import gplx.xowa.mediawiki.*; import gplx.xowa.mediawiki.includes.*; import gplx.xowa.mediawiki.includes.filerepo.file.*; -import gplx.xowa.mediawiki.includes.utls.*; /* TODO.XO: * getZoneUrl */ diff --git a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/filerepo/file/XomwFile.java b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/filerepo/file/XomwFile.java index 4e33e05df..a00b31d8d 100644 --- a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/filerepo/file/XomwFile.java +++ b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/filerepo/file/XomwFile.java @@ -15,7 +15,6 @@ Apache License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-APACHE2.txt */ package gplx.xowa.mediawiki.includes.filerepo.file; import gplx.*; import gplx.xowa.*; import gplx.xowa.mediawiki.*; import gplx.xowa.mediawiki.includes.*; import gplx.xowa.mediawiki.includes.filerepo.*; import gplx.xowa.mediawiki.includes.media.*; -import gplx.xowa.mediawiki.includes.utls.*; import gplx.xowa.mediawiki.includes.parsers.*; import gplx.xowa.mediawiki.includes.parsers.lnkis.*; public class XomwFile { /* TODO.XO: @@ -279,7 +278,7 @@ public class XomwFile { * @return String */ public byte[] getName() { - if (!Php_utl_.isset(this.name)) { + if (!XophpUtility.isset(this.name)) { // this.assertRepoDefined(); this.name = this.repo.getNameFromTitle(this.title); } @@ -293,10 +292,10 @@ public class XomwFile { * @return String */ private byte[] getExtension() { - if (!Php_utl_.isset(this.extension)) { - int n = Php_str_.Strpos(this.getName(), Byte_ascii.Dot); + if (!XophpUtility.isset(this.extension)) { + int n = XophpString.strpos(this.getName(), Byte_ascii.Dot); this.extension = normalizeExtension( - n != Bry_find_.Not_found ? Php_str_.Substr(this.getName(), n + 1) : Bry_.Empty); + n != Bry_find_.Not_found ? XophpString.substr(this.getName(), n + 1) : Bry_.Empty); } return this.extension; @@ -330,7 +329,7 @@ public class XomwFile { * @return String */ public byte[] getUrl() { - if (!Php_utl_.isset(this.url)) { + if (!XophpUtility.isset(this.url)) { // this.assertRepoDefined(); byte[] ext = this.getExtension(); this.url = Bry_.Add(this.repo.getZoneUrl(XomwFileRepo.Zone__public, ext), Byte_ascii.Slash_bry, this.getUrlRel()); @@ -1497,7 +1496,7 @@ public class XomwFile { * @return String */ private byte[] getHashPath() { - if (!Php_utl_.isset(this.hashPath)) { + if (!XophpUtility.isset(this.hashPath)) { // this.assertRepoDefined(); this.hashPath = this.repo.getHashPath(this.getName()); } @@ -1559,7 +1558,7 @@ public class XomwFile { * @return String */ private byte[] getUrlRel() { - return Bry_.Add(this.getHashPath(), Php_encode_.rawurlencode(this.getName())); + return Bry_.Add(this.getHashPath(), XophpEncode.rawurlencode(this.getName())); } // /** diff --git a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/htmls/XomwHtml.java b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/htmls/XomwHtml.java index 9c64a1125..7ae040967 100644 --- a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/htmls/XomwHtml.java +++ b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/htmls/XomwHtml.java @@ -15,7 +15,6 @@ Apache License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-APACHE2.txt */ package gplx.xowa.mediawiki.includes.htmls; import gplx.*; import gplx.xowa.*; import gplx.xowa.mediawiki.*; import gplx.xowa.mediawiki.includes.*; import gplx.core.btries.*; -import gplx.xowa.mediawiki.includes.utls.*; public class XomwHtml { private final Bry_bfr tmp = Bry_bfr_.New(); private final Btrie_rv trv = new Btrie_rv(); @@ -128,7 +127,7 @@ public class XomwHtml { } else { // PORTED.HEADER:atr_val_encodings - val = Php_str_.Strtr(val, atr_val_encodings, tmp, trv); + val = XophpString.strtr(val, atr_val_encodings, tmp, trv); bfr.Add_byte_space().Add(key).Add(Bry__atr__val__quote).Add(val).Add_byte_quote(); } } diff --git a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/libs/XomwStringUtils.java b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/libs/XomwStringUtils.java index 0dee0a10f..447a38e3b 100644 --- a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/libs/XomwStringUtils.java +++ b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/libs/XomwStringUtils.java @@ -15,7 +15,6 @@ Apache License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-APACHE2.txt */ package gplx.xowa.mediawiki.includes.libs; import gplx.*; import gplx.xowa.*; import gplx.xowa.mediawiki.*; import gplx.xowa.mediawiki.includes.*; import gplx.core.btries.*; -import gplx.xowa.mediawiki.includes.utls.*; import gplx.xowa.mediawiki.includes.libs.replacers.*; /** * A collection of static methods to play with strings. diff --git a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/media/XomwImageHandler.java b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/media/XomwImageHandler.java index 3c9dddb19..9744a0c86 100644 --- a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/media/XomwImageHandler.java +++ b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/media/XomwImageHandler.java @@ -15,7 +15,6 @@ Apache License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-APACHE2.txt */ package gplx.xowa.mediawiki.includes.media; import gplx.*; import gplx.xowa.*; import gplx.xowa.mediawiki.*; import gplx.xowa.mediawiki.includes.*; import gplx.xowa.mediawiki.includes.filerepo.file.*; import gplx.xowa.mediawiki.includes.parsers.lnkis.*; -import gplx.xowa.mediawiki.includes.utls.*; /* XO.TODO: * validateThumbParams */ @@ -29,7 +28,7 @@ public abstract class XomwImageHandler extends XomwMediaHandler { private final * @return boolean */ @Override public boolean canRender(XomwFile file) { - return (Php_utl_.istrue(file.getWidth()) && Php_utl_.istrue(file.getHeight())); + return (XophpUtility.istrue(file.getWidth()) && XophpUtility.istrue(file.getHeight())); } @Override public Xomw_param_map getParamMap() { @@ -53,10 +52,10 @@ public abstract class XomwImageHandler extends XomwMediaHandler { private final @Override public byte[] makeParamString(Xomw_params_handler handlerParams) { int width = 0; - if (Php_utl_.isset(handlerParams.physicalWidth)) { + if (XophpUtility.isset(handlerParams.physicalWidth)) { width = handlerParams.physicalWidth; } - else if (Php_utl_.isset(handlerParams.width)) { + else if (XophpUtility.isset(handlerParams.width)) { width = handlerParams.width; } else { @@ -77,7 +76,7 @@ public abstract class XomwImageHandler extends XomwMediaHandler { private final // pos = Bry_find_.Find_fwd_while_num(src, 1, len); // skip numeric // if (Bry_.Match(src, pos, len, Xomw_lnki_wkr.Bry__px)) { // matches "px" // Xomw_params_handler rv = new Xomw_params_handler(); -// rv.width = Bry_.To_int_or(src, 0, pos, Php_utl_.Null_int); +// rv.width = Bry_.To_int_or(src, 0, pos, XophpUtility.Null_int); // return rv; // } // } @@ -96,11 +95,11 @@ public abstract class XomwImageHandler extends XomwMediaHandler { private final @Override public boolean normaliseParams(XomwFile image, Xomw_params_handler handlerParams) { byte[] mimeType = image.getMimeType(); - if (!Php_utl_.isset(handlerParams.width)) { + if (!XophpUtility.isset(handlerParams.width)) { return false; } - if (!Php_utl_.isset(handlerParams.page)) { + if (!XophpUtility.isset(handlerParams.page)) { handlerParams.page = 1; } else { @@ -117,7 +116,7 @@ public abstract class XomwImageHandler extends XomwMediaHandler { private final int srcWidth = image.getWidth(handlerParams.page); int srcHeight = image.getHeight(handlerParams.page); - if (Php_utl_.isset(handlerParams.height) && handlerParams.height != -1) { + if (XophpUtility.isset(handlerParams.height) && handlerParams.height != -1) { // Height & width were both set if (handlerParams.width * srcHeight > handlerParams.height * srcWidth) { // Height is the relative smaller dimension, so scale width accordingly @@ -131,11 +130,11 @@ public abstract class XomwImageHandler extends XomwMediaHandler { private final handlerParams.physicalWidth = handlerParams.width; } else { // Height was crap, unset it so that it will be calculated later - handlerParams.height = Php_utl_.Null_int; + handlerParams.height = XophpUtility.Null_int; } } - if (!Php_utl_.isset(handlerParams.physicalWidth)) { + if (!XophpUtility.isset(handlerParams.physicalWidth)) { // Passed all validations, so set the physicalWidth handlerParams.physicalWidth = handlerParams.width; } @@ -147,7 +146,7 @@ public abstract class XomwImageHandler extends XomwMediaHandler { private final handlerParams.physicalWidth); // Set the height if it was not validated in the if block higher up - if (!Php_utl_.isset(handlerParams.height) || handlerParams.height == -1) { + if (!XophpUtility.isset(handlerParams.height) || handlerParams.height == -1) { handlerParams.height = handlerParams.physicalHeight; } diff --git a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/media/XomwImageHandlerTest.java b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/media/XomwImageHandlerTest.java index 314c63d8d..9389d7d77 100644 --- a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/media/XomwImageHandlerTest.java +++ b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/media/XomwImageHandlerTest.java @@ -15,7 +15,6 @@ Apache License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-APACHE2.txt */ package gplx.xowa.mediawiki.includes.media; import gplx.*; import gplx.xowa.*; import gplx.xowa.mediawiki.*; import gplx.xowa.mediawiki.includes.*; import org.junit.*; import gplx.core.tests.*; -import gplx.xowa.mediawiki.includes.utls.*; import gplx.xowa.mediawiki.includes.parsers.*; import gplx.xowa.mediawiki.includes.parsers.lnkis.*; import gplx.xowa.mediawiki.includes.filerepo.*; import gplx.xowa.mediawiki.includes.filerepo.file.*; public class XomwImageHandlerTest { @@ -36,7 +35,7 @@ class XomwImageHandler_fxt { public XomwImageHandler_fxt() { handler = new XomwTransformationalImageHandler(Bry_.new_a7("test_handler")); } - public Xomw_params_handler Make__handlerParams(int w) {return Make__handlerParams(w, Php_utl_.Null_int, Php_utl_.Null_int, Php_utl_.Null_int);} + public Xomw_params_handler Make__handlerParams(int w) {return Make__handlerParams(w, XophpUtility.Null_int, XophpUtility.Null_int, XophpUtility.Null_int);} public Xomw_params_handler Make__handlerParams(int w, int h, int phys_w, int phys_h) { Xomw_params_handler rv = new Xomw_params_handler(); rv.width = w; diff --git a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/media/XomwMediaTransformOutput.java b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/media/XomwMediaTransformOutput.java index 0b6c4a20b..9d6f521ed 100644 --- a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/media/XomwMediaTransformOutput.java +++ b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/media/XomwMediaTransformOutput.java @@ -15,7 +15,6 @@ Apache License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-APACHE2.txt */ package gplx.xowa.mediawiki.includes.media; import gplx.*; import gplx.xowa.*; import gplx.xowa.mediawiki.*; import gplx.xowa.mediawiki.includes.*; import gplx.langs.htmls.*; -import gplx.xowa.mediawiki.includes.utls.*; import gplx.xowa.mediawiki.includes.parsers.lnkis.*; import gplx.xowa.mediawiki.includes.filerepo.file.*; public abstract class XomwMediaTransformOutput { diff --git a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/media/XomwThumbnailImage.java b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/media/XomwThumbnailImage.java index 031d0dd8a..80af9b085 100644 --- a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/media/XomwThumbnailImage.java +++ b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/media/XomwThumbnailImage.java @@ -15,7 +15,6 @@ Apache License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-APACHE2.txt */ package gplx.xowa.mediawiki.includes.media; import gplx.*; import gplx.xowa.*; import gplx.xowa.mediawiki.*; import gplx.xowa.mediawiki.includes.*; import gplx.langs.htmls.*; -import gplx.xowa.mediawiki.includes.utls.*; import gplx.xowa.mediawiki.includes.parsers.lnkis.*; import gplx.xowa.mediawiki.includes.filerepo.file.*; // Media transform output for images @@ -136,71 +135,71 @@ public class XomwThumbnailImage extends XomwMediaTransformOutput { private final attribs.Add_many(Gfh_atr_.Bry__alt, alt); attribs.Add_many(Gfh_atr_.Bry__src, url); boolean link_attribs_is_null = false; - if (!Php_utl_.empty(options.custom_url_link)) { + if (!XophpUtility.empty(options.custom_url_link)) { link_attribs.Clear(); link_attribs.Add_many(Gfh_atr_.Bry__href, options.custom_url_link); - if (!Php_utl_.empty(options.title)) { + if (!XophpUtility.empty(options.title)) { link_attribs.Add_many(Gfh_atr_.Bry__title, options.title); } - if (Php_utl_.empty(options.custom_target_link)) { + if (XophpUtility.empty(options.custom_target_link)) { link_attribs.Add_many(Gfh_atr_.Bry__target, options.custom_target_link); } - else if (Php_utl_.empty(options.parser_extlink_target)) { + else if (XophpUtility.empty(options.parser_extlink_target)) { link_attribs.Add_many(Gfh_atr_.Bry__target, options.parser_extlink_target); } - if (Php_utl_.empty(options.parser_extlink_rel)) { + if (XophpUtility.empty(options.parser_extlink_rel)) { link_attribs.Add_many(Gfh_atr_.Bry__rel, options.parser_extlink_rel); } } - else if (!Php_utl_.empty(options.custom_title_link)) { + else if (!XophpUtility.empty(options.custom_title_link)) { // byte[] title = options.custom_title_link; // link_attribs.Clear(); // link_attribs.Add_many(Gfh_atr_.Bry__href, title.Get_link_url()); // byte[] options_title = options.title; -// link_attribs.Add_many(Gfh_atr_.Bry__title, Php_utl_.empty(options_title) ? title.Get_full_text() : options_title); +// link_attribs.Add_many(Gfh_atr_.Bry__title, XophpUtility.empty(options_title) ? title.Get_full_text() : options_title); } - else if (!Php_utl_.empty(options.desc_link)) { + else if (!XophpUtility.empty(options.desc_link)) { // link_attribs = this.getDescLinkAttribs( // empty(options['title']) ? null : options['title'], // $query // ); link_attribs.Clear(); this.getDescLinkAttribs(link_attribs, - Php_utl_.empty(options.title) ? null : options.title, + XophpUtility.empty(options.title) ? null : options.title, null); } - else if (!Php_utl_.empty(options.file_link)) { + else if (!XophpUtility.empty(options.file_link)) { // link_attribs.Clear(); // link_attribs.Add_many(Gfh_atr_.Bry__href, file.Get_url()); } else { link_attribs_is_null = true; - if (!Php_utl_.empty(options.title)) { + if (!XophpUtility.empty(options.title)) { attribs.Add_many(Gfh_atr_.Bry__title, options.title); } } - if (Php_utl_.empty(options.no_dimensions)) { + if (XophpUtility.empty(options.no_dimensions)) { attribs.Add_many(Gfh_atr_.Bry__width, Int_.To_bry(width)); attribs.Add_many(Gfh_atr_.Bry__height, Int_.To_bry(height)); } - if (!Php_utl_.empty(options.valign)) { + if (!XophpUtility.empty(options.valign)) { attribs.Add_many(Gfh_atr_.Bry__style, Bry_.Add(Bry__vertical_align, options.valign)); } - if (!Php_utl_.empty(options.img_cls)) { + if (!XophpUtility.empty(options.img_cls)) { attribs.Add_many(Gfh_atr_.Bry__class, options.img_cls); } - if (Php_utl_.isset(options.override_height)) { + if (XophpUtility.isset(options.override_height)) { attribs.Add_many(Gfh_atr_.Bry__class, options.override_height); } - if (Php_utl_.isset(options.override_width)) { + if (XophpUtility.isset(options.override_width)) { attribs.Add_many(Gfh_atr_.Bry__width, options.override_height); } // Additional densities for responsive images, if specified. // If any of these urls is the same as src url, it'll be excluded. // $responsiveUrls = array_diff(this.responsiveUrls, [ this.url ]); -// if (!Php_utl_.empty($responsiveUrls)) { +// if (!XophpUtility.empty($responsiveUrls)) { // $attribs['srcset'] = Html::srcSet($responsiveUrls); // } diff --git a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/parsers/Xomw_block_level_pass.java b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/parsers/Xomw_block_level_pass.java index 0b2071ca7..10816107f 100644 --- a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/parsers/Xomw_block_level_pass.java +++ b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/parsers/Xomw_block_level_pass.java @@ -16,7 +16,6 @@ Apache License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-APACHE2.txt package gplx.xowa.mediawiki.includes.parsers; import gplx.*; import gplx.xowa.*; import gplx.xowa.mediawiki.*; import gplx.xowa.mediawiki.includes.*; import gplx.core.btries.*; import gplx.langs.htmls.*; -import gplx.xowa.mediawiki.includes.utls.*; public class Xomw_block_level_pass { private final Bry_bfr tmp = Bry_bfr_.New(); private final Btrie_rv trv = new Btrie_rv(); @@ -106,8 +105,8 @@ public class Xomw_block_level_pass { // If not in a <pre> element, scan for and figure out what prefixes are there. if (!in_pre) { // Multiple prefixes may abut each other for nested lists. - prefix_len = Php_str_.Strspn_fwd__ary(src, block_chars_ary, line_bgn, line_end, line_end); // strspn($oLine, '*#:;'); - prefix = Php_str_.Substr(src, line_bgn, prefix_len); + prefix_len = XophpString.strspn_fwd__ary(src, block_chars_ary, line_bgn, line_end, line_end); // strspn($oLine, '*#:;'); + prefix = XophpString.substr(src, line_bgn, prefix_len); // eh? // ; and : are both from definition-lists, so they're equivalent @@ -130,7 +129,7 @@ public class Xomw_block_level_pass { int common_prefix_len = -1; if (prefix_len > 0 && Bry_.Eq(last_prefix, prefix2)) { // Same as the last item, so no need to deal with nesting or opening stuff - bfr.Add(Next_item(Php_str_.Substr_byte(prefix, -1))); + bfr.Add(Next_item(XophpString.substr_byte(prefix, -1))); para_stack = Para_stack__none; if (prefix_len > 0 && prefix[prefix_len - 1] == Byte_ascii.Semic) { @@ -170,7 +169,7 @@ public class Xomw_block_level_pass { bfr.Add_byte_nl(); } while (prefix_len > common_prefix_len) { - byte c = Php_str_.Substr_byte(prefix, common_prefix_len, 1); + byte c = XophpString.substr_byte(prefix, common_prefix_len, 1); bfr.Add(Open_list(c)); if (c == Byte_ascii.Semic) { @@ -195,8 +194,8 @@ public class Xomw_block_level_pass { // No prefix (not in list)--go to paragraph mode // XXX: use a stack for nestable elements like span, table and div int t_len = t.length; - boolean open_match = Php_preg_.Match(open_match_trie, trv, t, 0, t_len) != null; - boolean close_match = Php_preg_.Match(close_match_trie, trv, t, 0, t_len) != null; + boolean open_match = XophpPreg.match(open_match_trie, trv, t, 0, t_len) != null; + boolean close_match = XophpPreg.match(close_match_trie, trv, t, 0, t_len) != null; if (open_match || close_match) { para_stack = Para_stack__none; @@ -208,7 +207,7 @@ public class Xomw_block_level_pass { int bq_offset = 0; // PORTED:preg_match('/<(\\/?)blockquote[\s>]/i', t, $bqMatch, PREG_OFFSET_CAPTURE, $bq_offset) while (true) { - Object o = Php_preg_.Match(blockquote_trie, trv, t, bq_offset, t_len); + Object o = XophpPreg.match(blockquote_trie, trv, t, bq_offset, t_len); if (o == null) { // no more blockquotes found; exit break; } @@ -221,7 +220,7 @@ public class Xomw_block_level_pass { in_block_elem = !close_match; } else if (!in_block_elem && !in_pre) { - if ( Php_str_.Substr_byte(t, 0) == Byte_ascii.Space + if ( XophpString.substr_byte(t, 0) == Byte_ascii.Space && (last_section == Last_section__pre || Bry_.Trim(t) != Bry_.Empty) && !in_blockquote ) { @@ -391,17 +390,17 @@ public class Xomw_block_level_pass { // to prevent illegal overlapping. private int Find_colon_no_links(byte[] str, byte[] before, byte[] after) { int len = str.length; - int colon_pos = Php_str_.Strpos(str, Byte_ascii.Colon, 0, len); + int colon_pos = XophpString.strpos(str, Byte_ascii.Colon, 0, len); if (colon_pos == Bry_find_.Not_found) { // Nothing to find! return Bry_find_.Not_found; } - int lt_pos = Php_str_.Strpos(str, Byte_ascii.Angle_bgn, 0, len); + int lt_pos = XophpString.strpos(str, Byte_ascii.Angle_bgn, 0, len); if (lt_pos == Bry_find_.Not_found || lt_pos > colon_pos) { // Easy; no tag nesting to worry about - find_colon_no_links__before = Php_str_.Substr(str, 0, colon_pos); - find_colon_no_links__after = Php_str_.Substr(str, colon_pos + 1); + find_colon_no_links__before = XophpString.substr(str, 0, colon_pos); + find_colon_no_links__after = XophpString.substr(str, colon_pos + 1); return colon_pos; } @@ -421,25 +420,25 @@ public class Xomw_block_level_pass { case Byte_ascii.Colon: if (level == 0) { // We found it! - find_colon_no_links__before = Php_str_.Substr(str, 0, i); - find_colon_no_links__after = Php_str_.Substr(str, i + 1); + find_colon_no_links__before = XophpString.substr(str, 0, i); + find_colon_no_links__after = XophpString.substr(str, i + 1); return i; } // Embedded in a tag; don't break it. break; default: // Skip ahead looking for something interesting - colon_pos = Php_str_.Strpos(str, Byte_ascii.Colon, i, len); + colon_pos = XophpString.strpos(str, Byte_ascii.Colon, i, len); if (colon_pos == Bry_find_.Not_found) { // Nothing else interesting return Bry_find_.Not_found; } - lt_pos = Php_str_.Strpos(str, Byte_ascii.Angle_bgn, i, len); + lt_pos = XophpString.strpos(str, Byte_ascii.Angle_bgn, i, len); if (level == 0) { if (lt_pos == Bry_find_.Not_found || colon_pos < lt_pos) { // We found it! - find_colon_no_links__before = Php_str_.Substr(str, 0, colon_pos); - find_colon_no_links__after = Php_str_.Substr(str, colon_pos + 1); + find_colon_no_links__before = XophpString.substr(str, 0, colon_pos); + find_colon_no_links__after = XophpString.substr(str, colon_pos + 1); return i; } } diff --git a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/parsers/Xomw_parser.java b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/parsers/Xomw_parser.java index 205611d5a..985f7a084 100644 --- a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/parsers/Xomw_parser.java +++ b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/parsers/Xomw_parser.java @@ -18,7 +18,7 @@ import gplx.core.btries.*; import gplx.core.net.*; import gplx.xowa.mediawiki.includes.parsers.prepros.*; import gplx.xowa.mediawiki.includes.parsers.headings.*; import gplx.xowa.mediawiki.includes.parsers.quotes.*; import gplx.xowa.mediawiki.includes.parsers.tables.*; import gplx.xowa.mediawiki.includes.parsers.hrs.*; import gplx.xowa.mediawiki.includes.parsers.nbsps.*; import gplx.xowa.mediawiki.includes.parsers.lnkes.*; import gplx.xowa.mediawiki.includes.parsers.lnkis.*; import gplx.xowa.mediawiki.includes.parsers.magiclinks.*; import gplx.xowa.mediawiki.includes.parsers.doubleunders.*; -import gplx.xowa.mediawiki.includes.utls.*; import gplx.xowa.mediawiki.includes.linkers.*; +import gplx.xowa.mediawiki.includes.linkers.*; import gplx.xowa.mediawiki.includes.htmls.*; public class Xomw_parser implements XomwParserIface { private final Xomw_parser_ctx pctx = new Xomw_parser_ctx(); diff --git a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/parsers/hrs/Xomw_hr_wkr.java b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/parsers/hrs/Xomw_hr_wkr.java index 1cf302df3..4c2d5174b 100644 --- a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/parsers/hrs/Xomw_hr_wkr.java +++ b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/parsers/hrs/Xomw_hr_wkr.java @@ -14,7 +14,6 @@ GPLv3 License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-GPLv3.txt Apache License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-APACHE2.txt */ package gplx.xowa.mediawiki.includes.parsers.hrs; import gplx.*; import gplx.xowa.*; import gplx.xowa.mediawiki.*; import gplx.xowa.mediawiki.includes.*; import gplx.xowa.mediawiki.includes.parsers.*; -import gplx.xowa.mediawiki.includes.utls.*; public class Xomw_hr_wkr {// THREAD.UNSAFE: caching for repeated calls private Bry_bfr bfr; public void replaceHrs(Xomw_parser_ctx pctx, Xomw_parser_bfr pbfr) { // REF.MW: text = preg_replace('/(^|\n)-----*/', '\\1<hr />', text); diff --git a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/parsers/lnkes/Xomw_lnke_wkr.java b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/parsers/lnkes/Xomw_lnke_wkr.java index 8332eeea5..64cbb8ee0 100644 --- a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/parsers/lnkes/Xomw_lnke_wkr.java +++ b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/parsers/lnkes/Xomw_lnke_wkr.java @@ -15,7 +15,6 @@ Apache License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-APACHE2.txt */ package gplx.xowa.mediawiki.includes.parsers.lnkes; import gplx.*; import gplx.xowa.*; import gplx.xowa.mediawiki.*; import gplx.xowa.mediawiki.includes.*; import gplx.xowa.mediawiki.includes.parsers.*; import gplx.core.btries.*; import gplx.core.primitives.*; -import gplx.xowa.mediawiki.includes.utls.*; import gplx.xowa.mediawiki.includes.htmls.*; /* TODO.XO * P3: $langObj->formatNum( ++$this->mAutonumber ); @@ -165,7 +164,7 @@ public class Xomw_lnke_wkr {// THREAD.UNSAFE: caching for repeated calls // The characters '<' and '>' (which were escaped by // removeHTMLtags()) should not be included in // URLs, per RFC 2396. - if (Php_preg_.Match(angle_entities_trie, trv, src, url_bgn, url_end) != null) { + if (XophpPreg.match(angle_entities_trie, trv, src, url_bgn, url_end) != null) { int angle_bgn = trv.Match_bgn; text_bgn = angle_bgn; url_end = angle_bgn; diff --git a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/parsers/lnkis/Xomw_lnki_wkr.java b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/parsers/lnkis/Xomw_lnki_wkr.java index 02b47d183..30def1c90 100644 --- a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/parsers/lnkis/Xomw_lnki_wkr.java +++ b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/parsers/lnkis/Xomw_lnki_wkr.java @@ -15,7 +15,6 @@ Apache License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-APACHE2.txt */ package gplx.xowa.mediawiki.includes.parsers.lnkis; import gplx.*; import gplx.xowa.*; import gplx.xowa.mediawiki.*; import gplx.xowa.mediawiki.includes.*; import gplx.xowa.mediawiki.includes.parsers.*; import gplx.core.btries.*; import gplx.core.primitives.*; -import gplx.xowa.mediawiki.includes.utls.*; import gplx.xowa.wikis.nss.*; import gplx.xowa.wikis.xwikis.*; import gplx.xowa.mediawiki.includes.parsers.*; import gplx.xowa.mediawiki.includes.parsers.quotes.*; import gplx.xowa.mediawiki.includes.htmls.*; import gplx.xowa.mediawiki.includes.linkers.*; @@ -70,7 +69,7 @@ public class Xomw_lnki_wkr {// THREAD.UNSAFE: caching for repeated calls this.env = env; this.wiki = wiki; if (title_chars_for_lnki == null) { - title_chars_for_lnki = (boolean[])Array_.Clone(Xomw_ttl_utl.Title_chars_valid()); + title_chars_for_lnki = (boolean[])Array_.Clone(XomwTitle.Title_chars_valid()); // the % is needed to support urlencoded titles as well title_chars_for_lnki[Byte_ascii.Hash] = true; title_chars_for_lnki[Byte_ascii.Percent] = true; @@ -156,7 +155,7 @@ public class Xomw_lnki_wkr {// THREAD.UNSAFE: caching for repeated calls // PORTED.BGN: if (preg_match($e1, $line, $m)) && else if (preg_match($e1_img, $line, $m)) // NOTE: both e1 and e1_img are effectively the same; e1_img allows nested "[["; EX: "[[A|b[[c]]d]]" will stop at "[[A|b" int ttl_bgn = cur; - int ttl_end = Xomw_ttl_utl.Find_fwd_while_title(src, cur, src_end, title_chars_for_lnki); + int ttl_end = XomwTitle.Find_fwd_while_title(src, cur, src_end, title_chars_for_lnki); cur = ttl_end; int capt_bgn = -1, capt_end = -1; int nxt_lnki = -1; @@ -590,7 +589,7 @@ public class Xomw_lnki_wkr {// THREAD.UNSAFE: caching for repeated calls break; default: // Most other things appear to be empty or numeric... - validated = (val == null || Php_utl_.isnumeric(Bry_.Trim(val))); + validated = (val == null || XophpUtility.isnumeric(Bry_.Trim(val))); break; } } @@ -725,7 +724,7 @@ public class Xomw_lnki_wkr {// THREAD.UNSAFE: caching for repeated calls // Parsed a width param of imagelink like 300px or 200x300px // XO.MW.NOTE: for MW, "" -> null, null while "AxB" -> 0x0 public void parseWidthParam(int[] img_size, byte[] src) { - img_size[0] = img_size[1] = Php_utl_.Null_int; + img_size[0] = img_size[1] = XophpUtility.Null_int; if (src == Bry_.Empty) { return; } diff --git a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/parsers/lnkis/Xomw_params_frame.java b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/parsers/lnkis/Xomw_params_frame.java index f77a6229a..e14a6dbd5 100644 --- a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/parsers/lnkis/Xomw_params_frame.java +++ b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/parsers/lnkis/Xomw_params_frame.java @@ -14,7 +14,6 @@ GPLv3 License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-GPLv3.txt Apache License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-APACHE2.txt */ package gplx.xowa.mediawiki.includes.parsers.lnkis; import gplx.*; import gplx.xowa.*; import gplx.xowa.mediawiki.*; import gplx.xowa.mediawiki.includes.*; import gplx.xowa.mediawiki.includes.parsers.*; -import gplx.xowa.mediawiki.includes.utls.*; public class Xomw_params_frame { public byte[] align = null; public byte[] valign = null; @@ -45,12 +44,12 @@ public class Xomw_params_frame { } public Xomw_params_frame Clear() { desc_link = false; - upright = Php_utl_.Null_double; + upright = XophpUtility.Null_double; align = valign = caption = frame = framed = frameless = thumbnail = manualthumb = alt = title = cls = img_cls = link_title = link_url = link_target = no_link = custom_url_link = custom_target_link = desc_query - = Php_utl_.Null_bry; + = XophpUtility.Null_bry; return this; } public void Copy_to(Xomw_params_frame src) { diff --git a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/parsers/lnkis/Xomw_params_handler.java b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/parsers/lnkis/Xomw_params_handler.java index 678b7b1b4..857b107bb 100644 --- a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/parsers/lnkis/Xomw_params_handler.java +++ b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/parsers/lnkis/Xomw_params_handler.java @@ -14,7 +14,6 @@ GPLv3 License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-GPLv3.txt Apache License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-APACHE2.txt */ package gplx.xowa.mediawiki.includes.parsers.lnkis; import gplx.*; import gplx.xowa.*; import gplx.xowa.mediawiki.*; import gplx.xowa.mediawiki.includes.*; import gplx.xowa.mediawiki.includes.parsers.*; -import gplx.xowa.mediawiki.includes.utls.*; public class Xomw_params_handler { public int width; public int height; @@ -23,7 +22,7 @@ public class Xomw_params_handler { public int physicalHeight; public Xomw_params_handler Clear() { width = height = page - = physicalWidth = physicalHeight = Php_utl_.Null_int; + = physicalWidth = physicalHeight = XophpUtility.Null_int; return this; } public void Copy_to(Xomw_params_handler src) { diff --git a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/parsers/lnkis/Xomw_params_scalar.java b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/parsers/lnkis/Xomw_params_scalar.java index 990440341..02e959df8 100644 --- a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/parsers/lnkis/Xomw_params_scalar.java +++ b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/parsers/lnkis/Xomw_params_scalar.java @@ -14,7 +14,6 @@ GPLv3 License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-GPLv3.txt Apache License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-APACHE2.txt */ package gplx.xowa.mediawiki.includes.parsers.lnkis; import gplx.*; import gplx.xowa.*; import gplx.xowa.mediawiki.*; import gplx.xowa.mediawiki.includes.*; import gplx.xowa.mediawiki.includes.parsers.*; -import gplx.xowa.mediawiki.includes.utls.*; public class Xomw_params_scalar { public int physicalWidth; public int physicalHeight; @@ -29,6 +28,6 @@ public class Xomw_params_scalar { public byte[] dstUrl; public byte[] interlace; public Xomw_params_scalar() { - physicalWidth = physicalHeight = clientWidth = clientHeight = srcWidth = srcHeight = Php_utl_.Null_int; + physicalWidth = physicalHeight = clientWidth = clientHeight = srcWidth = srcHeight = XophpUtility.Null_int; } } diff --git a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/parsers/magiclinks/Xomw_magiclinks_wkr.java b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/parsers/magiclinks/Xomw_magiclinks_wkr.java index c219e5a25..55eb67c58 100644 --- a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/parsers/magiclinks/Xomw_magiclinks_wkr.java +++ b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/parsers/magiclinks/Xomw_magiclinks_wkr.java @@ -15,7 +15,7 @@ Apache License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-APACHE2.txt */ package gplx.xowa.mediawiki.includes.parsers.magiclinks; import gplx.*; import gplx.xowa.*; import gplx.xowa.mediawiki.*; import gplx.xowa.mediawiki.includes.*; import gplx.xowa.mediawiki.includes.parsers.*; import gplx.core.primitives.*; import gplx.core.btries.*; import gplx.core.net.*; -import gplx.xowa.mediawiki.includes.utls.*; import gplx.xowa.mediawiki.includes.htmls.*; +import gplx.xowa.mediawiki.includes.htmls.*; import gplx.langs.regxs.*; // TODO.XO: this->getConverterLanguage()->markNoConversion($url, true), public class Xomw_magiclinks_wkr { @@ -224,12 +224,12 @@ public class Xomw_magiclinks_wkr { // XO.MW: if (strpos($url, '(') === false) {$sep .= ')';} url_separators[Byte_ascii.Paren_end] = Bry_find_.Find_fwd(url, Byte_ascii.Paren_bgn, 0, url_len) == Bry_find_.Not_found; - int num_sep_chars = Php_str_.Strspn_bwd__ary(url, url_separators, url_len, -1); + int num_sep_chars = XophpString.strspn_bwd__ary(url, url_separators, url_len, -1); // Don't break a trailing HTML entity by moving the ; into $trail // This is in hot code, so use substr_compare to avoid having to // create a new String Object for the comparison // XO.MW.NOTE: ignore semic if part of entity; EX: "http://a.org'!." - if (num_sep_chars > 0 && Php_str_.Substr_byte(url, -num_sep_chars) == Byte_ascii.Semic) { + if (num_sep_chars > 0 && XophpString.substr_byte(url, -num_sep_chars) == Byte_ascii.Semic) { // more optimization: instead of running preg_match with a $ // anchor, which can be slow, do the match on the reversed // String starting at the desired offset. @@ -241,8 +241,8 @@ public class Xomw_magiclinks_wkr { } if (num_sep_chars > 0) { - trail = Bry_.Add(Php_str_.Substr(url, -num_sep_chars), trail); - url = Php_str_.Substr(url, 0, -num_sep_chars); + trail = Bry_.Add(XophpString.substr(url, -num_sep_chars), trail); + url = XophpString.substr(url, 0, -num_sep_chars); } // Verify that we still have a real URL after trail removal, and diff --git a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/parsers/prepros/Xomw_prepro_wkr.java b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/parsers/prepros/Xomw_prepro_wkr.java index f9649df43..1fb751cc5 100644 --- a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/parsers/prepros/Xomw_prepro_wkr.java +++ b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/parsers/prepros/Xomw_prepro_wkr.java @@ -15,7 +15,6 @@ Apache License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-APACHE2.txt */ package gplx.xowa.mediawiki.includes.parsers.prepros; import gplx.*; import gplx.xowa.*; import gplx.xowa.mediawiki.*; import gplx.xowa.mediawiki.includes.*; import gplx.xowa.mediawiki.includes.parsers.*; import gplx.core.btries.*; -import gplx.xowa.mediawiki.includes.utls.*; public class Xomw_prepro_wkr { // THREAD.UNSAFE: caching for repeated calls private final Bry_bfr tmp_bfr = Bry_bfr_.New(); private final List_adp comments_list = List_adp_.New(); @@ -287,11 +286,11 @@ public class Xomw_prepro_wkr { // THREAD.UNSAFE: caching for repeated calls } else { // Search backwards for leading whitespace - int ws_bgn = i > 0 ? i - Php_str_.Strspn_bwd__space_or_tab(src, i, -1) : 0; + int ws_bgn = i > 0 ? i - XophpString.strspn_bwd__space_or_tab(src, i, -1) : 0; // Search forwards for trailing whitespace // $wsEnd will be the position of the last space (or the '>' if there's none) - int ws_end = end_pos + 2 + Php_str_.Strspn_fwd__space_or_tab(src, end_pos + 3, -1, src_len); + int ws_end = end_pos + 2 + XophpString.strspn_fwd__space_or_tab(src, end_pos + 3, -1, src_len); // Keep looking forward as long as we're finding more // comments. @@ -302,7 +301,7 @@ public class Xomw_prepro_wkr { // THREAD.UNSAFE: caching for repeated calls if (cur_char_pos == Bry_find_.Not_found) { break; } - cur_char_pos = cur_char_pos + 2 + Php_str_.Strspn_fwd__space_or_tab(src, cur_char_pos + 3, -1, src_len); + cur_char_pos = cur_char_pos + 2 + XophpString.strspn_fwd__space_or_tab(src, cur_char_pos + 3, -1, src_len); comments_list.Add(new int[] {ws_end + 1, cur_char_pos}); ws_end = cur_char_pos; } @@ -321,7 +320,7 @@ public class Xomw_prepro_wkr { // THREAD.UNSAFE: caching for repeated calls int ws_len = i - ws_bgn; int accum_len = accum.Len(); if ( ws_len > 0 - && Php_str_.Strspn_fwd__space_or_tab(accum.Bfr(), accum_len - ws_len, -1, accum_len) == ws_len) { + && XophpString.strspn_fwd__space_or_tab(accum.Bfr(), accum_len - ws_len, -1, accum_len) == ws_len) { accum.Del_by(ws_len); } @@ -487,7 +486,7 @@ public class Xomw_prepro_wkr { // THREAD.UNSAFE: caching for repeated calls i++; } - int count = Php_str_.Strspn_fwd__byte(src, Byte_ascii.Eq, i, 6, src_len); + int count = XophpString.strspn_fwd__byte(src, Byte_ascii.Eq, i, 6, src_len); if (count == 1 && find_equals) { // EX: "{{a|\n=b=\n" // DWIM: This looks kind of like a name/value separator. // Let's let the equals handler have it and break the @@ -516,7 +515,7 @@ public class Xomw_prepro_wkr { // THREAD.UNSAFE: caching for repeated calls // Search back through the input to see if it has a proper close. // Do this using the reversed String since the other solutions // (end anchor, etc.) are inefficient. - int ws_len = Php_str_.Strspn_bwd__space_or_tab(src, src_len - i, -1); + int ws_len = XophpString.strspn_bwd__space_or_tab(src, src_len - i, -1); int search_bgn = i - ws_len; if (part.comment_end != -1 && search_bgn -1 == part.comment_end) { @@ -524,10 +523,10 @@ public class Xomw_prepro_wkr { // THREAD.UNSAFE: caching for repeated calls // Search for equals signs before the comment search_bgn = part.visual_end; search_bgn = Bry_find_.Find_bwd__while_space_or_tab(src, search_bgn, 0); - search_bgn -= Php_str_.Strspn_bwd__space_or_tab(src, search_bgn, -1); + search_bgn -= XophpString.strspn_bwd__space_or_tab(src, search_bgn, -1); } int count = piece.count; - int eq_len = Php_str_.Strspn_bwd__byte(src, Byte_ascii.Eq, search_bgn, -1); + int eq_len = XophpString.strspn_bwd__byte(src, Byte_ascii.Eq, search_bgn, -1); byte[] element = Bry_.Empty; if (eq_len > 0) { @@ -580,7 +579,7 @@ public class Xomw_prepro_wkr { // THREAD.UNSAFE: caching for repeated calls } else if (found == Found__open) { // count opening brace characters - int count = Php_str_.Strspn_fwd__byte(src, cur_char[0], i, -1, src_len); // NOTE: don't know how MediaWiki will handle "-{" + int count = XophpString.strspn_fwd__byte(src, cur_char[0], i, -1, src_len); // NOTE: don't know how MediaWiki will handle "-{" // we need to add to stack only if opening brace count is enough for one of the rules if (count >= rule.min) { @@ -605,7 +604,7 @@ public class Xomw_prepro_wkr { // THREAD.UNSAFE: caching for repeated calls Xomw_prepro_piece piece = stack.top; // lets check if there are enough characters for closing brace int max_count = piece.count; - int count = Php_str_.Strspn_fwd__byte(src, cur_char[0], i, max_count, src_len); + int count = XophpString.strspn_fwd__byte(src, cur_char[0], i, max_count, src_len); // check for maximum matching characters (if there are 5 closing characters, we will probably need only 3 - depending on the rules) rule = Get_rule(piece.open); diff --git a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/parsers/quotes/Xomw_quote_wkr.java b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/parsers/quotes/Xomw_quote_wkr.java index 92d35d89e..4709b6764 100644 --- a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/parsers/quotes/Xomw_quote_wkr.java +++ b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/parsers/quotes/Xomw_quote_wkr.java @@ -14,7 +14,6 @@ GPLv3 License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-GPLv3.txt Apache License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-APACHE2.txt */ package gplx.xowa.mediawiki.includes.parsers.quotes; import gplx.*; import gplx.xowa.*; import gplx.xowa.mediawiki.*; import gplx.xowa.mediawiki.includes.*; import gplx.xowa.mediawiki.includes.parsers.*; -import gplx.xowa.mediawiki.includes.utls.*; import gplx.xowa.parsers.htmls.*; import gplx.core.primitives.*; public class Xomw_quote_wkr {// THREAD.UNSAFE: caching for repeated calls @@ -54,7 +53,7 @@ public class Xomw_quote_wkr {// THREAD.UNSAFE: caching for repeated calls return found ? tmp.To_bry_and_clear() : src; } private boolean Do_quotes(Bry_bfr bfr, boolean all_quotes_mode, byte[] src, int line_bgn, int line_end) { - byte[][] arr = Php_preg_.Split(apos_pos_ary, src, line_bgn, line_end, Wtxt__apos, Bool_.Y); // PORTED.REGX: arr = preg_split("/(''+)/", text, -1, PREG_SPLIT_DELIM_CAPTURE); + byte[][] arr = XophpPreg.split(apos_pos_ary, src, line_bgn, line_end, Wtxt__apos, Bool_.Y); // PORTED.REGX: arr = preg_split("/(''+)/", text, -1, PREG_SPLIT_DELIM_CAPTURE); if (arr == null) { if (all_quotes_mode) { bfr.Add_mid(src, line_bgn, line_end).Add_byte_nl(); @@ -111,8 +110,8 @@ public class Xomw_quote_wkr {// THREAD.UNSAFE: caching for repeated calls for (int i = 1; i < arr_len; i += 2) { if (arr[i].length == 3) { byte[] prv = arr[i - 1]; - byte prv__last_char = Php_str_.Substr_byte(prv, -1); - byte prv__last_minus_1_char = Php_str_.Substr_byte(prv, -2, 1); + byte prv__last_char = XophpString.substr_byte(prv, -1); + byte prv__last_minus_1_char = XophpString.substr_byte(prv, -2, 1); if (prv__last_char == Byte_ascii.Space) { // NOTE: prv ends in space; EX: "''prv '''" if (prv_ends_w_space == -1) { prv_ends_w_space = i; diff --git a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/parsers/tables/Xomw_table_wkr.java b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/parsers/tables/Xomw_table_wkr.java index 3d506d91d..58bd816b5 100644 --- a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/parsers/tables/Xomw_table_wkr.java +++ b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/parsers/tables/Xomw_table_wkr.java @@ -14,7 +14,6 @@ GPLv3 License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-GPLv3.txt Apache License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-APACHE2.txt */ package gplx.xowa.mediawiki.includes.parsers.tables; import gplx.*; import gplx.xowa.*; import gplx.xowa.mediawiki.*; import gplx.xowa.mediawiki.includes.*; import gplx.xowa.mediawiki.includes.parsers.*; -import gplx.xowa.mediawiki.includes.utls.*; import gplx.xowa.parsers.htmls.*; import gplx.xowa.mediawiki.includes.libs.*; import gplx.xowa.parsers.uniqs.*; public class Xomw_table_wkr implements gplx.core.brys.Bry_split_wkr {// THREAD.UNSAFE: caching for repeated calls @@ -49,13 +48,13 @@ public class Xomw_table_wkr implements gplx.core.brys.Bry_split_wkr {// THREAD.U // Closing open td, tr && table while (td_history.Len() > 0) { - if (Php_ary_.Pop_bool_or_n(td_history)) { + if (XophpArray.popBoolOrN(td_history)) { bfr.Add_str_a7("</td>\n"); } - if (Php_ary_.Pop_bool_or_n(tr_history)) { + if (XophpArray.popBoolOrN(tr_history)) { bfr.Add_str_a7("</tr>\n"); } - if (!Php_ary_.Pop_bool_or_n(has_opened_tr)) { + if (!XophpArray.popBoolOrN(has_opened_tr)) { bfr.Add_str_a7("<tr><td></td></tr>\n"); } bfr.Add_str_a7("</table>\n"); @@ -124,20 +123,20 @@ public class Xomw_table_wkr implements gplx.core.brys.Bry_split_wkr {// THREAD.U else if (Bry_.Eq(first_2, Wtxt__tb__end)) { // We are ending a table line = tmp.Add_str_a7("</table>").Add_mid(line, 2, line.length).To_bry_and_clear(); - byte[] last_tag = Php_ary_.Pop_bry_or_null(last_tag_history); + byte[] last_tag = XophpArray.popBryOrNull(last_tag_history); - if (!Php_ary_.Pop_bool_or_n(has_opened_tr)) { + if (!XophpArray.popBoolOrN(has_opened_tr)) { line = tmp.Add_str_a7("<tr><td></td></tr>").Add(line).To_bry_and_clear(); } - if (Php_ary_.Pop_bool_or_n(tr_history)) { + if (XophpArray.popBoolOrN(tr_history)) { line = tmp.Add_str_a7("</tr>").Add(line).To_bry_and_clear(); } - if (Php_ary_.Pop_bool_or_n(td_history)) { + if (XophpArray.popBoolOrN(td_history)) { line = tmp.Add_str_a7("</").Add(last_tag).Add_byte(Byte_ascii.Angle_end).Add(line).To_bry_and_clear(); } - Php_ary_.Pop_bry_or_null(tr_attributes); + XophpArray.popBryOrNull(tr_attributes); // PORTED:$outLine = $line . str_repeat( '</dd></dl>', $indent_level ); tmp.Add(line); for (int j = 0; j < indent_level; j++) @@ -153,19 +152,19 @@ public class Xomw_table_wkr implements gplx.core.brys.Bry_split_wkr {// THREAD.U sanitizer.fixTagAttributes(tmp, Name__tr, atrs); atrs = tmp.To_bry_and_clear(); - Php_ary_.Pop_bry_or_null(tr_attributes); + XophpArray.popBryOrNull(tr_attributes); tr_attributes.Add(atrs); line = Bry_.Empty; - byte[] last_tag = Php_ary_.Pop_bry_or_null(last_tag_history); - Php_ary_.Pop_bool_or_n(has_opened_tr); + byte[] last_tag = XophpArray.popBryOrNull(last_tag_history); + XophpArray.popBoolOrN(has_opened_tr); has_opened_tr.Add(true); - if (Php_ary_.Pop_bool_or_n(tr_history)) { + if (XophpArray.popBoolOrN(tr_history)) { line = Html__tr__end; } - if (Php_ary_.Pop_bool_or_n(td_history)) { + if (XophpArray.popBoolOrN(td_history)) { line = tmp.Add_str_a7("</").Add(last_tag).Add_byte(Byte_ascii.Gt).Add(line).To_bry_and_clear(); } @@ -206,19 +205,19 @@ public class Xomw_table_wkr implements gplx.core.brys.Bry_split_wkr {// THREAD.U byte[] cell = cells[j]; previous = Bry_.Empty; if (first_char != Byte_ascii.Plus) { - byte[] tr_after = Php_ary_.Pop_bry_or_null(tr_attributes); - if (!Php_ary_.Pop_bool_or_n(tr_history)) { + byte[] tr_after = XophpArray.popBryOrNull(tr_attributes); + if (!XophpArray.popBoolOrN(tr_history)) { previous = tmp.Add_str_a7("<tr").Add(tr_after).Add_str_a7(">\n").To_bry_and_clear(); } tr_history.Add(true); tr_attributes.Add(Bry_.Empty); - Php_ary_.Pop_bool_or_n(has_opened_tr); + XophpArray.popBoolOrN(has_opened_tr); has_opened_tr.Add(true); } - byte[] last_tag = Php_ary_.Pop_bry_or_null(last_tag_history); + byte[] last_tag = XophpArray.popBryOrNull(last_tag_history); - if (Php_ary_.Pop_bool_or_n(td_history)) { + if (XophpArray.popBoolOrN(td_history)) { previous = tmp.Add_str_a7("</").Add(last_tag).Add_str_a7(">\n").Add(previous).To_bry_and_clear(); } diff --git a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/title/XomwMediaWikiTitleCodec.java b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/title/XomwMediaWikiTitleCodec.java index 5dd55060a..918d51ebe 100644 --- a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/title/XomwMediaWikiTitleCodec.java +++ b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/title/XomwMediaWikiTitleCodec.java @@ -15,7 +15,6 @@ Apache License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-APACHE2.txt */ package gplx.xowa.mediawiki.includes.title; import gplx.*; import gplx.xowa.*; import gplx.xowa.mediawiki.*; import gplx.xowa.mediawiki.includes.*; import gplx.xowa.mediawiki.languages.*; -import gplx.xowa.mediawiki.includes.utls.*; public class XomwMediaWikiTitleCodec implements XomwTitleFormatter { /** * @var Language @@ -235,7 +234,7 @@ public class XomwMediaWikiTitleCodec implements XomwTitleFormatter { * 'user_case_dbkey', and 'dbkey'. */ public XomwMediaWikiTitleCodecParts splitTitleString(byte[] text, int defaultNamespace) { - byte[] dbkey = Php_str_.str_replace(Byte_ascii.Space, Byte_ascii.Underline, text); + byte[] dbkey = XophpString.str_replace(Byte_ascii.Space, Byte_ascii.Underline, text); // Initialisation XomwMediaWikiTitleCodecParts parts = new XomwMediaWikiTitleCodecParts(dbkey, defaultNamespace); diff --git a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/utls/Php_preg___tst.java b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/utls/Php_preg___tst.java deleted file mode 100644 index 356d8d901..000000000 --- a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/utls/Php_preg___tst.java +++ /dev/null @@ -1,31 +0,0 @@ -/* -XOWA: the XOWA Offline Wiki Application -Copyright (C) 2012-2017 gnosygnu@gmail.com - -XOWA is licensed under the terms of the General Public License (GPL) Version 3, -or alternatively under the terms of the Apache License Version 2.0. - -You may use XOWA according to either of these licenses as is most appropriate -for your project on a case-by-case basis. - -The terms of each license can be found in the source code repository: - -GPLv3 License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-GPLv3.txt -Apache License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-APACHE2.txt -*/ -package gplx.xowa.mediawiki.includes.utls; import gplx.*; import gplx.xowa.*; import gplx.xowa.mediawiki.*; import gplx.xowa.mediawiki.includes.*; -import org.junit.*; import gplx.core.tests.*; -public class Php_preg___tst { - private final Php_preg___fxt fxt = new Php_preg___fxt(); - @Test public void Basic() {fxt.Test__split("a''b''c" , "''", Bool_.Y, "a", "''", "b", "''", "c");} - @Test public void Extend() {fxt.Test__split("a'''b'''c" , "''", Bool_.Y, "a", "'''", "b", "'''", "c");} - @Test public void Eos() {fxt.Test__split("a''" , "''", Bool_.Y, "a", "''");} -} -class Php_preg___fxt { - private final gplx.core.primitives.Int_list rv = new gplx.core.primitives.Int_list(); - public void Test__split(String src, String dlm, boolean extend, String... expd) {Test__split(src, 0, String_.Len(src), dlm, extend, expd);} - public void Test__split(String src, int src_bgn, int src_end, String dlm, boolean extend, String... expd) { - byte[][] actl = Php_preg_.Split(rv, Bry_.new_u8(src), src_bgn, src_end, Bry_.new_u8(dlm), extend); - Gftest.Eq__ary(expd, String_.Ary(actl), "find_failed"); - } -} diff --git a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/utls/Php_str___tst.java b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/utls/Php_str___tst.java deleted file mode 100644 index 03cdded33..000000000 --- a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/utls/Php_str___tst.java +++ /dev/null @@ -1,85 +0,0 @@ -/* -XOWA: the XOWA Offline Wiki Application -Copyright (C) 2012-2017 gnosygnu@gmail.com - -XOWA is licensed under the terms of the General Public License (GPL) Version 3, -or alternatively under the terms of the Apache License Version 2.0. - -You may use XOWA according to either of these licenses as is most appropriate -for your project on a case-by-case basis. - -The terms of each license can be found in the source code repository: - -GPLv3 License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-GPLv3.txt -Apache License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-APACHE2.txt -*/ -package gplx.xowa.mediawiki.includes.utls; import gplx.*; import gplx.xowa.*; import gplx.xowa.mediawiki.*; import gplx.xowa.mediawiki.includes.*; -import org.junit.*; import gplx.core.tests.*; import gplx.core.btries.*; -public class Php_str___tst { - private final Php_str___fxt fxt = new Php_str___fxt(); - @Test public void Strspn_fwd__byte() { - fxt.Test__strspn_fwd__byte("aaaaab", Byte_ascii.Ltr_a, 0, -1, 5); // basic - fxt.Test__strspn_fwd__byte("aaaaab", Byte_ascii.Ltr_a, 1, -1, 4); // bgn - fxt.Test__strspn_fwd__byte("aaaaab", Byte_ascii.Ltr_a, 1, 2, 2); // max - } - @Test public void Strspn_fwd__space_or_tab() { - fxt.Test__strspn_fwd__space_or_tab(" a", 0, -1, 5); // basic - fxt.Test__strspn_fwd__space_or_tab(" a", 1, -1, 4); // bgn - fxt.Test__strspn_fwd__space_or_tab(" a", 1, 2, 2); // max - } - @Test public void Strspn_bwd__byte() { - fxt.Test__strspn_bwd__byte("aaaaab", Byte_ascii.Ltr_a, 5, -1, 5); // basic - fxt.Test__strspn_bwd__byte("aaaaab", Byte_ascii.Ltr_a, 4, -1, 4); // bgn - fxt.Test__strspn_bwd__byte("aaaaab", Byte_ascii.Ltr_a, 4, 2, 2); // max - } - @Test public void Strspn_bwd__space_or_tab() { - fxt.Test__strspn_bwd__space_or_tab(" a", 5, -1, 5); // basic - fxt.Test__strspn_bwd__space_or_tab(" a", 4, -1, 4); // bgn - fxt.Test__strspn_bwd__space_or_tab(" a", 4, 2, 2); // max - } - @Test public void Substr__bgn_is_neg() { - fxt.Test__substr("abcde" , -1, "e"); - fxt.Test__substr("abcde" , -3, -1, "cd"); - } - @Test public void Strtr() { - fxt.Init__strtr_by_trie("01", "89", "02", "79"); - fxt.Test__strtr_by_trie("abc" , "abc"); // found=none - fxt.Test__strtr_by_trie("ab_01_cd" , "ab_89_cd"); // found=one - fxt.Test__strtr_by_trie("ab_01_cd_02_ef", "ab_89_cd_79_ef"); // found=many - fxt.Test__strtr_by_trie("01_ab" , "89_ab"); // BOS - fxt.Test__strtr_by_trie("ab_01" , "ab_89"); // EOS - } -} -class Php_str___fxt { - public void Test__strspn_fwd__byte(String src_str, byte find, int bgn, int max, int expd) { - byte[] src_bry = Bry_.new_u8(src_str); - Gftest.Eq__int(expd, Php_str_.Strspn_fwd__byte(src_bry, find, bgn, max, src_bry.length)); - } - public void Test__strspn_fwd__space_or_tab(String src_str, int bgn, int max, int expd) { - byte[] src_bry = Bry_.new_u8(src_str); - Gftest.Eq__int(expd, Php_str_.Strspn_fwd__space_or_tab(src_bry, bgn, max, src_bry.length)); - } - public void Test__strspn_bwd__byte(String src_str, byte find, int bgn, int max, int expd) { - Gftest.Eq__int(expd, Php_str_.Strspn_bwd__byte(Bry_.new_u8(src_str), find, bgn, max)); - } - public void Test__strspn_bwd__space_or_tab(String src_str, int bgn, int max, int expd) { - Gftest.Eq__int(expd, Php_str_.Strspn_bwd__space_or_tab(Bry_.new_u8(src_str), bgn, max)); - } - public void Test__substr(String src_str, int bgn, String expd) {Test__substr(src_str, bgn, String_.Len(src_str), expd);} - public void Test__substr(String src_str, int bgn, int len, String expd) { - Gftest.Eq__str(expd, Php_str_.Substr(Bry_.new_u8(src_str), bgn, len)); - } - private Btrie_slim_mgr strtr_trie; - public void Init__strtr_by_trie(String... kvs) { - if (strtr_trie == null) strtr_trie = Btrie_slim_mgr.cs(); - int len = kvs.length; - for (int i = 0; i < len; i += 2) { - strtr_trie.Add_str_str(kvs[i], kvs[i + 1]); - } - } - public void Test__strtr_by_trie(String src, String expd) { - Bry_bfr tmp = Bry_bfr_.New(); - Btrie_rv trv = new Btrie_rv(); - Gftest.Eq__str(expd, Php_str_.Strtr(Bry_.new_u8(src), strtr_trie, tmp, trv)); - } -} diff --git a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/utls/Xomw_ttl_utl.java b/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/utls/Xomw_ttl_utl.java deleted file mode 100644 index 2af6486bb..000000000 --- a/gplx.xowa.mediawiki/src/gplx/xowa/mediawiki/includes/utls/Xomw_ttl_utl.java +++ /dev/null @@ -1,118 +0,0 @@ -/* -XOWA: the XOWA Offline Wiki Application -Copyright (C) 2012-2017 gnosygnu@gmail.com - -XOWA is licensed under the terms of the General Public License (GPL) Version 3, -or alternatively under the terms of the Apache License Version 2.0. - -You may use XOWA according to either of these licenses as is most appropriate -for your project on a case-by-case basis. - -The terms of each license can be found in the source code repository: - -GPLv3 License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-GPLv3.txt -Apache License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-APACHE2.txt -*/ -package gplx.xowa.mediawiki.includes.utls; import gplx.*; import gplx.xowa.*; import gplx.xowa.mediawiki.*; import gplx.xowa.mediawiki.includes.*; -public class Xomw_ttl_utl { - // REF.MW: DefaultSettings.php - // Allowed title characters -- regex character class - // Don't change this unless you know what you're doing - // - // Problematic punctuation: - // - []{}|# Are needed for link syntax, never enable these - // - <> Causes problems with HTML escaping, don't use - // - % Enabled by default, minor problems with path to query rewrite rules, see below - // - + Enabled by default, but doesn't work with path to query rewrite rules, - // corrupted by apache - // - ? Enabled by default, but doesn't work with path to PATH_INFO rewrites - // - // All three of these punctuation problems can be avoided by using an alias, - // instead of a rewrite rule of either variety. - // - // The problem with % is that when using a path to query rewrite rule, URLs are - // double-unescaped: once by Apache's path conversion code, and again by PHP. So - // %253F, for example, becomes "?". Our code does not double-escape to compensate - // for this, indeed double escaping would break if the double-escaped title was - // passed in the query String rather than the path. This is a minor security issue - // because articles can be created such that they are hard to view or edit. - // - // In some rare cases you may wish to remove + for compatibility with old links. - // - // Theoretically 0x80-0x9F of ISO 8859-1 should be disallowed, but - // this breaks interlanguage links - // $wgLegalTitleChars = " %!\"$&'()*,\\-.\\/0-9:;=?@A-Z\\\\^_`a-z~\\x80-\\xFF+"; - // - // REGEX: - // without-backslash escaping --> \s%!"$&'()*,-./0-9:;=?@A-Z\^_`a-z~x80-xFF+ - // rearranged - // letters --> 0-9A-Za-z - // unicode-chars --> x80-xFF - // symbols --> \s%!"$&'()*,-./:;=?@\^_`~+" - // deliberately ignores - // control chars: 00-31,127 - // []{}|#<> - public static int Find_fwd_while_title(byte[] src, int src_bgn, int src_end, boolean[] valid) { - int cur = src_bgn; - while (true) { - if (cur == src_end) break; - byte b = src[cur]; - int b_len = gplx.core.intls.Utf8_.Len_of_char_by_1st_byte(b); - if (b_len == 1) { // ASCII - if (valid[b & 0xFF]) // valid; EX: "a0A B&$"; PATCH.JAVA:need to convert to unsigned byte - cur++; - else // invalid; EX: "<title>" - break; - } - else { // Multi-byte UTF8; NOTE: all sequences are valid - cur += b_len; - } - } - return cur; - } - private static boolean[] title_chars_valid; - public static boolean[] Title_chars_valid() { - if (title_chars_valid == null) { - title_chars_valid = new boolean[128]; - // add num and alpha - for (int i = Byte_ascii.Num_0; i <= Byte_ascii.Num_9; i++) - title_chars_valid[i] = true; - for (int i = Byte_ascii.Ltr_A; i <= Byte_ascii.Ltr_Z; i++) - title_chars_valid[i] = true; - for (int i = Byte_ascii.Ltr_a; i <= Byte_ascii.Ltr_z; i++) - title_chars_valid[i] = true; - - // add symbols: \s%!"$&'()*,-./:;=?@\^_`~+" - byte[] symbols = new byte[] - { Byte_ascii.Space - , Byte_ascii.Percent - , Byte_ascii.Bang - , Byte_ascii.Quote - , Byte_ascii.Amp - , Byte_ascii.Apos - , Byte_ascii.Paren_bgn - , Byte_ascii.Paren_end - , Byte_ascii.Star - , Byte_ascii.Comma - , Byte_ascii.Dash - , Byte_ascii.Dot - , Byte_ascii.Slash - , Byte_ascii.Colon - , Byte_ascii.Semic - , Byte_ascii.Eq - , Byte_ascii.Question - , Byte_ascii.At - , Byte_ascii.Backslash - , Byte_ascii.Pow - , Byte_ascii.Underline - , Byte_ascii.Tick - , Byte_ascii.Tilde - , Byte_ascii.Plus - }; - int symbols_len = symbols.length; - for (int i = 0; i < symbols_len; i++) - title_chars_valid[symbols[i]] = true; - } - return title_chars_valid; - } -} diff --git a/h origin master b/h origin master deleted file mode 100644 index a4acdb689..000000000 --- a/h origin master +++ /dev/null @@ -1,213 +0,0 @@ - 100_core/src/gplx/Array_.java | 20 +- - 100_core/src/gplx/Array__tst.java | 20 +- - 100_core/src/gplx/Bool_.java | 20 +- - 100_core/src/gplx/Bool__tst.java | 20 +- - 100_core/src/gplx/Bry_.java | 20 +- - 100_core/src/gplx/Bry__tst.java | 20 +- - 100_core/src/gplx/Bry_bfr.java | 20 +- - 100_core/src/gplx/Bry_bfr_.java | 20 +- - 100_core/src/gplx/Bry_bfr_tst.java | 20 +- - 100_core/src/gplx/Bry_find_.java | 20 +- - 100_core/src/gplx/Bry_find__tst.java | 20 +- - 100_core/src/gplx/Bry_fmt.java | 20 +- - 100_core/src/gplx/Bry_split_.java | 20 +- - 100_core/src/gplx/Bry_split__tst.java | 20 +- - 100_core/src/gplx/Byte_.java | 20 +- - 100_core/src/gplx/Byte__tst.java | 20 +- - 100_core/src/gplx/Byte_ascii.java | 20 +- - 100_core/src/gplx/Cancelable.java | 20 +- - 100_core/src/gplx/Cancelable_.java | 20 +- - 100_core/src/gplx/Char_.java | 20 +- - 100_core/src/gplx/CompareAble.java | 20 +- - 100_core/src/gplx/CompareAble_.java | 20 +- - 100_core/src/gplx/DateAdp.java | 20 +- - 100_core/src/gplx/DateAdp_.java | 20 +- - 100_core/src/gplx/DateAdp__tst.java | 20 +- - 100_core/src/gplx/Datetime_now.java | 20 +- - 100_core/src/gplx/Decimal_adp.java | 20 +- - 100_core/src/gplx/Decimal_adp_.java | 20 +- - 100_core/src/gplx/Decimal_adp__tst.java | 20 +- - 100_core/src/gplx/Double_.java | 20 +- - 100_core/src/gplx/Double__tst.java | 20 +- - 100_core/src/gplx/Enm_.java | 20 +- - 100_core/src/gplx/Err.java | 20 +- - 100_core/src/gplx/Err_.java | 20 +- - 100_core/src/gplx/Err_tst.java | 20 +- - 100_core/src/gplx/Float_.java | 20 +- - 100_core/src/gplx/GfoMsg.java | 20 +- - 100_core/src/gplx/GfoMsgUtl.java | 20 +- - 100_core/src/gplx/GfoMsg_.java | 20 +- - 100_core/src/gplx/GfoMsg_tst.java | 20 +- - 100_core/src/gplx/GfoTemplate.java | 20 +- - 100_core/src/gplx/GfoTemplateFactory.java | 20 +- - 100_core/src/gplx/Gfo_evt_itm.java | 20 +- - 100_core/src/gplx/Gfo_evt_mgr.java | 20 +- - 100_core/src/gplx/Gfo_evt_mgr_.java | 20 +- - 100_core/src/gplx/Gfo_evt_mgr_owner.java | 20 +- - 100_core/src/gplx/Gfo_evt_mgr_tst.java | 20 +- - 100_core/src/gplx/Gfo_invk.java | 20 +- - 100_core/src/gplx/Gfo_invk_.java | 20 +- - 100_core/src/gplx/Gfo_invk_cmd.java | 20 +- - 100_core/src/gplx/Gfo_invk_cmd_mgr.java | 20 +- - 100_core/src/gplx/Gfo_invk_cmd_mgr_owner.java | 20 +- - 100_core/src/gplx/Gfo_invk_root_wkr.java | 20 +- - 100_core/src/gplx/Gfo_invk_to_str.java | 20 +- - 100_core/src/gplx/Gfo_log.java | 20 +- - 100_core/src/gplx/Gfo_log_.java | 20 +- - 100_core/src/gplx/Gfo_log_bfr.java | 20 +- - 100_core/src/gplx/Gfo_usr_dlg.java | 20 +- - 100_core/src/gplx/Gfo_usr_dlg_.java | 20 +- - 100_core/src/gplx/Gfo_usr_dlg__gui.java | 20 +- - 100_core/src/gplx/Gfo_usr_dlg__gui_.java | 20 +- - 100_core/src/gplx/Gfo_usr_dlg__gui_test.java | 20 +- - 100_core/src/gplx/Gfo_usr_dlg__log.java | 20 +- - 100_core/src/gplx/Gfo_usr_dlg__log_.java | 20 +- - 100_core/src/gplx/Gfo_usr_dlg__log_base.java | 20 +- - 100_core/src/gplx/Gfo_usr_dlg_base.java | 20 +- - 100_core/src/gplx/GfsCtx.java | 20 +- - 100_core/src/gplx/Guid_adp.java | 20 +- - 100_core/src/gplx/Guid_adp_.java | 20 +- - 100_core/src/gplx/Guid_adp__tst.java | 20 +- - 100_core/src/gplx/Hash_adp.java | 20 +- - 100_core/src/gplx/Hash_adp_.java | 20 +- - 100_core/src/gplx/Hash_adp_bry.java | 20 +- - 100_core/src/gplx/Hash_adp_bry_tst.java | 20 +- - 100_core/src/gplx/Int_.java | 20 +- - 100_core/src/gplx/Int__tst.java | 20 +- - 100_core/src/gplx/Internal.java | 20 +- - 100_core/src/gplx/Io_mgr.java | 20 +- - 100_core/src/gplx/Io_mgr__tst.java | 20 +- - 100_core/src/gplx/Io_url.java | 20 +- - 100_core/src/gplx/Io_url_.java | 20 +- - 100_core/src/gplx/Io_url__tst.java | 20 +- - 100_core/src/gplx/Keyval.java | 20 +- - 100_core/src/gplx/Keyval_.java | 20 +- - 100_core/src/gplx/Keyval_hash.java | 20 +- - 100_core/src/gplx/Keyval_list.java | 20 +- - 100_core/src/gplx/List_adp.java | 20 +- - 100_core/src/gplx/List_adp_.java | 20 +- - 100_core/src/gplx/List_adp_base.java | 20 +- - 100_core/src/gplx/List_adp_tst.java | 20 +- - 100_core/src/gplx/Long_.java | 20 +- - 100_core/src/gplx/Long__tst.java | 20 +- - 100_core/src/gplx/Math_.java | 20 +- - 100_core/src/gplx/Math__tst.java | 20 +- - 100_core/src/gplx/New.java | 20 +- - 100_core/src/gplx/ObjAry.java | 20 +- - 100_core/src/gplx/Object_.java | 20 +- - 100_core/src/gplx/Object__tst.java | 20 +- - 100_core/src/gplx/Ordered_hash.java | 20 +- - 100_core/src/gplx/Ordered_hash_.java | 20 +- - 100_core/src/gplx/Ordered_hash_base.java | 20 +- - 100_core/src/gplx/Ordered_hash_tst.java | 20 +- - 100_core/src/gplx/RandomAdp.java | 20 +- - 100_core/src/gplx/RandomAdp_.java | 20 +- - 100_core/src/gplx/Rls_able.java | 20 +- - 100_core/src/gplx/Rls_able_.java | 20 +- - 100_core/src/gplx/Short_.java | 20 +- - 100_core/src/gplx/String_.java | 20 +- - 100_core/src/gplx/String__tst.java | 20 +- - 100_core/src/gplx/Tfds.java | 20 +- - 100_core/src/gplx/TfdsTstr_fxt.java | 20 +- - 100_core/src/gplx/Time_span.java | 20 +- - 100_core/src/gplx/Time_span_.java | 20 +- - 100_core/src/gplx/To_str_able.java | 20 +- - 100_core/src/gplx/To_str_able_.java | 20 +- - 100_core/src/gplx/Type_adp_.java | 20 +- - 100_core/src/gplx/UsrDlg.java | 20 +- - 100_core/src/gplx/UsrDlg_.java | 20 +- - 100_core/src/gplx/UsrMsg.java | 20 +- - 100_core/src/gplx/UsrMsgWkr.java | 20 +- - 100_core/src/gplx/UsrMsgWkr_.java | 20 +- - 100_core/src/gplx/UsrMsgWkr_console.java | 20 +- - 100_core/src/gplx/UsrMsgWkr_test.java | 20 +- - 100_core/src/gplx/Virtual.java | 20 +- - 100_core/src/gplx/Yn.java | 20 +- - 100_core/src/gplx/core/bits/Bitmask_.java | 20 +- - 100_core/src/gplx/core/brys/Bfr_arg.java | 20 +- - 100_core/src/gplx/core/brys/Bfr_arg_.java | 20 +- - 100_core/src/gplx/core/brys/Bfr_arg_clearable.java | 20 +- - 100_core/src/gplx/core/brys/Bry_bfr_able.java | 20 +- - 100_core/src/gplx/core/brys/Bry_bfr_able_.java | 20 +- - 100_core/src/gplx/core/brys/Bry_bfr_mkr.java | 20 +- - 100_core/src/gplx/core/brys/Bry_bfr_mkr_mgr.java | 20 +- - 100_core/src/gplx/core/brys/Bry_bfr_mkr_tst.java | 20 +- - 100_core/src/gplx/core/brys/Bry_err_wkr.java | 20 +- - 100_core/src/gplx/core/brys/Bry_rdr.java | 20 +- - 100_core/src/gplx/core/brys/Bry_rdr_old.java | 20 +- - 100_core/src/gplx/core/brys/Bry_rdr_tst.java | 20 +- - 100_core/src/gplx/core/brys/Bry_split_wkr.java | 20 +- - 100_core/src/gplx/core/brys/args/Bfr_arg__bry.java | 20 +- - .../src/gplx/core/brys/args/Bfr_arg__bry_ary.java | 20 +- - .../src/gplx/core/brys/args/Bfr_arg__bry_fmt.java | 20 +- - .../src/gplx/core/brys/args/Bfr_arg__bry_fmtr.java | 20 +- - .../src/gplx/core/brys/args/Bfr_arg__byte.java | 20 +- - .../gplx/core/brys/args/Bfr_arg__decimal_int.java | 20 +- - 100_core/src/gplx/core/brys/args/Bfr_arg__int.java | 20 +- - .../src/gplx/core/brys/args/Bfr_arg__time.java | 20 +- - .../src/gplx/core/brys/args/Bfr_arg__time_tst.java | 20 +- - 100_core/src/gplx/core/brys/fmtrs/Bry_fmtr.java | 20 +- - .../gplx/core/brys/fmtrs/Bry_fmtr_eval_mgr.java | 20 +- - .../gplx/core/brys/fmtrs/Bry_fmtr_eval_mgr_.java | 20 +- - .../core/brys/fmtrs/Bry_fmtr_eval_mgr_gfs.java | 20 +- - .../src/gplx/core/brys/fmtrs/Bry_fmtr_itm.java | 20 +- - .../src/gplx/core/brys/fmtrs/Bry_fmtr_tst.java | 20 +- - .../src/gplx/core/brys/fmtrs/Bry_fmtr_vals.java | 20 +- - 100_core/src/gplx/core/brys/fmts/Bfr_fmt_arg.java | 20 +- - 100_core/src/gplx/core/brys/fmts/Bry_fmt_itm.java | 20 +- - .../src/gplx/core/brys/fmts/Bry_fmt_parser_.java | 20 +- - 100_core/src/gplx/core/brys/fmts/Bry_fmt_tst.java | 20 +- - .../gplx/core/brys/fmts/Bry_keys_parser_tst.java | 20 +- - 100_core/src/gplx/core/btries/Btrie_bwd_mgr.java | 20 +- - .../src/gplx/core/btries/Btrie_bwd_mgr_tst.java | 20 +- - 100_core/src/gplx/core/btries/Btrie_fast_mgr.java | 20 +- - .../src/gplx/core/btries/Btrie_fast_mgr_tst.java | 20 +- - 100_core/src/gplx/core/btries/Btrie_itm_stub.java | 20 +- - 100_core/src/gplx/core/btries/Btrie_mgr.java | 20 +- - 100_core/src/gplx/core/btries/Btrie_rv.java | 20 +- - 100_core/src/gplx/core/btries/Btrie_slim_itm.java | 20 +- - .../src/gplx/core/btries/Btrie_slim_itm_tst.java | 20 +- - 100_core/src/gplx/core/btries/Btrie_slim_mgr.java | 20 +- - .../src/gplx/core/btries/Btrie_slim_mgr_tst.java | 20 +- - 100_core/src/gplx/core/btries/Btrie_u8_itm.java | 20 +- - 100_core/src/gplx/core/btries/Btrie_u8_mgr.java | 20 +- - 100_core/src/gplx/core/consoles/Console_adp.java | 20 +- - 100_core/src/gplx/core/consoles/Console_adp_.java | 20 +- - .../src/gplx/core/consoles/Console_adp__mem.java | 20 +- - .../src/gplx/core/consoles/Console_adp__sys.java | 20 +- - 100_core/src/gplx/core/criterias/Criteria.java | 20 +- - 100_core/src/gplx/core/criterias/Criteria_.java | 20 +- - .../src/gplx/core/criterias/Criteria_between.java | 20 +- - .../gplx/core/criterias/Criteria_bool_base.java | 20 +- - .../src/gplx/core/criterias/Criteria_comp.java | 20 +- - 100_core/src/gplx/core/criterias/Criteria_eq.java | 20 +- - 100_core/src/gplx/core/criterias/Criteria_fld.java | 20 +- - 100_core/src/gplx/core/criterias/Criteria_in.java | 20 +- - .../gplx/core/criterias/Criteria_ioItm_tst.java | 20 +- - .../src/gplx/core/criterias/Criteria_ioMatch.java | 20 +- - .../src/gplx/core/criterias/Criteria_like.java | 20 +- - 100_core/src/gplx/core/criterias/Criteria_not.java | 20 +- - 100_core/src/gplx/core/criterias/Criteria_tst.java | 20 +- - 100_core/src/gplx/core/encoders/B85_fp_.java | 20 +- - 100_core/src/gplx/core/encoders/B85_fp__tst.java | 20 +- - 100_core/src/gplx/core/encoders/Base85_.java | 20 +- - 100_core/src/gplx/core/encoders/Base85__tst.java | 20 +- - 100_core/src/gplx/core/encoders/Gfo_hzip_int_.java | 20 +- - 100_core/src/gplx/core/encoders/Hex_utl_.java | 20 +- - 100_core/src/gplx/core/encoders/Hex_utl__tst.java | 20 +- - 100_core/src/gplx/core/envs/Env_.java | 20 +- - 100_core/src/gplx/core/envs/Jar_adp_.java | 20 +- - 100_core/src/gplx/core/envs/Op_sys.java | 20 +- - 100_core/src/gplx/core/envs/Op_sys_.java | 20 +- - 100_core/src/gplx/core/envs/Process_adp.java | 20 +- - 100_core/src/gplx/core/envs/Process_adp_tst.java | 20 +- - 100_core/src/gplx/core/envs/Runtime_.java | 20 +- - 100_core/src/gplx/core/envs/System_.java | 20 +- - 100_core/src/gplx/core/errs/Err_msg.java | 20 +- - 100_core/src/gplx/core/gfo_ndes/GfoFld.java | 20 +- - 100_core/src/gplx/core/gfo_ndes/GfoFldList.java | 20 +- - 100_core/src/gplx/core/gfo_ndes/GfoFldList_.java | 20 +- - 100_core/src/gplx/core/gfo_ndes/GfoNde.java | 20 +- - 100_core/src/gplx/core/gfo_ndes/GfoNdeFxt.java | 20 +- - 100_core/src/gplx/core/gfo_ndes/GfoNdeList.java | 20 +- - 100_core/src/gplx/core/gfo_ndes/GfoNdeList_.java | 20 [ \ No newline at end of file