2 #include <php/CoreParserFunctions.h>
3 #include <php/DateFormatter.h>
4 #include <php/LinkHolderArray.h>
5 #include <php/Parser.h>
6 #include <php/ParserOptions.h>
7 #include <php/ParserOutput.h>
8 #include <php/Preprocessor.h>
10 #include <cpp/ext/ext.h>
13 ///////////////////////////////////////////////////////////////////////////////
15 const StaticString k_DB_MASTER
= "DB_MASTER";
16 const StaticString k_NS_MEDIAWIKI
= "NS_MEDIAWIKI";
17 const StaticString k_NS_TEMPLATE
= "NS_TEMPLATE";
18 const StaticString k_TS_MW
= "TS_MW";
19 const StaticString k_TS_UNIX
= "TS_UNIX";
20 const StaticString k_SFH_OBJECT_ARGS
= "SFH_OBJECT_ARGS";
21 const StaticString k_SFH_NO_HASH
= "SFH_NO_HASH";
24 inline Variant
df_lambda_6(CVarRef aa
, Variant
&p0
, Variant
&p1
, Variant
&p2
, Variant
&p3
) {
25 Variant a0
; if (aa
.is(KindOfArray
)) a0
= aa
;
33 inline Variant
df_lambda_7(CVarRef aa
, Variant
&p0
, Variant
&p1
) {
34 Variant a0
; if (aa
.is(KindOfArray
)) a0
= aa
;
40 inline Variant
df_lambda_8(CVarRef aa
, Variant
&p0
, Variant
&p1
) {
41 Variant a0
; if (aa
.is(KindOfArray
)) a0
= aa
;
47 inline Variant
df_lambda_9(CVarRef aa
, Variant
&p0
, Variant
&p1
) {
48 Variant a0
; if (aa
.is(KindOfArray
)) a0
= aa
;
54 inline Variant
df_lambda_10(CVarRef aa
, Variant
&p0
, Variant
&p1
) {
55 Variant a0
; if (aa
.is(KindOfArray
)) a0
= aa
;
61 inline Variant
df_lambda_11(CVarRef aa
, Variant
&p0
, Variant
&p1
) {
62 Variant a0
; if (aa
.is(KindOfArray
)) a0
= aa
;
68 inline Variant
df_lambda_12(CVarRef aa
, Variant
&p0
, Variant
&p1
) {
69 Variant a0
; if (aa
.is(KindOfArray
)) a0
= aa
;
75 inline Variant
df_lambda_13(CVarRef aa
, Variant
&p0
, Variant
&p1
) {
76 Variant a0
; if (aa
.is(KindOfArray
)) a0
= aa
;
82 inline Variant
df_lambda_14(CVarRef aa
, Variant
&p0
, Variant
&p1
) {
83 Variant a0
; if (aa
.is(KindOfArray
)) a0
= aa
;
89 inline Variant
df_lambda_15(CVarRef aa
, Variant
&p0
, Variant
&p1
) {
90 Variant a0
; if (aa
.is(KindOfArray
)) a0
= aa
;
96 inline Variant
df_lambda_16(CVarRef aa
, Variant
&p0
, Variant
&p1
) {
97 Variant a0
; if (aa
.is(KindOfArray
)) a0
= aa
;
103 inline Variant
df_lambda_17(CVarRef aa
, Variant
&p0
, Variant
&p1
) {
104 Variant a0
; if (aa
.is(KindOfArray
)) a0
= aa
;
110 inline Variant
df_lambda_18(CVarRef aa
, Variant
&p0
, Variant
&p1
) {
111 Variant a0
; if (aa
.is(KindOfArray
)) a0
= aa
;
117 /* preface finishes */
118 /* SRC: Parser.php line 5183 */
119 Variant
c_stripstate::os_get(const char *s
, int64 hash
) {
120 return c_ObjectData::os_get(s
, hash
);
122 Variant
&c_stripstate::os_lval(const char *s
, int64 hash
) {
123 return c_ObjectData::os_lval(s
, hash
);
125 void c_stripstate::o_get(ArrayElementVec
&props
) const {
126 props
.push_back(NEW(ArrayElement
)("general", m_general
.isReferenced() ? ref(m_general
) : m_general
));
127 props
.push_back(NEW(ArrayElement
)("nowiki", m_nowiki
.isReferenced() ? ref(m_nowiki
) : m_nowiki
));
128 c_ObjectData::o_get(props
);
130 bool c_stripstate::o_exists(CStrRef s
, int64 hash
) const {
131 if (hash
< 0) hash
= hash_string(s
.data(), s
.length());
134 HASH_EXISTS_STRING(0x78258C7EF69CF55DLL
, nowiki
, 6);
137 HASH_EXISTS_STRING(0x661B15A9C00F7127LL
, general
, 7);
142 return c_ObjectData::o_exists(s
, hash
);
144 Variant
c_stripstate::o_get(CStrRef s
, int64 hash
) {
145 if (hash
< 0) hash
= hash_string(s
.data(), s
.length());
148 HASH_RETURN_STRING(0x78258C7EF69CF55DLL
, m_nowiki
,
152 HASH_RETURN_STRING(0x661B15A9C00F7127LL
, m_general
,
158 return c_ObjectData::o_get(s
, hash
);
160 Variant
c_stripstate::o_set(CStrRef s
, int64 hash
, CVarRef v
,bool forInit
/* = false */) {
161 if (hash
< 0) hash
= hash_string(s
.data(), s
.length());
164 HASH_SET_STRING(0x78258C7EF69CF55DLL
, m_nowiki
,
168 HASH_SET_STRING(0x661B15A9C00F7127LL
, m_general
,
174 return c_ObjectData::o_set(s
, hash
, v
, forInit
);
176 Variant
&c_stripstate::o_lval(CStrRef s
, int64 hash
) {
177 if (hash
< 0) hash
= hash_string(s
.data(), s
.length());
180 HASH_RETURN_STRING(0x78258C7EF69CF55DLL
, m_nowiki
,
184 HASH_RETURN_STRING(0x661B15A9C00F7127LL
, m_general
,
190 return c_ObjectData::o_lval(s
, hash
);
192 Variant
c_stripstate::os_constant(const char *s
) {
193 return c_ObjectData::os_constant(s
);
195 IMPLEMENT_CLASS(stripstate
)
196 ObjectData
*c_stripstate::create() {
201 ObjectData
*c_stripstate::dynCreate(CArrRef params
, bool init
/* = true */) {
206 void c_stripstate::dynConstruct(CArrRef params
) {
209 ObjectData
*c_stripstate::cloneImpl() {
210 c_stripstate
*obj
= NEW(c_stripstate
)();
214 void c_stripstate::cloneSet(c_stripstate
*clone
) {
215 clone
->m_general
= m_general
.isReferenced() ? ref(m_general
) : m_general
;
216 clone
->m_nowiki
= m_nowiki
.isReferenced() ? ref(m_nowiki
) : m_nowiki
;
217 ObjectData::cloneSet(clone
);
219 Variant
c_stripstate::o_invoke(const char *s
, CArrRef params
, int64 hash
, bool fatal
) {
220 if (hash
< 0) hash
= hash_string_i(s
);
223 HASH_GUARD(0x2374179DF576FCA9LL
, unstripnowiki
) {
224 return (t_unstripnowiki(params
.rvalAt(0)));
226 HASH_GUARD(0x695FA349798CF769LL
, unstripgeneral
) {
227 return (t_unstripgeneral(params
.rvalAt(0)));
231 HASH_GUARD(0x540C7C6FAA3D937BLL
, unstripboth
) {
232 return (t_unstripboth(params
.rvalAt(0)));
236 HASH_GUARD(0x0D31D0AC229C615FLL
, __construct
) {
237 return (t___construct(), null
);
243 return c_ObjectData::o_invoke(s
, params
, hash
, fatal
);
245 Variant
c_stripstate::o_invoke_few_args(const char *s
, int64 hash
, int count
, CVarRef a0
, CVarRef a1
, CVarRef a2
, CVarRef a3
, CVarRef a4
, CVarRef a5
) {
246 if (hash
< 0) hash
= hash_string_i(s
);
249 HASH_GUARD(0x2374179DF576FCA9LL
, unstripnowiki
) {
250 return (t_unstripnowiki(a0
));
252 HASH_GUARD(0x695FA349798CF769LL
, unstripgeneral
) {
253 return (t_unstripgeneral(a0
));
257 HASH_GUARD(0x540C7C6FAA3D937BLL
, unstripboth
) {
258 return (t_unstripboth(a0
));
262 HASH_GUARD(0x0D31D0AC229C615FLL
, __construct
) {
263 return (t___construct(), null
);
269 return c_ObjectData::o_invoke_few_args(s
, hash
, count
, a0
, a1
, a2
, a3
, a4
, a5
);
271 Variant
c_stripstate::os_invoke(const char *c
, const char *s
, CArrRef params
, int64 hash
, bool fatal
) {
272 return c_ObjectData::os_invoke(c
, s
, params
, hash
, fatal
);
274 Variant cw_stripstate$
os_get(const char *s
) {
275 return c_stripstate::os_get(s
, -1);
277 Variant
&cw_stripstate$
os_lval(const char *s
) {
278 return c_stripstate::os_lval(s
, -1);
280 Variant cw_stripstate$
os_constant(const char *s
) {
281 return c_stripstate::os_constant(s
);
283 Variant cw_stripstate$
os_invoke(const char *c
, const char *s
, CArrRef params
, bool fatal
/* = true */) {
284 return c_stripstate::os_invoke(c
, s
, params
, -1, fatal
);
286 void c_stripstate::init() {
290 /* SRC: Parser.php line 5186 */
291 void c_stripstate::t___construct() {
292 INSTANCE_METHOD_INJECTION(StripState
, StripState::__construct
);
293 bool oldInCtor
= gasInCtor(true);
294 (m_general
= LINE(5187,create_object("replacementarray", Array())));
295 (m_nowiki
= LINE(5188,create_object("replacementarray", Array())));
296 gasInCtor(oldInCtor
);
298 /* SRC: Parser.php line 5191 */
299 Variant
c_stripstate::t_unstripgeneral(Variant v_text
) {
300 INSTANCE_METHOD_INJECTION(StripState
, StripState::unstripGeneral
);
303 LINE(5192,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "StripState::unstripGeneral").create()), 0x0000000075359BAFLL
));
307 LOOP_COUNTER_CHECK(1);
309 (v_oldText
= v_text
);
310 (v_text
= LINE(5195,m_general
.o_invoke_few_args("replace", 0x42FAC655280A6146LL
, 1, v_text
)));
312 } while (!same(v_text
, v_oldText
));
314 LINE(5197,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "StripState::unstripGeneral").create()), 0x00000000B599F276LL
));
317 /* SRC: Parser.php line 5201 */
318 Variant
c_stripstate::t_unstripnowiki(Variant v_text
) {
319 INSTANCE_METHOD_INJECTION(StripState
, StripState::unstripNoWiki
);
322 LINE(5202,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "StripState::unstripNoWiki").create()), 0x0000000075359BAFLL
));
326 LOOP_COUNTER_CHECK(2);
328 (v_oldText
= v_text
);
329 (v_text
= LINE(5205,m_nowiki
.o_invoke_few_args("replace", 0x42FAC655280A6146LL
, 1, v_text
)));
331 } while (!same(v_text
, v_oldText
));
333 LINE(5207,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "StripState::unstripNoWiki").create()), 0x00000000B599F276LL
));
336 /* SRC: Parser.php line 5211 */
337 Variant
c_stripstate::t_unstripboth(Variant v_text
) {
338 INSTANCE_METHOD_INJECTION(StripState
, StripState::unstripBoth
);
341 LINE(5212,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "StripState::unstripBoth").create()), 0x0000000075359BAFLL
));
345 LOOP_COUNTER_CHECK(3);
347 (v_oldText
= v_text
);
348 (v_text
= LINE(5215,m_general
.o_invoke_few_args("replace", 0x42FAC655280A6146LL
, 1, v_text
)));
349 (v_text
= LINE(5216,m_nowiki
.o_invoke_few_args("replace", 0x42FAC655280A6146LL
, 1, v_text
)));
351 } while (!same(v_text
, v_oldText
));
353 LINE(5218,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "StripState::unstripBoth").create()), 0x00000000B599F276LL
));
356 /* SRC: Parser.php line 46 */
357 const StaticString q_parser_VERSION
= "1.6.4";
358 const int64 q_parser_SFH_NO_HASH
= 1LL;
359 const int64 q_parser_SFH_OBJECT_ARGS
= 2LL;
360 const StaticString q_parser_EXT_LINK_URL_CLASS
= "[^][<>\"\\x00-\\x20\\x7F]";
361 const StaticString q_parser_EXT_IMAGE_REGEX
= "/^(http:\\/\\/|https:\\/\\/)([^][<>\"\\x00-\\x20\\x7F]+)\n\t\t\\/([A-Za-z0-9_.,~%\\-+&;#*\?!=()@\\x80-\\xFF]+)\\.((\?i)gif|png|jpg|jpeg)$/Sx";
362 const int64 q_parser_COLON_STATE_TEXT
= 0LL;
363 const int64 q_parser_COLON_STATE_TAG
= 1LL;
364 const int64 q_parser_COLON_STATE_TAGSTART
= 2LL;
365 const int64 q_parser_COLON_STATE_CLOSETAG
= 3LL;
366 const int64 q_parser_COLON_STATE_TAGSLASH
= 4LL;
367 const int64 q_parser_COLON_STATE_COMMENT
= 5LL;
368 const int64 q_parser_COLON_STATE_COMMENTDASH
= 6LL;
369 const int64 q_parser_COLON_STATE_COMMENTDASHDASH
= 7LL;
370 const int64 q_parser_PTD_FOR_INCLUSION
= 1LL;
371 const int64 q_parser_OT_HTML
= 1LL;
372 const int64 q_parser_OT_WIKI
= 2LL;
373 const int64 q_parser_OT_PREPROCESS
= 3LL;
374 const int64 q_parser_OT_MSG
= 3LL;
375 const StaticString q_parser_MARKER_SUFFIX
= "-QINU\177";
376 Variant
c_parser::os_get(const char *s
, int64 hash
) {
377 return c_ObjectData::os_get(s
, hash
);
379 Variant
&c_parser::os_lval(const char *s
, int64 hash
) {
380 return c_ObjectData::os_lval(s
, hash
);
382 void c_parser::o_get(ArrayElementVec
&props
) const {
383 props
.push_back(NEW(ArrayElement
)("mTagHooks", m_mTagHooks
.isReferenced() ? ref(m_mTagHooks
) : m_mTagHooks
));
384 props
.push_back(NEW(ArrayElement
)("mTransparentTagHooks", m_mTransparentTagHooks
.isReferenced() ? ref(m_mTransparentTagHooks
) : m_mTransparentTagHooks
));
385 props
.push_back(NEW(ArrayElement
)("mFunctionHooks", m_mFunctionHooks
.isReferenced() ? ref(m_mFunctionHooks
) : m_mFunctionHooks
));
386 props
.push_back(NEW(ArrayElement
)("mFunctionSynonyms", m_mFunctionSynonyms
.isReferenced() ? ref(m_mFunctionSynonyms
) : m_mFunctionSynonyms
));
387 props
.push_back(NEW(ArrayElement
)("mVariables", m_mVariables
.isReferenced() ? ref(m_mVariables
) : m_mVariables
));
388 props
.push_back(NEW(ArrayElement
)("mImageParams", m_mImageParams
.isReferenced() ? ref(m_mImageParams
) : m_mImageParams
));
389 props
.push_back(NEW(ArrayElement
)("mImageParamsMagicArray", m_mImageParamsMagicArray
.isReferenced() ? ref(m_mImageParamsMagicArray
) : m_mImageParamsMagicArray
));
390 props
.push_back(NEW(ArrayElement
)("mStripList", m_mStripList
.isReferenced() ? ref(m_mStripList
) : m_mStripList
));
391 props
.push_back(NEW(ArrayElement
)("mMarkerIndex", m_mMarkerIndex
.isReferenced() ? ref(m_mMarkerIndex
) : m_mMarkerIndex
));
392 props
.push_back(NEW(ArrayElement
)("mPreprocessor", m_mPreprocessor
.isReferenced() ? ref(m_mPreprocessor
) : m_mPreprocessor
));
393 props
.push_back(NEW(ArrayElement
)("mExtLinkBracketedRegex", m_mExtLinkBracketedRegex
.isReferenced() ? ref(m_mExtLinkBracketedRegex
) : m_mExtLinkBracketedRegex
));
394 props
.push_back(NEW(ArrayElement
)("mUrlProtocols", m_mUrlProtocols
.isReferenced() ? ref(m_mUrlProtocols
) : m_mUrlProtocols
));
395 props
.push_back(NEW(ArrayElement
)("mDefaultStripList", m_mDefaultStripList
.isReferenced() ? ref(m_mDefaultStripList
) : m_mDefaultStripList
));
396 props
.push_back(NEW(ArrayElement
)("mVarCache", m_mVarCache
.isReferenced() ? ref(m_mVarCache
) : m_mVarCache
));
397 props
.push_back(NEW(ArrayElement
)("mConf", m_mConf
.isReferenced() ? ref(m_mConf
) : m_mConf
));
398 props
.push_back(NEW(ArrayElement
)("mFunctionTagHooks", m_mFunctionTagHooks
.isReferenced() ? ref(m_mFunctionTagHooks
) : m_mFunctionTagHooks
));
399 props
.push_back(NEW(ArrayElement
)("mOutput", m_mOutput
.isReferenced() ? ref(m_mOutput
) : m_mOutput
));
400 props
.push_back(NEW(ArrayElement
)("mAutonumber", m_mAutonumber
.isReferenced() ? ref(m_mAutonumber
) : m_mAutonumber
));
401 props
.push_back(NEW(ArrayElement
)("mDTopen", m_mDTopen
.isReferenced() ? ref(m_mDTopen
) : m_mDTopen
));
402 props
.push_back(NEW(ArrayElement
)("mStripState", m_mStripState
.isReferenced() ? ref(m_mStripState
) : m_mStripState
));
403 props
.push_back(NEW(ArrayElement
)("mIncludeCount", m_mIncludeCount
.isReferenced() ? ref(m_mIncludeCount
) : m_mIncludeCount
));
404 props
.push_back(NEW(ArrayElement
)("mArgStack", m_mArgStack
.isReferenced() ? ref(m_mArgStack
) : m_mArgStack
));
405 props
.push_back(NEW(ArrayElement
)("mLastSection", m_mLastSection
.isReferenced() ? ref(m_mLastSection
) : m_mLastSection
));
406 props
.push_back(NEW(ArrayElement
)("mInPre", m_mInPre
.isReferenced() ? ref(m_mInPre
) : m_mInPre
));
407 props
.push_back(NEW(ArrayElement
)("mLinkHolders", m_mLinkHolders
.isReferenced() ? ref(m_mLinkHolders
) : m_mLinkHolders
));
408 props
.push_back(NEW(ArrayElement
)("mLinkID", m_mLinkID
.isReferenced() ? ref(m_mLinkID
) : m_mLinkID
));
409 props
.push_back(NEW(ArrayElement
)("mIncludeSizes", m_mIncludeSizes
.isReferenced() ? ref(m_mIncludeSizes
) : m_mIncludeSizes
));
410 props
.push_back(NEW(ArrayElement
)("mPPNodeCount", m_mPPNodeCount
.isReferenced() ? ref(m_mPPNodeCount
) : m_mPPNodeCount
));
411 props
.push_back(NEW(ArrayElement
)("mDefaultSort", m_mDefaultSort
.isReferenced() ? ref(m_mDefaultSort
) : m_mDefaultSort
));
412 props
.push_back(NEW(ArrayElement
)("mTplExpandCache", m_mTplExpandCache
.isReferenced() ? ref(m_mTplExpandCache
) : m_mTplExpandCache
));
413 props
.push_back(NEW(ArrayElement
)("mTplRedirCache", m_mTplRedirCache
.isReferenced() ? ref(m_mTplRedirCache
) : m_mTplRedirCache
));
414 props
.push_back(NEW(ArrayElement
)("mTplDomCache", m_mTplDomCache
.isReferenced() ? ref(m_mTplDomCache
) : m_mTplDomCache
));
415 props
.push_back(NEW(ArrayElement
)("mHeadings", m_mHeadings
.isReferenced() ? ref(m_mHeadings
) : m_mHeadings
));
416 props
.push_back(NEW(ArrayElement
)("mDoubleUnderscores", m_mDoubleUnderscores
.isReferenced() ? ref(m_mDoubleUnderscores
) : m_mDoubleUnderscores
));
417 props
.push_back(NEW(ArrayElement
)("mExpensiveFunctionCount", m_mExpensiveFunctionCount
.isReferenced() ? ref(m_mExpensiveFunctionCount
) : m_mExpensiveFunctionCount
));
418 props
.push_back(NEW(ArrayElement
)("mOptions", m_mOptions
.isReferenced() ? ref(m_mOptions
) : m_mOptions
));
419 props
.push_back(NEW(ArrayElement
)("mTitle", m_mTitle
.isReferenced() ? ref(m_mTitle
) : m_mTitle
));
420 props
.push_back(NEW(ArrayElement
)("mOutputType", m_mOutputType
.isReferenced() ? ref(m_mOutputType
) : m_mOutputType
));
421 props
.push_back(NEW(ArrayElement
)("ot", m_ot
.isReferenced() ? ref(m_ot
) : m_ot
));
422 props
.push_back(NEW(ArrayElement
)("mRevisionId", m_mRevisionId
.isReferenced() ? ref(m_mRevisionId
) : m_mRevisionId
));
423 props
.push_back(NEW(ArrayElement
)("mRevisionTimestamp", m_mRevisionTimestamp
.isReferenced() ? ref(m_mRevisionTimestamp
) : m_mRevisionTimestamp
));
424 props
.push_back(NEW(ArrayElement
)("mRevIdForTs", m_mRevIdForTs
.isReferenced() ? ref(m_mRevIdForTs
) : m_mRevIdForTs
));
425 c_ObjectData::o_get(props
);
427 bool c_parser::o_exists(CStrRef s
, int64 hash
) const {
428 if (hash
< 0) hash
= hash_string(s
.data(), s
.length());
429 switch (hash
& 127) {
431 HASH_EXISTS_STRING(0x17B591196693E481LL
, mPPNodeCount
, 12);
434 HASH_EXISTS_STRING(0x29A48DB6C6A9A306LL
, mTransparentTagHooks
, 20);
437 HASH_EXISTS_STRING(0x3BE32D09F769180DLL
, mIncludeSizes
, 13);
440 HASH_EXISTS_STRING(0x61D533DDE0E29D8ELL
, mConf
, 5);
443 HASH_EXISTS_STRING(0x078BB50DFD81B50FLL
, mVariables
, 10);
446 HASH_EXISTS_STRING(0x54CDA5D215104C92LL
, mImageParamsMagicArray
, 22);
449 HASH_EXISTS_STRING(0x79B0EDF6D034C797LL
, mFunctionSynonyms
, 17);
452 HASH_EXISTS_STRING(0x268656C76979C11ELL
, mImageParams
, 12);
455 HASH_EXISTS_STRING(0x1F6884F6D1BD5420LL
, mTplDomCache
, 12);
458 HASH_EXISTS_STRING(0x2D440400444AAAA4LL
, mTagHooks
, 9);
461 HASH_EXISTS_STRING(0x51106CF09F297525LL
, mIncludeCount
, 13);
464 HASH_EXISTS_STRING(0x0E51B7CA30E388ABLL
, mDTopen
, 7);
467 HASH_EXISTS_STRING(0x3A5EAF7D0A0A62AFLL
, mOutputType
, 11);
470 HASH_EXISTS_STRING(0x6017CB24F50048B0LL
, mInPre
, 6);
473 HASH_EXISTS_STRING(0x246A9B9AF3CF9F31LL
, mMarkerIndex
, 12);
476 HASH_EXISTS_STRING(0x23ADD91853701033LL
, mFunctionHooks
, 14);
479 HASH_EXISTS_STRING(0x0BF9A1BCA38BE1B5LL
, mTplExpandCache
, 15);
482 HASH_EXISTS_STRING(0x4DDE8DD427CE5241LL
, mRevisionId
, 11);
485 HASH_EXISTS_STRING(0x32D18CCCD8EDEA45LL
, mDoubleUnderscores
, 18);
488 HASH_EXISTS_STRING(0x040877553522A8C6LL
, mStripList
, 10);
491 HASH_EXISTS_STRING(0x48663D83DD673D4DLL
, ot
, 2);
494 HASH_EXISTS_STRING(0x65F5C1EF7BB90DCELL
, mRevisionTimestamp
, 18);
497 HASH_EXISTS_STRING(0x0521FE0F0419AF4FLL
, mLinkHolders
, 12);
500 HASH_EXISTS_STRING(0x7F7FE020D521DBD0LL
, mOutput
, 7);
503 HASH_EXISTS_STRING(0x3231E133A048DBDCLL
, mExpensiveFunctionCount
, 23);
506 HASH_EXISTS_STRING(0x22557F1A510D09DELL
, mUrlProtocols
, 13);
509 HASH_EXISTS_STRING(0x0ACBB98FE340E8E1LL
, mPreprocessor
, 13);
512 HASH_EXISTS_STRING(0x1AA92728432688E2LL
, mAutonumber
, 11);
515 HASH_EXISTS_STRING(0x62355D375852DB66LL
, mLastSection
, 12);
518 HASH_EXISTS_STRING(0x7207EA9A5BBFBF69LL
, mStripState
, 11);
519 HASH_EXISTS_STRING(0x79AC63B0E96DC6E9LL
, mOptions
, 8);
522 HASH_EXISTS_STRING(0x68120084F0DA35EALL
, mFunctionTagHooks
, 17);
523 HASH_EXISTS_STRING(0x4C804C46307BF0EALL
, mTitle
, 6);
526 HASH_EXISTS_STRING(0x1B2FB1E1A358AEEBLL
, mVarCache
, 9);
527 HASH_EXISTS_STRING(0x5EB895444FBC1E6BLL
, mHeadings
, 9);
530 HASH_EXISTS_STRING(0x00533A290681F3ECLL
, mRevIdForTs
, 11);
533 HASH_EXISTS_STRING(0x1C236AA02D253072LL
, mArgStack
, 9);
536 HASH_EXISTS_STRING(0x60D43FEB822D1C73LL
, mDefaultStripList
, 17);
537 HASH_EXISTS_STRING(0x2033A5C7AD350773LL
, mDefaultSort
, 12);
540 HASH_EXISTS_STRING(0x69D407F2FBC52275LL
, mLinkID
, 7);
543 HASH_EXISTS_STRING(0x627C20A98F61F877LL
, mExtLinkBracketedRegex
, 22);
546 HASH_EXISTS_STRING(0x43595FF2293B047DLL
, mTplRedirCache
, 14);
551 return c_ObjectData::o_exists(s
, hash
);
553 Variant
c_parser::o_get(CStrRef s
, int64 hash
) {
554 if (hash
< 0) hash
= hash_string(s
.data(), s
.length());
555 switch (hash
& 127) {
557 HASH_RETURN_STRING(0x17B591196693E481LL
, m_mPPNodeCount
,
561 HASH_RETURN_STRING(0x29A48DB6C6A9A306LL
, m_mTransparentTagHooks
,
562 mTransparentTagHooks
, 20);
565 HASH_RETURN_STRING(0x3BE32D09F769180DLL
, m_mIncludeSizes
,
569 HASH_RETURN_STRING(0x61D533DDE0E29D8ELL
, m_mConf
,
573 HASH_RETURN_STRING(0x078BB50DFD81B50FLL
, m_mVariables
,
577 HASH_RETURN_STRING(0x54CDA5D215104C92LL
, m_mImageParamsMagicArray
,
578 mImageParamsMagicArray
, 22);
581 HASH_RETURN_STRING(0x79B0EDF6D034C797LL
, m_mFunctionSynonyms
,
582 mFunctionSynonyms
, 17);
585 HASH_RETURN_STRING(0x268656C76979C11ELL
, m_mImageParams
,
589 HASH_RETURN_STRING(0x1F6884F6D1BD5420LL
, m_mTplDomCache
,
593 HASH_RETURN_STRING(0x2D440400444AAAA4LL
, m_mTagHooks
,
597 HASH_RETURN_STRING(0x51106CF09F297525LL
, m_mIncludeCount
,
601 HASH_RETURN_STRING(0x0E51B7CA30E388ABLL
, m_mDTopen
,
605 HASH_RETURN_STRING(0x3A5EAF7D0A0A62AFLL
, m_mOutputType
,
609 HASH_RETURN_STRING(0x6017CB24F50048B0LL
, m_mInPre
,
613 HASH_RETURN_STRING(0x246A9B9AF3CF9F31LL
, m_mMarkerIndex
,
617 HASH_RETURN_STRING(0x23ADD91853701033LL
, m_mFunctionHooks
,
621 HASH_RETURN_STRING(0x0BF9A1BCA38BE1B5LL
, m_mTplExpandCache
,
622 mTplExpandCache
, 15);
625 HASH_RETURN_STRING(0x4DDE8DD427CE5241LL
, m_mRevisionId
,
629 HASH_RETURN_STRING(0x32D18CCCD8EDEA45LL
, m_mDoubleUnderscores
,
630 mDoubleUnderscores
, 18);
633 HASH_RETURN_STRING(0x040877553522A8C6LL
, m_mStripList
,
637 HASH_RETURN_STRING(0x48663D83DD673D4DLL
, m_ot
,
641 HASH_RETURN_STRING(0x65F5C1EF7BB90DCELL
, m_mRevisionTimestamp
,
642 mRevisionTimestamp
, 18);
645 HASH_RETURN_STRING(0x0521FE0F0419AF4FLL
, m_mLinkHolders
,
649 HASH_RETURN_STRING(0x7F7FE020D521DBD0LL
, m_mOutput
,
653 HASH_RETURN_STRING(0x3231E133A048DBDCLL
, m_mExpensiveFunctionCount
,
654 mExpensiveFunctionCount
, 23);
657 HASH_RETURN_STRING(0x22557F1A510D09DELL
, m_mUrlProtocols
,
661 HASH_RETURN_STRING(0x0ACBB98FE340E8E1LL
, m_mPreprocessor
,
665 HASH_RETURN_STRING(0x1AA92728432688E2LL
, m_mAutonumber
,
669 HASH_RETURN_STRING(0x62355D375852DB66LL
, m_mLastSection
,
673 HASH_RETURN_STRING(0x7207EA9A5BBFBF69LL
, m_mStripState
,
675 HASH_RETURN_STRING(0x79AC63B0E96DC6E9LL
, m_mOptions
,
679 HASH_RETURN_STRING(0x68120084F0DA35EALL
, m_mFunctionTagHooks
,
680 mFunctionTagHooks
, 17);
681 HASH_RETURN_STRING(0x4C804C46307BF0EALL
, m_mTitle
,
685 HASH_RETURN_STRING(0x1B2FB1E1A358AEEBLL
, m_mVarCache
,
687 HASH_RETURN_STRING(0x5EB895444FBC1E6BLL
, m_mHeadings
,
691 HASH_RETURN_STRING(0x00533A290681F3ECLL
, m_mRevIdForTs
,
695 HASH_RETURN_STRING(0x1C236AA02D253072LL
, m_mArgStack
,
699 HASH_RETURN_STRING(0x60D43FEB822D1C73LL
, m_mDefaultStripList
,
700 mDefaultStripList
, 17);
701 HASH_RETURN_STRING(0x2033A5C7AD350773LL
, m_mDefaultSort
,
705 HASH_RETURN_STRING(0x69D407F2FBC52275LL
, m_mLinkID
,
709 HASH_RETURN_STRING(0x627C20A98F61F877LL
, m_mExtLinkBracketedRegex
,
710 mExtLinkBracketedRegex
, 22);
713 HASH_RETURN_STRING(0x43595FF2293B047DLL
, m_mTplRedirCache
,
719 return c_ObjectData::o_get(s
, hash
);
721 Variant
c_parser::o_set(CStrRef s
, int64 hash
, CVarRef v
,bool forInit
/* = false */) {
722 if (hash
< 0) hash
= hash_string(s
.data(), s
.length());
723 switch (hash
& 127) {
725 HASH_SET_STRING(0x17B591196693E481LL
, m_mPPNodeCount
,
729 HASH_SET_STRING(0x29A48DB6C6A9A306LL
, m_mTransparentTagHooks
,
730 mTransparentTagHooks
, 20);
733 HASH_SET_STRING(0x3BE32D09F769180DLL
, m_mIncludeSizes
,
737 HASH_SET_STRING(0x61D533DDE0E29D8ELL
, m_mConf
,
741 HASH_SET_STRING(0x078BB50DFD81B50FLL
, m_mVariables
,
745 HASH_SET_STRING(0x54CDA5D215104C92LL
, m_mImageParamsMagicArray
,
746 mImageParamsMagicArray
, 22);
749 HASH_SET_STRING(0x79B0EDF6D034C797LL
, m_mFunctionSynonyms
,
750 mFunctionSynonyms
, 17);
753 HASH_SET_STRING(0x268656C76979C11ELL
, m_mImageParams
,
757 HASH_SET_STRING(0x1F6884F6D1BD5420LL
, m_mTplDomCache
,
761 HASH_SET_STRING(0x2D440400444AAAA4LL
, m_mTagHooks
,
765 HASH_SET_STRING(0x51106CF09F297525LL
, m_mIncludeCount
,
769 HASH_SET_STRING(0x0E51B7CA30E388ABLL
, m_mDTopen
,
773 HASH_SET_STRING(0x3A5EAF7D0A0A62AFLL
, m_mOutputType
,
777 HASH_SET_STRING(0x6017CB24F50048B0LL
, m_mInPre
,
781 HASH_SET_STRING(0x246A9B9AF3CF9F31LL
, m_mMarkerIndex
,
785 HASH_SET_STRING(0x23ADD91853701033LL
, m_mFunctionHooks
,
789 HASH_SET_STRING(0x0BF9A1BCA38BE1B5LL
, m_mTplExpandCache
,
790 mTplExpandCache
, 15);
793 HASH_SET_STRING(0x4DDE8DD427CE5241LL
, m_mRevisionId
,
797 HASH_SET_STRING(0x32D18CCCD8EDEA45LL
, m_mDoubleUnderscores
,
798 mDoubleUnderscores
, 18);
801 HASH_SET_STRING(0x040877553522A8C6LL
, m_mStripList
,
805 HASH_SET_STRING(0x48663D83DD673D4DLL
, m_ot
,
809 HASH_SET_STRING(0x65F5C1EF7BB90DCELL
, m_mRevisionTimestamp
,
810 mRevisionTimestamp
, 18);
813 HASH_SET_STRING(0x0521FE0F0419AF4FLL
, m_mLinkHolders
,
817 HASH_SET_STRING(0x7F7FE020D521DBD0LL
, m_mOutput
,
821 HASH_SET_STRING(0x3231E133A048DBDCLL
, m_mExpensiveFunctionCount
,
822 mExpensiveFunctionCount
, 23);
825 HASH_SET_STRING(0x22557F1A510D09DELL
, m_mUrlProtocols
,
829 HASH_SET_STRING(0x0ACBB98FE340E8E1LL
, m_mPreprocessor
,
833 HASH_SET_STRING(0x1AA92728432688E2LL
, m_mAutonumber
,
837 HASH_SET_STRING(0x62355D375852DB66LL
, m_mLastSection
,
841 HASH_SET_STRING(0x7207EA9A5BBFBF69LL
, m_mStripState
,
843 HASH_SET_STRING(0x79AC63B0E96DC6E9LL
, m_mOptions
,
847 HASH_SET_STRING(0x68120084F0DA35EALL
, m_mFunctionTagHooks
,
848 mFunctionTagHooks
, 17);
849 HASH_SET_STRING(0x4C804C46307BF0EALL
, m_mTitle
,
853 HASH_SET_STRING(0x1B2FB1E1A358AEEBLL
, m_mVarCache
,
855 HASH_SET_STRING(0x5EB895444FBC1E6BLL
, m_mHeadings
,
859 HASH_SET_STRING(0x00533A290681F3ECLL
, m_mRevIdForTs
,
863 HASH_SET_STRING(0x1C236AA02D253072LL
, m_mArgStack
,
867 HASH_SET_STRING(0x60D43FEB822D1C73LL
, m_mDefaultStripList
,
868 mDefaultStripList
, 17);
869 HASH_SET_STRING(0x2033A5C7AD350773LL
, m_mDefaultSort
,
873 HASH_SET_STRING(0x69D407F2FBC52275LL
, m_mLinkID
,
877 HASH_SET_STRING(0x627C20A98F61F877LL
, m_mExtLinkBracketedRegex
,
878 mExtLinkBracketedRegex
, 22);
881 HASH_SET_STRING(0x43595FF2293B047DLL
, m_mTplRedirCache
,
887 return c_ObjectData::o_set(s
, hash
, v
, forInit
);
889 Variant
&c_parser::o_lval(CStrRef s
, int64 hash
) {
890 if (hash
< 0) hash
= hash_string(s
.data(), s
.length());
891 switch (hash
& 127) {
893 HASH_RETURN_STRING(0x17B591196693E481LL
, m_mPPNodeCount
,
897 HASH_RETURN_STRING(0x29A48DB6C6A9A306LL
, m_mTransparentTagHooks
,
898 mTransparentTagHooks
, 20);
901 HASH_RETURN_STRING(0x3BE32D09F769180DLL
, m_mIncludeSizes
,
905 HASH_RETURN_STRING(0x61D533DDE0E29D8ELL
, m_mConf
,
909 HASH_RETURN_STRING(0x078BB50DFD81B50FLL
, m_mVariables
,
913 HASH_RETURN_STRING(0x54CDA5D215104C92LL
, m_mImageParamsMagicArray
,
914 mImageParamsMagicArray
, 22);
917 HASH_RETURN_STRING(0x79B0EDF6D034C797LL
, m_mFunctionSynonyms
,
918 mFunctionSynonyms
, 17);
921 HASH_RETURN_STRING(0x268656C76979C11ELL
, m_mImageParams
,
925 HASH_RETURN_STRING(0x1F6884F6D1BD5420LL
, m_mTplDomCache
,
929 HASH_RETURN_STRING(0x2D440400444AAAA4LL
, m_mTagHooks
,
933 HASH_RETURN_STRING(0x51106CF09F297525LL
, m_mIncludeCount
,
937 HASH_RETURN_STRING(0x0E51B7CA30E388ABLL
, m_mDTopen
,
941 HASH_RETURN_STRING(0x3A5EAF7D0A0A62AFLL
, m_mOutputType
,
945 HASH_RETURN_STRING(0x6017CB24F50048B0LL
, m_mInPre
,
949 HASH_RETURN_STRING(0x246A9B9AF3CF9F31LL
, m_mMarkerIndex
,
953 HASH_RETURN_STRING(0x23ADD91853701033LL
, m_mFunctionHooks
,
957 HASH_RETURN_STRING(0x0BF9A1BCA38BE1B5LL
, m_mTplExpandCache
,
958 mTplExpandCache
, 15);
961 HASH_RETURN_STRING(0x4DDE8DD427CE5241LL
, m_mRevisionId
,
965 HASH_RETURN_STRING(0x32D18CCCD8EDEA45LL
, m_mDoubleUnderscores
,
966 mDoubleUnderscores
, 18);
969 HASH_RETURN_STRING(0x040877553522A8C6LL
, m_mStripList
,
973 HASH_RETURN_STRING(0x48663D83DD673D4DLL
, m_ot
,
977 HASH_RETURN_STRING(0x65F5C1EF7BB90DCELL
, m_mRevisionTimestamp
,
978 mRevisionTimestamp
, 18);
981 HASH_RETURN_STRING(0x0521FE0F0419AF4FLL
, m_mLinkHolders
,
985 HASH_RETURN_STRING(0x7F7FE020D521DBD0LL
, m_mOutput
,
989 HASH_RETURN_STRING(0x3231E133A048DBDCLL
, m_mExpensiveFunctionCount
,
990 mExpensiveFunctionCount
, 23);
993 HASH_RETURN_STRING(0x22557F1A510D09DELL
, m_mUrlProtocols
,
997 HASH_RETURN_STRING(0x0ACBB98FE340E8E1LL
, m_mPreprocessor
,
1001 HASH_RETURN_STRING(0x1AA92728432688E2LL
, m_mAutonumber
,
1005 HASH_RETURN_STRING(0x62355D375852DB66LL
, m_mLastSection
,
1009 HASH_RETURN_STRING(0x7207EA9A5BBFBF69LL
, m_mStripState
,
1011 HASH_RETURN_STRING(0x79AC63B0E96DC6E9LL
, m_mOptions
,
1015 HASH_RETURN_STRING(0x68120084F0DA35EALL
, m_mFunctionTagHooks
,
1016 mFunctionTagHooks
, 17);
1017 HASH_RETURN_STRING(0x4C804C46307BF0EALL
, m_mTitle
,
1021 HASH_RETURN_STRING(0x1B2FB1E1A358AEEBLL
, m_mVarCache
,
1023 HASH_RETURN_STRING(0x5EB895444FBC1E6BLL
, m_mHeadings
,
1027 HASH_RETURN_STRING(0x00533A290681F3ECLL
, m_mRevIdForTs
,
1031 HASH_RETURN_STRING(0x1C236AA02D253072LL
, m_mArgStack
,
1035 HASH_RETURN_STRING(0x60D43FEB822D1C73LL
, m_mDefaultStripList
,
1036 mDefaultStripList
, 17);
1037 HASH_RETURN_STRING(0x2033A5C7AD350773LL
, m_mDefaultSort
,
1041 HASH_RETURN_STRING(0x69D407F2FBC52275LL
, m_mLinkID
,
1045 HASH_RETURN_STRING(0x627C20A98F61F877LL
, m_mExtLinkBracketedRegex
,
1046 mExtLinkBracketedRegex
, 22);
1049 HASH_RETURN_STRING(0x43595FF2293B047DLL
, m_mTplRedirCache
,
1050 mTplRedirCache
, 14);
1055 return c_ObjectData::o_lval(s
, hash
);
1057 Variant
c_parser::os_constant(const char *s
) {
1058 int64 hash
= hash_string(s
);
1059 switch (hash
& 63) {
1061 HASH_RETURN(0x7A3DEE794AAE0080LL
, q_parser_COLON_STATE_COMMENTDASHDASH
, COLON_STATE_COMMENTDASHDASH
);
1064 HASH_RETURN(0x39454943C9F77183LL
, q_parser_SFH_NO_HASH
, SFH_NO_HASH
);
1067 HASH_RETURN(0x53D3618CFDD02A88LL
, q_parser_COLON_STATE_CLOSETAG
, COLON_STATE_CLOSETAG
);
1068 HASH_RETURN(0x6183A19A97D054C8LL
, q_parser_PTD_FOR_INCLUSION
, PTD_FOR_INCLUSION
);
1071 HASH_RETURN(0x7C7C96A77F65158CLL
, q_parser_SFH_OBJECT_ARGS
, SFH_OBJECT_ARGS
);
1074 HASH_RETURN(0x63DD546A4381040DLL
, q_parser_OT_MSG
, OT_MSG
);
1077 HASH_RETURN(0x44687B3BB0AA9915LL
, q_parser_COLON_STATE_TAGSTART
, COLON_STATE_TAGSTART
);
1080 HASH_RETURN(0x5E2B4F68FF786898LL
, q_parser_OT_WIKI
, OT_WIKI
);
1083 HASH_RETURN(0x3299493D3953AF19LL
, q_parser_MARKER_SUFFIX
, MARKER_SUFFIX
);
1086 HASH_RETURN(0x4835CF75ECA1675BLL
, q_parser_COLON_STATE_TAG
, COLON_STATE_TAG
);
1089 HASH_RETURN(0x4585610E25B87326LL
, q_parser_COLON_STATE_TAGSLASH
, COLON_STATE_TAGSLASH
);
1092 HASH_RETURN(0x753F5E8DD64BF868LL
, q_parser_COLON_STATE_COMMENTDASH
, COLON_STATE_COMMENTDASH
);
1095 HASH_RETURN(0x5AE41239FF63D86ALL
, q_parser_VERSION
, VERSION
);
1096 HASH_RETURN(0x53D1BB8BE4436E6ALL
, q_parser_EXT_IMAGE_REGEX
, EXT_IMAGE_REGEX
);
1099 HASH_RETURN(0x5DADFDAB77C589ADLL
, q_parser_COLON_STATE_COMMENT
, COLON_STATE_COMMENT
);
1102 HASH_RETURN(0x4C1D0C36632BDF70LL
, q_parser_OT_HTML
, OT_HTML
);
1105 HASH_RETURN(0x38F0CBBBEA7F23F2LL
, q_parser_COLON_STATE_TEXT
, COLON_STATE_TEXT
);
1108 HASH_RETURN(0x63F95DCAC9867D78LL
, q_parser_EXT_LINK_URL_CLASS
, EXT_LINK_URL_CLASS
);
1111 HASH_RETURN(0x45EBC8EBC4C81F3ALL
, q_parser_OT_PREPROCESS
, OT_PREPROCESS
);
1116 return c_ObjectData::os_constant(s
);
1118 IMPLEMENT_CLASS(parser
)
1119 ObjectData
*c_parser::create(Variant v_conf
// = ScalarArrays::sa_[0]
1122 t___construct(v_conf
);
1125 ObjectData
*c_parser::dynCreate(CArrRef params
, bool init
/* = true */) {
1127 int count
= params
.size();
1128 if (count
<= 0) return (create());
1129 return (create(params
.rvalAt(0)));
1132 void c_parser::dynConstruct(CArrRef params
) {
1133 int count
= params
.size();
1134 if (count
<= 0) (t___construct());
1135 (t___construct(params
.rvalAt(0)));
1137 void c_parser::destruct() {
1138 if (!inCtorDtor()) {
1142 } catch (...) { handle_destructor_exception();}
1145 ObjectData
*c_parser::cloneImpl() {
1146 c_parser
*obj
= NEW(c_parser
)();
1150 void c_parser::cloneSet(c_parser
*clone
) {
1151 clone
->m_mTagHooks
= m_mTagHooks
.isReferenced() ? ref(m_mTagHooks
) : m_mTagHooks
;
1152 clone
->m_mTransparentTagHooks
= m_mTransparentTagHooks
.isReferenced() ? ref(m_mTransparentTagHooks
) : m_mTransparentTagHooks
;
1153 clone
->m_mFunctionHooks
= m_mFunctionHooks
.isReferenced() ? ref(m_mFunctionHooks
) : m_mFunctionHooks
;
1154 clone
->m_mFunctionSynonyms
= m_mFunctionSynonyms
.isReferenced() ? ref(m_mFunctionSynonyms
) : m_mFunctionSynonyms
;
1155 clone
->m_mVariables
= m_mVariables
.isReferenced() ? ref(m_mVariables
) : m_mVariables
;
1156 clone
->m_mImageParams
= m_mImageParams
.isReferenced() ? ref(m_mImageParams
) : m_mImageParams
;
1157 clone
->m_mImageParamsMagicArray
= m_mImageParamsMagicArray
.isReferenced() ? ref(m_mImageParamsMagicArray
) : m_mImageParamsMagicArray
;
1158 clone
->m_mStripList
= m_mStripList
.isReferenced() ? ref(m_mStripList
) : m_mStripList
;
1159 clone
->m_mMarkerIndex
= m_mMarkerIndex
.isReferenced() ? ref(m_mMarkerIndex
) : m_mMarkerIndex
;
1160 clone
->m_mPreprocessor
= m_mPreprocessor
.isReferenced() ? ref(m_mPreprocessor
) : m_mPreprocessor
;
1161 clone
->m_mExtLinkBracketedRegex
= m_mExtLinkBracketedRegex
.isReferenced() ? ref(m_mExtLinkBracketedRegex
) : m_mExtLinkBracketedRegex
;
1162 clone
->m_mUrlProtocols
= m_mUrlProtocols
.isReferenced() ? ref(m_mUrlProtocols
) : m_mUrlProtocols
;
1163 clone
->m_mDefaultStripList
= m_mDefaultStripList
.isReferenced() ? ref(m_mDefaultStripList
) : m_mDefaultStripList
;
1164 clone
->m_mVarCache
= m_mVarCache
.isReferenced() ? ref(m_mVarCache
) : m_mVarCache
;
1165 clone
->m_mConf
= m_mConf
.isReferenced() ? ref(m_mConf
) : m_mConf
;
1166 clone
->m_mFunctionTagHooks
= m_mFunctionTagHooks
.isReferenced() ? ref(m_mFunctionTagHooks
) : m_mFunctionTagHooks
;
1167 clone
->m_mOutput
= m_mOutput
.isReferenced() ? ref(m_mOutput
) : m_mOutput
;
1168 clone
->m_mAutonumber
= m_mAutonumber
.isReferenced() ? ref(m_mAutonumber
) : m_mAutonumber
;
1169 clone
->m_mDTopen
= m_mDTopen
.isReferenced() ? ref(m_mDTopen
) : m_mDTopen
;
1170 clone
->m_mStripState
= m_mStripState
.isReferenced() ? ref(m_mStripState
) : m_mStripState
;
1171 clone
->m_mIncludeCount
= m_mIncludeCount
.isReferenced() ? ref(m_mIncludeCount
) : m_mIncludeCount
;
1172 clone
->m_mArgStack
= m_mArgStack
.isReferenced() ? ref(m_mArgStack
) : m_mArgStack
;
1173 clone
->m_mLastSection
= m_mLastSection
.isReferenced() ? ref(m_mLastSection
) : m_mLastSection
;
1174 clone
->m_mInPre
= m_mInPre
.isReferenced() ? ref(m_mInPre
) : m_mInPre
;
1175 clone
->m_mLinkHolders
= m_mLinkHolders
.isReferenced() ? ref(m_mLinkHolders
) : m_mLinkHolders
;
1176 clone
->m_mLinkID
= m_mLinkID
.isReferenced() ? ref(m_mLinkID
) : m_mLinkID
;
1177 clone
->m_mIncludeSizes
= m_mIncludeSizes
.isReferenced() ? ref(m_mIncludeSizes
) : m_mIncludeSizes
;
1178 clone
->m_mPPNodeCount
= m_mPPNodeCount
.isReferenced() ? ref(m_mPPNodeCount
) : m_mPPNodeCount
;
1179 clone
->m_mDefaultSort
= m_mDefaultSort
.isReferenced() ? ref(m_mDefaultSort
) : m_mDefaultSort
;
1180 clone
->m_mTplExpandCache
= m_mTplExpandCache
.isReferenced() ? ref(m_mTplExpandCache
) : m_mTplExpandCache
;
1181 clone
->m_mTplRedirCache
= m_mTplRedirCache
.isReferenced() ? ref(m_mTplRedirCache
) : m_mTplRedirCache
;
1182 clone
->m_mTplDomCache
= m_mTplDomCache
.isReferenced() ? ref(m_mTplDomCache
) : m_mTplDomCache
;
1183 clone
->m_mHeadings
= m_mHeadings
.isReferenced() ? ref(m_mHeadings
) : m_mHeadings
;
1184 clone
->m_mDoubleUnderscores
= m_mDoubleUnderscores
.isReferenced() ? ref(m_mDoubleUnderscores
) : m_mDoubleUnderscores
;
1185 clone
->m_mExpensiveFunctionCount
= m_mExpensiveFunctionCount
.isReferenced() ? ref(m_mExpensiveFunctionCount
) : m_mExpensiveFunctionCount
;
1186 clone
->m_mOptions
= m_mOptions
.isReferenced() ? ref(m_mOptions
) : m_mOptions
;
1187 clone
->m_mTitle
= m_mTitle
.isReferenced() ? ref(m_mTitle
) : m_mTitle
;
1188 clone
->m_mOutputType
= m_mOutputType
.isReferenced() ? ref(m_mOutputType
) : m_mOutputType
;
1189 clone
->m_ot
= m_ot
.isReferenced() ? ref(m_ot
) : m_ot
;
1190 clone
->m_mRevisionId
= m_mRevisionId
.isReferenced() ? ref(m_mRevisionId
) : m_mRevisionId
;
1191 clone
->m_mRevisionTimestamp
= m_mRevisionTimestamp
.isReferenced() ? ref(m_mRevisionTimestamp
) : m_mRevisionTimestamp
;
1192 clone
->m_mRevIdForTs
= m_mRevIdForTs
.isReferenced() ? ref(m_mRevIdForTs
) : m_mRevIdForTs
;
1193 ObjectData::cloneSet(clone
);
1195 Variant
c_parser::o_invoke(const char *s
, CArrRef params
, int64 hash
, bool fatal
) {
1196 if (hash
< 0) hash
= hash_string_i(s
);
1197 switch (hash
& 63) {
1199 HASH_GUARD(0x04CA531DD3FB2705LL
, attributestripcallback
) {
1200 int count
= params
.size();
1201 if (count
<= 1) return (t_attributestripcallback(ref(const_cast<Array
&>(params
).lvalAt(0))));
1202 return (t_attributestripcallback(ref(const_cast<Array
&>(params
).lvalAt(0)), params
.rvalAt(1)));
1204 HASH_GUARD(0x298D74DE5F3B8B45LL
, magiclinkcallback
) {
1205 return (t_magiclinkcallback(params
.rvalAt(0)));
1209 HASH_GUARD(0x333DE406BD9436D1LL
, argsubstitution
) {
1210 return (t_argsubstitution(params
.rvalAt(0), params
.rvalAt(1)));
1214 HASH_GUARD(0x6159C1C3A582E4D3LL
, incrementexpensivefunctioncount
) {
1215 return (t_incrementexpensivefunctioncount());
1219 HASH_GUARD(0x07B2DE5DC3BC16D4LL
, setfunctionhook
) {
1220 int count
= params
.size();
1221 if (count
<= 2) return (t_setfunctionhook(params
.rvalAt(0), params
.rvalAt(1)));
1222 return (t_setfunctionhook(params
.rvalAt(0), params
.rvalAt(1), params
.rvalAt(2)));
1224 HASH_GUARD(0x4AC114BB40027BD4LL
, renderpretag
) {
1225 return (t_renderpretag(params
.rvalAt(0), params
.rvalAt(1)));
1229 HASH_GUARD(0x7519C1FAF33D7857LL
, getoutput
) {
1230 return (t_getoutput());
1234 HASH_GUARD(0x1919E33A3EB87298LL
, markerskipcallback
) {
1235 return (t_markerskipcallback(params
.rvalAt(0), params
.rvalAt(1)));
1239 HASH_GUARD(0x6F53A1945EB13C5CLL
, replaceunusualescapescallback
) {
1240 return (ti_replaceunusualescapescallback(o_getClassName(), params
.rvalAt(0)));
1244 HASH_GUARD(0x565D9E5A4801A09ELL
, getcustomdefaultsort
) {
1245 return (t_getcustomdefaultsort());
1249 HASH_GUARD(0x0D31D0AC229C615FLL
, __construct
) {
1250 int count
= params
.size();
1251 if (count
<= 0) return (t___construct(), null
);
1252 return (t___construct(params
.rvalAt(0)), null
);
1256 HASH_GUARD(0x0A4CA37F020D70E2LL
, insertstripitem
) {
1257 return (t_insertstripitem(params
.rvalAt(0)));
1261 HASH_GUARD(0x443229B8642123A5LL
, statelessfetchtemplate
) {
1262 int count
= params
.size();
1263 if (count
<= 1) return (ti_statelessfetchtemplate(o_getClassName(), params
.rvalAt(0)));
1264 return (ti_statelessfetchtemplate(o_getClassName(), params
.rvalAt(0), params
.rvalAt(1)));
1268 HASH_GUARD(0x6EFD1FF8956DBC27LL
, nextlinkid
) {
1269 return (t_nextlinkid());
1273 HASH_GUARD(0x7D371E851A4798E9LL
, extensionsubstitution
) {
1274 return (t_extensionsubstitution(params
.rvalAt(0), params
.rvalAt(1)));
1276 HASH_GUARD(0x2374179DF576FCA9LL
, unstripnowiki
) {
1277 return (t_unstripnowiki(params
.rvalAt(0), params
.rvalAt(1)));
1281 HASH_GUARD(0x132FD54E0D0A99EBLL
, title
) {
1282 int count
= params
.size();
1283 if (count
<= 0) return (t_title());
1284 return (t_title(params
.rvalAt(0)));
1288 HASH_GUARD(0x3BBB4BCA49D08AEFLL
, getfunctionlang
) {
1289 return (t_getfunctionlang());
1291 HASH_GUARD(0x7E4180EEBEB7A62FLL
, doquotes
) {
1292 return (t_doquotes(params
.rvalAt(0)));
1296 HASH_GUARD(0x0FE91E46B43AEF32LL
, setdefaultsort
) {
1297 return (t_setdefaultsort(params
.rvalAt(0)), null
);
1301 HASH_GUARD(0x7F974836AACC1EF3LL
, __destruct
) {
1302 return (t___destruct());
1306 HASH_GUARD(0x151B6C9D84BBC1F5LL
, getstriplist
) {
1307 return (t_getstriplist());
1309 HASH_GUARD(0x241A6011A10C7EF5LL
, firstcallinit
) {
1310 return (t_firstcallinit(), null
);
1314 HASH_GUARD(0x37AA0C66F5C36136LL
, replaceinternallinks2
) {
1315 return (t_replaceinternallinks2(ref(const_cast<Array
&>(params
).lvalAt(0))));
1319 HASH_GUARD(0x392E383BDD5B10F7LL
, bracesubstitution
) {
1320 return (t_bracesubstitution(params
.rvalAt(0), params
.rvalAt(1)));
1324 HASH_GUARD(0x2040B36587CE56F9LL
, getoptions
) {
1325 return (t_getoptions());
1329 HASH_GUARD(0x655F4A045CA8303ALL
, replacevariables
) {
1330 int count
= params
.size();
1331 if (count
<= 1) return (t_replacevariables(params
.rvalAt(0)));
1332 if (count
== 2) return (t_replacevariables(params
.rvalAt(0), params
.rvalAt(1)));
1333 return (t_replacevariables(params
.rvalAt(0), params
.rvalAt(1), params
.rvalAt(2)));
1335 HASH_GUARD(0x39ADF3C1E6A55D3ALL
, getdefaultsort
) {
1336 return (t_getdefaultsort());
1338 HASH_GUARD(0x524D522D7D9607FALL
, uniqprefix
) {
1339 return (t_uniqprefix());
1345 return c_ObjectData::o_invoke(s
, params
, hash
, fatal
);
1347 Variant
c_parser::o_invoke_few_args(const char *s
, int64 hash
, int count
, CVarRef a0
, CVarRef a1
, CVarRef a2
, CVarRef a3
, CVarRef a4
, CVarRef a5
) {
1348 if (hash
< 0) hash
= hash_string_i(s
);
1349 switch (hash
& 63) {
1351 HASH_GUARD(0x04CA531DD3FB2705LL
, attributestripcallback
) {
1352 if (count
<= 1) return (t_attributestripcallback(ref(a0
)));
1353 return (t_attributestripcallback(ref(a0
), a1
));
1355 HASH_GUARD(0x298D74DE5F3B8B45LL
, magiclinkcallback
) {
1356 return (t_magiclinkcallback(a0
));
1360 HASH_GUARD(0x333DE406BD9436D1LL
, argsubstitution
) {
1361 return (t_argsubstitution(a0
, a1
));
1365 HASH_GUARD(0x6159C1C3A582E4D3LL
, incrementexpensivefunctioncount
) {
1366 return (t_incrementexpensivefunctioncount());
1370 HASH_GUARD(0x07B2DE5DC3BC16D4LL
, setfunctionhook
) {
1371 if (count
<= 2) return (t_setfunctionhook(a0
, a1
));
1372 return (t_setfunctionhook(a0
, a1
, a2
));
1374 HASH_GUARD(0x4AC114BB40027BD4LL
, renderpretag
) {
1375 return (t_renderpretag(a0
, a1
));
1379 HASH_GUARD(0x7519C1FAF33D7857LL
, getoutput
) {
1380 return (t_getoutput());
1384 HASH_GUARD(0x1919E33A3EB87298LL
, markerskipcallback
) {
1385 return (t_markerskipcallback(a0
, a1
));
1389 HASH_GUARD(0x6F53A1945EB13C5CLL
, replaceunusualescapescallback
) {
1390 return (ti_replaceunusualescapescallback(o_getClassName(), a0
));
1394 HASH_GUARD(0x565D9E5A4801A09ELL
, getcustomdefaultsort
) {
1395 return (t_getcustomdefaultsort());
1399 HASH_GUARD(0x0D31D0AC229C615FLL
, __construct
) {
1400 if (count
<= 0) return (t___construct(), null
);
1401 return (t___construct(a0
), null
);
1405 HASH_GUARD(0x0A4CA37F020D70E2LL
, insertstripitem
) {
1406 return (t_insertstripitem(a0
));
1410 HASH_GUARD(0x443229B8642123A5LL
, statelessfetchtemplate
) {
1411 if (count
<= 1) return (ti_statelessfetchtemplate(o_getClassName(), a0
));
1412 return (ti_statelessfetchtemplate(o_getClassName(), a0
, a1
));
1416 HASH_GUARD(0x6EFD1FF8956DBC27LL
, nextlinkid
) {
1417 return (t_nextlinkid());
1421 HASH_GUARD(0x7D371E851A4798E9LL
, extensionsubstitution
) {
1422 return (t_extensionsubstitution(a0
, a1
));
1424 HASH_GUARD(0x2374179DF576FCA9LL
, unstripnowiki
) {
1425 return (t_unstripnowiki(a0
, a1
));
1429 HASH_GUARD(0x132FD54E0D0A99EBLL
, title
) {
1430 if (count
<= 0) return (t_title());
1431 return (t_title(a0
));
1435 HASH_GUARD(0x3BBB4BCA49D08AEFLL
, getfunctionlang
) {
1436 return (t_getfunctionlang());
1438 HASH_GUARD(0x7E4180EEBEB7A62FLL
, doquotes
) {
1439 return (t_doquotes(a0
));
1443 HASH_GUARD(0x0FE91E46B43AEF32LL
, setdefaultsort
) {
1444 return (t_setdefaultsort(a0
), null
);
1448 HASH_GUARD(0x7F974836AACC1EF3LL
, __destruct
) {
1449 return (t___destruct());
1453 HASH_GUARD(0x151B6C9D84BBC1F5LL
, getstriplist
) {
1454 return (t_getstriplist());
1456 HASH_GUARD(0x241A6011A10C7EF5LL
, firstcallinit
) {
1457 return (t_firstcallinit(), null
);
1461 HASH_GUARD(0x37AA0C66F5C36136LL
, replaceinternallinks2
) {
1462 return (t_replaceinternallinks2(ref(a0
)));
1466 HASH_GUARD(0x392E383BDD5B10F7LL
, bracesubstitution
) {
1467 return (t_bracesubstitution(a0
, a1
));
1471 HASH_GUARD(0x2040B36587CE56F9LL
, getoptions
) {
1472 return (t_getoptions());
1476 HASH_GUARD(0x655F4A045CA8303ALL
, replacevariables
) {
1477 if (count
<= 1) return (t_replacevariables(a0
));
1478 if (count
== 2) return (t_replacevariables(a0
, a1
));
1479 return (t_replacevariables(a0
, a1
, a2
));
1481 HASH_GUARD(0x39ADF3C1E6A55D3ALL
, getdefaultsort
) {
1482 return (t_getdefaultsort());
1484 HASH_GUARD(0x524D522D7D9607FALL
, uniqprefix
) {
1485 return (t_uniqprefix());
1491 return c_ObjectData::o_invoke_few_args(s
, hash
, count
, a0
, a1
, a2
, a3
, a4
, a5
);
1493 Variant
c_parser::os_invoke(const char *c
, const char *s
, CArrRef params
, int64 hash
, bool fatal
) {
1494 if (hash
< 0) hash
= hash_string_i(s
);
1497 HASH_GUARD(0x6F53A1945EB13C5CLL
, replaceunusualescapescallback
) {
1498 return (ti_replaceunusualescapescallback(c
, params
.rvalAt(0)));
1502 HASH_GUARD(0x443229B8642123A5LL
, statelessfetchtemplate
) {
1503 int count
= params
.size();
1504 if (count
<= 1) return (ti_statelessfetchtemplate(c
, params
.rvalAt(0)));
1505 return (ti_statelessfetchtemplate(c
, params
.rvalAt(0), params
.rvalAt(1)));
1511 return c_ObjectData::os_invoke(c
, s
, params
, hash
, fatal
);
1513 Variant cw_parser$
os_get(const char *s
) {
1514 return c_parser::os_get(s
, -1);
1516 Variant
&cw_parser$
os_lval(const char *s
) {
1517 return c_parser::os_lval(s
, -1);
1519 Variant cw_parser$
os_constant(const char *s
) {
1520 return c_parser::os_constant(s
);
1522 Variant cw_parser$
os_invoke(const char *c
, const char *s
, CArrRef params
, bool fatal
/* = true */) {
1523 return c_parser::os_invoke(c
, s
, params
, -1, fatal
);
1525 void c_parser::init() {
1527 m_mTransparentTagHooks
= null
;
1528 m_mFunctionHooks
= null
;
1529 m_mFunctionSynonyms
= null
;
1530 m_mVariables
= null
;
1531 m_mImageParams
= null
;
1532 m_mImageParamsMagicArray
= null
;
1533 m_mStripList
= null
;
1534 m_mMarkerIndex
= null
;
1535 m_mPreprocessor
= null
;
1536 m_mExtLinkBracketedRegex
= null
;
1537 m_mUrlProtocols
= null
;
1538 m_mDefaultStripList
= null
;
1541 m_mFunctionTagHooks
= null
;
1543 m_mAutonumber
= null
;
1545 m_mStripState
= null
;
1546 m_mIncludeCount
= null
;
1548 m_mLastSection
= null
;
1550 m_mLinkHolders
= null
;
1552 m_mIncludeSizes
= null
;
1553 m_mPPNodeCount
= null
;
1554 m_mDefaultSort
= null
;
1555 m_mTplExpandCache
= null
;
1556 m_mTplRedirCache
= null
;
1557 m_mTplDomCache
= null
;
1559 m_mDoubleUnderscores
= null
;
1560 m_mExpensiveFunctionCount
= null
;
1563 m_mOutputType
= null
;
1565 m_mRevisionId
= null
;
1566 m_mRevisionTimestamp
= null
;
1567 m_mRevIdForTs
= null
;
1569 /* SRC: Parser.php line 125 */
1570 void c_parser::t___construct(Variant v_conf
// = ScalarArrays::sa_[0]
1572 INSTANCE_METHOD_INJECTION(Parser
, Parser::__construct
);
1573 bool oldInCtor
= gasInCtor(true);
1578 (m_mTagHooks
= ScalarArrays::sa_
[0]);
1579 (m_mTransparentTagHooks
= ScalarArrays::sa_
[0]);
1580 (m_mFunctionHooks
= ScalarArrays::sa_
[0]);
1581 (m_mFunctionTagHooks
= ScalarArrays::sa_
[0]);
1582 (m_mFunctionSynonyms
= ScalarArrays::sa_
[14]);
1583 (m_mDefaultStripList
= (m_mStripList
= ScalarArrays::sa_
[15]));
1584 (m_mUrlProtocols
= LINE(133,invoke_failed("wfurlprotocols", Array(), 0x00000000BD4BD4FELL
)));
1585 (m_mExtLinkBracketedRegex
= LINE(135,(assignCallTemp(eo_1
, toString(LINE(134,invoke_failed("wfurlprotocols", Array(), 0x00000000BD4BD4FELL
)))),concat3("/\\[(\\b(", eo_1
, ")[^][<>\"\\x00-\\x20\\x7F]+) *([^\\]\\x0a\\x0d]*\?)\\]/S"))));
1586 (m_mVarCache
= ScalarArrays::sa_
[0]);
1587 if (isset(v_conf
, "preprocessorClass", 0x6C85AB6061598171LL
)) {
1588 (o_lval("mPreprocessorClass", 0x6E5AA590C9CC679ALL
) = v_conf
.rvalAt("preprocessorClass", 0x6C85AB6061598171LL
));
1590 else if (LINE(139,x_extension_loaded("domxml"))) {
1591 LINE(141,invoke_failed("wfdebug", Array(ArrayInit(1).set(0, "Warning: you have the obsolete domxml extension for PHP. Please remove it!\n").create()), 0x00000000E441E905LL
));
1592 (o_lval("mPreprocessorClass", 0x6E5AA590C9CC679ALL
) = "Preprocessor_Hash");
1594 else if (LINE(143,x_extension_loaded("dom"))) {
1595 (o_lval("mPreprocessorClass", 0x6E5AA590C9CC679ALL
) = "Preprocessor_DOM");
1598 (o_lval("mPreprocessorClass", 0x6E5AA590C9CC679ALL
) = "Preprocessor_Hash");
1600 (m_mMarkerIndex
= 0LL);
1601 (o_lval("mFirstCall", 0x017DA31DE741B5E9LL
) = true);
1602 gasInCtor(oldInCtor
);
1604 /* SRC: Parser.php line 155 */
1605 Variant
c_parser::t___destruct() {
1606 INSTANCE_METHOD_INJECTION(Parser
, Parser::__destruct
);
1608 DECLARE_GLOBAL_VARIABLES(g
);
1609 Primitive v_name
= 0;
1612 if (t___isset("mLinkHolders")) {
1613 LINE(157,m_mLinkHolders
.o_invoke_few_args("__destruct", 0x7F974836AACC1EF3LL
, 0));
1617 Variant map5
= ((Object
)(this));
1618 for (ArrayIterPtr iter6
= map5
.begin("parser"); !iter6
->end(); iter6
->next()) {
1619 LOOP_COUNTER_CHECK(4);
1620 v_value
= iter6
->second();
1621 v_name
= iter6
->first();
1623 t___unset(toString(v_name
));
1629 /* SRC: Parser.php line 167 */
1630 void c_parser::t_firstcallinit() {
1631 INSTANCE_METHOD_INJECTION(Parser
, Parser::firstCallInit
);
1632 if (!(toBoolean(o_get("mFirstCall", 0x017DA31DE741B5E9LL
)))) {
1635 (o_lval("mFirstCall", 0x017DA31DE741B5E9LL
) = false);
1636 LINE(173,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "Parser::firstCallInit").create()), 0x0000000075359BAFLL
));
1637 LINE(175,t_sethook("pre", Array(ArrayInit(2).set(0, ((Object
)(this))).set(1, "renderPreTag").create())));
1638 LINE(176,c_coreparserfunctions::t_register(((Object
)(this))));
1639 LINE(177,t_initialisevariables());
1640 LINE(179,invoke_failed("wfrunhooks", Array(ArrayInit(2).set(0, "ParserFirstCallInit").set(1, Array(ArrayInit(1).setRef(0, ref(this)).create())).create()), 0x00000000787A96B2LL
));
1641 LINE(180,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::firstCallInit").create()), 0x00000000B599F276LL
));
1643 /* SRC: Parser.php line 188 */
1644 void c_parser::t_clearstate() {
1645 INSTANCE_METHOD_INJECTION(Parser
, Parser::clearState
);
1646 LINE(189,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "Parser::clearState").create()), 0x0000000075359BAFLL
));
1647 if (toBoolean(o_get("mFirstCall", 0x017DA31DE741B5E9LL
))) {
1648 LINE(191,o_root_invoke_few_args("firstCallInit", 0x241A6011A10C7EF5LL
, 0));
1650 (m_mOutput
= ((Object
)(LINE(193,p_parseroutput(p_parseroutput(NEWOBJ(c_parseroutput
)())->create())))));
1651 (m_mAutonumber
= 0LL);
1652 (m_mLastSection
= "");
1653 (m_mDTopen
= false);
1654 (m_mIncludeCount
= ScalarArrays::sa_
[0]);
1655 (m_mStripState
= ((Object
)(LINE(198,p_stripstate(p_stripstate(NEWOBJ(c_stripstate
)())->create())))));
1656 (m_mArgStack
= false);
1658 (m_mLinkHolders
= ((Object
)(LINE(201,p_linkholderarray(p_linkholderarray(NEWOBJ(c_linkholderarray
)())->create(((Object
)(this))))))));
1660 (m_mRevisionTimestamp
= (m_mRevisionId
= null
));
1661 (m_mVarCache
= ScalarArrays::sa_
[0]);
1662 (o_lval("mUniqPrefix", 0x22D00FA247E8311DLL
) = concat("\177UNIQ", LINE(218,c_parser::t_getrandomstring())));
1663 (m_mTplExpandCache
= (m_mTplRedirCache
= (m_mTplDomCache
= ScalarArrays::sa_
[0])));
1664 (o_lval("mShowToc", 0x673E52F417D0192CLL
) = true);
1665 (o_lval("mForceTocPosition", 0x00520DD93AF13A69LL
) = false);
1666 (m_mIncludeSizes
= ScalarArrays::sa_
[16]);
1667 (m_mPPNodeCount
= 0LL);
1668 (m_mDefaultSort
= false);
1669 (m_mHeadings
= ScalarArrays::sa_
[0]);
1670 (m_mDoubleUnderscores
= ScalarArrays::sa_
[0]);
1671 (m_mExpensiveFunctionCount
= 0LL);
1672 if (t___isset("mPreprocessor") && !same(m_mPreprocessor
.o_get("parser", 0x18A8B9D71D4F2D02LL
), ((Object
)(this)))) {
1673 (m_mPreprocessor
= null
);
1675 LINE(241,invoke_failed("wfrunhooks", Array(ArrayInit(2).set(0, "ParserClearState").set(1, Array(ArrayInit(1).setRef(0, ref(this)).create())).create()), 0x00000000787A96B2LL
));
1676 LINE(242,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::clearState").create()), 0x00000000B599F276LL
));
1678 /* SRC: Parser.php line 245 */
1679 void c_parser::t_setoutputtype(CVarRef v_ot
) {
1680 INSTANCE_METHOD_INJECTION(Parser
, Parser::setOutputType
);
1681 (m_mOutputType
= v_ot
);
1682 (m_ot
= Array(ArrayInit(3).set(0, "html", equal(v_ot
, 1LL /* parser::OT_HTML */), 0x5CA91C812230855DLL
).set(1, "wiki", equal(v_ot
, 2LL /* parser::OT_WIKI */), 0x24648D2BCD794D21LL
).set(2, "pre", equal(v_ot
, 3LL /* parser::OT_PREPROCESS */), 0x633242EDD179FBACLL
).create()));
1684 /* SRC: Parser.php line 258 */
1685 void c_parser::t_settitle(Variant v_t
) {
1686 INSTANCE_METHOD_INJECTION(Parser
, Parser::setTitle
);
1687 if (!(toBoolean(v_t
)) || instanceOf(v_t
, "FakeTitle")) {
1688 (v_t
= LINE(260,throw_fatal("unknown class title", ((void*)NULL
))));
1690 if (!same(LINE(262,x_strval(v_t
.o_invoke_few_args("getFragment", 0x2354C40909546D77LL
, 0))), "")) {
1691 (m_mTitle
= f_clone(toObject(v_t
)));
1692 LINE(265,m_mTitle
.o_invoke_few_args("setFragment", 0x11122CE04748A038LL
, 1, ""));
1698 /* SRC: Parser.php line 276 */
1699 Variant
c_parser::t_uniqprefix() {
1700 INSTANCE_METHOD_INJECTION(Parser
, Parser::uniqPrefix
);
1701 if (!(t___isset("mUniqPrefix"))) {
1704 return o_get("mUniqPrefix", 0x22D00FA247E8311DLL
);
1706 /* SRC: Parser.php line 301 */
1707 Variant
c_parser::t_parse(Variant v_text
, CVarRef v_title
, p_parseroptions v_options
, bool v_linestart
// = true
1708 , bool v_clearState
// = true
1709 , CVarRef v_revid
// = null_variant
1711 INSTANCE_METHOD_INJECTION(Parser
, Parser::parse
);
1717 DECLARE_GLOBAL_VARIABLES(g
);
1718 Variant
&gv_wgUseTidy
__attribute__((__unused__
)) = g
->GV(wgUseTidy
);
1719 Variant
&gv_wgAlwaysUseTidy
__attribute__((__unused__
)) = g
->GV(wgAlwaysUseTidy
);
1720 Variant
&gv_wgContLang
__attribute__((__unused__
)) = g
->GV(wgContLang
);
1722 Variant v_oldRevisionId
;
1723 Variant v_oldRevisionTimestamp
;
1725 Variant v_uniq_prefix
;
1737 Variant
&gv_wgExpensiveParserFunctionLimit
__attribute__((__unused__
)) = g
->GV(wgExpensiveParserFunctionLimit
);
1738 Variant v_wgExpensiveParserFunctionLimit
;
1741 Variant v_limitReport
;
1745 (v_fname
= concat("Parser::parse-", toString(LINE(308,invoke_failed("wfgetcaller", Array(), 0x000000006DA04B19LL
)))));
1746 LINE(309,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "Parser::parse").create()), 0x0000000075359BAFLL
));
1747 LINE(310,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, ref(v_fname
)).create()), 0x0000000075359BAFLL
));
1749 LINE(313,t_clearstate());
1751 (m_mOptions
= ((Object
)(v_options
)));
1752 LINE(317,t_settitle(v_title
));
1753 (v_oldRevisionId
= m_mRevisionId
);
1754 (v_oldRevisionTimestamp
= m_mRevisionTimestamp
);
1755 if (!same(v_revid
, null
)) {
1756 (m_mRevisionId
= v_revid
);
1757 (m_mRevisionTimestamp
= null
);
1759 LINE(324,t_setoutputtype(1LL /* parser::OT_HTML */));
1760 LINE(325,invoke_failed("wfrunhooks", Array(ArrayInit(2).set(0, "ParserBeforeStrip").set(1, Array(ArrayInit(3).setRef(0, ref(this)).setRef(1, ref(v_text
)).setRef(2, ref(lval(m_mStripState
))).create())).create()), 0x00000000787A96B2LL
));
1761 LINE(327,invoke_failed("wfrunhooks", Array(ArrayInit(2).set(0, "ParserAfterStrip").set(1, Array(ArrayInit(3).setRef(0, ref(this)).setRef(1, ref(v_text
)).setRef(2, ref(lval(m_mStripState
))).create())).create()), 0x00000000787A96B2LL
));
1762 (v_text
= LINE(328,t_internalparse(v_text
)));
1763 (v_text
= LINE(329,m_mStripState
.o_invoke_few_args("unstripGeneral", 0x695FA349798CF769LL
, 1, v_text
)));
1764 (v_fixtags
= ScalarArrays::sa_
[17]);
1765 (v_text
= LINE(340,(assignCallTemp(eo_0
, x_array_keys(v_fixtags
)),assignCallTemp(eo_1
, x_array_values(v_fixtags
)),assignCallTemp(eo_2
, v_text
),x_preg_replace(eo_0
, eo_1
, eo_2
))));
1766 (v_text
= LINE(342,t_doblocklevels(v_text
, v_linestart
)));
1767 LINE(344,t_replacelinkholders(ref(v_text
)));
1768 (v_text
= LINE(350,gv_wgContLang
.o_invoke_few_args("parserConvert", 0x3E3277B648A84B8BLL
, 2, v_text
, this)));
1769 (v_text
= LINE(352,m_mStripState
.o_invoke_few_args("unstripNoWiki", 0x2374179DF576FCA9LL
, 1, v_text
)));
1770 LINE(354,invoke_failed("wfrunhooks", Array(ArrayInit(2).set(0, "ParserBeforeTidy").set(1, Array(ArrayInit(2).setRef(0, ref(this)).setRef(1, ref(v_text
)).create())).create()), 0x00000000787A96B2LL
));
1771 (v_uniq_prefix
= o_get("mUniqPrefix", 0x22D00FA247E8311DLL
));
1772 (v_matches
= ScalarArrays::sa_
[0]);
1773 (v_elements
= LINE(360,x_array_keys(m_mTransparentTagHooks
)));
1774 (v_text
= LINE(361,c_parser::t_extracttagsandparams(v_elements
, v_text
, ref(v_matches
), v_uniq_prefix
)));
1777 for (ArrayIterPtr iter9
= v_matches
.begin("parser"); !iter9
->end(); iter9
->next()) {
1778 LOOP_COUNTER_CHECK(7);
1779 v_data
= iter9
->second();
1780 v_marker
= iter9
->first();
1782 df_lambda_6(v_data
, v_element
, v_content
, v_params
, v_tag
);
1783 (v_tagName
= LINE(365,x_strtolower(toString(v_element
))));
1784 if (isset(m_mTransparentTagHooks
, v_tagName
)) {
1785 (v_output
= LINE(368,x_call_user_func_array(m_mTransparentTagHooks
.rvalAt(v_tagName
), Array(ArrayInit(3).set(0, v_content
).set(1, v_params
).set(2, ((Object
)(this))).create()))));
1790 LINE(372,m_mStripState
.o_get("general", 0x661B15A9C00F7127LL
).o_invoke_few_args("setPair", 0x1CA93325C3BDD490LL
, 2, v_marker
, v_output
));
1794 (v_text
= LINE(374,m_mStripState
.o_invoke_few_args("unstripGeneral", 0x695FA349798CF769LL
, 1, v_text
)));
1795 (v_text
= LINE(376,throw_fatal("unknown class sanitizer", ((void*)NULL
))));
1796 if ((toBoolean(gv_wgUseTidy
) && toBoolean(m_mOptions
.o_get("mTidy", 0x46AADA01E8915747LL
))) || toBoolean(gv_wgAlwaysUseTidy
)) {
1797 (v_text
= LINE(379,c_mwtidy::t_tidy(v_text
)));
1800 (v_tidyregs
= ScalarArrays::sa_
[18]);
1801 (v_text
= LINE(405,(assignCallTemp(eo_0
, LINE(403,x_array_keys(v_tidyregs
))),assignCallTemp(eo_1
, LINE(404,x_array_values(v_tidyregs
))),assignCallTemp(eo_2
, v_text
),x_preg_replace(eo_0
, eo_1
, eo_2
))));
1803 v_wgExpensiveParserFunctionLimit
= ref(g
->GV(wgExpensiveParserFunctionLimit
));
1804 if (more(m_mExpensiveFunctionCount
, v_wgExpensiveParserFunctionLimit
)) {
1805 LINE(409,t_limitationwarn("expensive-parserfunction", m_mExpensiveFunctionCount
, v_wgExpensiveParserFunctionLimit
));
1807 LINE(412,invoke_failed("wfrunhooks", Array(ArrayInit(2).set(0, "ParserAfterTidy").set(1, Array(ArrayInit(2).setRef(0, ref(this)).setRef(1, ref(v_text
)).create())).create()), 0x00000000787A96B2LL
));
1808 if (toBoolean(LINE(415,m_mOptions
.o_invoke_few_args("getEnableLimitReport", 0x22B0D101E5B6C279LL
, 0)))) {
1809 v_wgExpensiveParserFunctionLimit
= ref(g
->GV(wgExpensiveParserFunctionLimit
));
1810 (v_max
= LINE(417,m_mOptions
.o_invoke_few_args("getMaxIncludeSize", 0x5356D47AAA28FDF5LL
, 0)));
1811 (v_PFreport
= LINE(418,concat5("Expensive parser function count: ", toString(m_mExpensiveFunctionCount
), "/", toString(v_wgExpensiveParserFunctionLimit
), "\n")));
1812 (v_limitReport
= LINE(424,(assignCallTemp(eo_1
, LINE(421,concat5("Preprocessor node count: ", toString(m_mPPNodeCount
), "/", toString(m_mOptions
.o_get("mMaxPPNodeCount", 0x3DD526BE5013BD55LL
)), "\n"))),assignCallTemp(eo_2
, LINE(422,concat5("Post-expand include size: ", toString(m_mIncludeSizes
.rvalAt("post-expand", 0x0A9E26E2CC92B3CCLL
)), "/", toString(v_max
), " bytes\n"))),assignCallTemp(eo_3
, LINE(423,concat5("Template argument size: ", toString(m_mIncludeSizes
.rvalAt("arg", 0x72E1EE0D651E56D8LL
)), "/", toString(v_max
), " bytes\n"))),assignCallTemp(eo_4
, v_PFreport
),concat5("NewPP limit report\n", eo_1
, eo_2
, eo_3
, eo_4
))));
1813 LINE(425,invoke_failed("wfrunhooks", Array(ArrayInit(2).set(0, "ParserLimitReport").set(1, Array(ArrayInit(2).set(0, ((Object
)(this))).setRef(1, ref(v_limitReport
)).create())).create()), 0x00000000787A96B2LL
));
1814 concat_assign(v_text
, LINE(426,concat3("\n<!-- \n", toString(v_limitReport
), "-->\n")));
1816 LINE(428,m_mOutput
.o_invoke_few_args("setText", 0x5C75DB446C2096A6LL
, 1, v_text
));
1817 (m_mRevisionId
= v_oldRevisionId
);
1818 (m_mRevisionTimestamp
= v_oldRevisionTimestamp
);
1819 LINE(431,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, ref(v_fname
)).create()), 0x00000000B599F276LL
));
1820 LINE(432,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::parse").create()), 0x00000000B599F276LL
));
1823 /* SRC: Parser.php line 446 */
1824 Variant
c_parser::t_recursivetagparse(Variant v_text
, CVarRef v_frame
// = false
1826 INSTANCE_METHOD_INJECTION(Parser
, Parser::recursiveTagParse
);
1827 LINE(447,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "Parser::recursiveTagParse").create()), 0x0000000075359BAFLL
));
1828 LINE(448,invoke_failed("wfrunhooks", Array(ArrayInit(2).set(0, "ParserBeforeStrip").set(1, Array(ArrayInit(3).setRef(0, ref(this)).setRef(1, ref(v_text
)).setRef(2, ref(lval(m_mStripState
))).create())).create()), 0x00000000787A96B2LL
));
1829 LINE(449,invoke_failed("wfrunhooks", Array(ArrayInit(2).set(0, "ParserAfterStrip").set(1, Array(ArrayInit(3).setRef(0, ref(this)).setRef(1, ref(v_text
)).setRef(2, ref(lval(m_mStripState
))).create())).create()), 0x00000000787A96B2LL
));
1830 (v_text
= LINE(450,t_internalparse(v_text
, false, v_frame
)));
1831 LINE(451,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::recursiveTagParse").create()), 0x00000000B599F276LL
));
1834 /* SRC: Parser.php line 459 */
1835 Variant
c_parser::t_preprocess(Variant v_text
, CVarRef v_title
, CVarRef v_options
, CVarRef v_revid
// = null_variant
1837 INSTANCE_METHOD_INJECTION(Parser
, Parser::preprocess
);
1838 LINE(460,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "Parser::preprocess").create()), 0x0000000075359BAFLL
));
1839 LINE(461,t_clearstate());
1840 LINE(462,t_setoutputtype(3LL /* parser::OT_PREPROCESS */));
1841 (m_mOptions
= v_options
);
1842 LINE(464,t_settitle(v_title
));
1843 if (!same(v_revid
, null
)) {
1844 (m_mRevisionId
= v_revid
);
1846 LINE(468,invoke_failed("wfrunhooks", Array(ArrayInit(2).set(0, "ParserBeforeStrip").set(1, Array(ArrayInit(3).setRef(0, ref(this)).setRef(1, ref(v_text
)).setRef(2, ref(lval(m_mStripState
))).create())).create()), 0x00000000787A96B2LL
));
1847 LINE(469,invoke_failed("wfrunhooks", Array(ArrayInit(2).set(0, "ParserAfterStrip").set(1, Array(ArrayInit(3).setRef(0, ref(this)).setRef(1, ref(v_text
)).setRef(2, ref(lval(m_mStripState
))).create())).create()), 0x00000000787A96B2LL
));
1848 (v_text
= LINE(470,t_replacevariables(v_text
)));
1849 (v_text
= LINE(471,m_mStripState
.o_invoke_few_args("unstripBoth", 0x540C7C6FAA3D937BLL
, 1, v_text
)));
1850 LINE(472,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::preprocess").create()), 0x00000000B599F276LL
));
1853 /* SRC: Parser.php line 482 */
1854 String
c_parser::ti_getrandomstring(const char* cls
) {
1855 STATIC_METHOD_INJECTION(Parser
, Parser::getRandomString
);
1856 return concat_rev(LINE(483,x_dechex(x_mt_rand(0LL, 2147483647LL))), x_dechex(x_mt_rand(0LL, 2147483647LL)));
1858 /* SRC: Parser.php line 486 */
1859 Variant
c_parser::t_gettitle() {
1860 INSTANCE_METHOD_INJECTION(Parser
, Parser::getTitle
);
1861 return ref(lval(m_mTitle
));
1863 /* SRC: Parser.php line 487 */
1864 Variant
c_parser::t_getoptions() {
1865 INSTANCE_METHOD_INJECTION(Parser
, Parser::getOptions
);
1868 /* SRC: Parser.php line 488 */
1869 Variant
c_parser::t_getrevisionid() {
1870 INSTANCE_METHOD_INJECTION(Parser
, Parser::getRevisionId
);
1871 return m_mRevisionId
;
1873 /* SRC: Parser.php line 489 */
1874 Variant
c_parser::t_getoutput() {
1875 INSTANCE_METHOD_INJECTION(Parser
, Parser::getOutput
);
1878 /* SRC: Parser.php line 490 */
1879 Primitive
c_parser::t_nextlinkid() {
1880 INSTANCE_METHOD_INJECTION(Parser
, Parser::nextLinkID
);
1883 /* SRC: Parser.php line 492 */
1884 Variant
c_parser::t_getfunctionlang() {
1885 INSTANCE_METHOD_INJECTION(Parser
, Parser::getFunctionLang
);
1886 DECLARE_GLOBAL_VARIABLES(g
);
1887 Variant
&gv_wgLang
__attribute__((__unused__
)) = g
->GV(wgLang
);
1888 Variant
&gv_wgContLang
__attribute__((__unused__
)) = g
->GV(wgContLang
);
1893 (v_target
= LINE(495,m_mOptions
.o_invoke_few_args("getTargetLanguage", 0x66650D0ADB29FEAALL
, 0)));
1894 if (!same(v_target
, null
)) {
1898 return toBoolean(LINE(499,m_mOptions
.o_invoke_few_args("getInterfaceMessage", 0x47CB1D8AB54E1850LL
, 0))) ? ((Variant
)(gv_wgLang
)) : ((Variant
)(gv_wgContLang
));
1902 /* SRC: Parser.php line 506 */
1903 Variant
c_parser::t_getpreprocessor() {
1904 INSTANCE_METHOD_INJECTION(Parser
, Parser::getPreprocessor
);
1907 if (!(t___isset("mPreprocessor"))) {
1908 (v_class
= o_get("mPreprocessorClass", 0x6E5AA590C9CC679ALL
));
1909 (m_mPreprocessor
= LINE(509,create_object(toString(v_class
), Array(ArrayInit(1).set(0, ref(this)).create()))));
1911 return m_mPreprocessor
;
1913 /* SRC: Parser.php line 532 */
1914 String
c_parser::t_extracttagsandparams(CVarRef v_elements
, Variant v_text
, Variant v_matches
, CVarRef v_uniq_prefix
// = ""
1916 INSTANCE_METHOD_INJECTION(Parser
, Parser::extractTagsAndParams
);
1925 DECLARE_GLOBAL_VARIABLES(g
);
1926 Variant
&sv_n
__attribute__((__unused__
)) = g
->sv_parser$$extracttagsandparams$$n
.lvalAt(this->o_getClassName());
1927 Variant
&inited_sv_n
__attribute__((__unused__
)) = g
->inited_sv_parser$$extracttagsandparams$$n
.lvalAt(this->o_getClassName());
1933 Variant v_attributes
;
1947 (v_matches
= ScalarArrays::sa_
[0]);
1948 (v_taglist
= LINE(537,x_implode("|", v_elements
)));
1949 (v_start
= LINE(538,concat3("/<(", v_taglist
, ")(\\s+[^>]*\?|\\s*\?)(\\/\?>)|<(!--)/i")));
1952 while (!equal("", v_text
)) {
1953 LOOP_COUNTER_CHECK(10);
1955 (v_p
= LINE(541,x_preg_split(v_start
, v_text
, toInt32(2LL), toInt32(2LL) /* PREG_SPLIT_DELIM_CAPTURE */)));
1956 concat_assign(v_stripped
, toString(v_p
.rvalAt(0LL, 0x77CFA1EEF01BCA90LL
)));
1957 if (less(LINE(543,x_count(v_p
)), 5LL)) {
1960 if (more(LINE(546,x_count(v_p
)), 5LL)) {
1961 (v_element
= v_p
.rvalAt(4LL, 0x6F2A25235E544A31LL
));
1962 (v_attributes
= "");
1964 (v_inside
= v_p
.rvalAt(5LL, 0x350AEB726A15D700LL
));
1967 (v_element
= v_p
.rvalAt(1LL, 0x5BCA7C69B794F8CELL
));
1968 (v_attributes
= v_p
.rvalAt(2LL, 0x486AFCC090D5F98CLL
));
1969 (v_close
= v_p
.rvalAt(3LL, 0x135FDDF6A6BFBBDDLL
));
1970 (v_inside
= v_p
.rvalAt(4LL, 0x6F2A25235E544A31LL
));
1972 (v_marker
= LINE(560,(assignCallTemp(eo_0
, toString(v_uniq_prefix
)),assignCallTemp(eo_2
, toString(v_element
)),assignCallTemp(eo_4
, (assignCallTemp(eo_7
, sv_n
++),x_sprintf(2, "%08X", Array(ArrayInit(1).set(0, eo_7
).create())))),concat6(eo_0
, "-", eo_2
, "-", eo_4
, "-QINU\177" /* parser::MARKER_SUFFIX */))));
1973 concat_assign(v_stripped
, v_marker
);
1974 if (same(v_close
, "/>")) {
1976 (v_text
= v_inside
);
1980 if (same(v_element
, "!--")) {
1981 (v_end
= "/(-->)/");
1984 (v_end
= LINE(572,concat3("/(<\\/", toString(v_element
), "\\s*>)/i")));
1986 (v_q
= LINE(574,x_preg_split(v_end
, v_inside
, toInt32(2LL), toInt32(2LL) /* PREG_SPLIT_DELIM_CAPTURE */)));
1987 (v_content
= v_q
.rvalAt(0LL, 0x77CFA1EEF01BCA90LL
));
1988 if (less(LINE(576,x_count(v_q
)), 3LL)) {
1993 (v_tail
= v_q
.rvalAt(1LL, 0x5BCA7C69B794F8CELL
));
1994 (v_text
= v_q
.rvalAt(2LL, 0x486AFCC090D5F98CLL
));
1997 v_matches
.set(v_marker
, ((assignCallTemp(eo_0
, v_element
),assignCallTemp(eo_1
, v_content
),assignCallTemp(eo_2
, LINE(588,throw_fatal("unknown class sanitizer", ((void*)NULL
)))),assignCallTemp(eo_3
, LINE(589,concat6("<", toString(v_element
), toString(v_attributes
), toString(v_close
), toString(v_content
), toString(v_tail
)))),Array(ArrayInit(4).set(0, eo_0
).set(1, eo_1
).set(2, eo_2
).set(3, eo_3
).create()))));
2003 /* SRC: Parser.php line 597 */
2004 Variant
c_parser::t_getstriplist() {
2005 INSTANCE_METHOD_INJECTION(Parser
, Parser::getStripList
);
2006 DECLARE_GLOBAL_VARIABLES(g
);
2007 Variant
&gv_wgRawHtml
__attribute__((__unused__
)) = g
->GV(wgRawHtml
);
2010 (v_elements
= m_mStripList
);
2011 if (toBoolean(gv_wgRawHtml
)) {
2012 v_elements
.append(("html"));
2014 if (toBoolean(LINE(603,m_mOptions
.o_invoke_few_args("getUseTeX", 0x2C2CE4CD607BE9D3LL
, 0)))) {
2015 v_elements
.append(("math"));
2019 /* SRC: Parser.php line 612 */
2020 Variant
c_parser::t_strip(CVarRef v_text
, CVarRef v_state
, bool v_stripcomments
// = false
2021 , CArrRef v_dontstrip
// = ScalarArrays::sa_[0]
2023 INSTANCE_METHOD_INJECTION(Parser
, Parser::strip
);
2026 /* SRC: Parser.php line 623 */
2027 Variant
c_parser::t_unstrip(Variant v_text
, Object v_state
) {
2028 INSTANCE_METHOD_INJECTION(Parser
, Parser::unstrip
);
2029 return LINE(624,v_state
->o_invoke_few_args("unstripGeneral", 0x695FA349798CF769LL
, 1, v_text
));
2031 /* SRC: Parser.php line 633 */
2032 Variant
c_parser::t_unstripnowiki(Variant v_text
, CVarRef v_state
) {
2033 INSTANCE_METHOD_INJECTION(Parser
, Parser::unstripNoWiki
);
2034 return LINE(634,toObject(v_state
)->o_invoke_few_args("unstripNoWiki", 0x2374179DF576FCA9LL
, 1, v_text
));
2036 /* SRC: Parser.php line 640 */
2037 Variant
c_parser::t_unstripforhtml(Variant v_text
) {
2038 INSTANCE_METHOD_INJECTION(Parser
, Parser::unstripForHTML
);
2039 return LINE(641,m_mStripState
.o_invoke_few_args("unstripBoth", 0x540C7C6FAA3D937BLL
, 1, v_text
));
2041 /* SRC: Parser.php line 651 */
2042 Variant
c_parser::t_insertstripitem(Variant v_text
) {
2043 INSTANCE_METHOD_INJECTION(Parser
, Parser::insertStripItem
);
2046 (v_rnd
= LINE(652,concat4(toString(o_get("mUniqPrefix", 0x22D00FA247E8311DLL
)), "-item-", toString(m_mMarkerIndex
), "--QINU\177")));
2048 LINE(654,m_mStripState
.o_get("general", 0x661B15A9C00F7127LL
).o_invoke_few_args("setPair", 0x1CA93325C3BDD490LL
, 2, v_rnd
, v_text
));
2051 /* SRC: Parser.php line 662 */
2052 Variant
c_parser::ti_tidy(const char* cls
, CVarRef v_text
) {
2053 STATIC_METHOD_INJECTION(Parser
, Parser::tidy
);
2054 LINE(663,invoke_failed("wfdeprecated", Array(ArrayInit(1).set(0, "Parser::tidy").create()), 0x000000004033CBCALL
));
2055 return LINE(664,c_mwtidy::t_tidy(v_text
));
2057 /* SRC: Parser.php line 672 */
2058 Variant
c_parser::t_dotablestuff(CVarRef v_text
) {
2059 INSTANCE_METHOD_INJECTION(Parser
, Parser::doTableStuff
);
2062 Variant v_td_history
;
2063 Variant v_last_tag_history
;
2064 Variant v_tr_history
;
2065 Variant v_tr_attributes
;
2066 Variant v_has_opened_tr
;
2067 int64 v_indent_level
= 0;
2070 Variant v_first_character
;
2072 Variant v_attributes
;
2078 Variant v_cell_data
;
2080 LINE(673,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "Parser::doTableStuff").create()), 0x0000000075359BAFLL
));
2081 (v_lines
= LINE(675,throw_fatal("unknown class stringutils", ((void*)NULL
))));
2083 (v_td_history
= ScalarArrays::sa_
[0]);
2084 (v_last_tag_history
= ScalarArrays::sa_
[0]);
2085 (v_tr_history
= ScalarArrays::sa_
[0]);
2086 (v_tr_attributes
= ScalarArrays::sa_
[0]);
2087 (v_has_opened_tr
= ScalarArrays::sa_
[0]);
2088 (v_indent_level
= 0LL);
2091 for (ArrayIterPtr iter13
= v_lines
.begin("parser"); !iter13
->end(); iter13
->next()) {
2092 LOOP_COUNTER_CHECK(11);
2093 v_outLine
= iter13
->second();
2095 (v_line
= LINE(685,x_trim(toString(v_outLine
))));
2096 if (equal(v_line
, "")) {
2097 concat_assign(v_out
, concat(toString(v_outLine
), "\n"));
2100 (v_first_character
= v_line
.rvalAt(0LL, 0x77CFA1EEF01BCA90LL
));
2101 (v_matches
= ScalarArrays::sa_
[0]);
2102 if (toBoolean(LINE(694,x_preg_match("/^(:*)\\{\\|(.*)$/", toString(v_line
), ref(v_matches
))))) {
2103 (v_indent_level
= toInt64(LINE(696,x_strlen(toString(v_matches
.rvalAt(1LL, 0x5BCA7C69B794F8CELL
))))));
2104 (v_attributes
= LINE(698,m_mStripState
.o_invoke_few_args("unstripBoth", 0x540C7C6FAA3D937BLL
, 1, v_matches
.refvalAt(2LL, 0x486AFCC090D5F98CLL
))));
2105 (v_attributes
= LINE(699,throw_fatal("unknown class sanitizer", ((void*)NULL
))));
2106 (v_outLine
= concat_rev(LINE(701,concat3("<table", toString(v_attributes
), ">")), x_str_repeat("<dl><dd>", toInt32(v_indent_level
))));
2107 LINE(702,x_array_push(2, ref(v_td_history
), false));
2108 LINE(703,x_array_push(2, ref(v_last_tag_history
), ""));
2109 LINE(704,x_array_push(2, ref(v_tr_history
), false));
2110 LINE(705,x_array_push(2, ref(v_tr_attributes
), ""));
2111 LINE(706,x_array_push(2, ref(v_has_opened_tr
), false));
2113 else if (equal(LINE(707,x_count(v_td_history
)), 0LL)) {
2114 concat_assign(v_out
, concat(toString(v_outLine
), "\n"));
2117 else if (same(LINE(711,x_substr(toString(v_line
), toInt32(0LL), toInt32(2LL))), "|}")) {
2118 (v_line
= concat("</table>", toString(LINE(713,x_substr(toString(v_line
), toInt32(2LL))))));
2119 (v_last_tag
= LINE(714,x_array_pop(ref(v_last_tag_history
))));
2120 if (!(toBoolean(LINE(716,x_array_pop(ref(v_has_opened_tr
)))))) {
2121 (v_line
= toString("<tr><td></td></tr>") + toString(v_line
));
2123 if (toBoolean(LINE(720,x_array_pop(ref(v_tr_history
))))) {
2124 (v_line
= toString("</tr>") + toString(v_line
));
2126 if (toBoolean(LINE(724,x_array_pop(ref(v_td_history
))))) {
2127 (v_line
= LINE(725,concat4("</", toString(v_last_tag
), ">", toString(v_line
))));
2129 LINE(727,x_array_pop(ref(v_tr_attributes
)));
2130 (v_outLine
= concat(toString(v_line
), LINE(728,x_str_repeat("</dd></dl>", toInt32(v_indent_level
)))));
2132 else if (same(LINE(729,x_substr(toString(v_line
), toInt32(0LL), toInt32(2LL))), "|-")) {
2133 (v_line
= LINE(731,x_preg_replace("#^\\|-+#", "", v_line
)));
2134 (v_attributes
= LINE(734,m_mStripState
.o_invoke_few_args("unstripBoth", 0x540C7C6FAA3D937BLL
, 1, v_line
)));
2135 (v_attributes
= LINE(735,throw_fatal("unknown class sanitizer", ((void*)NULL
))));
2136 LINE(736,x_array_pop(ref(v_tr_attributes
)));
2137 LINE(737,x_array_push(2, ref(v_tr_attributes
), v_attributes
));
2139 (v_last_tag
= LINE(740,x_array_pop(ref(v_last_tag_history
))));
2140 LINE(741,x_array_pop(ref(v_has_opened_tr
)));
2141 LINE(742,x_array_push(2, ref(v_has_opened_tr
), true));
2142 if (toBoolean(LINE(744,x_array_pop(ref(v_tr_history
))))) {
2145 if (toBoolean(LINE(748,x_array_pop(ref(v_td_history
))))) {
2146 (v_line
= LINE(749,concat4("</", toString(v_last_tag
), ">", toString(v_line
))));
2148 (v_outLine
= v_line
);
2149 LINE(753,x_array_push(2, ref(v_tr_history
), false));
2150 LINE(754,x_array_push(2, ref(v_td_history
), false));
2151 LINE(755,x_array_push(2, ref(v_last_tag_history
), ""));
2153 else if (same(v_first_character
, "|") || same(v_first_character
, "!") || same(LINE(757,x_substr(toString(v_line
), toInt32(0LL), toInt32(2LL))), "|+")) {
2154 if (same(LINE(759,x_substr(toString(v_line
), toInt32(0LL), toInt32(2LL))), "|+")) {
2155 (v_first_character
= "+");
2156 (v_line
= LINE(761,x_substr(toString(v_line
), toInt32(1LL))));
2158 (v_line
= LINE(764,x_substr(toString(v_line
), toInt32(1LL))));
2159 if (same(v_first_character
, "!")) {
2160 (v_line
= LINE(767,x_str_replace("!!", "||", v_line
)));
2162 (v_cells
= LINE(774,throw_fatal("unknown class stringutils", ((void*)NULL
))));
2166 for (ArrayIterPtr iter16
= v_cells
.begin("parser"); !iter16
->end(); iter16
->next()) {
2167 LOOP_COUNTER_CHECK(14);
2168 v_cell
= iter16
->second();
2171 if (!same(v_first_character
, "+")) {
2172 (v_tr_after
= LINE(784,x_array_pop(ref(v_tr_attributes
))));
2173 if (!(toBoolean(LINE(785,x_array_pop(ref(v_tr_history
)))))) {
2174 (v_previous
= LINE(786,concat3("<tr", toString(v_tr_after
), ">\n")));
2176 LINE(788,x_array_push(2, ref(v_tr_history
), true));
2177 LINE(789,x_array_push(2, ref(v_tr_attributes
), ""));
2178 LINE(790,x_array_pop(ref(v_has_opened_tr
)));
2179 LINE(791,x_array_push(2, ref(v_has_opened_tr
), true));
2181 (v_last_tag
= LINE(794,x_array_pop(ref(v_last_tag_history
))));
2182 if (toBoolean(LINE(796,x_array_pop(ref(v_td_history
))))) {
2183 (v_previous
= LINE(797,concat4("</", toString(v_last_tag
), ">", v_previous
)));
2185 if (same(v_first_character
, "|")) {
2186 (v_last_tag
= "td");
2188 else if (same(v_first_character
, "!")) {
2189 (v_last_tag
= "th");
2191 else if (same(v_first_character
, "+")) {
2192 (v_last_tag
= "caption");
2197 LINE(810,x_array_push(2, ref(v_last_tag_history
), v_last_tag
));
2198 (v_cell_data
= LINE(813,x_explode("|", toString(v_cell
), toInt32(2LL))));
2199 if (!same(LINE(817,x_strpos(toString(v_cell_data
.rvalAt(0LL, 0x77CFA1EEF01BCA90LL
)), "[[")), false)) {
2200 (v_cell
= LINE(818,concat5(v_previous
, "<", toString(v_last_tag
), ">", toString(v_cell
))));
2202 else if (equal(LINE(819,x_count(v_cell_data
)), 1LL)) (v_cell
= LINE(820,concat5(v_previous
, "<", toString(v_last_tag
), ">", toString(v_cell_data
.rvalAt(0LL, 0x77CFA1EEF01BCA90LL
)))));
2204 (v_attributes
= LINE(822,m_mStripState
.o_invoke_few_args("unstripBoth", 0x540C7C6FAA3D937BLL
, 1, v_cell_data
.refvalAt(0LL, 0x77CFA1EEF01BCA90LL
))));
2205 (v_attributes
= LINE(823,throw_fatal("unknown class sanitizer", ((void*)NULL
))));
2206 (v_cell
= LINE(824,concat6(v_previous
, "<", toString(v_last_tag
), toString(v_attributes
), ">", toString(v_cell_data
.rvalAt(1LL, 0x5BCA7C69B794F8CELL
)))));
2208 concat_assign(v_outLine
, toString(v_cell
));
2209 LINE(828,x_array_push(2, ref(v_td_history
), true));
2214 concat_assign(v_out
, concat(toString(v_outLine
), "\n"));
2220 while (more(LINE(835,x_count(v_td_history
)), 0LL)) {
2221 LOOP_COUNTER_CHECK(17);
2223 if (toBoolean(LINE(837,x_array_pop(ref(v_td_history
))))) {
2224 concat_assign(v_out
, "</td>\n");
2226 if (toBoolean(LINE(840,x_array_pop(ref(v_tr_history
))))) {
2227 concat_assign(v_out
, "</tr>\n");
2229 if (!(toBoolean(LINE(843,x_array_pop(ref(v_has_opened_tr
)))))) {
2230 concat_assign(v_out
, "<tr><td></td></tr>\n");
2232 concat_assign(v_out
, "</table>\n");
2236 if (same(LINE(851,x_substr(toString(v_out
), toInt32(-1LL))), "\n")) {
2237 (v_out
= LINE(852,x_substr(toString(v_out
), toInt32(0LL), toInt32(-1LL))));
2239 if (same(v_out
, "<table>\n<tr><td></td></tr>\n</table>")) {
2242 LINE(860,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::doTableStuff").create()), 0x00000000B599F276LL
));
2245 /* SRC: Parser.php line 871 */
2246 Variant
c_parser::t_internalparse(Variant v_text
, bool v_isMain
// = true
2247 , CVarRef v_frame
// = false
2249 INSTANCE_METHOD_INJECTION(Parser
, Parser::internalParse
);
2259 LINE(872,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "Parser::internalParse").create()), 0x0000000075359BAFLL
));
2260 (v_origText
= v_text
);
2261 if (!(toBoolean(LINE(877,invoke_failed("wfrunhooks", Array(ArrayInit(2).set(0, "ParserBeforeInternalParse").set(1, Array(ArrayInit(3).setRef(0, ref(this)).setRef(1, ref(v_text
)).setRef(2, ref(lval(m_mStripState
))).create())).create()), 0x00000000787A96B2LL
))))) {
2262 LINE(878,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::internalParse").create()), 0x00000000B599F276LL
));
2265 if (toBoolean(v_frame
)) {
2266 if (!(toBoolean(toObject(v_frame
).o_get("depth", 0x1AE700EECE6274C7LL
)))) (v_flag
= 0LL);
2267 else (v_flag
= 1LL /* parser::PTD_FOR_INCLUSION */);
2268 (v_dom
= LINE(890,t_preprocesstodom(v_text
, v_flag
)));
2269 (v_text
= LINE(891,toObject(v_frame
)->o_invoke_few_args("expand", 0x39B7BB05F05A37CDLL
, 1, v_dom
)));
2272 (v_text
= LINE(895,t_replacevariables(v_text
)));
2274 (v_text
= LINE(898,(assignCallTemp(eo_0
, v_text
),assignCallTemp(eo_1
, Array(ArrayInit(2).setRef(0, ref(this)).set(1, "attributeStripCallback").create())),assignCallTemp(eo_3
, x_array_keys(m_mTransparentTagHooks
)),throw_fatal("unknown class sanitizer", (x_array_keys(m_mTransparentTagHooks
), (void*)NULL
)))));
2275 LINE(899,invoke_failed("wfrunhooks", Array(ArrayInit(2).set(0, "InternalParseBeforeLinks").set(1, Array(ArrayInit(3).setRef(0, ref(this)).setRef(1, ref(v_text
)).setRef(2, ref(lval(m_mStripState
))).create())).create()), 0x00000000787A96B2LL
));
2276 (v_text
= LINE(905,t_dotablestuff(v_text
)));
2277 (v_text
= LINE(907,x_preg_replace("/(^|\\n)-----*/", "\\1<hr />", v_text
)));
2278 (v_text
= LINE(909,t_dodoubleunderscore(v_text
)));
2279 (v_text
= LINE(910,t_doheadings(v_text
)));
2280 if (toBoolean(LINE(911,m_mOptions
.o_invoke_few_args("getUseDynamicDates", 0x01659C897F5E99C1LL
, 0)))) {
2281 (v_df
= LINE(912,c_dateformatter::t_getinstance()));
2282 (v_text
= (assignCallTemp(eo_0
, ref(LINE(913,m_mOptions
.o_invoke_few_args("getDateFormat", 0x6EF12DB3679FD689LL
, 0)))),assignCallTemp(eo_1
, ref(v_text
)),v_df
.o_invoke("reformat", Array(ArrayInit(2).set(0, eo_0
).set(1, eo_1
).create()), 0x59D9A29BB871E42ELL
)));
2284 (v_text
= LINE(915,t_doallquotes(v_text
)));
2285 (v_text
= LINE(916,t_replaceinternallinks(v_text
)));
2286 (v_text
= LINE(917,t_replaceexternallinks(v_text
)));
2287 (v_text
= LINE(921,x_str_replace(concat(toString(o_get("mUniqPrefix", 0x22D00FA247E8311DLL
)), "NOPARSE"), "", v_text
)));
2288 (v_text
= LINE(923,t_domagiclinks(v_text
)));
2289 (v_text
= LINE(924,t_formatheadings(v_text
, v_origText
, v_isMain
)));
2290 LINE(926,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::internalParse").create()), 0x00000000B599F276LL
));
2293 /* SRC: Parser.php line 937 */
2294 Variant
c_parser::t_domagiclinks(Variant v_text
) {
2295 INSTANCE_METHOD_INJECTION(Parser
, Parser::doMagicLinks
);
2299 LINE(938,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "Parser::doMagicLinks").create()), 0x0000000075359BAFLL
));
2300 (v_prots
= m_mUrlProtocols
);
2301 (v_urlChar
= "[^][<>\"\\x00-\\x20\\x7F]" /* parser::EXT_LINK_URL_CLASS */);
2302 (v_text
= LINE(952,x_preg_replace_callback(concat("!(\?: # Start cases\n\t\t\t\t(<a.*\?</a>) | # m[1]: Skip link text \n\t\t\t\t(<.*\?>) | # m[2]: Skip stuff inside HTML elements", concat5("\n\t\t\t\t(\\b(\?:", toString(v_prots
), ")", v_urlChar
, "+) | # m[3]: Free external links\n\t\t\t\t(\?:RFC|PMID)\\s+([0-9]+) | # m[4]: RFC or PMID, capture number\n\t\t\t\tISBN\\s+(\\b # m[5]: ISBN, capture number\n\t\t\t\t (\?: 97[89] [\\ \\-]\? )\? # optional 13-digit ISBN prefix\n\t\t\t\t (\?: [0-9] [\\ \\-]\? ){9} # 9 digits with opt. delimiters\n\t\t\t\t [0-9Xx] # check digit\n\t\t\t\t \\b)\n\t\t\t)!x")), Array(ArrayInit(2).setRef(0, ref(this)).set(1, "magicLinkCallback").create()), v_text
)));
2303 LINE(953,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::doMagicLinks").create()), 0x00000000B599F276LL
));
2306 /* SRC: Parser.php line 957 */
2307 Variant
c_parser::t_magiclinkcallback(CVarRef v_m
) {
2308 INSTANCE_METHOD_INJECTION(Parser
, Parser::magicLinkCallback
);
2323 if (isset(v_m
, 1LL, 0x5BCA7C69B794F8CELL
) && !same(v_m
.rvalAt(1LL, 0x5BCA7C69B794F8CELL
), "")) {
2324 return v_m
.rvalAt(0LL, 0x77CFA1EEF01BCA90LL
);
2326 else if (isset(v_m
, 2LL, 0x486AFCC090D5F98CLL
) && !same(v_m
.rvalAt(2LL, 0x486AFCC090D5F98CLL
), "")) {
2327 return v_m
.rvalAt(0LL, 0x77CFA1EEF01BCA90LL
);
2329 else if (isset(v_m
, 3LL, 0x135FDDF6A6BFBBDDLL
) && !same(v_m
.rvalAt(3LL, 0x135FDDF6A6BFBBDDLL
), "")) {
2330 return LINE(966,t_makefreeexternallink(v_m
.rvalAt(0LL, 0x77CFA1EEF01BCA90LL
)));
2332 else if (isset(v_m
, 4LL, 0x6F2A25235E544A31LL
) && !same(v_m
.rvalAt(4LL, 0x6F2A25235E544A31LL
), "")) {
2334 if (same(LINE(970,x_substr(toString(v_m
.rvalAt(0LL, 0x77CFA1EEF01BCA90LL
)), toInt32(0LL), toInt32(3LL))), "RFC")) {
2335 (v_keyword
= "RFC");
2336 (v_urlmsg
= "rfcurl");
2337 (v_CssClass
= "mw-magiclink-rfc");
2338 (v_id
= v_m
.rvalAt(4LL, 0x6F2A25235E544A31LL
));
2340 else if (same(LINE(975,x_substr(toString(v_m
.rvalAt(0LL, 0x77CFA1EEF01BCA90LL
)), toInt32(0LL), toInt32(4LL))), "PMID")) {
2341 (v_keyword
= "PMID");
2342 (v_urlmsg
= "pubmedurl");
2343 (v_CssClass
= "mw-magiclink-pmid");
2344 (v_id
= v_m
.rvalAt(4LL, 0x6F2A25235E544A31LL
));
2347 throw_exception(LINE(982,create_object("mwexception", Array(ArrayInit(1).set(0, (assignCallTemp(eo_1
, toString(x_substr(toString(v_m
.rvalAt(0LL, 0x77CFA1EEF01BCA90LL
)), toInt32(0LL), toInt32(20LL)))),concat3("Parser::magicLinkCallback: unrecognised match type \"", eo_1
, "\""))).create()))));
2349 (v_url
= LINE(984,invoke_failed("wfmsg", Array(ArrayInit(2).set(0, ref(v_urlmsg
)).set(1, ref(v_id
)).create()), 0x0000000002E29FB3LL
)));
2350 (v_sk
= LINE(985,m_mOptions
.o_invoke_few_args("getSkin", 0x6C79601E06BA735FLL
, 0)));
2351 (v_la
= LINE(986,v_sk
.o_invoke_few_args("getExternalLinkAttributes", 0x14ACE0578A57FD66LL
, 1, toString("external ") + v_CssClass
)));
2352 return concat_rev(LINE(987,concat6(toString(v_la
), ">", v_keyword
, " ", toString(v_id
), "</a>")), concat3("<a href=\"", toString(v_url
), "\""));
2354 else if (isset(v_m
, 5LL, 0x350AEB726A15D700LL
) && !same(v_m
.rvalAt(5LL, 0x350AEB726A15D700LL
), "")) {
2355 (v_isbn
= v_m
.rvalAt(5LL, 0x350AEB726A15D700LL
));
2356 (v_num
= LINE(995,x_strtr(toString(v_isbn
), ScalarArrays::sa_
[19])));
2357 (v_titleObj
= LINE(996,throw_fatal("unknown class specialpage", ((void*)NULL
))));
2358 return LINE(999,(assignCallTemp(eo_1
, toString(LINE(998,v_titleObj
.o_invoke_few_args("escapeLocalUrl", 0x0A4E2A99089C4842LL
, 0)))),assignCallTemp(eo_2
, LINE(999,concat3("\" class=\"internal mw-magiclink-isbn\">ISBN ", toString(v_isbn
), "</a>"))),concat3("<a href=\"", eo_1
, eo_2
)));
2361 return v_m
.rvalAt(0LL, 0x77CFA1EEF01BCA90LL
);
2365 /* SRC: Parser.php line 1010 */
2366 String
c_parser::t_makefreeexternallink(Variant v_url
) {
2367 INSTANCE_METHOD_INJECTION(Parser
, Parser::makeFreeExternalLink
);
2374 DECLARE_GLOBAL_VARIABLES(g
);
2375 Variant
&gv_wgContLang
__attribute__((__unused__
)) = g
->GV(wgContLang
);
2380 Variant v_numSepChars
;
2382 Variant v_pasteurized
;
2384 LINE(1012,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "Parser::makeFreeExternalLink").create()), 0x0000000075359BAFLL
));
2385 (v_sk
= LINE(1014,m_mOptions
.o_invoke_few_args("getSkin", 0x6C79601E06BA735FLL
, 0)));
2387 (v_m2
= ScalarArrays::sa_
[0]);
2388 if (toBoolean(LINE(1021,x_preg_match("/&(lt|gt);/", toString(v_url
), ref(v_m2
), toInt32(256LL) /* PREG_OFFSET_CAPTURE */)))) {
2389 (v_trail
= concat(toString(LINE(1022,x_substr(toString(v_url
), toInt32(v_m2
.rvalAt(0LL, 0x77CFA1EEF01BCA90LL
).rvalAt(1LL, 0x5BCA7C69B794F8CELL
))))), v_trail
));
2390 (v_url
= LINE(1023,x_substr(toString(v_url
), toInt32(0LL), toInt32(v_m2
.rvalAt(0LL, 0x77CFA1EEF01BCA90LL
).rvalAt(1LL, 0x5BCA7C69B794F8CELL
)))));
2392 (v_sep
= ",;\\.:!\?");
2393 if (same(LINE(1029,x_strpos(toString(v_url
), "(")), false)) {
2394 concat_assign(v_sep
, ")");
2396 (v_numSepChars
= LINE(1033,(assignCallTemp(eo_0
, x_strrev(toString(v_url
))),assignCallTemp(eo_1
, v_sep
),x_strspn(eo_0
, eo_1
))));
2397 if (toBoolean(v_numSepChars
)) {
2398 (v_trail
= concat(toString(LINE(1035,x_substr(toString(v_url
), toInt32(negate(v_numSepChars
))))), v_trail
));
2399 (v_url
= LINE(1036,x_substr(toString(v_url
), toInt32(0LL), toInt32(negate(v_numSepChars
)))));
2401 (v_url
= LINE(1039,throw_fatal("unknown class sanitizer", ((void*)NULL
))));
2402 (v_text
= LINE(1042,t_maybemakeexternalimage(v_url
)));
2403 if (same(v_text
, false)) {
2404 (v_text
= (assignCallTemp(eo_0
, toObject(v_sk
)),(assignCallTemp(eo_1
, ref(v_url
)),assignCallTemp(eo_2
, ref(LINE(1045,gv_wgContLang
.o_invoke_few_args("markNoConversion", 0x3AC6A984BC83E71BLL
, 1, v_url
)))),assignCallTemp(eo_5
, ref(LINE(1046,t_getexternallinkattribs(v_url
)))),eo_0
.o_invoke("makeExternalLink", Array(ArrayInit(5).set(0, eo_1
).set(1, eo_2
).set(2, true).set(3, "free").set(4, eo_5
).create()), 0x29CE649D13E77D3BLL
))));
2405 (v_pasteurized
= LINE(1049,c_parser::t_replaceunusualescapes(v_url
)));
2406 LINE(1050,m_mOutput
.o_invoke_few_args("addExternalLink", 0x3FE22FCE3F0B40E8LL
, 1, v_pasteurized
));
2408 LINE(1052,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::makeFreeExternalLink").create()), 0x00000000B599F276LL
));
2409 return concat(toString(v_text
), v_trail
);
2411 /* SRC: Parser.php line 1062 */
2412 Variant
c_parser::t_doheadings(Variant v_text
) {
2413 INSTANCE_METHOD_INJECTION(Parser
, Parser::doHeadings
);
2420 LINE(1063,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "Parser::doHeadings").create()), 0x0000000075359BAFLL
));
2423 for ((v_i
= 6LL); not_less(v_i
, 1LL); --v_i
) {
2424 LOOP_COUNTER_CHECK(18);
2426 (v_h
= LINE(1065,x_str_repeat("=", toInt32(v_i
))));
2427 (v_text
= LINE(1067,(assignCallTemp(eo_0
, LINE(1066,concat5("/^", v_h
, "(.+)", v_h
, "\\s*$/m"))),assignCallTemp(eo_1
, LINE(1067,concat5("<h", toString(v_i
), ">\\1</h", toString(v_i
), ">"))),assignCallTemp(eo_2
, v_text
),x_preg_replace(eo_0
, eo_1
, eo_2
))));
2431 LINE(1069,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::doHeadings").create()), 0x00000000B599F276LL
));
2434 /* SRC: Parser.php line 1078 */
2435 Variant
c_parser::t_doallquotes(CVarRef v_text
) {
2436 INSTANCE_METHOD_INJECTION(Parser
, Parser::doAllQuotes
);
2441 LINE(1079,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "Parser::doAllQuotes").create()), 0x0000000075359BAFLL
));
2443 (v_lines
= LINE(1081,throw_fatal("unknown class stringutils", ((void*)NULL
))));
2446 for (ArrayIterPtr iter21
= v_lines
.begin("parser"); !iter21
->end(); iter21
->next()) {
2447 LOOP_COUNTER_CHECK(19);
2448 v_line
= iter21
->second();
2450 concat_assign(v_outtext
, concat(toString(LINE(1083,t_doquotes(v_line
))), "\n"));
2454 (v_outtext
= LINE(1085,x_substr(toString(v_outtext
), toInt32(0LL), toInt32(-1LL))));
2455 LINE(1086,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::doAllQuotes").create()), 0x00000000B599F276LL
));
2458 /* SRC: Parser.php line 1093 */
2459 Variant
c_parser::t_doquotes(CVarRef v_text
) {
2460 INSTANCE_METHOD_INJECTION(Parser
, Parser::doQuotes
);
2465 int64 v_numbold
= 0;
2466 int64 v_numitalics
= 0;
2468 int64 v_firstsingleletterword
= 0;
2469 int64 v_firstmultiletterword
= 0;
2470 int64 v_firstspace
= 0;
2477 (v_arr
= LINE(1094,x_preg_split("/(''+)/", v_text
, toInt32(-1LL), toInt32(2LL) /* PREG_SPLIT_DELIM_CAPTURE */)));
2478 if (equal(LINE(1095,x_count(v_arr
)), 1LL)) return v_text
;
2482 (v_numitalics
= 0LL);
2485 for (ArrayIterPtr iter24
= v_arr
.begin("parser"); !iter24
->end(); iter24
->next()) {
2486 LOOP_COUNTER_CHECK(22);
2487 v_r
= iter24
->second();
2489 if (equal((modulo(v_i
, 2LL)), 1LL)) {
2490 if (equal(LINE(1111,x_strlen(toString(v_arr
.rvalAt(v_i
)))), 4LL)) {
2491 concat_assign(lval(v_arr
.lvalAt(v_i
- 1LL)), "'");
2492 v_arr
.set(v_i
, ("'''"));
2494 else if (more(LINE(1118,x_strlen(toString(v_arr
.rvalAt(v_i
)))), 5LL)) {
2495 concat_assign(lval(v_arr
.lvalAt(v_i
- 1LL)), LINE(1120,(assignCallTemp(eo_1
, toInt32(x_strlen(toString(v_arr
.rvalAt(v_i
))) - 5LL)),x_str_repeat("'", eo_1
))));
2496 v_arr
.set(v_i
, ("'''''"));
2498 if (equal(LINE(1125,x_strlen(toString(v_arr
.rvalAt(v_i
)))), 2LL)) {
2501 else if (equal(LINE(1126,x_strlen(toString(v_arr
.rvalAt(v_i
)))), 3LL)) {
2504 else if (equal(LINE(1127,x_strlen(toString(v_arr
.rvalAt(v_i
)))), 5LL)) {
2513 if ((equal(modulo(v_numbold
, 2LL), 1LL)) && (equal(modulo(v_numitalics
, 2LL), 1LL))) {
2515 (v_firstsingleletterword
= -1LL);
2516 (v_firstmultiletterword
= -1LL);
2517 (v_firstspace
= -1LL);
2520 for (ArrayIterPtr iter27
= v_arr
.begin("parser"); !iter27
->end(); iter27
->next()) {
2521 LOOP_COUNTER_CHECK(25);
2522 v_r
= iter27
->second();
2524 if (((equal(modulo(v_i
, 2LL), 1LL))) && ((equal(LINE(1144,x_strlen(toString(v_r
))), 3LL)))) {
2525 (v_x1
= LINE(1146,x_substr(toString(v_arr
.rvalAt(v_i
- 1LL)), toInt32(-1LL))));
2526 (v_x2
= LINE(1147,x_substr(toString(v_arr
.rvalAt(v_i
- 1LL)), toInt32(-2LL), toInt32(1LL))));
2527 if (same(v_x1
, " ")) {
2528 if (equal(v_firstspace
, -1LL)) (v_firstspace
= v_i
);
2530 else if (same(v_x2
, " ")) {
2531 if (equal(v_firstsingleletterword
, -1LL)) (v_firstsingleletterword
= v_i
);
2534 if (equal(v_firstmultiletterword
, -1LL)) (v_firstmultiletterword
= v_i
);
2541 if (more(v_firstsingleletterword
, -1LL)) {
2542 v_arr
.set(v_firstsingleletterword
, ("''"));
2543 concat_assign(lval(v_arr
.lvalAt(v_firstsingleletterword
- 1LL)), "'");
2545 else if (more(v_firstmultiletterword
, -1LL)) {
2546 v_arr
.set(v_firstmultiletterword
, ("''"));
2547 concat_assign(lval(v_arr
.lvalAt(v_firstmultiletterword
- 1LL)), "'");
2549 else if (more(v_firstspace
, -1LL)) {
2550 v_arr
.set(v_firstspace
, ("''"));
2551 concat_assign(lval(v_arr
.lvalAt(v_firstspace
- 1LL)), "'");
2560 for (ArrayIterPtr iter30
= v_arr
.begin("parser"); !iter30
->end(); iter30
->next()) {
2561 LOOP_COUNTER_CHECK(28);
2562 v_r
= iter30
->second();
2564 if (equal((modulo(v_i
, 2LL)), 0LL)) {
2565 if (same(v_state
, "both")) concat_assign(v_buffer
, toString(v_r
));
2566 else concat_assign(v_output
, toString(v_r
));
2569 if (equal(LINE(1197,x_strlen(toString(v_r
))), 2LL)) {
2570 if (same(v_state
, "i")) {
2571 concat_assign(v_output
, "</i>");
2574 else if (same(v_state
, "bi")) {
2575 concat_assign(v_output
, "</i>");
2578 else if (same(v_state
, "ib")) {
2579 concat_assign(v_output
, "</b></i><b>");
2582 else if (same(v_state
, "both")) {
2583 concat_assign(v_output
, LINE(1206,concat3("<b><i>", toString(v_buffer
), "</i>")));
2587 concat_assign(v_output
, "<i>");
2588 concat_assign(v_state
, "i");
2591 else if (equal(LINE(1210,x_strlen(toString(v_r
))), 3LL)) {
2592 if (same(v_state
, "b")) {
2593 concat_assign(v_output
, "</b>");
2596 else if (same(v_state
, "bi")) {
2597 concat_assign(v_output
, "</i></b><i>");
2600 else if (same(v_state
, "ib")) {
2601 concat_assign(v_output
, "</b>");
2604 else if (same(v_state
, "both")) {
2605 concat_assign(v_output
, LINE(1219,concat3("<i><b>", toString(v_buffer
), "</b>")));
2609 concat_assign(v_output
, "<b>");
2610 concat_assign(v_state
, "b");
2613 else if (equal(LINE(1223,x_strlen(toString(v_r
))), 5LL)) {
2614 if (same(v_state
, "b")) {
2615 concat_assign(v_output
, "</b><i>");
2618 else if (same(v_state
, "i")) {
2619 concat_assign(v_output
, "</i><b>");
2622 else if (same(v_state
, "bi")) {
2623 concat_assign(v_output
, "</i></b>");
2626 else if (same(v_state
, "ib")) {
2627 concat_assign(v_output
, "</b></i>");
2630 else if (same(v_state
, "both")) {
2631 concat_assign(v_output
, LINE(1234,concat3("<i><b>", toString(v_buffer
), "</b></i>")));
2644 if (same(v_state
, "b") || same(v_state
, "ib")) concat_assign(v_output
, "</b>");
2645 if (same(v_state
, "i") || same(v_state
, "bi") || same(v_state
, "ib")) concat_assign(v_output
, "</i>");
2646 if (same(v_state
, "bi")) concat_assign(v_output
, "</b>");
2647 if (same(v_state
, "both") && toBoolean(v_buffer
)) concat_assign(v_output
, LINE(1250,concat3("<b><i>", toString(v_buffer
), "</i></b>")));
2652 /* SRC: Parser.php line 1263 */
2653 Variant
c_parser::t_replaceexternallinks(Variant v_text
) {
2654 INSTANCE_METHOD_INJECTION(Parser
, Parser::replaceExternalLinks
);
2664 DECLARE_GLOBAL_VARIABLES(g
);
2665 Variant
&gv_wgContLang
__attribute__((__unused__
)) = g
->GV(wgContLang
);
2678 Variant v_pasteurized
;
2680 LINE(1265,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "Parser::replaceExternalLinks").create()), 0x0000000075359BAFLL
));
2681 (v_sk
= LINE(1267,m_mOptions
.o_invoke_few_args("getSkin", 0x6C79601E06BA735FLL
, 0)));
2682 (v_bits
= LINE(1269,x_preg_split(m_mExtLinkBracketedRegex
, v_text
, toInt32(-1LL), toInt32(2LL) /* PREG_SPLIT_DELIM_CAPTURE */)));
2683 (v_s
= LINE(1270,x_array_shift(ref(v_bits
))));
2687 while (less(v_i
, LINE(1273,x_count(v_bits
)))) {
2688 LOOP_COUNTER_CHECK(31);
2690 (v_url
= v_bits
.rvalAt(v_i
++));
2691 (v_protocol
= v_bits
.rvalAt(v_i
++));
2692 (v_text
= v_bits
.rvalAt(v_i
++));
2693 (v_trail
= v_bits
.rvalAt(v_i
++));
2694 (v_m2
= ScalarArrays::sa_
[0]);
2695 if (toBoolean(LINE(1283,x_preg_match("/&(lt|gt);/", toString(v_url
), ref(v_m2
), toInt32(256LL) /* PREG_OFFSET_CAPTURE */)))) {
2696 (v_text
= LINE(1284,(assignCallTemp(eo_0
, toString(x_substr(toString(v_url
), toInt32(v_m2
.rvalAt(0LL, 0x77CFA1EEF01BCA90LL
).rvalAt(1LL, 0x5BCA7C69B794F8CELL
))))),assignCallTemp(eo_2
, toString(v_text
)),concat3(eo_0
, " ", eo_2
))));
2697 (v_url
= LINE(1285,x_substr(toString(v_url
), toInt32(0LL), toInt32(v_m2
.rvalAt(0LL, 0x77CFA1EEF01BCA90LL
).rvalAt(1LL, 0x5BCA7C69B794F8CELL
)))));
2699 (v_img
= LINE(1290,t_maybemakeexternalimage(v_text
)));
2700 if (!same(v_img
, false)) {
2704 (v_linktype
= (same(v_text
, v_url
)) ? (("free")) : (("text")));
2705 if (equal(v_text
, "")) {
2706 if (!same(LINE(1303,(assignCallTemp(eo_0
, toString(invoke_failed("wfurlprotocols", Array(), 0x00000000BD4BD4FELL
))),assignCallTemp(eo_1
, (assignCallTemp(eo_2
, toString(v_protocol
)),assignCallTemp(eo_4
, toInt32(x_strpos(toString(v_protocol
), ":"))),x_substr(eo_2
, toInt32(0LL), eo_4
))),x_strpos(eo_0
, eo_1
))), false)) {
2707 (v_langObj
= LINE(1304,t_getfunctionlang()));
2708 (v_text
= LINE(1305,(assignCallTemp(eo_1
, toString(v_langObj
.o_invoke_few_args("formatNum", 0x0FEB8F5DDB8EBB5ALL
, 1, ++m_mAutonumber
))),concat3("[", eo_1
, "]"))));
2709 (v_linktype
= "autonumber");
2712 (v_text
= LINE(1309,x_htmlspecialchars(toString(v_url
))));
2713 (v_linktype
= "free");
2717 df_lambda_7(LINE(1315,throw_fatal("unknown class linker", ((void*)NULL
))), v_dtrail
, v_trail
);
2719 (v_text
= LINE(1318,gv_wgContLang
.o_invoke_few_args("markNoConversion", 0x3AC6A984BC83E71BLL
, 1, v_text
)));
2720 (v_url
= LINE(1320,throw_fatal("unknown class sanitizer", ((void*)NULL
))));
2721 concat_assign(v_s
, LINE(1327,(assignCallTemp(eo_0
, toString((assignCallTemp(eo_3
, toObject(v_sk
)),(assignCallTemp(eo_4
, ref(v_url
)),assignCallTemp(eo_5
, ref(v_text
)),assignCallTemp(eo_7
, ref(v_linktype
)),assignCallTemp(eo_8
, ref(t_getexternallinkattribs(v_url
))),eo_3
.o_invoke("makeExternalLink", Array(ArrayInit(5).set(0, eo_4
).set(1, eo_5
).set(2, false).set(3, eo_7
).set(4, eo_8
).create()), 0x29CE649D13E77D3BLL
))))),assignCallTemp(eo_1
, toString(v_dtrail
)),assignCallTemp(eo_2
, toString(v_trail
)),concat3(eo_0
, eo_1
, eo_2
))));
2722 (v_pasteurized
= LINE(1332,c_parser::t_replaceunusualescapes(v_url
)));
2723 LINE(1333,m_mOutput
.o_invoke_few_args("addExternalLink", 0x3FE22FCE3F0B40E8LL
, 1, v_pasteurized
));
2727 LINE(1336,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::replaceExternalLinks").create()), 0x00000000B599F276LL
));
2730 /* SRC: Parser.php line 1350 */
2731 Variant
c_parser::t_getexternallinkattribs(Variant v_url
// = false
2733 INSTANCE_METHOD_INJECTION(Parser
, Parser::getExternalLinkAttribs
);
2734 DECLARE_GLOBAL_VARIABLES(g
);
2736 Variant
&gv_wgNoFollowLinks
__attribute__((__unused__
)) = g
->GV(wgNoFollowLinks
);
2737 Variant v_wgNoFollowLinks
;
2738 Variant
&gv_wgNoFollowNsExceptions
__attribute__((__unused__
)) = g
->GV(wgNoFollowNsExceptions
);
2739 Variant v_wgNoFollowNsExceptions
;
2741 Variant
&gv_wgNoFollowDomainExceptions
__attribute__((__unused__
)) = g
->GV(wgNoFollowDomainExceptions
);
2742 Variant v_wgNoFollowDomainExceptions
;
2746 (v_attribs
= ScalarArrays::sa_
[0]);
2748 v_wgNoFollowLinks
= ref(g
->GV(wgNoFollowLinks
));
2749 v_wgNoFollowNsExceptions
= ref(g
->GV(wgNoFollowNsExceptions
));
2751 (v_ns
= LINE(1353,m_mTitle
.o_invoke_few_args("getNamespace", 0x6DC05480D007D522LL
, 0)));
2752 if (toBoolean(v_wgNoFollowLinks
) && !(LINE(1354,x_in_array(v_ns
, v_wgNoFollowNsExceptions
)))) {
2753 v_attribs
.set("rel", ("nofollow"), 0x234BFF7AE368CA91LL
);
2754 v_wgNoFollowDomainExceptions
= ref(g
->GV(wgNoFollowDomainExceptions
));
2755 if (toBoolean(v_wgNoFollowDomainExceptions
)) {
2756 (v_bits
= LINE(1359,invoke_failed("wfparseurl", Array(ArrayInit(1).set(0, ref(v_url
)).create()), 0x00000000B00BED86LL
)));
2757 if (LINE(1360,x_is_array(v_bits
)) && isset(v_bits
, "host", 0x5FFAEBBF2B227E19LL
)) {
2760 for (ArrayIterPtr iter34
= v_wgNoFollowDomainExceptions
.begin("parser"); !iter34
->end(); iter34
->next()) {
2761 LOOP_COUNTER_CHECK(32);
2762 v_domain
= iter34
->second();
2764 if (equal(LINE(1362,x_substr(toString(v_bits
.rvalAt("host", 0x5FFAEBBF2B227E19LL
)), toInt32(negate(x_strlen(toString(v_domain
)))))), v_domain
)) {
2765 v_attribs
.weakRemove("rel", 0x234BFF7AE368CA91LL
);
2774 if (toBoolean(LINE(1371,m_mOptions
.o_invoke_few_args("getExternalLinkTarget", 0x3CCD270F1E382832LL
, 0)))) {
2775 v_attribs
.set("target", (LINE(1372,m_mOptions
.o_invoke_few_args("getExternalLinkTarget", 0x3CCD270F1E382832LL
, 0))), 0x22F784C030DE5CB0LL
);
2779 /* SRC: Parser.php line 1388 */
2780 Variant
c_parser::ti_replaceunusualescapes(const char* cls
, CVarRef v_url
) {
2781 STATIC_METHOD_INJECTION(Parser
, Parser::replaceUnusualEscapes
);
2782 return LINE(1390,x_preg_replace_callback("/%[0-9A-Fa-f]{2}/", ScalarArrays::sa_
[20], v_url
));
2784 /* SRC: Parser.php line 1399 */
2785 Variant
c_parser::ti_replaceunusualescapescallback(const char* cls
, CVarRef v_matches
) {
2786 STATIC_METHOD_INJECTION(Parser
, Parser::replaceUnusualEscapesCallback
);
2790 (v_char
= LINE(1400,x_urldecode(toString(v_matches
.rvalAt(0LL, 0x77CFA1EEF01BCA90LL
)))));
2791 (v_ord
= LINE(1401,x_ord(v_char
)));
2792 if (more(v_ord
, 32LL) && less(v_ord
, 127LL) && same(LINE(1403,x_strpos("<>\"#{}|\\^~[]`;/\?", v_char
)), false)) {
2796 return v_matches
.rvalAt(0LL, 0x77CFA1EEF01BCA90LL
);
2800 /* SRC: Parser.php line 1417 */
2801 Variant
c_parser::t_maybemakeexternalimage(Variant v_url
) {
2802 INSTANCE_METHOD_INJECTION(Parser
, Parser::maybeMakeExternalImage
);
2809 Variant v_imagesfrom
;
2810 bool v_imagesexception
= false;
2812 bool v_imagematch
= false;
2817 (v_sk
= LINE(1418,m_mOptions
.o_invoke_few_args("getSkin", 0x6C79601E06BA735FLL
, 0)));
2818 (v_imagesfrom
= LINE(1419,m_mOptions
.o_invoke_few_args("getAllowExternalImagesFrom", 0x328637508AD8D9BELL
, 0)));
2819 (v_imagesexception
= !(empty(v_imagesfrom
)));
2821 if (v_imagesexception
&& LINE(1423,x_is_array(v_imagesfrom
))) {
2822 (v_imagematch
= false);
2825 for (ArrayIterPtr iter37
= v_imagesfrom
.begin("parser"); !iter37
->end(); iter37
->next()) {
2826 LOOP_COUNTER_CHECK(35);
2827 v_match
= iter37
->second();
2829 if (same(LINE(1426,x_strpos(toString(v_url
), v_match
)), 0LL)) {
2830 (v_imagematch
= true);
2837 else if (v_imagesexception
) {
2838 (v_imagematch
= (same(LINE(1432,x_strpos(toString(v_url
), v_imagesfrom
)), 0LL)));
2841 (v_imagematch
= false);
2843 if (toBoolean(LINE(1436,m_mOptions
.o_invoke_few_args("getAllowExternalImages", 0x09A86C9F3335CAB7LL
, 0))) || (v_imagesexception
&& v_imagematch
)) {
2844 if (toBoolean(LINE(1438,x_preg_match("/^(http:\\/\\/|https:\\/\\/)([^][<>\"\\x00-\\x20\\x7F]+)\n\t\t\\/([A-Za-z0-9_.,~%\\-+&;#*\?!=()@\\x80-\\xFF]+)\\.((\?i)gif|png|jpg|jpeg)$/Sx" /* parser::EXT_IMAGE_REGEX */, toString(v_url
))))) {
2845 (v_text
= LINE(1440,v_sk
.o_invoke_few_args("makeExternalImage", 0x5E12DD62300C6EFELL
, 1, v_url
)));
2848 if (!(toBoolean(v_text
)) && toBoolean(LINE(1443,m_mOptions
.o_invoke_few_args("getEnableImageWhitelist", 0x500FFF199D084BF7LL
, 0))) && toBoolean(LINE(1444,x_preg_match("/^(http:\\/\\/|https:\\/\\/)([^][<>\"\\x00-\\x20\\x7F]+)\n\t\t\\/([A-Za-z0-9_.,~%\\-+&;#*\?!=()@\\x80-\\xFF]+)\\.((\?i)gif|png|jpg|jpeg)$/Sx" /* parser::EXT_IMAGE_REGEX */, toString(v_url
))))) {
2849 (v_whitelist
= LINE(1445,(assignCallTemp(eo_1
, toString(invoke_failed("wfmsgforcontent", Array(ArrayInit(1).set(0, "external_image_whitelist").create()), 0x0000000033607CCALL
))),x_explode("\n", eo_1
))));
2852 for (ArrayIter iter40
= v_whitelist
.begin("parser"); !iter40
.end(); ++iter40
) {
2853 LOOP_COUNTER_CHECK(38);
2854 v_entry
= iter40
.second();
2856 if (same(LINE(1448,x_strpos(toString(v_entry
), "#")), 0LL) || same(v_entry
, "")) continue;
2857 if (toBoolean(LINE(1450,(assignCallTemp(eo_0
, (assignCallTemp(eo_3
, toString(x_str_replace("/", "\\/", v_entry
))),concat3("/", eo_3
, "/i"))),assignCallTemp(eo_1
, toString(v_url
)),x_preg_match(eo_0
, eo_1
))))) {
2858 (v_text
= LINE(1452,v_sk
.o_invoke_few_args("makeExternalImage", 0x5E12DD62300C6EFELL
, 1, v_url
)));
2867 /* SRC: Parser.php line 1466 */
2868 Variant
c_parser::t_replaceinternallinks(Variant v_s
) {
2869 INSTANCE_METHOD_INJECTION(Parser
, Parser::replaceInternalLinks
);
2870 LINE(1467,m_mLinkHolders
.o_invoke_few_args("merge", 0x1C2E89C2A927FF7BLL
, 1, o_root_invoke_few_args("replaceInternalLinks2", 0x37AA0C66F5C36136LL
, 1, v_s
)));
2873 /* SRC: Parser.php line 1477 */
2874 p_linkholderarray
c_parser::t_replaceinternallinks2(Variant v_s
) {
2875 INSTANCE_METHOD_INJECTION(Parser
, Parser::replaceInternalLinks2
);
2881 DECLARE_GLOBAL_VARIABLES(g
);
2882 Variant
&gv_wgContLang
__attribute__((__unused__
)) = g
->GV(wgContLang
);
2883 Variant
&sv_tc
__attribute__((__unused__
)) = g
->sv_parser$$replaceinternallinks2$$tc
.lvalAt(this->o_getClassName());
2884 Variant
&inited_sv_tc
__attribute__((__unused__
)) = g
->inited_sv_parser$$replaceinternallinks2$$tc
.lvalAt(this->o_getClassName());
2885 Variant
&sv_e1
__attribute__((__unused__
)) = g
->sv_parser$$replaceinternallinks2$$e1
.lvalAt(this->o_getClassName());
2886 Variant
&inited_sv_e1
__attribute__((__unused__
)) = g
->inited_sv_parser$$replaceinternallinks2$$e1
.lvalAt(this->o_getClassName());
2887 Variant
&sv_e1_img
__attribute__((__unused__
)) = g
->sv_parser$$replaceinternallinks2$$e1_img
.lvalAt(this->o_getClassName());
2888 Variant
&inited_sv_e1_img
__attribute__((__unused__
)) = g
->inited_sv_parser$$replaceinternallinks2$$e1_img
.lvalAt(this->o_getClassName());
2890 p_linkholderarray v_holders
;
2893 Variant v_useLinkPrefixExtension
;
2895 bool v_nottalk
= false;
2897 Variant v_first_prefix
;
2900 Variant v_useSubpages
;
2901 bool v_might_be_img
= false;
2905 bool v_noforce
= false;
2909 bool v_found
= false;
2910 Variant v_next_line
;
2911 bool v_wasblank
= false;
2916 LINE(1480,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "Parser::replaceInternalLinks2").create()), 0x0000000075359BAFLL
));
2917 LINE(1482,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "Parser::replaceInternalLinks2-setup").create()), 0x0000000075359BAFLL
));
2919 if (!inited_sv_tc
) {
2921 inited_sv_tc
= true;
2923 if (!inited_sv_e1
) {
2925 inited_sv_e1
= true;
2927 if (!inited_sv_e1_img
) {
2929 inited_sv_e1_img
= true;
2932 if (!(toBoolean(sv_tc
))) {
2933 (sv_tc
= concat(toString(LINE(1486,throw_fatal("unknown class title", ((void*)NULL
)))), "#%"));
2934 (sv_e1
= LINE(1488,concat3("/^([", toString(sv_tc
), "]+)(\?:\\|(.+\?))\?]](.*)$/sD")));
2935 (sv_e1_img
= LINE(1490,concat3("/^([", toString(sv_tc
), "]+)\\|(.*)$/sD")));
2937 (v_sk
= LINE(1493,m_mOptions
.o_invoke_few_args("getSkin", 0x6C79601E06BA735FLL
, 0)));
2938 ((Object
)((v_holders
= ((Object
)(LINE(1494,p_linkholderarray(p_linkholderarray(NEWOBJ(c_linkholderarray
)())->create(((Object
)(this))))))))));
2939 (v_a
= LINE(1497,throw_fatal("unknown class stringutils", ((void*)NULL
))));
2940 (v_s
= LINE(1499,v_a
.o_invoke_few_args("current", 0x5B3A4A72846B21DCLL
, 0)));
2941 LINE(1500,v_a
.o_invoke_few_args("next", 0x3C6D50F3BB8102B8LL
, 0));
2942 (v_line
= LINE(1501,v_a
.o_invoke_few_args("current", 0x5B3A4A72846B21DCLL
, 0)));
2943 (v_s
= LINE(1502,x_substr(toString(v_s
), toInt32(1LL))));
2944 (v_useLinkPrefixExtension
= LINE(1504,gv_wgContLang
.o_invoke_few_args("linkPrefixExtension", 0x015F50DA8CF83919LL
, 0)));
2946 if (toBoolean(v_useLinkPrefixExtension
)) {
2947 (v_e2
= LINE(1509,invoke_failed("wfmsgforcontent", Array(ArrayInit(1).set(0, "linkprefix").create()), 0x0000000033607CCALL
)));
2949 if (LINE(1512,x_is_null(m_mTitle
))) {
2950 LINE(1513,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::replaceInternalLinks2-setup").create()), 0x00000000B599F276LL
));
2951 LINE(1514,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::replaceInternalLinks2").create()), 0x00000000B599F276LL
));
2952 throw_exception(LINE(1515,create_object("mwexception", Array(ArrayInit(1).set(0, "Parser::replaceInternalLinks2: $this->mTitle is null\n").create()))));
2954 (v_nottalk
= !(toBoolean(LINE(1517,m_mTitle
.o_invoke_few_args("isTalkPage", 0x761349917BE980CFLL
, 0)))));
2955 if (toBoolean(v_useLinkPrefixExtension
)) {
2956 (v_m
= ScalarArrays::sa_
[0]);
2957 if (toBoolean(LINE(1521,x_preg_match(toString(v_e2
), toString(v_s
), ref(v_m
))))) {
2958 (v_first_prefix
= v_m
.rvalAt(2LL, 0x486AFCC090D5F98CLL
));
2961 (v_first_prefix
= false);
2967 if (toBoolean(LINE(1530,gv_wgContLang
.o_invoke_few_args("hasVariants", 0x5A1FD2E20BD8DBBBLL
, 0)))) {
2968 (v_selflink
= LINE(1531,gv_wgContLang
.o_invoke_few_args("convertLinkToAllVariants", 0x276E1379FA1C5660LL
, 1, m_mTitle
.o_invoke_few_args("getPrefixedText", 0x33044BA725446A43LL
, 0))));
2971 (v_selflink
= Array(ArrayInit(1).set(0, LINE(1533,m_mTitle
.o_invoke_few_args("getPrefixedText", 0x33044BA725446A43LL
, 0))).create()));
2973 (v_useSubpages
= LINE(1535,t_aresubpagesallowed()));
2974 LINE(1536,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::replaceInternalLinks2-setup").create()), 0x00000000B599F276LL
));
2977 for (; !same(v_line
, false) && !same(v_line
, null
); LINE(1539,v_a
.o_invoke_few_args("next", 0x3C6D50F3BB8102B8LL
, 0)), (v_line
= v_a
.o_invoke_few_args("current", 0x5B3A4A72846B21DCLL
, 0))) {
2978 LOOP_COUNTER_CHECK(41);
2980 if (LINE(1541,v_holders
->t_isbig())) {
2981 LINE(1544,v_holders
->t_replace(ref(v_s
)));
2982 LINE(1545,v_holders
->t_clear());
2984 if (toBoolean(v_useLinkPrefixExtension
)) {
2985 LINE(1549,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "Parser::replaceInternalLinks2-prefixhandling").create()), 0x0000000075359BAFLL
));
2986 if (toBoolean(LINE(1550,x_preg_match(toString(v_e2
), toString(v_s
), ref(v_m
))))) {
2987 (v_prefix
= v_m
.rvalAt(2LL, 0x486AFCC090D5F98CLL
));
2988 (v_s
= v_m
.rvalAt(1LL, 0x5BCA7C69B794F8CELL
));
2993 if (toBoolean(v_first_prefix
)) {
2994 (v_prefix
= v_first_prefix
);
2995 (v_first_prefix
= false);
2997 LINE(1561,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::replaceInternalLinks2-prefixhandling").create()), 0x00000000B599F276LL
));
2999 (v_might_be_img
= false);
3000 LINE(1566,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "Parser::replaceInternalLinks2-e1").create()), 0x0000000075359BAFLL
));
3001 if (toBoolean(LINE(1567,x_preg_match(toString(sv_e1
), toString(v_line
), ref(v_m
))))) {
3002 (v_text
= v_m
.rvalAt(2LL, 0x486AFCC090D5F98CLL
));
3003 if (!same(v_text
, "") && same(LINE(1578,x_substr(toString(v_m
.rvalAt(3LL, 0x135FDDF6A6BFBBDDLL
)), toInt32(0LL), toInt32(1LL))), "]") && !same(LINE(1579,x_strpos(toString(v_text
), "[")), false)) {
3004 concat_assign(v_text
, "]");
3005 v_m
.set(3LL, (LINE(1583,x_substr(toString(v_m
.rvalAt(3LL, 0x135FDDF6A6BFBBDDLL
)), toInt32(1LL)))), 0x135FDDF6A6BFBBDDLL
);
3007 if (!same(LINE(1586,x_strpos(toString(v_m
.rvalAt(1LL, 0x5BCA7C69B794F8CELL
)), "%")), false)) {
3008 v_m
.set(1LL, (LINE(1588,(assignCallTemp(eo_2
, x_urldecode(toString(v_m
.rvalAt(1LL, 0x5BCA7C69B794F8CELL
)))),x_str_replace(ScalarArrays::sa_
[21], ScalarArrays::sa_
[22], eo_2
)))), 0x5BCA7C69B794F8CELL
);
3010 (v_trail
= v_m
.rvalAt(3LL, 0x135FDDF6A6BFBBDDLL
));
3012 else if (toBoolean(LINE(1591,x_preg_match(toString(sv_e1_img
), toString(v_line
), ref(v_m
))))) {
3013 (v_might_be_img
= true);
3014 (v_text
= v_m
.rvalAt(2LL, 0x486AFCC090D5F98CLL
));
3015 if (!same(LINE(1594,x_strpos(toString(v_m
.rvalAt(1LL, 0x5BCA7C69B794F8CELL
)), "%")), false)) {
3016 v_m
.set(1LL, (LINE(1595,x_urldecode(toString(v_m
.rvalAt(1LL, 0x5BCA7C69B794F8CELL
))))), 0x5BCA7C69B794F8CELL
);
3021 concat_assign(v_s
, LINE(1599,concat3(toString(v_prefix
), "[[", toString(v_line
))));
3022 LINE(1600,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::replaceInternalLinks2-e1").create()), 0x00000000B599F276LL
));
3025 LINE(1603,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::replaceInternalLinks2-e1").create()), 0x00000000B599F276LL
));
3026 LINE(1604,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "Parser::replaceInternalLinks2-misc").create()), 0x0000000075359BAFLL
));
3027 if (toBoolean(LINE(1609,(assignCallTemp(eo_0
, (assignCallTemp(eo_3
, toString(invoke_failed("wfurlprotocols", Array(), 0x00000000BD4BD4FELL
))),concat3("/^\\b(\?:", eo_3
, ")/"))),assignCallTemp(eo_1
, toString(v_m
.rvalAt(1LL, 0x5BCA7C69B794F8CELL
))),x_preg_match(eo_0
, eo_1
))))) {
3028 concat_assign(v_s
, LINE(1610,concat3(toString(v_prefix
), "[[", toString(v_line
))));
3029 LINE(1611,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::replaceInternalLinks2-misc").create()), 0x00000000B599F276LL
));
3032 if (toBoolean(v_useSubpages
)) {
3033 (v_link
= LINE(1617,t_maybedosubpagelink(v_m
.rvalAt(1LL, 0x5BCA7C69B794F8CELL
), ref(v_text
))));
3036 (v_link
= v_m
.rvalAt(1LL, 0x5BCA7C69B794F8CELL
));
3038 (v_noforce
= (!same(LINE(1622,x_substr(toString(v_m
.rvalAt(1LL, 0x5BCA7C69B794F8CELL
)), toInt32(0LL), toInt32(1LL))), ":")));
3040 (v_link
= LINE(1625,x_substr(toString(v_link
), toInt32(1LL))));
3042 LINE(1628,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::replaceInternalLinks2-misc").create()), 0x00000000B599F276LL
));
3043 LINE(1629,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "Parser::replaceInternalLinks2-title").create()), 0x0000000075359BAFLL
));
3044 (v_nt
= LINE(1630,throw_fatal("unknown class title", (m_mStripState
.o_invoke_few_args("unstripNoWiki", 0x2374179DF576FCA9LL
, 1, v_link
), (void*)NULL
))));
3045 if (same(v_nt
, null
)) {
3046 concat_assign(v_s
, LINE(1632,concat3(toString(v_prefix
), "[[", toString(v_line
))));
3047 LINE(1633,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::replaceInternalLinks2-title").create()), 0x00000000B599F276LL
));
3050 (v_ns
= LINE(1637,v_nt
.o_invoke_few_args("getNamespace", 0x6DC05480D007D522LL
, 0)));
3051 (v_iw
= LINE(1638,v_nt
.o_invoke_few_args("getInterWiki", 0x04849D85488D825ELL
, 0)));
3052 LINE(1639,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::replaceInternalLinks2-title").create()), 0x00000000B599F276LL
));
3053 if (v_might_be_img
) {
3054 LINE(1642,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "Parser::replaceInternalLinks2-might_be_img").create()), 0x0000000075359BAFLL
));
3055 if (equal(v_ns
, k_NS_FILE
) && v_noforce
) {
3060 LOOP_COUNTER_CHECK(42);
3062 LINE(1647,v_a
.o_invoke_few_args("next", 0x3C6D50F3BB8102B8LL
, 0));
3063 (v_next_line
= LINE(1648,v_a
.o_invoke_few_args("current", 0x5B3A4A72846B21DCLL
, 0)));
3064 if (same(v_next_line
, false) || same(v_next_line
, null
)) {
3067 (v_m
= LINE(1652,x_explode("]]", toString(v_next_line
), toInt32(3LL))));
3068 if (equal(LINE(1653,x_count(v_m
)), 3LL)) {
3070 concat_assign(v_text
, LINE(1656,concat4("[[", toString(v_m
.rvalAt(0LL, 0x77CFA1EEF01BCA90LL
)), "]]", toString(v_m
.rvalAt(1LL, 0x5BCA7C69B794F8CELL
)))));
3071 (v_trail
= v_m
.rvalAt(2LL, 0x486AFCC090D5F98CLL
));
3074 else if (equal(LINE(1659,x_count(v_m
)), 2LL)) {
3075 concat_assign(v_text
, LINE(1661,concat4("[[", toString(v_m
.rvalAt(0LL, 0x77CFA1EEF01BCA90LL
)), "]]", toString(v_m
.rvalAt(1LL, 0x5BCA7C69B794F8CELL
)))));
3078 concat_assign(v_text
, concat("[[", toString(v_next_line
)));
3085 LINE(1671,v_holders
->t_merge(o_root_invoke_few_args("replaceInternalLinks2", 0x37AA0C66F5C36136LL
, 1, v_text
)));
3086 concat_assign(v_s
, LINE(1672,concat5(toString(v_prefix
), "[[", toString(v_link
), "|", toString(v_text
))));
3087 LINE(1674,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::replaceInternalLinks2-might_be_img").create()), 0x00000000B599F276LL
));
3092 concat_assign(v_s
, LINE(1678,concat5(toString(v_prefix
), "[[", toString(v_link
), "|", toString(v_text
))));
3093 LINE(1680,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::replaceInternalLinks2-might_be_img").create()), 0x00000000B599F276LL
));
3096 LINE(1683,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::replaceInternalLinks2-might_be_img").create()), 0x00000000B599F276LL
));
3098 (v_wasblank
= (equal("", v_text
)));
3099 if (v_wasblank
) (v_text
= v_link
);
3101 LINE(1693,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "Parser::replaceInternalLinks2-interwiki").create()), 0x0000000075359BAFLL
));
3102 if (toBoolean(v_iw
) && toBoolean(LINE(1694,m_mOptions
.o_invoke_few_args("getInterwikiMagic", 0x269DAD3410FFF8C6LL
, 0))) && v_nottalk
&& toBoolean(gv_wgContLang
.o_invoke_few_args("getLanguageName", 0x3D24C2035027A7DELL
, 1, v_iw
))) {
3103 LINE(1695,m_mOutput
.o_invoke_few_args("addLanguageLink", 0x657AED0066D1BEECLL
, 1, v_nt
.o_invoke_few_args("getFullText", 0x3200D2E195D7162ALL
, 0)));
3104 (v_s
= LINE(1696,x_rtrim(concat(toString(v_s
), toString(v_prefix
)))));
3105 concat_assign(v_s
, toString(equal(LINE(1697,x_trim(toString(v_trail
), "\n")), "") ? ((Variant
)("")) : ((Variant
)(concat(toString(v_prefix
), toString(v_trail
))))));
3106 LINE(1698,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::replaceInternalLinks2-interwiki").create()), 0x00000000B599F276LL
));
3109 LINE(1701,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::replaceInternalLinks2-interwiki").create()), 0x00000000B599F276LL
));
3110 if (equal(v_ns
, k_NS_FILE
)) {
3111 LINE(1704,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "Parser::replaceInternalLinks2-image").create()), 0x0000000075359BAFLL
));
3112 if (!(toBoolean(LINE(1705,(assignCallTemp(eo_0
, ref(v_nt
.o_invoke_few_args("getDBkey", 0x7A72F137192AEF00LL
, 0))),assignCallTemp(eo_1
, ref(m_mTitle
)),invoke_failed("wfisbadimage", Array(ArrayInit(2).set(0, eo_0
).set(1, eo_1
).create()), 0x00000000F72DE574LL
)))))) {
3117 (v_text
= LINE(1716,t_replaceexternallinks(v_text
)));
3118 LINE(1717,v_holders
->t_merge(o_root_invoke_few_args("replaceInternalLinks2", 0x37AA0C66F5C36136LL
, 1, v_text
)));
3120 concat_assign(v_s
, LINE(1720,(assignCallTemp(eo_0
, toString(v_prefix
)),assignCallTemp(eo_1
, toString(t_armorlinks(t_makeimage(v_nt
, v_text
, ((Object
)(v_holders
)))))),assignCallTemp(eo_2
, toString(v_trail
)),concat3(eo_0
, eo_1
, eo_2
))));
3122 LINE(1722,m_mOutput
.o_invoke_few_args("addImage", 0x1026F251B81BD927LL
, 1, v_nt
.o_invoke_few_args("getDBkey", 0x7A72F137192AEF00LL
, 0)));
3123 LINE(1723,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::replaceInternalLinks2-image").create()), 0x00000000B599F276LL
));
3126 if (equal(v_ns
, k_NS_CATEGORY
)) {
3127 LINE(1729,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "Parser::replaceInternalLinks2-category").create()), 0x0000000075359BAFLL
));
3128 (v_s
= LINE(1730,x_rtrim(concat(toString(v_s
), "\n"))));
3130 (v_sortkey
= LINE(1733,t_getdefaultsort()));
3133 (v_sortkey
= v_text
);
3135 (v_sortkey
= LINE(1737,throw_fatal("unknown class sanitizer", ((void*)NULL
))));
3136 (v_sortkey
= LINE(1738,x_str_replace("\n", "", v_sortkey
)));
3137 (v_sortkey
= LINE(1739,gv_wgContLang
.o_invoke_few_args("convertCategoryKey", 0x11AD19C1DBDF452ALL
, 1, v_sortkey
)));
3138 (assignCallTemp(eo_0
, ref(LINE(1740,v_nt
.o_invoke_few_args("getDBkey", 0x7A72F137192AEF00LL
, 0)))),assignCallTemp(eo_1
, ref(v_sortkey
)),m_mOutput
.o_invoke("addCategory", Array(ArrayInit(2).set(0, eo_0
).set(1, eo_1
).create()), 0x6DBAA9816B039793LL
));
3139 concat_assign(v_s
, toString(equal(LINE(1746,x_trim(concat(toString(v_prefix
), toString(v_trail
)), "\n")), "") ? ((Variant
)("")) : ((Variant
)(concat(toString(v_prefix
), toString(v_trail
))))));
3140 LINE(1748,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::replaceInternalLinks2-category").create()), 0x00000000B599F276LL
));
3144 if (same(LINE(1754,v_nt
.o_invoke_few_args("getFragment", 0x2354C40909546D77LL
, 0)), "") && !equal(v_ns
, k_NS_SPECIAL
)) {
3145 if (LINE(1755,(assignCallTemp(eo_0
, v_nt
.o_invoke_few_args("getPrefixedText", 0x33044BA725446A43LL
, 0)),assignCallTemp(eo_1
, v_selflink
),x_in_array(eo_0
, eo_1
, true)))) {
3146 concat_assign(v_s
, concat(toString(v_prefix
), toString(LINE(1756,v_sk
.o_invoke_few_args("makeSelfLinkObj", 0x4D117586D20EE5FCLL
, 4, v_nt
, v_text
, "", v_trail
)))));
3150 if (equal(v_ns
, k_NS_MEDIA
)) {
3151 LINE(1764,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "Parser::replaceInternalLinks2-media").create()), 0x0000000075359BAFLL
));
3152 (v_skip
= (v_time
= false));
3153 LINE(1767,invoke_failed("wfrunhooks", Array(ArrayInit(2).set(0, "BeforeParserMakeImageLinkObj").set(1, Array(ArrayInit(4).setRef(0, ref(this)).setRef(1, ref(v_nt
)).setRef(2, ref(v_skip
)).setRef(3, ref(v_time
)).create())).create()), 0x00000000787A96B2LL
));
3154 if (toBoolean(v_skip
)) {
3155 (v_link
= LINE(1769,v_sk
.o_invoke_few_args("link", 0x230FE1D6EC599525LL
, 1, v_nt
)));
3158 (v_link
= LINE(1771,v_sk
.o_invoke_few_args("makeMediaLinkObj", 0x3781EB5896E49D3ELL
, 3, v_nt
, v_text
, v_time
)));
3160 concat_assign(v_s
, LINE(1774,(assignCallTemp(eo_0
, toString(v_prefix
)),assignCallTemp(eo_1
, toString(t_armorlinks(v_link
))),assignCallTemp(eo_2
, toString(v_trail
)),concat3(eo_0
, eo_1
, eo_2
))));
3161 LINE(1775,m_mOutput
.o_invoke_few_args("addImage", 0x1026F251B81BD927LL
, 1, v_nt
.o_invoke_few_args("getDBkey", 0x7A72F137192AEF00LL
, 0)));
3162 LINE(1776,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::replaceInternalLinks2-media").create()), 0x00000000B599F276LL
));
3165 LINE(1780,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "Parser::replaceInternalLinks2-always_known").create()), 0x0000000075359BAFLL
));
3166 if (equal(v_iw
, "") && toBoolean(LINE(1786,v_nt
.o_invoke_few_args("isAlwaysKnown", 0x32DB35272B7DDB90LL
, 0)))) {
3167 LINE(1787,m_mOutput
.o_invoke_few_args("addLink", 0x5D10AC6ADCA895ACLL
, 1, v_nt
));
3168 concat_assign(v_s
, LINE(1788,t_makeknownlinkholder(v_nt
, v_text
, "", v_trail
, v_prefix
)));
3171 concat_assign(v_s
, LINE(1791,v_holders
->t_makeholder(v_nt
, v_text
, "", v_trail
, v_prefix
)));
3173 LINE(1793,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::replaceInternalLinks2-always_known").create()), 0x00000000B599F276LL
));
3177 LINE(1795,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::replaceInternalLinks2").create()), 0x00000000B599F276LL
));
3178 return ((Object
)(v_holders
));
3180 /* SRC: Parser.php line 1807 */
3181 Variant
c_parser::t_makelinkholder(Variant v_nt
, Variant v_text
// = ""
3182 , Variant v_query
// = ""
3183 , Variant v_trail
// = ""
3184 , Variant v_prefix
// = ""
3186 INSTANCE_METHOD_INJECTION(Parser
, Parser::makeLinkHolder
);
3187 return LINE(1808,m_mLinkHolders
.o_invoke_few_args("makeHolder", 0x0B6C33D73053B0C5LL
, 5, v_nt
, v_text
, v_query
, v_trail
, v_prefix
));
3189 /* SRC: Parser.php line 1825 */
3190 String
c_parser::t_makeknownlinkholder(Variant v_nt
, Variant v_text
// = ""
3191 , Variant v_query
// = ""
3192 , Variant v_trail
// = ""
3193 , Variant v_prefix
// = ""
3195 INSTANCE_METHOD_INJECTION(Parser
, Parser::makeKnownLinkHolder
);
3200 df_lambda_8(LINE(1826,throw_fatal("unknown class linker", ((void*)NULL
))), v_inside
, v_trail
);
3201 (v_sk
= LINE(1827,m_mOptions
.o_invoke_few_args("getSkin", 0x6C79601E06BA735FLL
, 0)));
3202 (v_link
= LINE(1829,v_sk
.o_invoke_few_args("makeKnownLinkObj", 0x1C18E0A6D7DBDF99LL
, 5, v_nt
, v_text
, v_query
, v_inside
, v_prefix
)));
3203 return concat(toString(LINE(1830,t_armorlinks(v_link
))), toString(v_trail
));
3205 /* SRC: Parser.php line 1843 */
3206 Variant
c_parser::t_armorlinks(CVarRef v_text
) {
3207 INSTANCE_METHOD_INJECTION(Parser
, Parser::armorLinks
);
3214 return LINE(1845,(assignCallTemp(eo_0
, LINE(1844,(assignCallTemp(eo_4
, toString(invoke_failed("wfurlprotocols", Array(), 0x00000000BD4BD4FELL
))),concat3("/\\b(", eo_4
, ")/")))),assignCallTemp(eo_1
, toString(o_get("mUniqPrefix", 0x22D00FA247E8311DLL
)) + toString("NOPARSE$1")),assignCallTemp(eo_2
, v_text
),x_preg_replace(eo_0
, eo_1
, eo_2
)));
3216 /* SRC: Parser.php line 1852 */
3217 Variant
c_parser::t_aresubpagesallowed() {
3218 INSTANCE_METHOD_INJECTION(Parser
, Parser::areSubpagesAllowed
);
3219 return LINE(1854,throw_fatal("unknown class mwnamespace", (m_mTitle
.o_invoke_few_args("getNamespace", 0x6DC05480D007D522LL
, 0), (void*)NULL
)));
3221 /* SRC: Parser.php line 1864 */
3222 Variant
c_parser::t_maybedosubpagelink(CVarRef v_target
, Variant v_text
) {
3223 INSTANCE_METHOD_INJECTION(Parser
, Parser::maybeDoSubpageLink
);
3224 return LINE(1865,throw_fatal("unknown class linker", ((void*)NULL
)));
3226 /* SRC: Parser.php line 1872 */
3227 String
c_parser::t_closeparagraph() {
3228 INSTANCE_METHOD_INJECTION(Parser
, Parser::closeParagraph
);
3232 if (!equal("", m_mLastSection
)) {
3233 (v_result
= LINE(1875,concat3("</", toString(m_mLastSection
), ">\n")));
3236 (m_mLastSection
= "");
3239 /* SRC: Parser.php line 1884 */
3240 int64
c_parser::t_getcommon(CVarRef v_st1
, CVarRef v_st2
) {
3241 INSTANCE_METHOD_INJECTION(Parser
, Parser::getCommon
);
3246 (v_fl
= LINE(1885,x_strlen(toString(v_st1
))));
3247 (v_shorter
= LINE(1886,x_strlen(toString(v_st2
))));
3248 if (less(v_fl
, v_shorter
)) {
3253 for ((v_i
= 0LL); less(v_i
, v_shorter
); ++v_i
) {
3254 LOOP_COUNTER_CHECK(43);
3256 if (!equal(v_st1
.rvalAt(v_i
), v_st2
.rvalAt(v_i
))) {
3264 /* SRC: Parser.php line 1897 */
3265 String
c_parser::t_openlist(CVarRef v_char
) {
3266 INSTANCE_METHOD_INJECTION(Parser
, Parser::openList
);
3269 (v_result
= LINE(1898,t_closeparagraph()));
3270 if (same("*", v_char
)) {
3271 concat_assign(v_result
, "<ul><li>");
3273 else if (same("#", v_char
)) {
3274 concat_assign(v_result
, "<ol><li>");
3276 else if (same(":", v_char
)) {
3277 concat_assign(v_result
, "<dl><dd>");
3279 else if (same(";", v_char
)) {
3280 concat_assign(v_result
, "<dl><dt>");
3284 (v_result
= "<!-- ERR 1 -->");
3288 /* SRC: Parser.php line 1912 */
3289 String
c_parser::t_nextitem(CVarRef v_char
) {
3290 INSTANCE_METHOD_INJECTION(Parser
, Parser::nextItem
);
3293 if (same("*", v_char
) || same("#", v_char
)) {
3296 else if (same(":", v_char
) || same(";", v_char
)) {
3297 (v_close
= "</dd>");
3298 if (toBoolean(m_mDTopen
)) {
3299 (v_close
= "</dt>");
3301 if (same(";", v_char
)) {
3303 return concat(v_close
, "<dt>");
3306 (m_mDTopen
= false);
3307 return concat(v_close
, "<dd>");
3310 return "<!-- ERR 2 -->";
3312 /* SRC: Parser.php line 1928 */
3313 String
c_parser::t_closelist(CVarRef v_char
) {
3314 INSTANCE_METHOD_INJECTION(Parser
, Parser::closeList
);
3317 if (same("*", v_char
)) {
3318 (v_text
= "</li></ul>");
3320 else if (same("#", v_char
)) {
3321 (v_text
= "</li></ol>");
3323 else if (same(":", v_char
)) {
3324 if (toBoolean(m_mDTopen
)) {
3325 (m_mDTopen
= false);
3326 (v_text
= "</dt></dl>");
3329 (v_text
= "</dd></dl>");
3333 return "<!-- ERR 3 -->";
3335 return concat(v_text
, "\n");
3337 /* SRC: Parser.php line 1951 */
3338 Variant
c_parser::t_doblocklevels(CVarRef v_text
, bool v_linestart
) {
3339 INSTANCE_METHOD_INJECTION(Parser
, Parser::doBlockLevels
);
3342 Variant v_textLines
;
3344 Variant v_lastPrefix
;
3345 bool v_inBlockElem
= false;
3346 Variant v_prefixLength
;
3347 Variant v_paragraphStack
;
3349 int v_lastPrefixLength
= 0;
3350 Variant v_preCloseMatch
;
3351 Variant v_preOpenMatch
;
3357 int64 v_commonPrefixLength
= 0;
3359 Variant v_openmatch
;
3360 Variant v_closematch
;
3362 LINE(1952,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "Parser::doBlockLevels").create()), 0x0000000075359BAFLL
));
3363 (v_textLines
= LINE(1958,throw_fatal("unknown class stringutils", ((void*)NULL
))));
3364 (v_lastPrefix
= (v_output
= ""));
3365 (m_mDTopen
= (v_inBlockElem
= false));
3366 (v_prefixLength
= 0LL);
3367 (v_paragraphStack
= false);
3370 for (ArrayIterPtr iter46
= v_textLines
.begin("parser"); !iter46
->end(); iter46
->next()) {
3371 LOOP_COUNTER_CHECK(44);
3372 v_oLine
= iter46
->second();
3374 if (!(v_linestart
)) {
3375 concat_assign(v_output
, toString(v_oLine
));
3376 (v_linestart
= true);
3379 (v_lastPrefixLength
= LINE(1977,x_strlen(toString(v_lastPrefix
))));
3380 (v_preCloseMatch
= LINE(1978,x_preg_match("/<\\/pre/i", toString(v_oLine
))));
3381 (v_preOpenMatch
= LINE(1979,x_preg_match("/<pre/i", toString(v_oLine
))));
3382 if (!(toBoolean(m_mInPre
))) {
3383 (v_prefixLength
= LINE(1983,x_strspn(toString(v_oLine
), "*#:;")));
3384 (v_prefix
= LINE(1984,x_substr(toString(v_oLine
), toInt32(0LL), toInt32(v_prefixLength
))));
3385 (v_prefix2
= LINE(1990,x_str_replace(";", ":", v_prefix
)));
3386 (v_t
= LINE(1991,x_substr(toString(v_oLine
), toInt32(v_prefixLength
))));
3387 (m_mInPre
= toBoolean(v_preOpenMatch
));
3390 (v_prefixLength
= 0LL);
3391 (v_prefix
= (v_prefix2
= ""));
3394 if (toBoolean(v_prefixLength
) && same(v_lastPrefix
, v_prefix2
)) {
3395 concat_assign(v_output
, LINE(2003,t_nextitem(x_substr(toString(v_prefix
), toInt32(-1LL)))));
3396 (v_paragraphStack
= false);
3397 if (same(LINE(2006,x_substr(toString(v_prefix
), toInt32(-1LL))), ";")) {
3398 (v_term
= (v_t2
= ""));
3399 if (!same(LINE(2012,t_findcolonnolinks(v_t
, ref(v_term
), ref(v_t2
))), false)) {
3401 concat_assign(v_output
, concat(toString(v_term
), LINE(2014,t_nextitem(":"))));
3405 else if (toBoolean(v_prefixLength
) || toBoolean(v_lastPrefixLength
)) {
3406 (v_commonPrefixLength
= LINE(2021,t_getcommon(v_prefix
, v_lastPrefix
)));
3407 (v_paragraphStack
= false);
3410 while (less(v_commonPrefixLength
, v_lastPrefixLength
)) {
3411 LOOP_COUNTER_CHECK(47);
3413 concat_assign(v_output
, LINE(2026,t_closelist(v_lastPrefix
.rvalAt(v_lastPrefixLength
- 1LL))));
3414 --v_lastPrefixLength
;
3418 if (not_more(v_prefixLength
, v_commonPrefixLength
) && more(v_commonPrefixLength
, 0LL)) {
3419 concat_assign(v_output
, LINE(2032,t_nextitem(v_prefix
.rvalAt(v_commonPrefixLength
- 1LL))));
3423 while (more(v_prefixLength
, v_commonPrefixLength
)) {
3424 LOOP_COUNTER_CHECK(48);
3426 (v_char
= LINE(2037,x_substr(toString(v_prefix
), toInt32(v_commonPrefixLength
), toInt32(1LL))));
3427 concat_assign(v_output
, LINE(2038,t_openlist(v_char
)));
3428 if (same(";", v_char
)) {
3429 if (!same(LINE(2042,t_findcolonnolinks(v_t
, ref(v_term
), ref(v_t2
))), false)) {
3431 concat_assign(v_output
, concat(toString(v_term
), LINE(2044,t_nextitem(":"))));
3434 ++v_commonPrefixLength
;
3438 (v_lastPrefix
= v_prefix2
);
3440 if (equal(0LL, v_prefixLength
)) {
3441 LINE(2054,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "Parser::doBlockLevels-paragraph").create()), 0x0000000075359BAFLL
));
3442 (v_openmatch
= LINE(2057,x_preg_match("/(\?:<table|<blockquote|<h1|<h2|<h3|<h4|<h5|<h6|<pre|<tr|<p|<ul|<ol|<li|<\\/tr|<\\/td|<\\/th)/iS", toString(v_t
))));
3443 (v_closematch
= LINE(2060,(assignCallTemp(eo_0
, concat3("/(\?:<\\/table|<\\/blockquote|<\\/h1|<\\/h2|<\\/h3|<\\/h4|<\\/h5|<\\/h6|<td|<th|<\\/\?div|<hr|<\\/pre|<\\/p|", toString(o_get("mUniqPrefix", 0x22D00FA247E8311DLL
)), "-pre|<\\/li|<\\/ul|<\\/ol|<\\/\?center)/iS")),assignCallTemp(eo_1
, toString(v_t
)),x_preg_match(eo_0
, eo_1
))));
3444 if ((toBoolean(v_openmatch
)) || (toBoolean(v_closematch
))) {
3445 (v_paragraphStack
= false);
3446 concat_assign(v_output
, LINE(2064,t_closeparagraph()));
3447 if ((toBoolean(v_preOpenMatch
)) && (!(toBoolean(v_preCloseMatch
)))) {
3450 if (toBoolean(v_closematch
)) {
3451 (v_inBlockElem
= false);
3454 (v_inBlockElem
= true);
3457 else if (!(v_inBlockElem
) && !(toBoolean(m_mInPre
))) {
3458 if ((equal(" ", LINE(2074,x_substr(toString(v_t
), toInt32(0LL), toInt32(1LL))))) && (((same(m_mLastSection
, "pre")) || (!equal(x_trim(toString(v_t
)), ""))))) {
3459 if (!same(m_mLastSection
, "pre")) {
3460 (v_paragraphStack
= false);
3461 concat_assign(v_output
, concat(LINE(2078,t_closeparagraph()), "<pre>"));
3462 (m_mLastSection
= "pre");
3464 (v_t
= LINE(2081,x_substr(toString(v_t
), toInt32(1LL))));
3467 if (equal("", LINE(2084,x_trim(toString(v_t
))))) {
3468 if (toBoolean(v_paragraphStack
)) {
3469 concat_assign(v_output
, concat(toString(v_paragraphStack
), "<br />"));
3470 (v_paragraphStack
= false);
3471 (m_mLastSection
= "p");
3474 if (!same(m_mLastSection
, "p")) {
3475 concat_assign(v_output
, LINE(2091,t_closeparagraph()));
3476 (m_mLastSection
= "");
3477 (v_paragraphStack
= "<p>");
3480 (v_paragraphStack
= "</p><p>");
3485 if (toBoolean(v_paragraphStack
)) {
3486 concat_assign(v_output
, toString(v_paragraphStack
));
3487 (v_paragraphStack
= false);
3488 (m_mLastSection
= "p");
3490 else if (!same(m_mLastSection
, "p")) {
3491 concat_assign(v_output
, concat(LINE(2104,t_closeparagraph()), "<p>"));
3492 (m_mLastSection
= "p");
3497 LINE(2110,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::doBlockLevels-paragraph").create()), 0x00000000B599F276LL
));
3499 if (toBoolean(v_preCloseMatch
) && toBoolean(m_mInPre
)) {
3502 if (same(v_paragraphStack
, false)) {
3503 concat_assign(v_output
, concat(toString(v_t
), "\n"));
3510 while (toBoolean(v_prefixLength
)) {
3511 LOOP_COUNTER_CHECK(49);
3513 concat_assign(v_output
, LINE(2121,t_closelist(v_prefix2
.rvalAt(v_prefixLength
- 1LL))));
3518 if (!equal("", m_mLastSection
)) {
3519 concat_assign(v_output
, LINE(2125,concat3("</", toString(m_mLastSection
), ">")));
3520 (m_mLastSection
= "");
3522 LINE(2129,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::doBlockLevels").create()), 0x00000000B599F276LL
));
3525 /* SRC: Parser.php line 2141 */
3526 Variant
c_parser::t_findcolonnolinks(CVarRef v_str
, Variant v_before
, Variant v_after
) {
3527 INSTANCE_METHOD_INJECTION(Parser
, Parser::findColonNoLinks
);
3537 LINE(2142,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "Parser::findColonNoLinks").create()), 0x0000000075359BAFLL
));
3538 (v_pos
= LINE(2144,x_strpos(toString(v_str
), ":")));
3539 if (same(v_pos
, false)) {
3540 LINE(2147,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::findColonNoLinks").create()), 0x00000000B599F276LL
));
3543 (v_lt
= LINE(2151,x_strpos(toString(v_str
), "<")));
3544 if (same(v_lt
, false) || more(v_lt
, v_pos
)) {
3545 (v_before
= LINE(2154,x_substr(toString(v_str
), toInt32(0LL), toInt32(v_pos
))));
3546 (v_after
= LINE(2155,x_substr(toString(v_str
), toInt32(v_pos
+ 1LL))));
3547 LINE(2156,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::findColonNoLinks").create()), 0x00000000B599F276LL
));
3550 (v_state
= 0LL /* parser::COLON_STATE_TEXT */);
3552 (v_len
= LINE(2163,x_strlen(toString(v_str
))));
3555 for ((v_i
= 0LL); less(v_i
, v_len
); v_i
++) {
3556 LOOP_COUNTER_CHECK(50);
3558 (v_c
= v_str
.rvalAt(v_i
));
3564 Variant tmp53
= (v_c
);
3566 if (equal(tmp53
, ("<"))) {
3568 } else if (equal(tmp53
, (":"))) {
3576 (v_state
= 2LL /* parser::COLON_STATE_TAGSTART */);
3581 if (equal(v_stack
, 0LL)) {
3582 (v_before
= LINE(2178,x_substr(toString(v_str
), toInt32(0LL), toInt32(v_i
))));
3583 (v_after
= LINE(2179,x_substr(toString(v_str
), toInt32(v_i
+ 1LL))));
3584 LINE(2180,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::findColonNoLinks").create()), 0x00000000B599F276LL
));
3591 (v_colon
= LINE(2187,x_strpos(toString(v_str
), ":", toInt32(v_i
))));
3592 if (same(v_colon
, false)) {
3593 LINE(2190,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::findColonNoLinks").create()), 0x00000000B599F276LL
));
3596 (v_lt
= LINE(2193,x_strpos(toString(v_str
), "<", toInt32(v_i
))));
3597 if (same(v_stack
, 0LL)) {
3598 if (same(v_lt
, false) || less(v_colon
, v_lt
)) {
3599 (v_before
= LINE(2197,x_substr(toString(v_str
), toInt32(0LL), toInt32(v_colon
))));
3600 (v_after
= LINE(2198,x_substr(toString(v_str
), toInt32(v_colon
+ 1LL))));
3601 LINE(2199,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::findColonNoLinks").create()), 0x00000000B599F276LL
));
3605 if (same(v_lt
, false)) {
3609 (v_state
= 2LL /* parser::COLON_STATE_TAGSTART */);
3619 Variant tmp56
= (v_c
);
3621 if (equal(tmp56
, (">"))) {
3623 } else if (equal(tmp56
, ("/"))) {
3632 (v_state
= 0LL /* parser::COLON_STATE_TEXT */);
3637 (v_state
= 4LL /* parser::COLON_STATE_TAGSLASH */);
3651 Variant tmp59
= (v_c
);
3653 if (equal(tmp59
, ("/"))) {
3655 } else if (equal(tmp59
, ("!"))) {
3657 } else if (equal(tmp59
, (">"))) {
3665 (v_state
= 3LL /* parser::COLON_STATE_CLOSETAG */);
3670 (v_state
= 5LL /* parser::COLON_STATE_COMMENT */);
3675 (v_state
= 0LL /* parser::COLON_STATE_TEXT */);
3680 (v_state
= 1LL /* parser::COLON_STATE_TAG */);
3689 if (same(v_c
, ">")) {
3691 if (less(v_stack
, 0LL)) {
3692 LINE(2249,invoke_failed("wfdebug", Array(ArrayInit(1).set(0, "Parser::findColonNoLinks: Invalid input; too many close tags\n").create()), 0x00000000E441E905LL
));
3693 LINE(2250,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::findColonNoLinks").create()), 0x00000000B599F276LL
));
3696 (v_state
= 0LL /* parser::COLON_STATE_TEXT */);
3702 if (same(v_c
, ">")) {
3703 (v_state
= 0LL /* parser::COLON_STATE_TEXT */);
3706 (v_state
= 1LL /* parser::COLON_STATE_TAG */);
3712 if (same(v_c
, "-")) {
3713 (v_state
= 6LL /* parser::COLON_STATE_COMMENTDASH */);
3719 if (same(v_c
, "-")) {
3720 (v_state
= 7LL /* parser::COLON_STATE_COMMENTDASHDASH */);
3723 (v_state
= 5LL /* parser::COLON_STATE_COMMENT */);
3729 if (same(v_c
, ">")) {
3730 (v_state
= 0LL /* parser::COLON_STATE_TEXT */);
3733 (v_state
= 5LL /* parser::COLON_STATE_COMMENT */);
3739 throw_exception(LINE(2285,create_object("mwexception", Array(ArrayInit(1).set(0, "State machine error in Parser::findColonNoLinks").create()))));
3747 if (more(v_stack
, 0LL)) {
3748 LINE(2289,invoke_failed("wfdebug", Array(ArrayInit(1).set(0, concat("Parser::findColonNoLinks", concat5(": Invalid input; not enough close tags (stack ", toString(v_stack
), ", state ", toString(v_state
), ")\n"))).create()), 0x00000000E441E905LL
));
3751 LINE(2292,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::findColonNoLinks").create()), 0x00000000B599F276LL
));
3754 /* SRC: Parser.php line 2301 */
3755 Variant
c_parser::t_getvariablevalue(Variant v_index
, Variant v_frame
// = false
3757 INSTANCE_METHOD_INJECTION(Parser
, Parser::getVariableValue
);
3761 DECLARE_GLOBAL_VARIABLES(g
);
3762 Variant
&gv_wgContLang
__attribute__((__unused__
)) = g
->GV(wgContLang
);
3763 Variant
&gv_wgSitename
__attribute__((__unused__
)) = g
->GV(wgSitename
);
3764 Variant
&gv_wgServer
__attribute__((__unused__
)) = g
->GV(wgServer
);
3765 Variant
&gv_wgServerName
__attribute__((__unused__
)) = g
->GV(wgServerName
);
3766 Variant
&gv_wgScriptPath
__attribute__((__unused__
)) = g
->GV(wgScriptPath
);
3767 Variant
&gv_wgStylePath
__attribute__((__unused__
)) = g
->GV(wgStylePath
);
3769 Variant
&gv_wgLocaltimezone
__attribute__((__unused__
)) = g
->GV(wgLocaltimezone
);
3771 Variant v_localTimestamp
;
3772 Variant v_localMonth
;
3773 Variant v_localMonth1
;
3774 Variant v_localMonthName
;
3776 Variant v_localDay2
;
3777 Variant v_localDayOfWeek
;
3779 Variant v_localYear
;
3780 Variant v_localHour
;
3784 Variant
&gv_wgContLanguageCode
__attribute__((__unused__
)) = g
->GV(wgContLanguageCode
);
3785 Variant v_wgContLanguageCode
;
3792 if (toBoolean(LINE(2309,invoke_failed("wfrunhooks", Array(ArrayInit(2).set(0, "ParserGetVariableValueVarCache").set(1, Array(ArrayInit(2).setRef(0, ref(this)).setRef(1, ref(lval(m_mVarCache
))).create())).create()), 0x00000000787A96B2LL
)))) {
3793 if (isset(m_mVarCache
, v_index
)) {
3794 return m_mVarCache
.rvalAt(v_index
);
3797 (v_ts
= LINE(2315,(assignCallTemp(eo_0
, k_TS_UNIX
),assignCallTemp(eo_1
, ref(m_mOptions
.o_invoke_few_args("getTimestamp", 0x7533D7D1FB463C81LL
, 0))),invoke_failed("wftimestamp", Array(ArrayInit(2).set(0, eo_0
).set(1, eo_1
).create()), 0x00000000AADC1C20LL
))));
3798 LINE(2316,invoke_failed("wfrunhooks", Array(ArrayInit(2).set(0, "ParserGetVariableValueTs").set(1, Array(ArrayInit(2).setRef(0, ref(this)).setRef(1, ref(v_ts
)).create())).create()), 0x00000000787A96B2LL
));
3799 if (isset(gv_wgLocaltimezone
)) {
3800 (v_oldtz
= LINE(2321,x_getenv("TZ")));
3801 LINE(2322,x_putenv(concat("TZ=", toString(gv_wgLocaltimezone
))));
3803 LINE(2325,invoke_failed("wfsuppresswarnings", Array(), 0x00000000FCF68A6CLL
));
3804 (v_localTimestamp
= LINE(2326,x_date("YmdHis", toInt64(v_ts
))));
3805 (v_localMonth
= LINE(2327,x_date("m", toInt64(v_ts
))));
3806 (v_localMonth1
= LINE(2328,x_date("n", toInt64(v_ts
))));
3807 (v_localMonthName
= LINE(2329,x_date("n", toInt64(v_ts
))));
3808 (v_localDay
= LINE(2330,x_date("j", toInt64(v_ts
))));
3809 (v_localDay2
= LINE(2331,x_date("d", toInt64(v_ts
))));
3810 (v_localDayOfWeek
= LINE(2332,x_date("w", toInt64(v_ts
))));
3811 (v_localWeek
= LINE(2333,x_date("W", toInt64(v_ts
))));
3812 (v_localYear
= LINE(2334,x_date("Y", toInt64(v_ts
))));
3813 (v_localHour
= LINE(2335,x_date("H", toInt64(v_ts
))));
3814 if (isset(gv_wgLocaltimezone
)) {
3815 LINE(2337,x_putenv(concat("TZ=", toString(v_oldtz
))));
3817 LINE(2339,invoke_failed("wfrestorewarnings", Array(), 0x000000001BD025E4LL
));
3819 Variant tmp62
= (v_index
);
3821 if (equal(tmp62
, ("currentmonth"))) {
3823 } else if (equal(tmp62
, ("currentmonth1"))) {
3825 } else if (equal(tmp62
, ("currentmonthname"))) {
3827 } else if (equal(tmp62
, ("currentmonthnamegen"))) {
3829 } else if (equal(tmp62
, ("currentmonthabbrev"))) {
3831 } else if (equal(tmp62
, ("currentday"))) {
3833 } else if (equal(tmp62
, ("currentday2"))) {
3835 } else if (equal(tmp62
, ("localmonth"))) {
3837 } else if (equal(tmp62
, ("localmonth1"))) {
3839 } else if (equal(tmp62
, ("localmonthname"))) {
3841 } else if (equal(tmp62
, ("localmonthnamegen"))) {
3843 } else if (equal(tmp62
, ("localmonthabbrev"))) {
3845 } else if (equal(tmp62
, ("localday"))) {
3847 } else if (equal(tmp62
, ("localday2"))) {
3849 } else if (equal(tmp62
, ("pagename"))) {
3851 } else if (equal(tmp62
, ("pagenamee"))) {
3853 } else if (equal(tmp62
, ("fullpagename"))) {
3855 } else if (equal(tmp62
, ("fullpagenamee"))) {
3857 } else if (equal(tmp62
, ("subpagename"))) {
3859 } else if (equal(tmp62
, ("subpagenamee"))) {
3861 } else if (equal(tmp62
, ("basepagename"))) {
3863 } else if (equal(tmp62
, ("basepagenamee"))) {
3865 } else if (equal(tmp62
, ("talkpagename"))) {
3867 } else if (equal(tmp62
, ("talkpagenamee"))) {
3869 } else if (equal(tmp62
, ("subjectpagename"))) {
3871 } else if (equal(tmp62
, ("subjectpagenamee"))) {
3873 } else if (equal(tmp62
, ("revisionid"))) {
3875 } else if (equal(tmp62
, ("revisionday"))) {
3877 } else if (equal(tmp62
, ("revisionday2"))) {
3879 } else if (equal(tmp62
, ("revisionmonth"))) {
3881 } else if (equal(tmp62
, ("revisionyear"))) {
3883 } else if (equal(tmp62
, ("revisiontimestamp"))) {
3885 } else if (equal(tmp62
, ("revisionuser"))) {
3887 } else if (equal(tmp62
, ("namespace"))) {
3889 } else if (equal(tmp62
, ("namespacee"))) {
3891 } else if (equal(tmp62
, ("talkspace"))) {
3893 } else if (equal(tmp62
, ("talkspacee"))) {
3895 } else if (equal(tmp62
, ("subjectspace"))) {
3897 } else if (equal(tmp62
, ("subjectspacee"))) {
3899 } else if (equal(tmp62
, ("currentdayname"))) {
3901 } else if (equal(tmp62
, ("currentyear"))) {
3903 } else if (equal(tmp62
, ("currenttime"))) {
3905 } else if (equal(tmp62
, ("currenthour"))) {
3907 } else if (equal(tmp62
, ("currentweek"))) {
3909 } else if (equal(tmp62
, ("currentdow"))) {
3911 } else if (equal(tmp62
, ("localdayname"))) {
3913 } else if (equal(tmp62
, ("localyear"))) {
3915 } else if (equal(tmp62
, ("localtime"))) {
3917 } else if (equal(tmp62
, ("localhour"))) {
3919 } else if (equal(tmp62
, ("localweek"))) {
3921 } else if (equal(tmp62
, ("localdow"))) {
3923 } else if (equal(tmp62
, ("numberofarticles"))) {
3925 } else if (equal(tmp62
, ("numberoffiles"))) {
3927 } else if (equal(tmp62
, ("numberofusers"))) {
3929 } else if (equal(tmp62
, ("numberofactiveusers"))) {
3931 } else if (equal(tmp62
, ("numberofpages"))) {
3933 } else if (equal(tmp62
, ("numberofadmins"))) {
3935 } else if (equal(tmp62
, ("numberofedits"))) {
3937 } else if (equal(tmp62
, ("numberofviews"))) {
3939 } else if (equal(tmp62
, ("currenttimestamp"))) {
3941 } else if (equal(tmp62
, ("localtimestamp"))) {
3943 } else if (equal(tmp62
, ("currentversion"))) {
3945 } else if (equal(tmp62
, ("sitename"))) {
3947 } else if (equal(tmp62
, ("server"))) {
3949 } else if (equal(tmp62
, ("servername"))) {
3951 } else if (equal(tmp62
, ("scriptpath"))) {
3953 } else if (equal(tmp62
, ("directionmark"))) {
3955 } else if (equal(tmp62
, ("contentlanguage"))) {
3963 (v_value
= LINE(2343,gv_wgContLang
.o_invoke_few_args("formatNum", 0x0FEB8F5DDB8EBB5ALL
, 1, x_gmdate("m", toInt64(v_ts
)))));
3968 (v_value
= LINE(2346,gv_wgContLang
.o_invoke_few_args("formatNum", 0x0FEB8F5DDB8EBB5ALL
, 1, x_gmdate("n", toInt64(v_ts
)))));
3973 (v_value
= LINE(2349,gv_wgContLang
.o_invoke_few_args("getMonthName", 0x5DEDDA0E21068FE8LL
, 1, x_gmdate("n", toInt64(v_ts
)))));
3978 (v_value
= LINE(2352,gv_wgContLang
.o_invoke_few_args("getMonthNameGen", 0x4A5939DD128D7FF8LL
, 1, x_gmdate("n", toInt64(v_ts
)))));
3983 (v_value
= LINE(2355,gv_wgContLang
.o_invoke_few_args("getMonthAbbreviation", 0x75A1001EE20C7275LL
, 1, x_gmdate("n", toInt64(v_ts
)))));
3988 (v_value
= LINE(2358,gv_wgContLang
.o_invoke_few_args("formatNum", 0x0FEB8F5DDB8EBB5ALL
, 1, x_gmdate("j", toInt64(v_ts
)))));
3993 (v_value
= LINE(2361,gv_wgContLang
.o_invoke_few_args("formatNum", 0x0FEB8F5DDB8EBB5ALL
, 1, x_gmdate("d", toInt64(v_ts
)))));
3998 (v_value
= LINE(2364,gv_wgContLang
.o_invoke_few_args("formatNum", 0x0FEB8F5DDB8EBB5ALL
, 1, v_localMonth
)));
4003 (v_value
= LINE(2367,gv_wgContLang
.o_invoke_few_args("formatNum", 0x0FEB8F5DDB8EBB5ALL
, 1, v_localMonth1
)));
4008 (v_value
= LINE(2370,gv_wgContLang
.o_invoke_few_args("getMonthName", 0x5DEDDA0E21068FE8LL
, 1, v_localMonthName
)));
4013 (v_value
= LINE(2373,gv_wgContLang
.o_invoke_few_args("getMonthNameGen", 0x4A5939DD128D7FF8LL
, 1, v_localMonthName
)));
4018 (v_value
= LINE(2376,gv_wgContLang
.o_invoke_few_args("getMonthAbbreviation", 0x75A1001EE20C7275LL
, 1, v_localMonthName
)));
4023 (v_value
= LINE(2379,gv_wgContLang
.o_invoke_few_args("formatNum", 0x0FEB8F5DDB8EBB5ALL
, 1, v_localDay
)));
4028 (v_value
= LINE(2382,gv_wgContLang
.o_invoke_few_args("formatNum", 0x0FEB8F5DDB8EBB5ALL
, 1, v_localDay2
)));
4033 (v_value
= LINE(2385,invoke_failed("wfescapewikitext", Array(ArrayInit(1).set(0, ref(m_mTitle
.o_invoke_few_args("getText", 0x434CEBEC8FDBB880LL
, 0))).create()), 0x00000000B3382909LL
)));
4038 (v_value
= LINE(2388,m_mTitle
.o_invoke_few_args("getPartialURL", 0x174317C1190941C3LL
, 0)));
4043 (v_value
= LINE(2391,invoke_failed("wfescapewikitext", Array(ArrayInit(1).set(0, ref(m_mTitle
.o_invoke_few_args("getPrefixedText", 0x33044BA725446A43LL
, 0))).create()), 0x00000000B3382909LL
)));
4048 (v_value
= LINE(2394,m_mTitle
.o_invoke_few_args("getPrefixedURL", 0x087B6C631A0C440BLL
, 0)));
4053 (v_value
= LINE(2397,invoke_failed("wfescapewikitext", Array(ArrayInit(1).set(0, ref(m_mTitle
.o_invoke_few_args("getSubpageText", 0x01F4FD5FE8105897LL
, 0))).create()), 0x00000000B3382909LL
)));
4058 (v_value
= LINE(2400,m_mTitle
.o_invoke_few_args("getSubpageUrlForm", 0x491DC72710364585LL
, 0)));
4063 (v_value
= LINE(2403,invoke_failed("wfescapewikitext", Array(ArrayInit(1).set(0, ref(m_mTitle
.o_invoke_few_args("getBaseText", 0x23DB8A9B7829E674LL
, 0))).create()), 0x00000000B3382909LL
)));
4068 (v_value
= LINE(2406,invoke_failed("wfurlencode", Array(ArrayInit(1).set(0, ref((assignCallTemp(eo_2
, m_mTitle
.o_invoke_few_args("getBaseText", 0x23DB8A9B7829E674LL
, 0)),x_str_replace(" ", "_", eo_2
)))).create()), 0x00000000BFE709E0LL
)));
4073 if (toBoolean(LINE(2409,m_mTitle
.o_invoke_few_args("canTalk", 0x6F6C6847DA1689A2LL
, 0)))) {
4074 (v_talkPage
= LINE(2410,m_mTitle
.o_invoke_few_args("getTalkPage", 0x58258DF57A9BDD12LL
, 0)));
4075 (v_value
= LINE(2411,invoke_failed("wfescapewikitext", Array(ArrayInit(1).set(0, ref(v_talkPage
.o_invoke_few_args("getPrefixedText", 0x33044BA725446A43LL
, 0))).create()), 0x00000000B3382909LL
)));
4084 if (toBoolean(LINE(2417,m_mTitle
.o_invoke_few_args("canTalk", 0x6F6C6847DA1689A2LL
, 0)))) {
4085 (v_talkPage
= LINE(2418,m_mTitle
.o_invoke_few_args("getTalkPage", 0x58258DF57A9BDD12LL
, 0)));
4086 (v_value
= LINE(2419,v_talkPage
.o_invoke_few_args("getPrefixedUrl", 0x087B6C631A0C440BLL
, 0)));
4095 (v_subjPage
= LINE(2425,m_mTitle
.o_invoke_few_args("getSubjectPage", 0x366024925AE201F8LL
, 0)));
4096 (v_value
= LINE(2426,invoke_failed("wfescapewikitext", Array(ArrayInit(1).set(0, ref(v_subjPage
.o_invoke_few_args("getPrefixedText", 0x33044BA725446A43LL
, 0))).create()), 0x00000000B3382909LL
)));
4101 (v_subjPage
= LINE(2429,m_mTitle
.o_invoke_few_args("getSubjectPage", 0x366024925AE201F8LL
, 0)));
4102 (v_value
= LINE(2430,v_subjPage
.o_invoke_few_args("getPrefixedUrl", 0x087B6C631A0C440BLL
, 0)));
4107 LINE(2435,m_mOutput
.o_invoke_few_args("setFlag", 0x17EB983A0D55AFA3LL
, 1, "vary-revision"));
4108 LINE(2436,invoke_failed("wfdebug", Array(ArrayInit(1).set(0, "Parser::getVariableValue: {{REVISIONID}} used, setting vary-revision...\n").create()), 0x00000000E441E905LL
));
4109 (v_value
= m_mRevisionId
);
4114 LINE(2442,m_mOutput
.o_invoke_few_args("setFlag", 0x17EB983A0D55AFA3LL
, 1, "vary-revision"));
4115 LINE(2443,invoke_failed("wfdebug", Array(ArrayInit(1).set(0, "Parser::getVariableValue: {{REVISIONDAY}} used, setting vary-revision...\n").create()), 0x00000000E441E905LL
));
4116 (v_value
= LINE(2444,x_intval((assignCallTemp(eo_0
, toString(t_getrevisiontimestamp())),x_substr(eo_0
, toInt32(6LL), toInt32(2LL))))));
4121 LINE(2449,m_mOutput
.o_invoke_few_args("setFlag", 0x17EB983A0D55AFA3LL
, 1, "vary-revision"));
4122 LINE(2450,invoke_failed("wfdebug", Array(ArrayInit(1).set(0, "Parser::getVariableValue: {{REVISIONDAY2}} used, setting vary-revision...\n").create()), 0x00000000E441E905LL
));
4123 (v_value
= LINE(2451,(assignCallTemp(eo_0
, toString(t_getrevisiontimestamp())),x_substr(eo_0
, toInt32(6LL), toInt32(2LL)))));
4128 LINE(2456,m_mOutput
.o_invoke_few_args("setFlag", 0x17EB983A0D55AFA3LL
, 1, "vary-revision"));
4129 LINE(2457,invoke_failed("wfdebug", Array(ArrayInit(1).set(0, "Parser::getVariableValue: {{REVISIONMONTH}} used, setting vary-revision...\n").create()), 0x00000000E441E905LL
));
4130 (v_value
= LINE(2458,x_intval((assignCallTemp(eo_0
, toString(t_getrevisiontimestamp())),x_substr(eo_0
, toInt32(4LL), toInt32(2LL))))));
4135 LINE(2463,m_mOutput
.o_invoke_few_args("setFlag", 0x17EB983A0D55AFA3LL
, 1, "vary-revision"));
4136 LINE(2464,invoke_failed("wfdebug", Array(ArrayInit(1).set(0, "Parser::getVariableValue: {{REVISIONYEAR}} used, setting vary-revision...\n").create()), 0x00000000E441E905LL
));
4137 (v_value
= LINE(2465,(assignCallTemp(eo_0
, toString(t_getrevisiontimestamp())),x_substr(eo_0
, toInt32(0LL), toInt32(4LL)))));
4142 LINE(2470,m_mOutput
.o_invoke_few_args("setFlag", 0x17EB983A0D55AFA3LL
, 1, "vary-revision"));
4143 LINE(2471,invoke_failed("wfdebug", Array(ArrayInit(1).set(0, "Parser::getVariableValue: {{REVISIONTIMESTAMP}} used, setting vary-revision...\n").create()), 0x00000000E441E905LL
));
4144 (v_value
= LINE(2472,t_getrevisiontimestamp()));
4149 LINE(2477,m_mOutput
.o_invoke_few_args("setFlag", 0x17EB983A0D55AFA3LL
, 1, "vary-revision"));
4150 LINE(2478,invoke_failed("wfdebug", Array(ArrayInit(1).set(0, "Parser::getVariableValue: {{REVISIONUSER}} used, setting vary-revision...\n").create()), 0x00000000E441E905LL
));
4151 (v_value
= LINE(2479,t_getrevisionuser()));
4156 (v_value
= LINE(2482,(assignCallTemp(eo_2
, gv_wgContLang
.o_invoke_few_args("getNsText", 0x3A9D9935C2A87562LL
, 1, m_mTitle
.o_invoke_few_args("getNamespace", 0x6DC05480D007D522LL
, 0))),x_str_replace("_", " ", eo_2
))));
4161 (v_value
= LINE(2485,invoke_failed("wfurlencode", Array(ArrayInit(1).set(0, ref(gv_wgContLang
.o_invoke_few_args("getNsText", 0x3A9D9935C2A87562LL
, 1, m_mTitle
.o_invoke_few_args("getNamespace", 0x6DC05480D007D522LL
, 0)))).create()), 0x00000000BFE709E0LL
)));
4166 (v_value
= toBoolean(LINE(2488,m_mTitle
.o_invoke_few_args("canTalk", 0x6F6C6847DA1689A2LL
, 0))) ? ((Variant
)((assignCallTemp(eo_2
, m_mTitle
.o_invoke_few_args("getTalkNsText", 0x51ABF4A6AFECC524LL
, 0)),x_str_replace("_", " ", eo_2
)))) : ((Variant
)("")));
4171 (v_value
= toBoolean(LINE(2491,m_mTitle
.o_invoke_few_args("canTalk", 0x6F6C6847DA1689A2LL
, 0))) ? ((Variant
)(invoke_failed("wfurlencode", Array(ArrayInit(1).set(0, ref(m_mTitle
.o_invoke_few_args("getTalkNsText", 0x51ABF4A6AFECC524LL
, 0))).create()), 0x00000000BFE709E0LL
))) : ((Variant
)("")));
4176 (v_value
= LINE(2494,m_mTitle
.o_invoke_few_args("getSubjectNsText", 0x601B23155AB888BDLL
, 0)));
4181 (v_value
= (LINE(2497,invoke_failed("wfurlencode", Array(ArrayInit(1).set(0, ref(m_mTitle
.o_invoke_few_args("getSubjectNsText", 0x601B23155AB888BDLL
, 0))).create()), 0x00000000BFE709E0LL
))));
4186 (v_value
= LINE(2500,gv_wgContLang
.o_invoke_few_args("getWeekdayName", 0x0DEF9E6D61D4F31FLL
, 1, (Variant
)(x_gmdate("w", toInt64(v_ts
))) + 1LL)));
4191 (v_value
= (assignCallTemp(eo_0
, ref(LINE(2503,x_gmdate("Y", toInt64(v_ts
))))),gv_wgContLang
.o_invoke("formatNum", Array(ArrayInit(2).set(0, eo_0
).set(1, true).create()), 0x0FEB8F5DDB8EBB5ALL
)));
4196 (v_value
= (assignCallTemp(eo_0
, ref(LINE(2506,invoke_failed("wftimestamp", Array(ArrayInit(2).set(0, k_TS_MW
).set(1, ref(v_ts
)).create()), 0x00000000AADC1C20LL
)))),gv_wgContLang
.o_invoke("time", Array(ArrayInit(3).set(0, eo_0
).set(1, false).set(2, false).create()), 0x74ABB4A1E10BBBF7LL
)));
4201 (v_value
= (assignCallTemp(eo_0
, ref(LINE(2509,x_gmdate("H", toInt64(v_ts
))))),gv_wgContLang
.o_invoke("formatNum", Array(ArrayInit(2).set(0, eo_0
).set(1, true).create()), 0x0FEB8F5DDB8EBB5ALL
)));
4206 (v_value
= LINE(2514,gv_wgContLang
.o_invoke_few_args("formatNum", 0x0FEB8F5DDB8EBB5ALL
, 1, toInt64(x_gmdate("W", toInt64(v_ts
))))));
4211 (v_value
= LINE(2517,gv_wgContLang
.o_invoke_few_args("formatNum", 0x0FEB8F5DDB8EBB5ALL
, 1, x_gmdate("w", toInt64(v_ts
)))));
4216 (v_value
= LINE(2520,gv_wgContLang
.o_invoke_few_args("getWeekdayName", 0x0DEF9E6D61D4F31FLL
, 1, v_localDayOfWeek
+ 1LL)));
4221 (v_value
= LINE(2523,gv_wgContLang
.o_invoke_few_args("formatNum", 0x0FEB8F5DDB8EBB5ALL
, 2, v_localYear
, true)));
4226 (v_value
= LINE(2526,gv_wgContLang
.o_invoke_few_args("time", 0x74ABB4A1E10BBBF7LL
, 3, v_localTimestamp
, false, false)));
4231 (v_value
= LINE(2529,gv_wgContLang
.o_invoke_few_args("formatNum", 0x0FEB8F5DDB8EBB5ALL
, 2, v_localHour
, true)));
4236 (v_value
= LINE(2534,gv_wgContLang
.o_invoke_few_args("formatNum", 0x0FEB8F5DDB8EBB5ALL
, 1, toInt64(v_localWeek
))));
4241 (v_value
= LINE(2537,gv_wgContLang
.o_invoke_few_args("formatNum", 0x0FEB8F5DDB8EBB5ALL
, 1, v_localDayOfWeek
)));
4246 (v_value
= LINE(2540,gv_wgContLang
.o_invoke_few_args("formatNum", 0x0FEB8F5DDB8EBB5ALL
, 1, throw_fatal("unknown class sitestats", ((void*)NULL
)))));
4251 (v_value
= LINE(2543,gv_wgContLang
.o_invoke_few_args("formatNum", 0x0FEB8F5DDB8EBB5ALL
, 1, throw_fatal("unknown class sitestats", ((void*)NULL
)))));
4256 (v_value
= LINE(2546,gv_wgContLang
.o_invoke_few_args("formatNum", 0x0FEB8F5DDB8EBB5ALL
, 1, throw_fatal("unknown class sitestats", ((void*)NULL
)))));
4261 (v_value
= LINE(2549,gv_wgContLang
.o_invoke_few_args("formatNum", 0x0FEB8F5DDB8EBB5ALL
, 1, throw_fatal("unknown class sitestats", ((void*)NULL
)))));
4266 (v_value
= LINE(2552,gv_wgContLang
.o_invoke_few_args("formatNum", 0x0FEB8F5DDB8EBB5ALL
, 1, throw_fatal("unknown class sitestats", ((void*)NULL
)))));
4271 (v_value
= LINE(2555,gv_wgContLang
.o_invoke_few_args("formatNum", 0x0FEB8F5DDB8EBB5ALL
, 1, throw_fatal("unknown class sitestats", ((void*)NULL
)))));
4276 (v_value
= LINE(2558,gv_wgContLang
.o_invoke_few_args("formatNum", 0x0FEB8F5DDB8EBB5ALL
, 1, throw_fatal("unknown class sitestats", ((void*)NULL
)))));
4281 (v_value
= LINE(2561,gv_wgContLang
.o_invoke_few_args("formatNum", 0x0FEB8F5DDB8EBB5ALL
, 1, throw_fatal("unknown class sitestats", ((void*)NULL
)))));
4286 (v_value
= LINE(2564,invoke_failed("wftimestamp", Array(ArrayInit(2).set(0, k_TS_MW
).set(1, ref(v_ts
)).create()), 0x00000000AADC1C20LL
)));
4291 (v_value
= v_localTimestamp
);
4296 (v_value
= LINE(2570,throw_fatal("unknown class specialversion", ((void*)NULL
))));
4301 return gv_wgSitename
;
4309 return gv_wgServerName
;
4313 return gv_wgScriptPath
;
4317 return LINE(2581,gv_wgContLang
.o_invoke_few_args("getDirMark", 0x5BF4F4487797223BLL
, 0));
4321 v_wgContLanguageCode
= ref(g
->GV(wgContLanguageCode
));
4322 return v_wgContLanguageCode
;
4327 if (toBoolean(LINE(2587,invoke_failed("wfrunhooks", Array(ArrayInit(2).set(0, "ParserGetVariableValueSwitch").set(1, Array(ArrayInit(5).setRef(0, ref(this)).setRef(1, ref(lval(m_mVarCache
))).setRef(2, ref(v_index
)).setRef(3, ref(v_ret
)).setRef(4, ref(v_frame
)).create())).create()), 0x00000000787A96B2LL
)))) return v_ret
;
4333 if (toBoolean(v_index
)) m_mVarCache
.set(v_index
, (v_value
));
4336 /* SRC: Parser.php line 2604 */
4337 void c_parser::t_initialisevariables() {
4338 INSTANCE_METHOD_INJECTION(Parser
, Parser::initialiseVariables
);
4339 Variant v_variableIDs
;
4341 LINE(2605,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "Parser::initialiseVariables").create()), 0x0000000075359BAFLL
));
4342 (v_variableIDs
= LINE(2606,throw_fatal("unknown class magicword", ((void*)NULL
))));
4343 (m_mVariables
= LINE(2608,create_object("magicwordarray", Array(ArrayInit(1).set(0, v_variableIDs
).create()))));
4344 LINE(2609,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::initialiseVariables").create()), 0x00000000B599F276LL
));
4346 /* SRC: Parser.php line 2634 */
4347 Variant
c_parser::t_preprocesstodom(Variant v_text
, Variant v_flags
// = 0LL
4349 INSTANCE_METHOD_INJECTION(Parser
, Parser::preprocessToDom
);
4353 (v_dom
= (assignCallTemp(eo_0
, toObject(LINE(2635,t_getpreprocessor()))),eo_0
.o_invoke_few_args("preprocessToObj", 0x0BA55A9913645813LL
, 2, v_text
, v_flags
)));
4356 /* SRC: Parser.php line 2642 */
4357 Array
c_parser::ti_splitwhitespace(const char* cls
, CVarRef v_s
) {
4358 STATIC_METHOD_INJECTION(Parser
, Parser::splitWhitespace
);
4368 (v_ltrimmed
= LINE(2643,x_ltrim(toString(v_s
))));
4369 (v_w1
= LINE(2644,(assignCallTemp(eo_0
, toString(v_s
)),assignCallTemp(eo_2
, toInt32(minus_rev(x_strlen(v_ltrimmed
), x_strlen(toString(v_s
))))),x_substr(eo_0
, toInt32(0LL), eo_2
))));
4370 (v_trimmed
= LINE(2645,x_rtrim(v_ltrimmed
)));
4371 (v_diff
= minus_rev(LINE(2646,x_strlen(v_trimmed
)), x_strlen(v_ltrimmed
)));
4372 if (more(v_diff
, 0LL)) {
4373 (v_w2
= LINE(2648,x_substr(v_ltrimmed
, toInt32(negate(v_diff
)))));
4378 return Array(ArrayInit(3).set(0, v_w1
).set(1, v_trimmed
).set(2, v_w2
).create());
4380 /* SRC: Parser.php line 2672 */
4381 Variant
c_parser::t_replacevariables(Variant v_text
, Variant v_frame
// = false
4382 , CVarRef v_argsOnly
// = false
4384 INSTANCE_METHOD_INJECTION(Parser
, Parser::replaceVariables
);
4390 if (less(LINE(2674,x_strlen(toString(v_text
))), 1LL) || more_rev(m_mOptions
.o_invoke_few_args("getMaxIncludeSize", 0x5356D47AAA28FDF5LL
, 0), x_strlen(toString(v_text
)))) {
4393 LINE(2677,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "Parser::replaceVariables").create()), 0x0000000075359BAFLL
));
4394 if (same(v_frame
, false)) {
4395 (v_frame
= (assignCallTemp(eo_0
, toObject(LINE(2680,t_getpreprocessor()))),eo_0
.o_invoke_few_args("newFrame", 0x787B6141D7721675LL
, 0)));
4397 else if (!((instanceOf(v_frame
, "PPFrame")))) {
4398 LINE(2682,invoke_failed("wfdebug", Array(ArrayInit(1).set(0, "Parser::replaceVariables called using plain parameters instead of a PPFrame instance. Creating custom frame.\n").create()), 0x00000000E441E905LL
));
4399 (v_frame
= (assignCallTemp(eo_1
, toObject(LINE(2683,t_getpreprocessor()))),eo_1
.o_invoke_few_args("newCustomFrame", 0x5A11FE5B629AF7A0LL
, 1, v_frame
)));
4401 (v_dom
= LINE(2686,t_preprocesstodom(v_text
)));
4402 (v_flags
= toBoolean(v_argsOnly
) ? ((2LL /* ppframe::NO_TEMPLATES */)) : ((0LL)));
4403 (v_text
= LINE(2688,v_frame
.o_invoke_few_args("expand", 0x39B7BB05F05A37CDLL
, 2, v_dom
, v_flags
)));
4404 LINE(2690,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::replaceVariables").create()), 0x00000000B599F276LL
));
4407 /* SRC: Parser.php line 2695 */
4408 Variant
c_parser::ti_createassocargs(const char* cls
, CArrRef v_args
) {
4409 STATIC_METHOD_INJECTION(Parser
, Parser::createAssocArgs
);
4410 Variant v_assocArgs
;
4417 (v_assocArgs
= ScalarArrays::sa_
[0]);
4421 for (ArrayIter iter66
= v_args
.begin("parser"); !iter66
.end(); ++iter66
) {
4422 LOOP_COUNTER_CHECK(64);
4423 v_arg
= iter66
.second();
4425 (v_eqpos
= LINE(2699,x_strpos(toString(v_arg
), "=")));
4426 if (same(v_eqpos
, false)) {
4427 v_assocArgs
.set(v_index
++, (v_arg
));
4430 (v_name
= LINE(2703,x_trim(toString(x_substr(toString(v_arg
), toInt32(0LL), toInt32(v_eqpos
))))));
4431 (v_value
= LINE(2704,x_trim(toString(x_substr(toString(v_arg
), toInt32(v_eqpos
+ 1LL))))));
4432 if (same(v_value
, false)) {
4435 if (!same(v_name
, false)) {
4436 v_assocArgs
.set(v_name
, (v_value
));
4444 /* SRC: Parser.php line 2728 */
4445 void c_parser::t_limitationwarn(CStrRef v_limitationType
, Variant v_current
// = null
4446 , Variant v_max
// = null
4448 INSTANCE_METHOD_INJECTION(Parser
, Parser::limitationWarn
);
4451 (v_warning
= LINE(2730,invoke_failed("wfmsgext", Array(ArrayInit(4).set(0, v_limitationType
+ toString("-warning")).set(1, Array(ArrayInit(2).set(0, "parsemag").set(1, "escape").create())).set(2, ref(v_current
)).set(3, ref(v_max
)).create()), 0x000000001BB87306LL
)));
4452 LINE(2731,m_mOutput
.o_invoke_few_args("addWarning", 0x1E1ACEDC035034C5LL
, 1, v_warning
));
4453 LINE(2732,t_addtrackingcategory(v_limitationType
+ toString("-category")));
4455 /* SRC: Parser.php line 2747 */
4456 Variant
c_parser::t_bracesubstitution(Variant v_piece
, Variant v_frame
) {
4457 INSTANCE_METHOD_INJECTION(Parser
, Parser::braceSubstitution
);
4462 DECLARE_GLOBAL_VARIABLES(g
);
4463 Variant
&gv_wgContLang
__attribute__((__unused__
)) = g
->GV(wgContLang
);
4464 Variant v_wgContLang
;
4465 Variant
&gv_wgNonincludableNamespaces
__attribute__((__unused__
)) = g
->GV(wgNonincludableNamespaces
);
4466 Variant v_wgNonincludableNamespaces
;
4470 Variant v_forceRawInterwiki
;
4471 Variant v_isChildObj
;
4472 Variant v_isLocalObj
;
4474 Variant v_titleWithSpaces
;
4476 Variant v_titleText
;
4477 Variant v_originalTitle
;
4489 Variant v_initialArgs
;
4495 Variant v_preprocessFlags
;
4503 class VariableTable
: public LVariableTable
{
4505 Variant
&v_piece
; Variant
&v_frame
; Variant
&v_wgContLang
; Variant
&v_wgNonincludableNamespaces
; Variant
&v_found
; Variant
&v_nowiki
; Variant
&v_isHTML
; Variant
&v_forceRawInterwiki
; Variant
&v_isChildObj
; Variant
&v_isLocalObj
; Variant
&v_title
; Variant
&v_titleWithSpaces
; Variant
&v_part1
; Variant
&v_titleText
; Variant
&v_originalTitle
; Variant
&v_args
; Variant
&v_mwSubst
; Variant
&v_text
; Variant
&v_id
; Variant
&v_mwMsgnw
; Variant
&v_mwMsg
; Variant
&v_mwRaw
; Variant
&v_colonPos
; Variant
&v_function
; Variant
&v_callback
; Variant
&v_flags
; Variant
&v_initialArgs
; Variant
&v_funcArgs
; Variant
&v_allArgs
; Variant
&v_i
; Variant
&v_result
; Variant
&v_noparse
; Variant
&v_preprocessFlags
; Variant
&v_ns
; Variant
&v_subpage
; Variant
&v_limit
; Variant
&v_newFrame
; Variant
&v_ret
;
4506 VariableTable(Variant
&r_piece
, Variant
&r_frame
, Variant
&r_wgContLang
, Variant
&r_wgNonincludableNamespaces
, Variant
&r_found
, Variant
&r_nowiki
, Variant
&r_isHTML
, Variant
&r_forceRawInterwiki
, Variant
&r_isChildObj
, Variant
&r_isLocalObj
, Variant
&r_title
, Variant
&r_titleWithSpaces
, Variant
&r_part1
, Variant
&r_titleText
, Variant
&r_originalTitle
, Variant
&r_args
, Variant
&r_mwSubst
, Variant
&r_text
, Variant
&r_id
, Variant
&r_mwMsgnw
, Variant
&r_mwMsg
, Variant
&r_mwRaw
, Variant
&r_colonPos
, Variant
&r_function
, Variant
&r_callback
, Variant
&r_flags
, Variant
&r_initialArgs
, Variant
&r_funcArgs
, Variant
&r_allArgs
, Variant
&r_i
, Variant
&r_result
, Variant
&r_noparse
, Variant
&r_preprocessFlags
, Variant
&r_ns
, Variant
&r_subpage
, Variant
&r_limit
, Variant
&r_newFrame
, Variant
&r_ret
) : v_piece(r_piece
), v_frame(r_frame
), v_wgContLang(r_wgContLang
), v_wgNonincludableNamespaces(r_wgNonincludableNamespaces
), v_found(r_found
), v_nowiki(r_nowiki
), v_isHTML(r_isHTML
), v_forceRawInterwiki(r_forceRawInterwiki
), v_isChildObj(r_isChildObj
), v_isLocalObj(r_isLocalObj
), v_title(r_title
), v_titleWithSpaces(r_titleWithSpaces
), v_part1(r_part1
), v_titleText(r_titleText
), v_originalTitle(r_originalTitle
), v_args(r_args
), v_mwSubst(r_mwSubst
), v_text(r_text
), v_id(r_id
), v_mwMsgnw(r_mwMsgnw
), v_mwMsg(r_mwMsg
), v_mwRaw(r_mwRaw
), v_colonPos(r_colonPos
), v_function(r_function
), v_callback(r_callback
), v_flags(r_flags
), v_initialArgs(r_initialArgs
), v_funcArgs(r_funcArgs
), v_allArgs(r_allArgs
), v_i(r_i
), v_result(r_result
), v_noparse(r_noparse
), v_preprocessFlags(r_preprocessFlags
), v_ns(r_ns
), v_subpage(r_subpage
), v_limit(r_limit
), v_newFrame(r_newFrame
), v_ret(r_ret
) {}
4507 virtual Variant
&getImpl(CStrRef str
, int64 hash
) {
4508 const char *s
__attribute__((__unused__
)) = str
.data();
4509 if (hash
< 0) hash
= hash_string(s
);
4510 switch (hash
& 127) {
4512 HASH_RETURN(0x692E742321F80F02LL
, v_mwSubst
,
4516 HASH_RETURN(0x6D135A1F775A3C04LL
, v_titleWithSpaces
,
4520 HASH_RETURN(0x6AFDA85728FAE70DLL
, v_flags
,
4524 HASH_RETURN(0x49465865E679EB16LL
, v_limit
,
4528 HASH_RETURN(0x0EB22EDA95766E98LL
, v_i
,
4532 HASH_RETURN(0x4AF7CD17F976719ELL
, v_args
,
4536 HASH_RETURN(0x2D577BEBE8CB9D1FLL
, v_frame
,
4538 HASH_RETURN(0x5ABEE6C41B223D9FLL
, v_isLocalObj
,
4542 HASH_RETURN(0x657E33B2AED298A5LL
, v_newFrame
,
4546 HASH_RETURN(0x736D912A52403931LL
, v_function
,
4548 HASH_RETURN(0x334D179C1FC4A0B1LL
, v_noparse
,
4552 HASH_RETURN(0x35F1C44CD9562BB5LL
, v_mwMsg
,
4556 HASH_RETURN(0x665662C0C91B8BB7LL
, v_part1
,
4560 HASH_RETURN(0x540FC99D08D7253BLL
, v_forceRawInterwiki
,
4564 HASH_RETURN(0x2A28A0084DD3A743LL
, v_text
,
4566 HASH_RETURN(0x59478C0CAAAA0643LL
, v_allArgs
,
4570 HASH_RETURN(0x1E7DD8DF6E98F4C6LL
, v_callback
,
4574 HASH_RETURN(0x599E3F67E2599248LL
, v_result
,
4578 HASH_RETURN(0x323EAC15D211984ALL
, v_wgContLang
,
4580 HASH_RETURN(0x753C6234141C8C4ALL
, v_colonPos
,
4584 HASH_RETURN(0x41CC31743A0270CELL
, v_found
,
4588 HASH_RETURN(0x4EF072AC8484C74FLL
, v_preprocessFlags
,
4592 HASH_RETURN(0x7635B625A9ED35D0LL
, v_subpage
,
4596 HASH_RETURN(0x0B33F381563FAED2LL
, v_isHTML
,
4600 HASH_RETURN(0x1341D4F88CD79F55LL
, v_originalTitle
,
4604 HASH_RETURN(0x7132B63767EAFEDBLL
, v_piece
,
4608 HASH_RETURN(0x78258C7EF69CF55DLL
, v_nowiki
,
4612 HASH_RETURN(0x402070269FCD7CDELL
, v_isChildObj
,
4616 HASH_RETURN(0x740962C1F3DF2EE0LL
, v_initialArgs
,
4620 HASH_RETURN(0x028B9FE0C4522BE2LL
, v_id
,
4624 HASH_RETURN(0x1DA25769DEC7D2ECLL
, v_ns
,
4628 HASH_RETURN(0x1C01B949AD4C00F3LL
, v_ret
,
4632 HASH_RETURN(0x43FBB2C4FE020BF5LL
, v_wgNonincludableNamespaces
,
4633 wgNonincludableNamespaces
);
4636 HASH_RETURN(0x176B222D8CCA9476LL
, v_mwMsgnw
,
4638 HASH_RETURN(0x37B21F02C50936F6LL
, v_funcArgs
,
4642 HASH_RETURN(0x461172FD01925F78LL
, v_titleText
,
4646 HASH_RETURN(0x63C1D632E67611FALL
, v_mwRaw
,
4650 HASH_RETURN(0x66AD900A2301E2FELL
, v_title
,
4656 return lvalAt(str
, hash
);
4658 virtual bool exists(const char *s
, int64 hash
/* = -1 */) const {
4659 if (hash
< 0) hash
= hash_string(s
);
4660 switch (hash
& 127) {
4662 HASH_INITIALIZED(0x692E742321F80F02LL
, v_mwSubst
,
4666 HASH_INITIALIZED(0x6D135A1F775A3C04LL
, v_titleWithSpaces
,
4670 HASH_INITIALIZED(0x6AFDA85728FAE70DLL
, v_flags
,
4674 HASH_INITIALIZED(0x49465865E679EB16LL
, v_limit
,
4678 HASH_INITIALIZED(0x0EB22EDA95766E98LL
, v_i
,
4682 HASH_INITIALIZED(0x4AF7CD17F976719ELL
, v_args
,
4686 HASH_INITIALIZED(0x2D577BEBE8CB9D1FLL
, v_frame
,
4688 HASH_INITIALIZED(0x5ABEE6C41B223D9FLL
, v_isLocalObj
,
4692 HASH_INITIALIZED(0x657E33B2AED298A5LL
, v_newFrame
,
4696 HASH_INITIALIZED(0x736D912A52403931LL
, v_function
,
4698 HASH_INITIALIZED(0x334D179C1FC4A0B1LL
, v_noparse
,
4702 HASH_INITIALIZED(0x35F1C44CD9562BB5LL
, v_mwMsg
,
4706 HASH_INITIALIZED(0x665662C0C91B8BB7LL
, v_part1
,
4710 HASH_INITIALIZED(0x540FC99D08D7253BLL
, v_forceRawInterwiki
,
4714 HASH_INITIALIZED(0x2A28A0084DD3A743LL
, v_text
,
4716 HASH_INITIALIZED(0x59478C0CAAAA0643LL
, v_allArgs
,
4720 HASH_INITIALIZED(0x1E7DD8DF6E98F4C6LL
, v_callback
,
4724 HASH_INITIALIZED(0x599E3F67E2599248LL
, v_result
,
4728 HASH_INITIALIZED(0x323EAC15D211984ALL
, v_wgContLang
,
4730 HASH_INITIALIZED(0x753C6234141C8C4ALL
, v_colonPos
,
4734 HASH_INITIALIZED(0x41CC31743A0270CELL
, v_found
,
4738 HASH_INITIALIZED(0x4EF072AC8484C74FLL
, v_preprocessFlags
,
4742 HASH_INITIALIZED(0x7635B625A9ED35D0LL
, v_subpage
,
4746 HASH_INITIALIZED(0x0B33F381563FAED2LL
, v_isHTML
,
4750 HASH_INITIALIZED(0x1341D4F88CD79F55LL
, v_originalTitle
,
4754 HASH_INITIALIZED(0x7132B63767EAFEDBLL
, v_piece
,
4758 HASH_INITIALIZED(0x78258C7EF69CF55DLL
, v_nowiki
,
4762 HASH_INITIALIZED(0x402070269FCD7CDELL
, v_isChildObj
,
4766 HASH_INITIALIZED(0x740962C1F3DF2EE0LL
, v_initialArgs
,
4770 HASH_INITIALIZED(0x028B9FE0C4522BE2LL
, v_id
,
4774 HASH_INITIALIZED(0x1DA25769DEC7D2ECLL
, v_ns
,
4778 HASH_INITIALIZED(0x1C01B949AD4C00F3LL
, v_ret
,
4782 HASH_INITIALIZED(0x43FBB2C4FE020BF5LL
, v_wgNonincludableNamespaces
,
4783 wgNonincludableNamespaces
);
4786 HASH_INITIALIZED(0x176B222D8CCA9476LL
, v_mwMsgnw
,
4788 HASH_INITIALIZED(0x37B21F02C50936F6LL
, v_funcArgs
,
4792 HASH_INITIALIZED(0x461172FD01925F78LL
, v_titleText
,
4796 HASH_INITIALIZED(0x63C1D632E67611FALL
, v_mwRaw
,
4800 HASH_INITIALIZED(0x66AD900A2301E2FELL
, v_title
,
4806 return LVariableTable::exists(s
, hash
);
4808 } variableTable(v_piece
, v_frame
, v_wgContLang
, v_wgNonincludableNamespaces
, v_found
, v_nowiki
, v_isHTML
, v_forceRawInterwiki
, v_isChildObj
, v_isLocalObj
, v_title
, v_titleWithSpaces
, v_part1
, v_titleText
, v_originalTitle
, v_args
, v_mwSubst
, v_text
, v_id
, v_mwMsgnw
, v_mwMsg
, v_mwRaw
, v_colonPos
, v_function
, v_callback
, v_flags
, v_initialArgs
, v_funcArgs
, v_allArgs
, v_i
, v_result
, v_noparse
, v_preprocessFlags
, v_ns
, v_subpage
, v_limit
, v_newFrame
, v_ret
);
4809 LVariableTable
* __attribute__((__unused__
)) variables
= &variableTable
;
4811 v_wgContLang
= ref(g
->GV(wgContLang
));
4812 v_wgNonincludableNamespaces
= ref(g
->GV(wgNonincludableNamespaces
));
4814 LINE(2749,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "Parser::braceSubstitution").create()), 0x0000000075359BAFLL
));
4815 LINE(2750,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "Parser::braceSubstitution-setup").create()), 0x0000000075359BAFLL
));
4819 (v_forceRawInterwiki
= false);
4820 (v_isChildObj
= false);
4821 (v_isLocalObj
= false);
4823 (v_titleWithSpaces
= LINE(2765,v_frame
.o_invoke_few_args("expand", 0x39B7BB05F05A37CDLL
, 1, v_piece
.refvalAt("title", 0x66AD900A2301E2FELL
))));
4824 (v_part1
= LINE(2766,x_trim(toString(v_titleWithSpaces
))));
4825 (v_titleText
= false);
4826 (v_originalTitle
= v_part1
);
4827 (v_args
= (equal(null
, v_piece
.rvalAt("parts", 0x2708FDA74562AD8DLL
))) ? ((Variant
)(ScalarArrays::sa_
[0])) : ((Variant
)(v_piece
.rvalAt("parts", 0x2708FDA74562AD8DLL
))));
4828 LINE(2774,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::braceSubstitution-setup").create()), 0x00000000B599F276LL
));
4829 LINE(2777,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "Parser::braceSubstitution-modifiers").create()), 0x0000000075359BAFLL
));
4830 if (!(toBoolean(v_found
))) {
4831 (v_mwSubst
= LINE(2779,throw_fatal("unknown class magicword", ((void*)NULL
))));
4832 if (logical_xor(toBoolean(LINE(2780,v_mwSubst
.o_invoke_few_args("matchStartAndRemove", 0x2B81946BBA5E8685LL
, 1, v_part1
))), toBoolean(m_ot
.rvalAt("wiki", 0x24648D2BCD794D21LL
)))) {
4833 (v_text
= LINE(2785,v_frame
.o_invoke_few_args("virtualBracketedImplode", 0x409618A98590618BLL
, 5, "{{", "|", "}}", v_titleWithSpaces
, v_args
)));
4834 (v_isLocalObj
= true);
4838 if (!(toBoolean(v_found
)) && equal(LINE(2792,v_args
.o_invoke_few_args("getLength", 0x41EB078EF92C44D4LL
, 0)), 0LL)) {
4839 (v_id
= LINE(2793,m_mVariables
.o_invoke_few_args("matchStartToEnd", 0x4F70AC0C69CFEB19LL
, 1, v_part1
)));
4840 if (!same(v_id
, false)) {
4841 (v_text
= LINE(2795,t_getvariablevalue(v_id
, v_frame
)));
4842 if (more(LINE(2796,throw_fatal("unknown class magicword", ((void*)NULL
))), -1LL)) (m_mOutput
.o_lval("mContainsOldMagic", 0x517EDA759E438B97LL
) = true);
4846 if (!(toBoolean(v_found
))) {
4847 (v_mwMsgnw
= LINE(2805,throw_fatal("unknown class magicword", ((void*)NULL
))));
4848 if (toBoolean(LINE(2806,v_mwMsgnw
.o_invoke_few_args("matchStartAndRemove", 0x2B81946BBA5E8685LL
, 1, v_part1
)))) {
4852 (v_mwMsg
= LINE(2810,throw_fatal("unknown class magicword", ((void*)NULL
))));
4853 LINE(2811,v_mwMsg
.o_invoke_few_args("matchStartAndRemove", 0x2B81946BBA5E8685LL
, 1, v_part1
));
4855 (v_mwRaw
= LINE(2815,throw_fatal("unknown class magicword", ((void*)NULL
))));
4856 if (toBoolean(LINE(2816,v_mwRaw
.o_invoke_few_args("matchStartAndRemove", 0x2B81946BBA5E8685LL
, 1, v_part1
)))) {
4857 (v_forceRawInterwiki
= true);
4860 LINE(2820,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::braceSubstitution-modifiers").create()), 0x00000000B599F276LL
));
4861 if (!(toBoolean(v_found
))) {
4862 LINE(2824,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "Parser::braceSubstitution-pfunc").create()), 0x0000000075359BAFLL
));
4863 (v_colonPos
= LINE(2826,x_strpos(toString(v_part1
), ":")));
4864 if (!same(v_colonPos
, false)) {
4865 (v_function
= LINE(2829,x_substr(toString(v_part1
), toInt32(0LL), toInt32(v_colonPos
))));
4866 if (isset(m_mFunctionSynonyms
.rvalAt(1LL, 0x5BCA7C69B794F8CELL
), v_function
)) {
4867 (v_function
= m_mFunctionSynonyms
.rvalAt(1LL, 0x5BCA7C69B794F8CELL
).rvalAt(v_function
));
4870 (v_function
= LINE(2834,v_wgContLang
.o_invoke_few_args("lc", 0x0191205BE4FF8F9CLL
, 1, v_function
)));
4871 if (isset(m_mFunctionSynonyms
.rvalAt(0LL, 0x77CFA1EEF01BCA90LL
), v_function
)) {
4872 (v_function
= m_mFunctionSynonyms
.rvalAt(0LL, 0x77CFA1EEF01BCA90LL
).rvalAt(v_function
));
4875 (v_function
= false);
4878 if (toBoolean(v_function
)) {
4879 df_lambda_9(m_mFunctionHooks
.rvalAt(v_function
), v_callback
, v_flags
);
4880 (v_initialArgs
= Array(ArrayInit(1).setRef(0, ref(this)).create()));
4881 (v_funcArgs
= Array(ArrayInit(1).set(0, LINE(2844,x_trim(toString(x_substr(toString(v_part1
), toInt32(v_colonPos
+ 1LL)))))).create()));
4882 if (toBoolean(bitwise_and(v_flags
, k_SFH_OBJECT_ARGS
))) {
4883 (v_allArgs
= v_initialArgs
);
4884 v_allArgs
.append((v_frame
));
4887 for ((v_i
= 0LL); less(v_i
, LINE(2849,v_args
.o_invoke_few_args("getLength", 0x41EB078EF92C44D4LL
, 0))); v_i
++) {
4888 LOOP_COUNTER_CHECK(67);
4890 v_funcArgs
.append((LINE(2850,v_args
.o_invoke_few_args("item", 0x0A41DBE0830902C6LL
, 1, v_i
))));
4894 v_allArgs
.append((v_funcArgs
));
4899 for ((v_i
= 0LL); less(v_i
, LINE(2855,v_args
.o_invoke_few_args("getLength", 0x41EB078EF92C44D4LL
, 0))); v_i
++) {
4900 LOOP_COUNTER_CHECK(68);
4902 v_funcArgs
.append((LINE(2856,x_trim(toString(v_frame
.o_invoke_few_args("expand", 0x39B7BB05F05A37CDLL
, 1, v_args
.o_invoke_few_args("item", 0x0A41DBE0830902C6LL
, 1, v_i
)))))));
4906 (v_allArgs
= LINE(2858,x_array_merge(2, v_initialArgs
, Array(ArrayInit(1).set(0, v_funcArgs
).create()))));
4908 if (!(LINE(2862,x_is_callable(v_callback
)))) {
4909 LINE(2863,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::braceSubstitution-pfunc").create()), 0x00000000B599F276LL
));
4910 LINE(2864,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::braceSubstitution").create()), 0x00000000B599F276LL
));
4911 throw_exception(LINE(2865,create_object("mwexception", Array(ArrayInit(1).set(0, concat3("Tag hook for ", toString(v_function
), " is not callable\n")).create()))));
4913 (v_result
= LINE(2867,x_call_user_func_array(v_callback
, toArray(v_allArgs
))));
4916 (v_preprocessFlags
= 0LL);
4917 if (LINE(2872,x_is_array(v_result
))) {
4918 if (isset(v_result
, 0LL, 0x77CFA1EEF01BCA90LL
)) {
4919 (v_text
= v_result
.rvalAt(0LL, 0x77CFA1EEF01BCA90LL
));
4920 v_result
.weakRemove(0LL, 0x77CFA1EEF01BCA90LL
);
4922 LINE(2880,extract(variables
, toArray(v_result
)));
4925 (v_text
= v_result
);
4927 if (!(toBoolean(v_noparse
))) {
4928 (v_text
= LINE(2885,t_preprocesstodom(v_text
, v_preprocessFlags
)));
4929 (v_isChildObj
= true);
4933 LINE(2890,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::braceSubstitution-pfunc").create()), 0x00000000B599F276LL
));
4935 if (!(toBoolean(v_found
))) {
4936 (v_ns
= k_NS_TEMPLATE
);
4938 (v_part1
= LINE(2899,t_maybedosubpagelink(v_part1
, ref(v_subpage
))));
4939 if (!same(v_subpage
, "")) {
4940 (v_ns
= LINE(2901,m_mTitle
.o_invoke_few_args("getNamespace", 0x6DC05480D007D522LL
, 0)));
4942 (v_title
= LINE(2903,throw_fatal("unknown class title", ((void*)NULL
))));
4943 if (toBoolean(v_title
)) {
4944 (v_titleText
= LINE(2905,v_title
.o_invoke_few_args("getPrefixedText", 0x33044BA725446A43LL
, 0)));
4945 if (toBoolean(LINE(2907,v_wgContLang
.o_invoke_few_args("hasVariants", 0x5A1FD2E20BD8DBBBLL
, 0))) && equal(v_title
.o_invoke_few_args("getArticleID", 0x094F8EE5A02782D6LL
, 0), 0LL)) {
4946 LINE(2908,v_wgContLang
.o_invoke_few_args("findVariantLink", 0x49C38CD942068A0ELL
, 3, v_part1
, v_title
, true));
4948 (v_limit
= LINE(2911,m_mOptions
.o_invoke_few_args("getMaxTemplateDepth", 0x4C54B0BC426A6EE3LL
, 0)));
4949 if (not_less(v_frame
.o_get("depth", 0x1AE700EECE6274C7LL
), v_limit
)) {
4951 (v_text
= LINE(2914,(assignCallTemp(eo_1
, toString(invoke_failed("wfmsgforcontent", Array(ArrayInit(2).set(0, "parser-template-recursion-depth-warning").set(1, ref(v_limit
)).create()), 0x0000000033607CCALL
))),concat3("<span class=\"error\">", eo_1
, "</span>"))));
4955 if (!(toBoolean(v_found
)) && toBoolean(v_title
)) {
4956 LINE(2921,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "Parser::braceSubstitution-loadtpl").create()), 0x0000000075359BAFLL
));
4957 if (!(toBoolean(LINE(2922,v_title
.o_invoke_few_args("isExternal", 0x16F7C0178CF6E138LL
, 0))))) {
4958 if (equal(LINE(2923,v_title
.o_invoke_few_args("getNamespace", 0x6DC05480D007D522LL
, 0)), k_NS_SPECIAL
) && toBoolean(m_mOptions
.o_invoke_few_args("getAllowSpecialInclusion", 0x6C9C5936F7FFEA1CLL
, 0)) && toBoolean(m_ot
.rvalAt("html", 0x5CA91C812230855DLL
))) {
4959 (v_text
= LINE(2924,throw_fatal("unknown class specialpage", ((void*)NULL
))));
4960 if (LINE(2925,x_is_string(v_text
))) {
4963 LINE(2928,t_disablecache());
4966 else if (toBoolean(v_wgNonincludableNamespaces
) && LINE(2930,(assignCallTemp(eo_0
, v_title
.o_invoke_few_args("getNamespace", 0x6DC05480D007D522LL
, 0)),assignCallTemp(eo_1
, v_wgNonincludableNamespaces
),x_in_array(eo_0
, eo_1
)))) {
4968 LINE(2932,invoke_failed("wfdebug", Array(ArrayInit(1).set(0, concat("Parser::braceSubstitution: template inclusion denied for ", toString(v_title
.o_invoke_few_args("getPrefixedDBkey", 0x3E327BDC66DECDABLL
, 0)))).create()), 0x00000000E441E905LL
));
4971 df_lambda_10(LINE(2934,t_gettemplatedom(v_title
)), v_text
, v_title
);
4972 if (!same(v_text
, false)) {
4974 (v_isChildObj
= true);
4977 if (!(toBoolean(v_found
)) && (toBoolean(m_ot
.rvalAt("html", 0x5CA91C812230855DLL
)) || toBoolean(m_ot
.rvalAt("pre", 0x633242EDD179FBACLL
)))) {
4978 (v_text
= LINE(2943,concat3("[[:", toString(v_titleText
), "]]")));
4982 else if (toBoolean(LINE(2946,v_title
.o_invoke_few_args("isTrans", 0x509FD18EA479DF87LL
, 0)))) {
4983 if (toBoolean(m_ot
.rvalAt("html", 0x5CA91C812230855DLL
)) && !(toBoolean(v_forceRawInterwiki
))) {
4984 (v_text
= LINE(2949,t_interwikitransclude(v_title
, "render")));
4988 (v_text
= LINE(2952,t_interwikitransclude(v_title
, "raw")));
4989 (v_text
= LINE(2954,t_preprocesstodom(v_text
, 1LL /* parser::PTD_FOR_INCLUSION */)));
4990 (v_isChildObj
= true);
4994 if (!(toBoolean(LINE(2962,v_frame
.o_invoke_few_args("loopCheck", 0x7BA9911BE4A4175FLL
, 1, v_title
))))) {
4996 (v_text
= LINE(2964,(assignCallTemp(eo_1
, toString(invoke_failed("wfmsgforcontent", Array(ArrayInit(2).set(0, "parser-template-loop-warning").set(1, ref(v_titleText
)).create()), 0x0000000033607CCALL
))),concat3("<span class=\"error\">", eo_1
, "</span>"))));
4997 LINE(2965,invoke_failed("wfdebug", Array(ArrayInit(1).set(0, concat("Parser::braceSubstitution", concat3(": template loop broken at '", toString(v_titleText
), "'\n"))).create()), 0x00000000E441E905LL
));
4999 LINE(2967,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::braceSubstitution-loadtpl").create()), 0x00000000B599F276LL
));
5001 if (!(toBoolean(v_found
))) {
5002 (v_text
= LINE(2973,v_frame
.o_invoke_few_args("virtualBracketedImplode", 0x409618A98590618BLL
, 5, "{{", "|", "}}", v_titleWithSpaces
, v_args
)));
5003 LINE(2974,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::braceSubstitution").create()), 0x00000000B599F276LL
));
5004 return Array(ArrayInit(1).set(0, "object", v_text
, 0x7F30BC4E222B1861LL
).create());
5006 if (toBoolean(v_isChildObj
)) {
5007 (v_newFrame
= LINE(2981,v_frame
.o_invoke_few_args("newChild", 0x7F4AB942B9CDE1BCLL
, 2, v_args
, v_title
)));
5008 if (toBoolean(v_nowiki
)) {
5009 (v_text
= LINE(2984,v_newFrame
.o_invoke_few_args("expand", 0x39B7BB05F05A37CDLL
, 2, v_text
, 27LL /* ppframe::RECOVER_ORIG */)));
5011 else if (!same(v_titleText
, false) && toBoolean(LINE(2985,v_newFrame
.o_invoke_few_args("isEmpty", 0x6359F42D5FC265E8LL
, 0)))) {
5012 if (isset(m_mTplExpandCache
, v_titleText
)) {
5013 (v_text
= m_mTplExpandCache
.rvalAt(v_titleText
));
5016 (v_text
= LINE(2990,v_newFrame
.o_invoke_few_args("expand", 0x39B7BB05F05A37CDLL
, 1, v_text
)));
5017 m_mTplExpandCache
.set(v_titleText
, (v_text
));
5021 (v_text
= LINE(2995,v_newFrame
.o_invoke_few_args("expand", 0x39B7BB05F05A37CDLL
, 1, v_text
)));
5024 if (toBoolean(v_isLocalObj
) && toBoolean(v_nowiki
)) {
5025 (v_text
= LINE(2999,v_frame
.o_invoke_few_args("expand", 0x39B7BB05F05A37CDLL
, 2, v_text
, 27LL /* ppframe::RECOVER_ORIG */)));
5026 (v_isLocalObj
= false);
5028 if (toBoolean(v_isHTML
)) {
5029 (v_text
= concat("\n\n", toString(LINE(3007,t_insertstripitem(v_text
)))));
5031 else if (toBoolean(v_nowiki
) && (toBoolean(m_ot
.rvalAt("html", 0x5CA91C812230855DLL
)) || toBoolean(m_ot
.rvalAt("pre", 0x633242EDD179FBACLL
)))) {
5032 (v_text
= LINE(3011,invoke_failed("wfescapewikitext", Array(ArrayInit(1).set(0, ref(v_text
)).create()), 0x00000000B3382909LL
)));
5034 else if (LINE(3016,x_is_string(v_text
)) && !(toBoolean(v_piece
.rvalAt("lineStart", 0x0F84CB175598D0A5LL
))) && toBoolean(x_preg_match("/^(\?:{\\||:|;|#|\\*)/", toString(v_text
)))) {
5035 (v_text
= concat("\n", toString(v_text
)));
5037 if (LINE(3020,x_is_string(v_text
)) && !(toBoolean((assignCallTemp(eo_1
, x_strlen(toString(v_text
))),t_incrementincludesize("post-expand", eo_1
))))) {
5038 (v_text
= LINE(3023,(assignCallTemp(eo_1
, toString(v_originalTitle
)),assignCallTemp(eo_3
, toString(t_insertstripitem("<!-- WARNING: template omitted, post-expand include size too large -->"))),concat4("[[", eo_1
, "]]", eo_3
))));
5039 LINE(3024,t_limitationwarn("post-expand-template-inclusion"));
5041 if (toBoolean(v_isLocalObj
)) {
5042 (v_ret
= Array(ArrayInit(1).set(0, "object", v_text
, 0x7F30BC4E222B1861LL
).create()));
5045 (v_ret
= Array(ArrayInit(1).set(0, "text", v_text
, 0x2A28A0084DD3A743LL
).create()));
5047 LINE(3033,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::braceSubstitution").create()), 0x00000000B599F276LL
));
5050 /* SRC: Parser.php line 3041 */
5051 Array
c_parser::t_gettemplatedom(Variant v_title
) {
5052 INSTANCE_METHOD_INJECTION(Parser
, Parser::getTemplateDom
);
5055 Variant v_cacheTitle
;
5056 Variant v_titleText
;
5063 (v_cacheTitle
= v_title
);
5064 (v_titleText
= LINE(3043,v_title
.o_invoke_few_args("getPrefixedDBkey", 0x3E327BDC66DECDABLL
, 0)));
5065 if (isset(m_mTplRedirCache
, v_titleText
)) {
5066 df_lambda_11(m_mTplRedirCache
.rvalAt(v_titleText
), v_ns
, v_dbk
);
5067 (v_title
= LINE(3047,throw_fatal("unknown class title", ((void*)NULL
))));
5068 (v_titleText
= LINE(3048,v_title
.o_invoke_few_args("getPrefixedDBkey", 0x3E327BDC66DECDABLL
, 0)));
5070 if (isset(m_mTplDomCache
, v_titleText
)) {
5071 return Array(ArrayInit(2).set(0, m_mTplDomCache
.rvalAt(v_titleText
)).set(1, v_title
).create());
5073 df_lambda_12(LINE(3055,t_fetchtemplateandtitle(v_title
)), v_text
, v_title
);
5074 if (same(v_text
, false)) {
5075 m_mTplDomCache
.set(v_titleText
, (false));
5076 return Array(ArrayInit(2).set(0, false).set(1, v_title
).create());
5078 (v_dom
= LINE(3062,t_preprocesstodom(v_text
, 1LL /* parser::PTD_FOR_INCLUSION */)));
5079 m_mTplDomCache
.set(v_titleText
, (v_dom
));
5080 if (!(toBoolean(LINE(3065,v_title
.o_invoke_few_args("equals", 0x6E9F97FFEE61A498LL
, 1, v_cacheTitle
))))) {
5081 m_mTplRedirCache
.set(LINE(3066,v_cacheTitle
.o_invoke_few_args("getPrefixedDBkey", 0x3E327BDC66DECDABLL
, 0)), ((assignCallTemp(eo_0
, LINE(3067,v_title
.o_invoke_few_args("getNamespace", 0x6DC05480D007D522LL
, 0))),assignCallTemp(eo_1
, (v_cdb
= v_title
.o_invoke_few_args("getDBkey", 0x7A72F137192AEF00LL
, 0))),Array(ArrayInit(2).set(0, eo_0
).set(1, eo_1
).create()))));
5083 return Array(ArrayInit(2).set(0, v_dom
).set(1, v_title
).create());
5085 /* SRC: Parser.php line 3076 */
5086 Array
c_parser::t_fetchtemplateandtitle(CVarRef v_title
) {
5087 INSTANCE_METHOD_INJECTION(Parser
, Parser::fetchTemplateAndTitle
);
5088 Variant v_templateCb
;
5091 Variant v_finalTitle
;
5094 (v_templateCb
= LINE(3077,m_mOptions
.o_invoke_few_args("getTemplateCallback", 0x4EDD9E12C4CE34F5LL
, 0)));
5095 (v_stuff
= LINE(3078,x_call_user_func(3, v_templateCb
, Array(ArrayInit(2).set(0, v_title
).set(1, ((Object
)(this))).create()))));
5096 (v_text
= v_stuff
.rvalAt("text", 0x2A28A0084DD3A743LL
));
5097 (v_finalTitle
= isset(v_stuff
, "finalTitle", 0x55CA175D2B13753ELL
) ? ((Variant
)(v_stuff
.rvalAt("finalTitle", 0x55CA175D2B13753ELL
))) : ((Variant
)(v_title
)));
5098 if (isset(v_stuff
, "deps", 0x460EC09F3DCB8AC5LL
)) {
5101 Variant map70
= v_stuff
.rvalAt("deps", 0x460EC09F3DCB8AC5LL
);
5102 for (ArrayIterPtr iter71
= map70
.begin("parser"); !iter71
->end(); iter71
->next()) {
5103 LOOP_COUNTER_CHECK(69);
5104 v_dep
= iter71
->second();
5106 LINE(3083,m_mOutput
.o_invoke_few_args("addTemplate", 0x668299C8203F7926LL
, 3, v_dep
.refvalAt("title", 0x66AD900A2301E2FELL
), v_dep
.refvalAt("page_id", 0x1B27A324993FB16CLL
), v_dep
.refvalAt("rev_id", 0x60BB6026437DAFD3LL
)));
5111 return Array(ArrayInit(2).set(0, v_text
).set(1, v_finalTitle
).create());
5113 /* SRC: Parser.php line 3089 */
5114 Variant
c_parser::t_fetchtemplate(CVarRef v_title
) {
5115 INSTANCE_METHOD_INJECTION(Parser
, Parser::fetchTemplate
);
5118 (v_rv
= LINE(3090,t_fetchtemplateandtitle(v_title
)));
5119 return v_rv
.rvalAt(0LL, 0x77CFA1EEF01BCA90LL
);
5121 /* SRC: Parser.php line 3098 */
5122 Array
c_parser::ti_statelessfetchtemplate(const char* cls
, Variant v_title
, CVarRef v_parser
// = false
5124 STATIC_METHOD_INJECTION(Parser
, Parser::statelessFetchTemplate
);
5128 DECLARE_GLOBAL_VARIABLES(g
);
5131 Variant v_finalTitle
;
5137 Variant v_linkCache
;
5138 Variant
&gv_wgContLang
__attribute__((__unused__
)) = g
->GV(wgContLang
);
5139 Variant v_wgContLang
;
5142 (v_text
= (v_skip
= false));
5143 (v_finalTitle
= v_title
);
5144 (v_deps
= ScalarArrays::sa_
[0]);
5147 for ((v_i
= 0LL); less(v_i
, 2LL) && LINE(3104,x_is_object(v_title
)); v_i
++) {
5148 LOOP_COUNTER_CHECK(72);
5151 LINE(3107,invoke_failed("wfrunhooks", Array(ArrayInit(2).set(0, "BeforeParserFetchTemplateAndtitle").set(1, Array(ArrayInit(4).set(0, v_parser
).setRef(1, ref(v_title
)).setRef(2, ref(v_skip
)).setRef(3, ref(v_id
)).create())).create()), 0x00000000787A96B2LL
));
5152 if (toBoolean(v_skip
)) {
5154 v_deps
.append(((assignCallTemp(eo_0
, v_title
),assignCallTemp(eo_1
, LINE(3113,v_title
.o_invoke_few_args("getArticleID", 0x094F8EE5A02782D6LL
, 0))),Array(ArrayInit(3).set(0, "title", eo_0
, 0x66AD900A2301E2FELL
).set(1, "page_id", eo_1
, 0x1B27A324993FB16CLL
).set(2, "rev_id", null
, 0x60BB6026437DAFD3LL
).create()))));
5157 (v_rev
= toBoolean(v_id
) ? ((Variant
)(LINE(3117,throw_fatal("unknown class revision", ((void*)NULL
))))) : ((Variant
)(throw_fatal("unknown class revision", ((void*)NULL
)))));
5158 (v_rev_id
= toBoolean(v_rev
) ? ((Variant
)(LINE(3118,v_rev
.o_invoke_few_args("getId", 0x5ADBB1D3A7BA92B8LL
, 0)))) : ((Variant
)(0LL)));
5159 if (same(v_id
, false) && !(toBoolean(v_rev
))) {
5160 (v_linkCache
= LINE(3121,throw_fatal("unknown class linkcache", ((void*)NULL
))));
5161 LINE(3122,v_linkCache
.o_invoke_few_args("addBadLinkObj", 0x6D7C22FD99A36EDBLL
, 1, v_title
));
5163 v_deps
.append(((assignCallTemp(eo_0
, v_title
),assignCallTemp(eo_1
, LINE(3127,v_title
.o_invoke_few_args("getArticleID", 0x094F8EE5A02782D6LL
, 0))),assignCallTemp(eo_2
, v_rev_id
),Array(ArrayInit(3).set(0, "title", eo_0
, 0x66AD900A2301E2FELL
).set(1, "page_id", eo_1
, 0x1B27A324993FB16CLL
).set(2, "rev_id", eo_2
, 0x60BB6026437DAFD3LL
).create()))));
5164 if (toBoolean(v_rev
)) {
5165 (v_text
= LINE(3131,v_rev
.o_invoke_few_args("getText", 0x434CEBEC8FDBB880LL
, 0)));
5167 else if (equal(LINE(3132,v_title
.o_invoke_few_args("getNamespace", 0x6DC05480D007D522LL
, 0)), k_NS_MEDIAWIKI
)) {
5168 v_wgContLang
= ref(g
->GV(wgContLang
));
5169 (v_message
= LINE(3134,v_wgContLang
.o_invoke_few_args("lcfirst", 0x7448B5BAF0B032B3LL
, 1, v_title
.o_invoke_few_args("getText", 0x434CEBEC8FDBB880LL
, 0))));
5170 (v_text
= LINE(3135,invoke_failed("wfmsgforcontentnotrans", Array(ArrayInit(1).set(0, ref(v_message
)).create()), 0x00000000EBECF191LL
)));
5171 if (toBoolean(LINE(3136,invoke_failed("wfemptymsg", Array(ArrayInit(2).set(0, ref(v_message
)).set(1, ref(v_text
)).create()), 0x00000000ACF08022LL
)))) {
5179 if (same(v_text
, false)) {
5182 (v_finalTitle
= v_title
);
5183 (v_title
= LINE(3148,throw_fatal("unknown class title", ((void*)NULL
))));
5187 return Array(ArrayInit(3).set(0, "text", v_text
, 0x2A28A0084DD3A743LL
).set(1, "finalTitle", v_finalTitle
, 0x55CA175D2B13753ELL
).set(2, "deps", v_deps
, 0x460EC09F3DCB8AC5LL
).create());
5189 /* SRC: Parser.php line 3159 */
5190 Variant
c_parser::t_interwikitransclude(CVarRef v_title
, CStrRef v_action
) {
5191 INSTANCE_METHOD_INJECTION(Parser
, Parser::interwikiTransclude
);
5192 DECLARE_GLOBAL_VARIABLES(g
);
5193 Variant
&gv_wgEnableScaryTranscluding
__attribute__((__unused__
)) = g
->GV(wgEnableScaryTranscluding
);
5196 if (!(toBoolean(gv_wgEnableScaryTranscluding
))) return LINE(3163,invoke_failed("wfmsg", Array(ArrayInit(1).set(0, "scarytranscludedisabled").create()), 0x0000000002E29FB3LL
));
5197 (v_url
= LINE(3165,toObject(v_title
)->o_invoke_few_args("getFullUrl", 0x4D03E4B69713A33BLL
, 1, toString("action=") + v_action
)));
5198 if (more(LINE(3167,x_strlen(toString(v_url
))), 255LL)) return LINE(3168,invoke_failed("wfmsg", Array(ArrayInit(1).set(0, "scarytranscludetoolong").create()), 0x0000000002E29FB3LL
));
5199 return LINE(3169,t_fetchscarytemplatemaybefromcache(v_url
));
5201 /* SRC: Parser.php line 3172 */
5202 Variant
c_parser::t_fetchscarytemplatemaybefromcache(Variant v_url
) {
5203 INSTANCE_METHOD_INJECTION(Parser
, Parser::fetchScaryTemplateMaybeFromCache
);
5209 DECLARE_GLOBAL_VARIABLES(g
);
5210 Variant
&gv_wgTranscludeCacheExpiry
__attribute__((__unused__
)) = g
->GV(wgTranscludeCacheExpiry
);
5217 (v_dbr
= LINE(3174,invoke_failed("wfgetdb", Array(ArrayInit(1).set(0, k_DB_SLAVE
).create()), 0x000000002DA3FF23LL
)));
5218 (v_tsCond
= LINE(3175,v_dbr
.o_invoke_few_args("timestamp", 0x04F76359D187BC06LL
, 1, x_time() - gv_wgTranscludeCacheExpiry
)));
5219 (v_obj
= (assignCallTemp(eo_0
, toObject(v_dbr
)),LINE(3177,eo_0
.o_invoke_few_args("selectRow", 0x7AA6FDEB2182F653LL
, 3, "transcache", Array(ArrayInit(2).set(0, "tc_time").set(1, "tc_contents").create()), (assignCallTemp(eo_1
, v_url
),assignCallTemp(eo_2
, concat("tc_time >= ", toString(v_dbr
.o_invoke_few_args("addQuotes", 0x3D76A2E50E13EE4CLL
, 1, v_tsCond
)))),Array(ArrayInit(2).set(0, "tc_url", eo_1
, 0x6AAC1850B24C76E9LL
).set(1, eo_2
).create()))))));
5220 if (toBoolean(v_obj
)) {
5221 return v_obj
.o_get("tc_contents", 0x0B5478C26AE4342DLL
);
5223 (v_text
= LINE(3182,throw_fatal("unknown class http", ((void*)NULL
))));
5224 if (!(toBoolean(v_text
))) return LINE(3184,invoke_failed("wfmsg", Array(ArrayInit(2).set(0, "scarytranscludefailed").set(1, ref(v_url
)).create()), 0x0000000002E29FB3LL
));
5225 (v_dbw
= LINE(3186,invoke_failed("wfgetdb", Array(ArrayInit(1).set(0, k_DB_MASTER
).create()), 0x000000002DA3FF23LL
)));
5226 (assignCallTemp(eo_1
, toObject(v_dbw
)),LINE(3190,eo_1
.o_invoke_few_args("replace", 0x42FAC655280A6146LL
, 3, "transcache", Array(ArrayInit(1).set(0, "tc_url").create()), (assignCallTemp(eo_2
, v_url
),assignCallTemp(eo_3
, LINE(3189,v_dbw
.o_invoke_few_args("timestamp", 0x04F76359D187BC06LL
, 1, x_time()))),assignCallTemp(eo_4
, v_text
),Array(ArrayInit(3).set(0, "tc_url", eo_2
, 0x6AAC1850B24C76E9LL
).set(1, "tc_time", eo_3
, 0x0D1D3E8C72685FEALL
).set(2, "tc_contents", eo_4
, 0x0B5478C26AE4342DLL
).create())))));
5229 /* SRC: Parser.php line 3199 */
5230 Array
c_parser::t_argsubstitution(Variant v_piece
, CVarRef v_frame
) {
5231 INSTANCE_METHOD_INJECTION(Parser
, Parser::argSubstitution
);
5237 Variant v_nameWithSpaces
;
5243 LINE(3200,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "Parser::argSubstitution").create()), 0x0000000075359BAFLL
));
5245 (v_parts
= v_piece
.rvalAt("parts", 0x2708FDA74562AD8DLL
));
5246 (v_nameWithSpaces
= LINE(3204,toObject(v_frame
)->o_invoke_few_args("expand", 0x39B7BB05F05A37CDLL
, 1, v_piece
.refvalAt("title", 0x66AD900A2301E2FELL
))));
5247 (v_argName
= LINE(3205,x_trim(toString(v_nameWithSpaces
))));
5249 (v_text
= LINE(3207,toObject(v_frame
)->o_invoke_few_args("getArgument", 0x0A95A4780D41F7B8LL
, 1, v_argName
)));
5250 if (same(v_text
, false) && more(LINE(3208,v_parts
.o_invoke_few_args("getLength", 0x41EB078EF92C44D4LL
, 0)), 0LL) && (toBoolean(m_ot
.rvalAt("html", 0x5CA91C812230855DLL
)) || toBoolean(m_ot
.rvalAt("pre", 0x633242EDD179FBACLL
)) || (toBoolean(m_ot
.rvalAt("wiki", 0x24648D2BCD794D21LL
)) && toBoolean(LINE(3212,toObject(v_frame
)->o_invoke_few_args("isTemplate", 0x7CBE9654ADB6CFB9LL
, 0)))))) {
5251 (v_object
= (assignCallTemp(eo_0
, toObject(LINE(3216,v_parts
.o_invoke_few_args("item", 0x0A41DBE0830902C6LL
, 1, 0LL)))),eo_0
.o_invoke_few_args("getChildren", 0x732EC1BDA8EC520FLL
, 0)));
5253 if (!(toBoolean((assignCallTemp(eo_2
, LINE(3218,x_strlen(toString(v_text
)))),t_incrementincludesize("arg", eo_2
))))) {
5254 (v_error
= "<!-- WARNING: argument omitted, expansion size too large -->");
5255 LINE(3220,t_limitationwarn("post-expand-template-argument"));
5257 if (same(v_text
, false) && same(v_object
, false)) {
5258 (v_object
= LINE(3225,toObject(v_frame
)->o_invoke_few_args("virtualBracketedImplode", 0x409618A98590618BLL
, 5, "{{{", "|", "}}}", v_nameWithSpaces
, v_parts
)));
5260 if (!same(v_error
, false)) {
5261 concat_assign(v_text
, toString(v_error
));
5263 if (!same(v_object
, false)) {
5264 (v_ret
= Array(ArrayInit(1).set(0, "object", v_object
, 0x7F30BC4E222B1861LL
).create()));
5267 (v_ret
= Array(ArrayInit(1).set(0, "text", v_text
, 0x2A28A0084DD3A743LL
).create()));
5269 LINE(3236,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::argSubstitution").create()), 0x00000000B599F276LL
));
5272 /* SRC: Parser.php line 3252 */
5273 Variant
c_parser::t_extensionsubstitution(Variant v_params
, CVarRef v_frame
) {
5274 INSTANCE_METHOD_INJECTION(Parser
, Parser::extensionSubstitution
);
5283 DECLARE_GLOBAL_VARIABLES(g
);
5284 Variant
&gv_wgRawHtml
__attribute__((__unused__
)) = g
->GV(wgRawHtml
);
5285 Variant
&gv_wgContLang
__attribute__((__unused__
)) = g
->GV(wgContLang
);
5290 bool v_isFunctionTag
= false;
5291 Variant v_attributes
;
5295 Primitive v_attrName
= 0;
5296 Variant v_attrValue
;
5301 (v_name
= LINE(3255,toObject(v_frame
)->o_invoke_few_args("expand", 0x39B7BB05F05A37CDLL
, 1, v_params
.refvalAt("name", 0x0BCDB293DC3CBDDCLL
))));
5302 (v_attrText
= !(isset(v_params
, "attr", 0x64311A2C8443755DLL
)) ? ((Variant
)(null
)) : ((Variant
)(LINE(3256,toObject(v_frame
)->o_invoke_few_args("expand", 0x39B7BB05F05A37CDLL
, 1, v_params
.refvalAt("attr", 0x64311A2C8443755DLL
))))));
5303 (v_content
= !(isset(v_params
, "inner", 0x4F20D07BB803C1FELL
)) ? ((Variant
)(null
)) : ((Variant
)(LINE(3257,toObject(v_frame
)->o_invoke_few_args("expand", 0x39B7BB05F05A37CDLL
, 1, v_params
.refvalAt("inner", 0x4F20D07BB803C1FELL
))))));
5304 (v_marker
= LINE(3259,(assignCallTemp(eo_0
, toString(o_get("mUniqPrefix", 0x22D00FA247E8311DLL
))),assignCallTemp(eo_2
, toString(v_name
)),assignCallTemp(eo_4
, (assignCallTemp(eo_7
, m_mMarkerIndex
++),x_sprintf(2, "%08X", Array(ArrayInit(1).set(0, eo_7
).create())))),concat6(eo_0
, "-", eo_2
, "-", eo_4
, "-QINU\177" /* parser::MARKER_SUFFIX */))));
5305 (v_isFunctionTag
= isset(m_mFunctionTagHooks
, LINE(3261,x_strtolower(toString(v_name
)))) && (toBoolean(m_ot
.rvalAt("html", 0x5CA91C812230855DLL
)) || toBoolean(m_ot
.rvalAt("pre", 0x633242EDD179FBACLL
))));
5306 if (toBoolean(m_ot
.rvalAt("html", 0x5CA91C812230855DLL
)) || v_isFunctionTag
) {
5307 (v_name
= LINE(3264,x_strtolower(toString(v_name
))));
5308 (v_attributes
= LINE(3265,throw_fatal("unknown class sanitizer", ((void*)NULL
))));
5309 if (isset(v_params
, "attributes", 0x3E5975BA0FC37E03LL
)) {
5310 (v_attributes
= v_attributes
+ v_params
.rvalAt("attributes", 0x3E5975BA0FC37E03LL
));
5313 Variant tmp74
= (v_name
);
5315 if (equal(tmp74
, ("html"))) {
5317 } else if (equal(tmp74
, ("nowiki"))) {
5319 } else if (equal(tmp74
, ("gallery"))) {
5321 } else if (equal(tmp74
, ("a"))) {
5323 } else if (equal(tmp74
, ("math"))) {
5331 if (toBoolean(gv_wgRawHtml
)) {
5332 (v_output
= v_content
);
5336 throw_exception(LINE(3275,create_object("mwexception", Array(ArrayInit(1).set(0, "<html> extension tag encountered unexpectedly").create()))));
5341 (v_content
= LINE(3278,x_strtr(toString(v_content
), ScalarArrays::sa_
[23])));
5342 (v_output
= LINE(3279,throw_fatal("unknown class xml", ((void*)NULL
))));
5347 (v_output
= LINE(3282,t_renderimagegallery(v_content
, v_attributes
)));
5352 (v_output
= LINE(3285,t_renderhyperlink(v_content
, v_attributes
, v_frame
)));
5357 if (toBoolean(LINE(3288,m_mOptions
.o_invoke_few_args("getUseTeX", 0x2C2CE4CD607BE9D3LL
, 0)))) {
5358 (v_output
= (assignCallTemp(eo_0
, toObject(gv_wgContLang
)),LINE(3290,eo_0
.o_invoke_few_args("armourMath", 0x56A51C7B197A1253LL
, 1, throw_fatal("unknown class mathrenderer", ((void*)NULL
))))));
5364 if (isset(m_mTagHooks
, v_name
)) {
5365 if (!(LINE(3297,x_is_callable(m_mTagHooks
.rvalAt(v_name
))))) {
5366 throw_exception(LINE(3298,create_object("mwexception", Array(ArrayInit(1).set(0, concat3("Tag hook for ", toString(v_name
), " is not callable\n")).create()))));
5368 (v_output
= LINE(3301,x_call_user_func_array(m_mTagHooks
.rvalAt(v_name
), Array(ArrayInit(4).set(0, v_content
).set(1, v_attributes
).set(2, ((Object
)(this))).set(3, v_frame
).create()))));
5370 else if (isset(m_mFunctionTagHooks
, v_name
)) {
5371 df_lambda_13(m_mFunctionTagHooks
.rvalAt(v_name
), v_callback
, v_flags
);
5372 if (!(LINE(3304,x_is_callable(v_callback
)))) throw_exception(LINE(3305,create_object("mwexception", Array(ArrayInit(1).set(0, concat3("Tag hook for ", toString(v_name
), " is not callable\n")).create()))));
5373 (v_output
= LINE(3308,x_call_user_func_array(v_callback
, Array(ArrayInit(4).setRef(0, ref(this)).set(1, v_frame
).set(2, v_content
).set(3, v_attributes
).create()))));
5376 (v_output
= LINE(3311,(assignCallTemp(eo_2
, x_htmlspecialchars(toString(v_name
))),concat3("<span class=\"error\">Invalid tag extension name: ", eo_2
, "</span>"))));
5384 if (LINE(3315,x_is_null(v_attrText
))) {
5387 if (isset(v_params
, "attributes", 0x3E5975BA0FC37E03LL
)) {
5390 Variant map77
= v_params
.rvalAt("attributes", 0x3E5975BA0FC37E03LL
);
5391 for (ArrayIterPtr iter78
= map77
.begin("parser"); !iter78
->end(); iter78
->next()) {
5392 LOOP_COUNTER_CHECK(76);
5393 v_attrValue
= iter78
->second();
5394 v_attrName
= iter78
->first();
5396 concat_assign(v_attrText
, concat(concat_rev(LINE(3321,x_htmlspecialchars(toString(v_attrValue
))), LINE(3320,(assignCallTemp(eo_2
, x_htmlspecialchars(toString(v_attrName
))),concat3(" ", eo_2
, "=\"")))), "\""));
5401 if (same(v_content
, null
)) {
5402 (v_output
= LINE(3325,concat4("<", toString(v_name
), toString(v_attrText
), "/>")));
5405 (v_close
= LINE(3327,x_is_null(v_params
.rvalAt("close", 0x36B43082F052EC6BLL
))) ? ((Variant
)("")) : ((Variant
)(toObject(v_frame
)->o_invoke_few_args("expand", 0x39B7BB05F05A37CDLL
, 1, v_params
.refvalAt("close", 0x36B43082F052EC6BLL
)))));
5406 (v_output
= LINE(3328,concat6("<", toString(v_name
), toString(v_attrText
), ">", toString(v_content
), toString(v_close
))));
5409 if (v_isFunctionTag
) {
5412 else if (same(v_name
, "html") || same(v_name
, "nowiki")) {
5413 LINE(3335,m_mStripState
.o_get("nowiki", 0x78258C7EF69CF55DLL
).o_invoke_few_args("setPair", 0x1CA93325C3BDD490LL
, 2, v_marker
, v_output
));
5416 LINE(3337,m_mStripState
.o_get("general", 0x661B15A9C00F7127LL
).o_invoke_few_args("setPair", 0x1CA93325C3BDD490LL
, 2, v_marker
, v_output
));
5420 /* SRC: Parser.php line 3349 */
5421 Variant
c_parser::t_incrementincludesize(Variant v_type
, int v_size
) {
5422 INSTANCE_METHOD_INJECTION(Parser
, Parser::incrementIncludeSize
);
5423 if (more(m_mIncludeSizes
.rvalAt(v_type
) + v_size
, LINE(3350,m_mOptions
.o_invoke_few_args("getMaxIncludeSize", 0x5356D47AAA28FDF5LL
, 1, v_type
)))) {
5427 lval(m_mIncludeSizes
.lvalAt(v_type
)) += v_size
;
5432 /* SRC: Parser.php line 3363 */
5433 bool c_parser::t_incrementexpensivefunctioncount() {
5434 INSTANCE_METHOD_INJECTION(Parser
, Parser::incrementExpensiveFunctionCount
);
5435 DECLARE_GLOBAL_VARIABLES(g
);
5436 Variant
&gv_wgExpensiveParserFunctionLimit
__attribute__((__unused__
)) = g
->GV(wgExpensiveParserFunctionLimit
);
5437 m_mExpensiveFunctionCount
++;
5438 if (not_more(m_mExpensiveFunctionCount
, gv_wgExpensiveParserFunctionLimit
)) {
5443 /* SRC: Parser.php line 3376 */
5444 Variant
c_parser::t_dodoubleunderscore(Variant v_text
) {
5445 INSTANCE_METHOD_INJECTION(Parser
, Parser::doDoubleUnderscore
);
5449 LINE(3377,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "Parser::doDoubleUnderscore").create()), 0x0000000075359BAFLL
));
5450 (v_mw
= LINE(3379,throw_fatal("unknown class magicword", ((void*)NULL
))));
5451 if (toBoolean(LINE(3380,v_mw
.o_invoke_few_args("match", 0x2B8782BF7206E093LL
, 1, v_text
)))) {
5452 (o_lval("mShowToc", 0x673E52F417D0192CLL
) = true);
5453 (o_lval("mForceTocPosition", 0x00520DD93AF13A69LL
) = true);
5454 (v_text
= LINE(3385,v_mw
.o_invoke_few_args("replace", 0x42FAC655280A6146LL
, 3, "<!--MWTOC-->", v_text
, 1LL)));
5455 (v_text
= LINE(3388,v_mw
.o_invoke_few_args("replace", 0x42FAC655280A6146LL
, 2, "", v_text
)));
5457 (v_mwa
= LINE(3392,throw_fatal("unknown class magicword", ((void*)NULL
))));
5458 (m_mDoubleUnderscores
= LINE(3393,v_mwa
.o_invoke_few_args("matchAndRemove", 0x5D764C79A01CBB8ALL
, 1, v_text
)));
5459 if (isset(m_mDoubleUnderscores
, "nogallery", 0x6F33D1D1CA81CAF8LL
)) {
5460 (m_mOutput
.o_lval("mNoGallery", 0x1A3DE12EE5312AF7LL
) = true);
5462 if (isset(m_mDoubleUnderscores
, "notoc", 0x5A0DBCCD1B31033ELL
) && !(toBoolean(o_get("mForceTocPosition", 0x00520DD93AF13A69LL
)))) {
5463 (o_lval("mShowToc", 0x673E52F417D0192CLL
) = false);
5465 if (isset(m_mDoubleUnderscores
, "hiddencat", 0x2C5B4188322C4B9DLL
) && equal(LINE(3401,m_mTitle
.o_invoke_few_args("getNamespace", 0x6DC05480D007D522LL
, 0)), k_NS_CATEGORY
)) {
5466 LINE(3402,m_mOutput
.o_invoke_few_args("setProperty", 0x71FC9AA7F05A6BD3LL
, 2, "hiddencat", "y"));
5467 LINE(3403,t_addtrackingcategory("hidden-category-category"));
5469 if (isset(m_mDoubleUnderscores
, "noindex", 0x79A36E5D0F4C89CDLL
) && toBoolean(LINE(3409,m_mTitle
.o_invoke_few_args("canUseNoindex", 0x424D16BD430D23E2LL
, 0)))) {
5470 LINE(3410,m_mOutput
.o_invoke_few_args("setIndexPolicy", 0x78B79F97AFD45D1BLL
, 1, "noindex"));
5471 LINE(3411,t_addtrackingcategory("noindex-category"));
5473 if (isset(m_mDoubleUnderscores
, "index", 0x440D5888C0FF3081LL
) && toBoolean(LINE(3413,m_mTitle
.o_invoke_few_args("canUseNoindex", 0x424D16BD430D23E2LL
, 0)))) {
5474 LINE(3414,m_mOutput
.o_invoke_few_args("setIndexPolicy", 0x78B79F97AFD45D1BLL
, 1, "index"));
5475 LINE(3415,t_addtrackingcategory("index-category"));
5477 LINE(3417,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::doDoubleUnderscore").create()), 0x00000000B599F276LL
));
5480 /* SRC: Parser.php line 3427 */
5481 Variant
c_parser::t_addtrackingcategory(Variant v_msg
) {
5482 INSTANCE_METHOD_INJECTION(Parser
, Parser::addTrackingCategory
);
5486 Variant v_containerCategory
;
5488 (v_cat
= LINE(3428,invoke_failed("wfmsgforcontent", Array(ArrayInit(1).set(0, ref(v_msg
)).create()), 0x0000000033607CCALL
)));
5489 if (same(v_cat
, "-")) return false;
5490 (v_containerCategory
= LINE(3433,throw_fatal("unknown class title", ((void*)NULL
))));
5491 if (toBoolean(v_containerCategory
)) {
5492 (assignCallTemp(eo_0
, ref(LINE(3435,v_containerCategory
.o_invoke_few_args("getDBkey", 0x7A72F137192AEF00LL
, 0)))),assignCallTemp(eo_1
, ref(t_getdefaultsort())),m_mOutput
.o_invoke("addCategory", Array(ArrayInit(2).set(0, eo_0
).set(1, eo_1
).create()), 0x6DBAA9816B039793LL
));
5496 LINE(3438,invoke_failed("wfdebug", Array(ArrayInit(1).set(0, concat("Parser::addTrackingCategory", concat3(": [[MediaWiki:", toString(v_msg
), "]] is not a valid title!\n"))).create()), 0x00000000E441E905LL
));
5501 /* SRC: Parser.php line 3458 */
5502 Variant
c_parser::t_formatheadings(CVarRef v_text
, CVarRef v_origText
, bool v_isMain
// = true
5504 INSTANCE_METHOD_INJECTION(Parser
, Parser::formatHeadings
);
5510 DECLARE_GLOBAL_VARIABLES(g
);
5511 Variant
&gv_wgMaxTocLevel
__attribute__((__unused__
)) = g
->GV(wgMaxTocLevel
);
5512 Variant
&gv_wgContLang
__attribute__((__unused__
)) = g
->GV(wgContLang
);
5513 Variant
&gv_wgEnforceHtmlIds
__attribute__((__unused__
)) = g
->GV(wgEnforceHtmlIds
);
5514 Variant v_doNumberHeadings
;
5515 Variant v_showEditLink
;
5517 Variant v_numMatches
;
5518 bool v_enoughToc
= false;
5520 int64 v_headlineCount
= 0;
5521 int64 v_numVisible
= 0;
5525 Variant v_sublevelCount
;
5526 Variant v_levelCount
;
5529 Variant v_prevlevel
;
5530 Variant v_prevtoclevel
;
5531 String v_markerRegex
;
5532 Variant v_baseTitleText
;
5537 Variant v_byteOffset
;
5540 bool v_isTemplate
= false;
5541 Variant v_titleText
;
5542 Variant v_sectionIndex
;
5543 Variant v_numbering
;
5544 Variant v_markerMatches
;
5548 Variant v_safeHeadline
;
5550 Variant v_headlineHint
;
5551 Variant v_legacyHeadline
;
5553 Variant v_legacyArrayKey
;
5556 Variant v_legacyAnchor
;
5564 (v_doNumberHeadings
= LINE(3461,m_mOptions
.o_invoke_few_args("getNumberHeadings", 0x24F0B1CAFFCAC26ELL
, 0)));
5565 (v_showEditLink
= LINE(3462,m_mOptions
.o_invoke_few_args("getEditSection", 0x5F1B74D4BEBB6CD5LL
, 0)));
5566 if (toBoolean(v_showEditLink
) && !(toBoolean(LINE(3465,m_mTitle
.o_invoke_few_args("quickUserCan", 0x643A7B8592BE5D21LL
, 1, "edit"))))) {
5567 (v_showEditLink
= 0LL);
5569 if (isset(m_mDoubleUnderscores
, "noeditsection", 0x1801E39E12ED2434LL
) || toBoolean(LINE(3470,m_mOptions
.o_invoke_few_args("getIsPrintable", 0x6256ABE618956C3DLL
, 0)))) {
5570 (v_showEditLink
= 0LL);
5572 (v_matches
= ScalarArrays::sa_
[0]);
5573 (v_numMatches
= LINE(3477,x_preg_match_all("/<H(\?P<level>[1-6])(\?P<attrib>.*\?>)(\?P<header>.*\?)<\\/H[1-6] *>/i", toString(v_text
), ref(v_matches
))));
5574 (v_enoughToc
= toBoolean(o_get("mShowToc", 0x673E52F417D0192CLL
)) && ((not_less(v_numMatches
, 4LL)) || toBoolean(o_get("mForceTocPosition", 0x00520DD93AF13A69LL
))));
5575 if (isset(m_mDoubleUnderscores
, "newsectionlink", 0x101E6B0BB687547ELL
)) {
5576 LINE(3487,m_mOutput
.o_invoke_few_args("setNewSection", 0x7AAA4B3474D6F233LL
, 1, true));
5578 if (isset(m_mDoubleUnderscores
, "nonewsectionlink", 0x200499187756CDE0LL
)) {
5579 LINE(3493,m_mOutput
.o_invoke_few_args("hideNewSection", 0x3F7198F790CA3D5CLL
, 1, true));
5581 if (isset(m_mDoubleUnderscores
, "forcetoc", 0x51B4F107BB3551E3LL
)) {
5582 (o_lval("mShowToc", 0x673E52F417D0192CLL
) = true);
5583 (v_enoughToc
= true);
5585 (v_sk
= LINE(3504,m_mOptions
.o_invoke_few_args("getSkin", 0x6C79601E06BA735FLL
, 0)));
5586 (v_headlineCount
= 0LL);
5587 (v_numVisible
= 0LL);
5590 (v_head
= ScalarArrays::sa_
[0]);
5591 (v_sublevelCount
= ScalarArrays::sa_
[0]);
5592 (v_levelCount
= ScalarArrays::sa_
[0]);
5595 (v_prevlevel
= 0LL);
5597 (v_prevtoclevel
= 0LL);
5598 (v_markerRegex
= concat(toString(o_get("mUniqPrefix", 0x22D00FA247E8311DLL
)) + toString("-h-(\\d+)-"), "-QINU\177" /* parser::MARKER_SUFFIX */));
5599 (v_baseTitleText
= LINE(3523,m_mTitle
.o_invoke_few_args("getPrefixedDBkey", 0x3E327BDC66DECDABLL
, 0)));
5600 (v_oldType
= m_mOutputType
);
5601 LINE(3525,t_setoutputtype(2LL /* parser::OT_WIKI */));
5602 (v_frame
= (assignCallTemp(eo_0
, toObject(LINE(3526,t_getpreprocessor()))),eo_0
.o_invoke_few_args("newFrame", 0x787B6141D7721675LL
, 0)));
5603 (v_root
= LINE(3527,t_preprocesstodom(v_origText
)));
5604 (v_node
= LINE(3528,v_root
.o_invoke_few_args("getFirstChild", 0x050681239965E069LL
, 0)));
5605 (v_byteOffset
= 0LL);
5606 (v_tocraw
= ScalarArrays::sa_
[0]);
5609 Variant map80
= v_matches
.rvalAt(3LL, 0x135FDDF6A6BFBBDDLL
);
5610 for (ArrayIterPtr iter81
= map80
.begin("parser"); !iter81
->end(); iter81
->next()) {
5611 LOOP_COUNTER_CHECK(79);
5612 v_headline
= iter81
->second();
5614 (v_isTemplate
= false);
5615 (v_titleText
= false);
5616 (v_sectionIndex
= false);
5618 (v_markerMatches
= ScalarArrays::sa_
[0]);
5619 if (toBoolean(LINE(3538,(assignCallTemp(eo_1
, concat3("/^", v_markerRegex
, "/")),assignCallTemp(eo_2
, toString(v_headline
)),assignCallTemp(eo_3
, ref(v_markerMatches
)),x_preg_match(eo_1
, eo_2
, eo_3
))))) {
5620 (v_serial
= v_markerMatches
.rvalAt(1LL, 0x5BCA7C69B794F8CELL
));
5621 df_lambda_14(m_mHeadings
.rvalAt(v_serial
), v_titleText
, v_sectionIndex
);
5622 (v_isTemplate
= (!equal(v_titleText
, v_baseTitleText
)));
5623 (v_headline
= LINE(3542,(assignCallTemp(eo_1
, concat3("/^", v_markerRegex
, "/")),assignCallTemp(eo_3
, v_headline
),x_preg_replace(eo_1
, "", eo_3
))));
5625 if (toBoolean(v_toclevel
)) {
5626 (v_prevlevel
= v_level
);
5627 (v_prevtoclevel
= v_toclevel
);
5629 (v_level
= v_matches
.rvalAt(1LL, 0x5BCA7C69B794F8CELL
).rvalAt(v_headlineCount
));
5630 if (more(v_level
, v_prevlevel
)) {
5632 v_sublevelCount
.set(v_toclevel
, (0LL));
5633 if (less(v_toclevel
, gv_wgMaxTocLevel
)) {
5634 (v_prevtoclevel
= v_toclevel
);
5635 concat_assign(v_toc
, toString(LINE(3557,v_sk
.o_invoke_few_args("tocIndent", 0x2FA99265082DB35BLL
, 0))));
5639 else if (less(v_level
, v_prevlevel
) && more(v_toclevel
, 1LL)) {
5642 for ((v_i
= v_toclevel
); more(v_i
, 0LL); v_i
--) {
5643 LOOP_COUNTER_CHECK(82);
5645 if (equal(v_levelCount
.rvalAt(v_i
), v_level
)) {
5649 else if (less(v_levelCount
.rvalAt(v_i
), v_level
)) {
5650 (v_toclevel
= v_i
+ 1LL);
5656 if (equal(v_i
, 0LL)) (v_toclevel
= 1LL);
5657 if (less(v_toclevel
, gv_wgMaxTocLevel
)) {
5658 if (less(v_prevtoclevel
, gv_wgMaxTocLevel
)) {
5659 concat_assign(v_toc
, toString(LINE(3580,v_sk
.o_invoke_few_args("tocUnindent", 0x093C3E54C9882291LL
, 1, v_prevtoclevel
- v_toclevel
))));
5660 (v_prevtoclevel
= v_toclevel
);
5663 concat_assign(v_toc
, toString(LINE(3583,v_sk
.o_invoke_few_args("tocLineEnd", 0x797D6BBFCB435B39LL
, 0))));
5668 if (less(v_toclevel
, gv_wgMaxTocLevel
)) {
5669 concat_assign(v_toc
, toString(LINE(3590,v_sk
.o_invoke_few_args("tocLineEnd", 0x797D6BBFCB435B39LL
, 0))));
5672 v_levelCount
.set(v_toclevel
, (v_level
));
5673 (silenceInc(), silenceDec(lval(v_sublevelCount
.lvalAt(v_toclevel
))++));
5677 for ((v_i
= 1LL); not_more(v_i
, v_toclevel
); v_i
++) {
5678 LOOP_COUNTER_CHECK(83);
5680 if (!(empty(v_sublevelCount
, v_i
))) {
5681 if (toBoolean(v_dot
)) {
5682 concat_assign(v_numbering
, ".");
5684 concat_assign(v_numbering
, toString(LINE(3604,gv_wgContLang
.o_invoke_few_args("formatNum", 0x0FEB8F5DDB8EBB5ALL
, 1, v_sublevelCount
.refvalAt(v_i
)))));
5690 (v_safeHeadline
= LINE(3611,m_mStripState
.o_invoke_few_args("unstripBoth", 0x540C7C6FAA3D937BLL
, 1, v_headline
)));
5691 (v_safeHeadline
= LINE(3617,t_replacelinkholderstext(v_safeHeadline
)));
5692 (v_tocline
= LINE(3624,x_preg_replace(ScalarArrays::sa_
[24], ScalarArrays::sa_
[25], v_safeHeadline
)));
5693 (v_tocline
= LINE(3625,x_trim(toString(v_tocline
))));
5694 (v_safeHeadline
= LINE(3628,x_preg_replace("/<.*\?>/", "", v_safeHeadline
)));
5695 (v_safeHeadline
= LINE(3629,x_preg_replace("/[ _]+/", " ", v_safeHeadline
)));
5696 (v_safeHeadline
= LINE(3630,x_trim(toString(v_safeHeadline
))));
5697 (v_headlineHint
= v_safeHeadline
);
5698 if (toBoolean(gv_wgEnforceHtmlIds
)) {
5699 (v_legacyHeadline
= false);
5700 (v_safeHeadline
= LINE(3638,throw_fatal("unknown class sanitizer", ((void*)NULL
))));
5703 (v_legacyHeadline
= LINE(3651,throw_fatal("unknown class sanitizer", ((void*)NULL
))));
5704 (v_safeHeadline
= LINE(3652,throw_fatal("unknown class sanitizer", ((void*)NULL
))));
5705 if (equal(v_legacyHeadline
, v_safeHeadline
)) {
5706 (v_legacyHeadline
= false);
5708 else if (!equal(v_legacyHeadline
, LINE(3658,throw_fatal("unknown class sanitizer", ((void*)NULL
))))) {
5709 (v_legacyHeadline
= false);
5712 (v_arrayKey
= LINE(3670,x_strtolower(toString(v_safeHeadline
))));
5713 if (same(v_legacyHeadline
, false)) {
5714 (v_legacyArrayKey
= false);
5717 (v_legacyArrayKey
= LINE(3674,x_strtolower(toString(v_legacyHeadline
))));
5719 if (isset(v_refers
, v_arrayKey
)) {
5720 lval(v_refers
.lvalAt(v_arrayKey
))++;
5723 v_refers
.set(v_arrayKey
, (1LL));
5725 if (isset(v_refers
, v_legacyArrayKey
)) {
5726 lval(v_refers
.lvalAt(v_legacyArrayKey
))++;
5729 v_refers
.set(v_legacyArrayKey
, (1LL));
5731 if (toBoolean(v_doNumberHeadings
) && more(LINE(3690,x_count(v_matches
.rvalAt(3LL, 0x135FDDF6A6BFBBDDLL
))), 1LL)) {
5732 (v_headline
= LINE(3692,concat3(toString(v_numbering
), " ", toString(v_headline
))));
5734 (v_anchor
= v_safeHeadline
);
5735 (v_legacyAnchor
= v_legacyHeadline
);
5736 if (more(v_refers
.rvalAt(v_arrayKey
), 1LL)) {
5737 concat_assign(v_anchor
, concat("_", toString(v_refers
.rvalAt(v_arrayKey
))));
5739 if (!same(v_legacyHeadline
, false) && more(v_refers
.rvalAt(v_legacyArrayKey
), 1LL)) {
5740 concat_assign(v_legacyAnchor
, concat("_", toString(v_refers
.rvalAt(v_legacyArrayKey
))));
5742 if (v_enoughToc
&& (!(isset(gv_wgMaxTocLevel
)) || less(v_toclevel
, gv_wgMaxTocLevel
))) {
5743 concat_assign(v_toc
, toString((assignCallTemp(eo_1
, toObject(v_sk
)),LINE(3706,eo_1
.o_invoke_few_args("tocLine", 0x452A70789058599DLL
, 5, v_anchor
, v_tocline
, v_numbering
, v_toclevel
, (v_isTemplate
? ((Variant
)(false)) : ((Variant
)(v_sectionIndex
))))))));
5747 while (toBoolean(v_node
) && !(v_isTemplate
)) {
5748 LOOP_COUNTER_CHECK(84);
5750 if (same(LINE(3712,v_node
.o_invoke_few_args("getName", 0x23F51CDECC198965LL
, 0)), "h")) {
5751 (v_bits
= LINE(3713,v_node
.o_invoke_few_args("splitHeading", 0x0621AE2D22A1922DLL
, 0)));
5752 if (equal(v_bits
.rvalAt("i", 0x0EB22EDA95766E98LL
), v_sectionIndex
)) break;
5754 v_byteOffset
+= LINE(3718,x_mb_strlen(toString((assignCallTemp(eo_2
, toObject(m_mStripState
)),eo_2
.o_invoke_few_args("unstripBoth", 0x540C7C6FAA3D937BLL
, 1, v_frame
.o_invoke_few_args("expand", 0x39B7BB05F05A37CDLL
, 2, v_node
, 27LL /* ppframe::RECOVER_ORIG */))))));
5755 (v_node
= LINE(3719,v_node
.o_invoke_few_args("getNextSibling", 0x4CB333CF2D880119LL
, 0)));
5759 v_tocraw
.append((Array(ArrayInit(8).set(0, "toclevel", v_toclevel
, 0x5CD76FFB746050EDLL
).set(1, "level", v_level
, 0x26B910814038EBA3LL
).set(2, "line", v_tocline
, 0x21093C71DDF8728CLL
).set(3, "number", v_numbering
, 0x2E2E8BE57817A743LL
).set(4, "index", concat((toString(v_isTemplate
? (("T-")) : (("")))), toString(v_sectionIndex
)), 0x440D5888C0FF3081LL
).set(5, "fromtitle", v_titleText
, 0x3EDEEBB22A230184LL
).set(6, "byteoffset", (v_isTemplate
? ((Variant
)(null
)) : ((Variant
)(v_byteOffset
))), 0x6C263FBE5174D9CDLL
).set(7, "anchor", v_anchor
, 0x07FC0405478F294FLL
).create())));
5760 if (toBoolean(v_showEditLink
) && !same(v_sectionIndex
, false)) {
5762 (v_editlink
= (assignCallTemp(eo_3
, ref(LINE(3737,throw_fatal("unknown class title", ((void*)NULL
))))),assignCallTemp(eo_4
, toString("T-") + toString(v_sectionIndex
)),v_sk
.o_invoke("doEditSectionLink", Array(ArrayInit(2).set(0, eo_3
).set(1, eo_4
).create()), 0x2F1D4ACEF0431135LL
)));
5765 (v_editlink
= LINE(3739,v_sk
.o_invoke_few_args("doEditSectionLink", 0x2F1D4ACEF0431135LL
, 3, m_mTitle
, v_sectionIndex
, v_headlineHint
)));
5771 v_head
.set(v_headlineCount
, ((assignCallTemp(eo_3
, toObject(v_sk
)),LINE(3746,eo_3
.o_invoke_few_args("makeHeadline", 0x10AB357B787963CALL
, 6, v_level
, lval(v_matches
.lvalAt("attrib", 0x66693EBBD88E0435LL
)).refvalAt(v_headlineCount
), v_anchor
, v_headline
, v_editlink
, v_legacyAnchor
)))));
5776 LINE(3751,t_setoutputtype(v_oldType
));
5777 if (less(v_numVisible
, 1LL)) {
5778 (v_enoughToc
= false);
5781 if (more(v_prevtoclevel
, 0LL) && less(v_prevtoclevel
, gv_wgMaxTocLevel
)) {
5782 concat_assign(v_toc
, toString(LINE(3760,v_sk
.o_invoke_few_args("tocUnindent", 0x093C3E54C9882291LL
, 1, v_prevtoclevel
- 1LL))));
5784 (v_toc
= LINE(3762,v_sk
.o_invoke_few_args("tocList", 0x505D07AA0C1375D5LL
, 1, v_toc
)));
5785 LINE(3763,m_mOutput
.o_invoke_few_args("setTOCHTML", 0x7207F5C225B9E59CLL
, 1, v_toc
));
5788 LINE(3767,m_mOutput
.o_invoke_few_args("setSections", 0x6A6A6F940F0C36F5LL
, 1, v_tocraw
));
5790 (v_blocks
= LINE(3772,x_preg_split("/<H[1-6].*\?>.*\?<\\/H[1-6]>/i", v_text
)));
5794 for (ArrayIterPtr iter87
= v_blocks
.begin("parser"); !iter87
->end(); iter87
->next()) {
5795 LOOP_COUNTER_CHECK(85);
5796 v_block
= iter87
->second();
5798 if (toBoolean(v_showEditLink
) && more(v_headlineCount
, 0LL) && equal(v_i
, 0LL) && !same(v_block
, "\n")) {
5800 concat_assign(v_full
, toString(v_block
));
5801 if (v_enoughToc
&& !(toBoolean(v_i
)) && v_isMain
&& !(toBoolean(o_get("mForceTocPosition", 0x00520DD93AF13A69LL
)))) {
5802 (v_full
= concat(toString(v_full
), toString(v_toc
)));
5804 if (!(empty(v_head
, v_i
))) {
5805 concat_assign(v_full
, toString(v_head
.rvalAt(v_i
)));
5811 if (toBoolean(o_get("mForceTocPosition", 0x00520DD93AF13A69LL
))) {
5812 return LINE(3796,x_str_replace("<!--MWTOC-->", v_toc
, v_full
));
5819 /* SRC: Parser.php line 3814 */
5820 Array
c_parser::ti_mergesectiontrees(const char* cls
, CArrRef v_tree1
, CArrRef v_tree2
, CVarRef v_section
, Object v_title
, CVarRef v_len2
) {
5821 STATIC_METHOD_INJECTION(Parser
, Parser::mergeSectionTrees
);
5824 DECLARE_GLOBAL_VARIABLES(g
);
5825 Variant
&gv_wgContLang
__attribute__((__unused__
)) = g
->GV(wgContLang
);
5827 Variant v_targetLevel
;
5828 bool v_merged
= false;
5829 Variant v_lastLevel
;
5830 int64 v_nextIndex
= 0;
5831 Variant v_numbering
;
5832 Variant v_titletext
;
5836 (v_newTree
= ScalarArrays::sa_
[0]);
5837 (v_targetLevel
= false);
5839 (v_lastLevel
= 1LL);
5840 (v_nextIndex
= 1LL);
5841 (v_numbering
= ScalarArrays::sa_
[26]);
5842 (v_titletext
= LINE(3822,v_title
->o_invoke_few_args("getPrefixedDBkey", 0x3E327BDC66DECDABLL
, 0)));
5845 for (ArrayIter iter90
= v_tree1
.begin("parser"); !iter90
.end(); ++iter90
) {
5846 LOOP_COUNTER_CHECK(88);
5847 v_s
= iter90
.second();
5849 if (!same(v_targetLevel
, false)) {
5850 if (not_more(v_s
.rvalAt("level", 0x26B910814038EBA3LL
), v_targetLevel
)) (v_targetLevel
= false);
5853 if (!equal(v_s
.rvalAt("index", 0x440D5888C0FF3081LL
), v_section
) || !equal(v_s
.rvalAt("fromtitle", 0x3EDEEBB22A230184LL
), v_titletext
)) {
5854 LINE(3834,c_parser::t_incrementnumbering(ref(v_numbering
), v_s
.rvalAt("toclevel", 0x5CD76FFB746050EDLL
), v_lastLevel
));
5855 if (equal(v_s
.rvalAt("fromtitle", 0x3EDEEBB22A230184LL
), v_titletext
)) {
5856 v_s
.set("index", (v_nextIndex
++), 0x440D5888C0FF3081LL
);
5857 if (v_merged
) lval(v_s
.lvalAt("byteoffset", 0x6C263FBE5174D9CDLL
)) += v_len2
;
5859 v_s
.set("number", (LINE(3844,(assignCallTemp(eo_1
, x_array_map(2, Array(ArrayInit(2).set(0, gv_wgContLang
).set(1, "formatnum").create()), v_numbering
)),x_implode(".", eo_1
)))), 0x2E2E8BE57817A743LL
);
5860 (v_lastLevel
= v_s
.rvalAt("toclevel", 0x5CD76FFB746050EDLL
));
5861 v_newTree
.append((v_s
));
5866 for (ArrayIter iter93
= v_tree2
.begin("parser"); !iter93
.end(); ++iter93
) {
5867 LOOP_COUNTER_CHECK(91);
5868 v_s2
= iter93
.second();
5870 lval(v_s2
.lvalAt("toclevel", 0x5CD76FFB746050EDLL
)) += v_s
.rvalAt("toclevel", 0x5CD76FFB746050EDLL
) - 1LL;
5871 lval(v_s2
.lvalAt("level", 0x26B910814038EBA3LL
)) += v_s
.rvalAt("level", 0x26B910814038EBA3LL
) - 1LL;
5872 v_s2
.set("index", (v_nextIndex
++), 0x440D5888C0FF3081LL
);
5873 lval(v_s2
.lvalAt("byteoffset", 0x6C263FBE5174D9CDLL
)) += v_s
.rvalAt("byteoffset", 0x6C263FBE5174D9CDLL
);
5874 LINE(3859,c_parser::t_incrementnumbering(ref(v_numbering
), v_s2
.rvalAt("toclevel", 0x5CD76FFB746050EDLL
), v_lastLevel
));
5875 v_s2
.set("number", (LINE(3862,(assignCallTemp(eo_1
, x_array_map(2, Array(ArrayInit(2).set(0, gv_wgContLang
).set(1, "formatnum").create()), v_numbering
)),x_implode(".", eo_1
)))), 0x2E2E8BE57817A743LL
);
5876 (v_lastLevel
= v_s2
.rvalAt("toclevel", 0x5CD76FFB746050EDLL
));
5877 v_newTree
.append((v_s2
));
5881 (v_targetLevel
= v_s
.rvalAt("level", 0x26B910814038EBA3LL
));
5889 /* SRC: Parser.php line 3880 */
5890 void c_parser::ti_incrementnumbering(const char* cls
, Variant v_number
, CVarRef v_level
, CVarRef v_lastLevel
) {
5891 STATIC_METHOD_INJECTION(Parser
, Parser::incrementNumbering
);
5892 DECLARE_GLOBAL_VARIABLES(g
);
5893 Primitive v_key
= 0;
5896 if (more(v_level
, v_lastLevel
)) v_number
.set(v_level
- 1LL, (1LL));
5897 else if (less(v_level
, v_lastLevel
)) {
5900 for (ArrayIterPtr iter96
= v_number
.begin("parser"); !iter96
->end(); iter96
->next()) {
5901 LOOP_COUNTER_CHECK(94);
5902 v_unused
= iter96
->second();
5903 v_key
= iter96
->first();
5904 if (not_less(v_key
, v_level
)) v_number
.weakRemove(v_key
);
5907 lval(v_number
.lvalAt(v_level
- 1LL))++;
5909 else lval(v_number
.lvalAt(v_level
- 1LL))++;
5911 /* SRC: Parser.php line 3904 */
5912 Variant
c_parser::t_presavetransform(Variant v_text
, CVarRef v_title
, CVarRef v_user
, CVarRef v_options
, bool v_clearState
// = true
5914 INSTANCE_METHOD_INJECTION(Parser
, Parser::preSaveTransform
);
5920 (m_mOptions
= v_options
);
5921 LINE(3906,t_settitle(v_title
));
5922 LINE(3907,t_setoutputtype(2LL /* parser::OT_WIKI */));
5924 LINE(3910,t_clearstate());
5926 (v_pairs
= ScalarArrays::sa_
[27]);
5927 (v_text
= LINE(3916,(assignCallTemp(eo_0
, x_array_keys(v_pairs
)),assignCallTemp(eo_1
, x_array_values(v_pairs
)),assignCallTemp(eo_2
, v_text
),x_str_replace(eo_0
, eo_1
, eo_2
))));
5928 (v_text
= LINE(3917,t_pstpass2(v_text
, v_user
)));
5929 (v_text
= LINE(3918,m_mStripState
.o_invoke_few_args("unstripBoth", 0x540C7C6FAA3D937BLL
, 1, v_text
)));
5932 /* SRC: Parser.php line 3926 */
5933 Variant
c_parser::t_pstpass2(Variant v_text
, Variant v_user
) {
5934 INSTANCE_METHOD_INJECTION(Parser
, Parser::pstPass2
);
5938 DECLARE_GLOBAL_VARIABLES(g
);
5939 Variant
&gv_wgContLang
__attribute__((__unused__
)) = g
->GV(wgContLang
);
5940 Variant
&gv_wgLocaltimezone
__attribute__((__unused__
)) = g
->GV(wgLocaltimezone
);
5949 Variant
&gv_wgLegalTitleChars
__attribute__((__unused__
)) = g
->GV(wgLegalTitleChars
);
5961 (v_ts
= LINE(3936,m_mOptions
.o_invoke_few_args("getTimestamp", 0x7533D7D1FB463C81LL
, 0)));
5962 (v_tz
= LINE(3937,invoke_failed("wfmsgforcontent", Array(ArrayInit(1).set(0, "timezone-utc").create()), 0x0000000033607CCALL
)));
5963 if (isset(gv_wgLocaltimezone
)) {
5964 (v_unixts
= LINE(3939,invoke_failed("wftimestamp", Array(ArrayInit(2).set(0, k_TS_UNIX
).set(1, ref(v_ts
)).create()), 0x00000000AADC1C20LL
)));
5965 (v_oldtz
= LINE(3940,x_getenv("TZ")));
5966 LINE(3941,x_putenv(concat("TZ=", toString(gv_wgLocaltimezone
))));
5967 (v_ts
= LINE(3942,x_date("YmdHis", toInt64(v_unixts
))));
5968 (v_tz
= LINE(3943,x_date("T", toInt64(v_unixts
))));
5969 (v_key
= concat("timezone-", LINE(3949,x_strtolower(x_trim(toString(v_tz
))))));
5970 (v_value
= LINE(3950,invoke_failed("wfmsgforcontent", Array(ArrayInit(1).set(0, ref(v_key
)).create()), 0x0000000033607CCALL
)));
5971 if (!(toBoolean(LINE(3951,invoke_failed("wfemptymsg", Array(ArrayInit(2).set(0, ref(v_key
)).set(1, ref(v_value
)).create()), 0x00000000ACF08022LL
))))) (v_tz
= v_value
);
5972 LINE(3953,x_putenv(concat("TZ=", toString(v_oldtz
))));
5974 (v_d
= concat_rev(LINE(3956,concat3(" (", toString(v_tz
), ")")), toString(gv_wgContLang
.o_invoke_few_args("timeanddate", 0x7A1040DE131E934BLL
, 3, v_ts
, false, false))));
5975 (v_text
= LINE(3960,t_replacevariables(v_text
)));
5976 (v_sigText
= LINE(3963,t_getusersig(ref(v_user
))));
5977 (v_text
= LINE(3968,x_strtr(toString(v_text
), (assignCallTemp(eo_0
, v_d
),assignCallTemp(eo_1
, LINE(3966,concat3(toString(v_sigText
), " ", v_d
))),assignCallTemp(eo_2
, v_sigText
),Array(ArrayInit(3).set(0, "~~~~~", eo_0
, 0x3D5058E7395417B2LL
).set(1, "~~~~", eo_1
, 0x691A9EDFAB83F804LL
).set(2, "~~~", eo_2
, 0x3C75BFED7FEA008DLL
).create())))));
5978 (v_tc
= LINE(3973,concat3("[", toString(gv_wgLegalTitleChars
), "]")));
5979 (v_nc
= "[ _0-9A-Za-z\\x80-\\xff-]");
5980 (v_p1
= concat("/\\[\\[(:\?", LINE(3976,concat6(v_nc
, "+:|:|)(", v_tc
, "+\?)( \\(", v_tc
, "+\\))\\|]]/"))));
5981 (v_p4
= concat("/\\[\\[(:\?", LINE(3977,concat6(v_nc
, "+:|:|)(", v_tc
, "+\?)(\357\274\210", v_tc
, "+\357\274\211)\\|]]/"))));
5982 (v_p3
= concat_rev(LINE(3978,concat6(v_tc
, "+\?)( \\(", v_tc
, "+\\)|)(, ", v_tc
, "+|)\\|]]/")), concat3("/\\[\\[(:\?", v_nc
, "+:|:|)(")));
5983 (v_p2
= LINE(3979,concat3("/\\[\\[\\|(", v_tc
, "+)]]/")));
5984 (v_text
= LINE(3982,x_preg_replace(v_p1
, "[[\\1\\2\\3|\\2]]", v_text
)));
5985 (v_text
= LINE(3983,x_preg_replace(v_p4
, "[[\\1\\2\\3|\\2]]", v_text
)));
5986 (v_text
= LINE(3984,x_preg_replace(v_p3
, "[[\\1\\2\\3\\4|\\2]]", v_text
)));
5987 (v_t
= LINE(3986,m_mTitle
.o_invoke_few_args("getText", 0x434CEBEC8FDBB880LL
, 0)));
5988 (v_m
= ScalarArrays::sa_
[0]);
5989 if (toBoolean(LINE(3988,(assignCallTemp(eo_0
, concat("/^(", concat6(v_nc
, "+:|)", v_tc
, "+\?( \\(", v_tc
, "+\\))$/"))),assignCallTemp(eo_1
, toString(v_t
)),assignCallTemp(eo_2
, ref(v_m
)),x_preg_match(eo_0
, eo_1
, eo_2
))))) {
5990 (v_text
= LINE(3989,(assignCallTemp(eo_0
, v_p2
),assignCallTemp(eo_1
, concat5("[[", toString(v_m
.rvalAt(1, 0x5BCA7C69B794F8CELL
)), "\\1", toString(v_m
.rvalAt(2, 0x486AFCC090D5F98CLL
)), "|\\1]]")),assignCallTemp(eo_2
, v_text
),x_preg_replace(eo_0
, eo_1
, eo_2
))));
5992 else if (toBoolean(LINE(3990,(assignCallTemp(eo_0
, concat("/^(", concat6(v_nc
, "+:|)", v_tc
, "+\?(, ", v_tc
, "+|)$/"))),assignCallTemp(eo_1
, toString(v_t
)),assignCallTemp(eo_2
, ref(v_m
)),x_preg_match(eo_0
, eo_1
, eo_2
)))) && !equal("", toString(v_m
.rvalAt(1, 0x5BCA7C69B794F8CELL
)) + toString(v_m
.rvalAt(2, 0x486AFCC090D5F98CLL
)))) {
5993 (v_text
= LINE(3991,(assignCallTemp(eo_0
, v_p2
),assignCallTemp(eo_1
, concat5("[[", toString(v_m
.rvalAt(1, 0x5BCA7C69B794F8CELL
)), "\\1", toString(v_m
.rvalAt(2, 0x486AFCC090D5F98CLL
)), "|\\1]]")),assignCallTemp(eo_2
, v_text
),x_preg_replace(eo_0
, eo_1
, eo_2
))));
5996 (v_text
= LINE(3994,x_preg_replace(v_p2
, "[[\\1]]", v_text
)));
5998 (v_text
= LINE(3998,x_rtrim(toString(v_text
))));
6001 /* SRC: Parser.php line 4012 */
6002 Variant
c_parser::t_getusersig(Variant v_user
, Variant v_nickname
// = false
6003 , Variant v_fancySig
// = null
6005 INSTANCE_METHOD_INJECTION(Parser
, Parser::getUserSig
);
6006 DECLARE_GLOBAL_VARIABLES(g
);
6007 Variant
&gv_wgMaxSigChars
__attribute__((__unused__
)) = g
->GV(wgMaxSigChars
);
6012 (v_username
= LINE(4015,toObject(v_user
)->o_invoke_few_args("getName", 0x23F51CDECC198965LL
, 0)));
6013 if (same(v_nickname
, false)) (v_nickname
= LINE(4019,toObject(v_user
)->o_invoke_few_args("getOption", 0x402DD1A85CAEA6C0LL
, 1, "nickname")));
6014 if (LINE(4021,x_is_null(v_fancySig
))) (v_fancySig
= LINE(4022,toObject(v_user
)->o_invoke_few_args("getBoolOption", 0x78BE72AD8722ADA5LL
, 1, "fancysig")));
6015 (v_nickname
= equal(v_nickname
, null
) ? ((Variant
)(v_username
)) : ((Variant
)(v_nickname
)));
6016 if (more(LINE(4026,x_mb_strlen(toString(v_nickname
))), gv_wgMaxSigChars
)) {
6017 (v_nickname
= v_username
);
6018 LINE(4028,invoke_failed("wfdebug", Array(ArrayInit(1).set(0, concat("Parser::getUserSig", concat3(": ", toString(v_username
), " has overlong signature.\n"))).create()), 0x00000000E441E905LL
));
6020 else if (!same(v_fancySig
, false)) {
6021 if (!same(LINE(4031,t_validatesig(v_nickname
)), false)) {
6022 return LINE(4033,t_cleansig(v_nickname
, true));
6025 (v_nickname
= v_username
);
6026 LINE(4037,invoke_failed("wfdebug", Array(ArrayInit(1).set(0, concat("Parser::getUserSig", concat3(": ", toString(v_username
), " has bad XML tags in signature.\n"))).create()), 0x00000000E441E905LL
));
6029 (v_nickname
= LINE(4042,t_cleansiginsig(v_nickname
)));
6030 (v_userText
= LINE(4045,invoke_failed("wfescapewikitext", Array(ArrayInit(1).set(0, ref(v_username
)).create()), 0x00000000B3382909LL
)));
6031 (v_nickText
= LINE(4046,invoke_failed("wfescapewikitext", Array(ArrayInit(1).set(0, ref(v_nickname
)).create()), 0x00000000B3382909LL
)));
6032 if (toBoolean(LINE(4047,toObject(v_user
)->o_invoke_few_args("isAnon", 0x1F729AB8C6F7FE1ALL
, 0)))) {
6033 return LINE(4048,invoke_failed("wfmsgext", Array(ArrayInit(4).set(0, "signature-anon").set(1, Array(ArrayInit(2).set(0, "content").set(1, "parsemag").create())).set(2, ref(v_userText
)).set(3, ref(v_nickText
)).create()), 0x000000001BB87306LL
));
6036 return LINE(4050,invoke_failed("wfmsgext", Array(ArrayInit(4).set(0, "signature").set(1, Array(ArrayInit(2).set(0, "content").set(1, "parsemag").create())).set(2, ref(v_userText
)).set(3, ref(v_nickText
)).create()), 0x000000001BB87306LL
));
6040 /* SRC: Parser.php line 4060 */
6041 Variant
c_parser::t_validatesig(CVarRef v_text
) {
6042 INSTANCE_METHOD_INJECTION(Parser
, Parser::validateSig
);
6043 return (toBoolean(LINE(4061,throw_fatal("unknown class xml", ((void*)NULL
)))) ? ((Variant
)(v_text
)) : ((Variant
)(false)));
6045 /* SRC: Parser.php line 4074 */
6046 Variant
c_parser::t_cleansig(Variant v_text
, bool v_parsing
// = false
6048 INSTANCE_METHOD_INJECTION(Parser
, Parser::cleanSig
);
6052 DECLARE_GLOBAL_VARIABLES(g
);
6053 Variant
&gv_wgTitle
__attribute__((__unused__
)) = g
->GV(wgTitle
);
6055 Variant v_substWord
;
6056 String v_substRegex
;
6062 v_wgTitle
= ref(g
->GV(wgTitle
));
6063 LINE(4077,t_clearstate());
6064 LINE(4078,t_settitle(v_wgTitle
));
6065 (m_mOptions
= ((Object
)(LINE(4079,p_parseroptions(p_parseroptions(NEWOBJ(c_parseroptions
)())->create())))));
6066 (o_lval("setOutputType", 0x6AC9CEC755620241LL
) = 3LL /* parser::OT_PREPROCESS */);
6068 if (!(toBoolean(LINE(4084,m_mOptions
.o_invoke_few_args("getCleanSignatures", 0x49A4385734AC6E73LL
, 0))))) {
6071 (v_substWord
= LINE(4090,throw_fatal("unknown class magicword", ((void*)NULL
))));
6072 (v_substRegex
= concat_rev(toString(LINE(4091,v_substWord
.o_invoke_few_args("getRegexCase", 0x06D2F946031AE77ALL
, 0))), (assignCallTemp(eo_1
, toString(v_substWord
.o_invoke_few_args("getBaseRegex", 0x784B3CC2A5690212LL
, 0))),concat3("/\\{\\{(\?!(\?:", eo_1
, "))/x"))));
6073 (v_substText
= concat("{{", toString(LINE(4092,v_substWord
.o_invoke_few_args("getSynonym", 0x389984D2586DEE52LL
, 1, 0LL)))));
6074 (v_text
= LINE(4094,x_preg_replace(v_substRegex
, v_substText
, v_text
)));
6075 (v_text
= LINE(4095,t_cleansiginsig(v_text
)));
6076 (v_dom
= LINE(4096,t_preprocesstodom(v_text
)));
6077 (v_frame
= (assignCallTemp(eo_0
, toObject(LINE(4097,t_getpreprocessor()))),eo_0
.o_invoke_few_args("newFrame", 0x787B6141D7721675LL
, 0)));
6078 (v_text
= LINE(4098,v_frame
.o_invoke_few_args("expand", 0x39B7BB05F05A37CDLL
, 1, v_dom
)));
6080 (v_text
= LINE(4101,m_mStripState
.o_invoke_few_args("unstripBoth", 0x540C7C6FAA3D937BLL
, 1, v_text
)));
6084 /* SRC: Parser.php line 4112 */
6085 Variant
c_parser::t_cleansiginsig(Variant v_text
) {
6086 INSTANCE_METHOD_INJECTION(Parser
, Parser::cleanSigInSig
);
6087 (v_text
= LINE(4113,x_preg_replace("/~{3,5}/", "", v_text
)));
6090 /* SRC: Parser.php line 4122 */
6091 void c_parser::t_startexternalparse(Variant v_title
, CVarRef v_options
, CVarRef v_outputType
, bool v_clearState
// = true
6093 INSTANCE_METHOD_INJECTION(Parser
, Parser::startExternalParse
);
6094 LINE(4123,t_settitle(v_title
));
6095 (m_mOptions
= v_options
);
6096 LINE(4125,t_setoutputtype(v_outputType
));
6098 LINE(4127,t_clearstate());
6101 /* SRC: Parser.php line 4139 */
6102 Variant
c_parser::t_transformmsg(Variant v_text
, CVarRef v_options
) {
6103 INSTANCE_METHOD_INJECTION(Parser
, Parser::transformMsg
);
6104 DECLARE_GLOBAL_VARIABLES(g
);
6105 Variant
&gv_wgTitle
__attribute__((__unused__
)) = g
->GV(wgTitle
);
6106 Variant
&sv_executing
__attribute__((__unused__
)) = g
->sv_parser$$transformmsg$$executing
.lvalAt(this->o_getClassName());
6107 Variant
&inited_sv_executing
__attribute__((__unused__
)) = g
->inited_sv_parser$$transformmsg$$executing
.lvalAt(this->o_getClassName());
6108 if (!inited_sv_executing
) {
6109 (sv_executing
= false);
6110 inited_sv_executing
= true;
6112 if (toBoolean(sv_executing
)) {
6115 (sv_executing
= true);
6116 LINE(4149,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "Parser::transformMsg").create()), 0x0000000075359BAFLL
));
6117 (v_text
= LINE(4150,t_preprocess(v_text
, gv_wgTitle
, v_options
)));
6118 (sv_executing
= false);
6119 LINE(4153,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::transformMsg").create()), 0x00000000B599F276LL
));
6122 /* SRC: Parser.php line 4172 */
6123 Variant
c_parser::t_sethook(String v_tag
, CArrRef v_callback
) {
6124 INSTANCE_METHOD_INJECTION(Parser
, Parser::setHook
);
6127 (v_tag
= LINE(4173,x_strtolower(v_tag
)));
6128 (v_oldVal
= isset(m_mTagHooks
, v_tag
) ? ((Variant
)(m_mTagHooks
.rvalAt(v_tag
))) : ((Variant
)(null
)));
6129 m_mTagHooks
.set(v_tag
, (v_callback
));
6130 if (!(LINE(4176,x_in_array(v_tag
, m_mStripList
)))) {
6131 m_mStripList
.append((v_tag
));
6135 /* SRC: Parser.php line 4183 */
6136 Variant
c_parser::t_settransparenttaghook(String v_tag
, CVarRef v_callback
) {
6137 INSTANCE_METHOD_INJECTION(Parser
, Parser::setTransparentTagHook
);
6140 (v_tag
= LINE(4184,x_strtolower(v_tag
)));
6141 (v_oldVal
= isset(m_mTransparentTagHooks
, v_tag
) ? ((Variant
)(m_mTransparentTagHooks
.rvalAt(v_tag
))) : ((Variant
)(null
)));
6142 m_mTransparentTagHooks
.set(v_tag
, (v_callback
));
6145 /* SRC: Parser.php line 4194 */
6146 void c_parser::t_cleartaghooks() {
6147 INSTANCE_METHOD_INJECTION(Parser
, Parser::clearTagHooks
);
6148 (m_mTagHooks
= ScalarArrays::sa_
[0]);
6149 (m_mStripList
= m_mDefaultStripList
);
6151 /* SRC: Parser.php line 4243 */
6152 Variant
c_parser::t_setfunctionhook(CVarRef v_id
, CVarRef v_callback
, CVarRef v_flags
// = 0LL
6154 INSTANCE_METHOD_INJECTION(Parser
, Parser::setFunctionHook
);
6155 DECLARE_GLOBAL_VARIABLES(g
);
6156 Variant
&gv_wgContLang
__attribute__((__unused__
)) = g
->GV(wgContLang
);
6160 int64 v_sensitive
= 0;
6163 (v_oldVal
= isset(m_mFunctionHooks
, v_id
) ? ((Variant
)(m_mFunctionHooks
.rvalAt(v_id
).rvalAt(0LL, 0x77CFA1EEF01BCA90LL
))) : ((Variant
)(null
)));
6164 m_mFunctionHooks
.set(v_id
, (Array(ArrayInit(2).set(0, v_callback
).set(1, v_flags
).create())));
6165 (v_mw
= LINE(4250,throw_fatal("unknown class magicword", ((void*)NULL
))));
6166 if (!(toBoolean(v_mw
))) throw_exception(LINE(4252,create_object("mwexception", Array(ArrayInit(1).set(0, "Parser::setFunctionHook() expecting a magic word identifier.").create()))));
6167 (v_synonyms
= LINE(4254,v_mw
.o_invoke_few_args("getSynonyms", 0x44E19B4C6E0A744FLL
, 0)));
6168 (v_sensitive
= LINE(4255,x_intval(v_mw
.o_invoke_few_args("isCaseSensitive", 0x6BB73460F5ADBF0DLL
, 0))));
6171 for (ArrayIterPtr iter99
= v_synonyms
.begin("parser"); !iter99
->end(); iter99
->next()) {
6172 LOOP_COUNTER_CHECK(97);
6173 v_syn
= iter99
->second();
6175 if (!(toBoolean(v_sensitive
))) {
6176 (v_syn
= LINE(4260,gv_wgContLang
.o_invoke_few_args("lc", 0x0191205BE4FF8F9CLL
, 1, v_syn
)));
6178 if (!((toBoolean(bitwise_and(v_flags
, k_SFH_NO_HASH
))))) {
6179 (v_syn
= concat("#", toString(v_syn
)));
6181 if (same(LINE(4267,x_substr(toString(v_syn
), toInt32(-1LL), toInt32(1LL))), ":")) {
6182 (v_syn
= LINE(4268,x_substr(toString(v_syn
), toInt32(0LL), toInt32(-1LL))));
6184 lval(m_mFunctionSynonyms
.lvalAt(v_sensitive
)).set(v_syn
, (v_id
));
6190 /* SRC: Parser.php line 4280 */
6191 Variant
c_parser::t_getfunctionhooks() {
6192 INSTANCE_METHOD_INJECTION(Parser
, Parser::getFunctionHooks
);
6193 return LINE(4281,x_array_keys(m_mFunctionHooks
));
6195 /* SRC: Parser.php line 4289 */
6196 Variant
c_parser::t_setfunctiontaghook(String v_tag
, CVarRef v_callback
, CVarRef v_flags
) {
6197 INSTANCE_METHOD_INJECTION(Parser
, Parser::setFunctionTagHook
);
6200 (v_tag
= LINE(4290,x_strtolower(v_tag
)));
6201 (v_old
= isset(m_mFunctionTagHooks
, v_tag
) ? ((Variant
)(m_mFunctionTagHooks
.rvalAt(v_tag
))) : ((Variant
)(null
)));
6202 m_mFunctionTagHooks
.set(v_tag
, (Array(ArrayInit(2).set(0, v_callback
).set(1, v_flags
).create())));
6203 if (!(LINE(4295,x_in_array(v_tag
, m_mStripList
)))) {
6204 m_mStripList
.append((v_tag
));
6208 /* SRC: Parser.php line 4308 */
6209 Variant
c_parser::t_replacelinkholders(Variant v_text
, int64 v_options
// = 0LL
6211 INSTANCE_METHOD_INJECTION(Parser
, Parser::replaceLinkHolders
);
6212 return LINE(4309,m_mLinkHolders
.o_invoke_few_args("replace", 0x42FAC655280A6146LL
, 1, v_text
));
6214 /* SRC: Parser.php line 4318 */
6215 Variant
c_parser::t_replacelinkholderstext(Variant v_text
) {
6216 INSTANCE_METHOD_INJECTION(Parser
, Parser::replaceLinkHoldersText
);
6217 return LINE(4319,m_mLinkHolders
.o_invoke_few_args("replaceText", 0x316E7B92ECA74146LL
, 1, v_text
));
6219 /* SRC: Parser.php line 4325 */
6220 String
c_parser::t_renderpretag(CVarRef v_text
, Variant v_attribs
) {
6221 INSTANCE_METHOD_INJECTION(Parser
, Parser::renderPreTag
);
6224 (v_content
= LINE(4327,throw_fatal("unknown class stringutils", ((void*)NULL
))));
6225 (v_attribs
= LINE(4329,throw_fatal("unknown class sanitizer", ((void*)NULL
))));
6226 return concat(concat_rev(toString(LINE(4331,throw_fatal("unknown class xml", ((void*)NULL
)))), toString(LINE(4330,throw_fatal("unknown class xml", ((void*)NULL
))))), "</pre>");
6228 /* SRC: Parser.php line 4339 */
6229 Variant
c_parser::t_renderhyperlink(CVarRef v_text
, Variant v_params
, CVarRef v_frame
// = false
6231 INSTANCE_METHOD_INJECTION(Parser
, Parser::renderHyperlink
);
6234 DECLARE_GLOBAL_VARIABLES(g
);
6235 Primitive v_name
= 0;
6237 Variant v_whitelist
;
6245 for (ArrayIterPtr iter102
= v_params
.begin("parser"); !iter102
->end(); iter102
->next()) {
6246 LOOP_COUNTER_CHECK(100);
6247 v_value
= iter102
->second();
6248 v_name
= iter102
->first();
6250 v_params
.set(v_name
, (LINE(4341,t_replacevariables(v_value
, v_frame
))));
6254 (v_whitelist
= LINE(4344,throw_fatal("unknown class sanitizer", ((void*)NULL
))));
6255 (v_params
= LINE(4345,throw_fatal("unknown class sanitizer", ((void*)NULL
))));
6256 (v_content
= (assignCallTemp(eo_0
, LINE(4347,x_trim(toString(v_text
)))),assignCallTemp(eo_1
, v_frame
),t_recursivetagparse(eo_0
, eo_1
)));
6257 if (isset(v_params
, "href", 0x6268F8493692A594LL
)) {
6258 (v_href
= v_params
.rvalAt("href", 0x6268F8493692A594LL
));
6259 LINE(4351,m_mOutput
.o_invoke_few_args("addExternalLink", 0x3FE22FCE3F0B40E8LL
, 1, v_href
));
6260 v_params
.weakRemove("href", 0x6268F8493692A594LL
);
6263 return concat_rev(toString(LINE(4355,throw_fatal("unknown class xml", ((void*)NULL
)))), concat(toString(throw_fatal("unknown class xml", ((void*)NULL
))), toString(v_content
)));
6265 (v_sk
= LINE(4358,m_mOptions
.o_invoke_few_args("getSkin", 0x6C79601E06BA735FLL
, 0)));
6266 (v_html
= LINE(4359,v_sk
.o_invoke_few_args("makeExternalLink", 0x29CE649D13E77D3BLL
, 5, v_href
, v_content
, false, "", v_params
)));
6269 /* SRC: Parser.php line 4373 */
6270 Variant
c_parser::t_renderimagegallery(CVarRef v_text
, Variant v_params
) {
6271 INSTANCE_METHOD_INJECTION(Parser
, Parser::renderImageGallery
);
6282 (v_ig
= LINE(4374,create_object("imagegallery", Array())));
6283 LINE(4375,v_ig
.o_invoke_few_args("setContextTitle", 0x715C3E5638D42EC2LL
, 1, m_mTitle
));
6284 LINE(4376,v_ig
.o_invoke_few_args("setShowBytes", 0x0E49F4BE615F8AAELL
, 1, false));
6285 LINE(4377,v_ig
.o_invoke_few_args("setShowFilename", 0x51C3E2A67C228FB2LL
, 1, false));
6286 LINE(4378,v_ig
.o_invoke_few_args("setParser", 0x7C0461AE60A73E32LL
, 1, this));
6287 LINE(4379,v_ig
.o_invoke_few_args("setHideBadImages", 0x2748FD6B960E0216LL
, 0));
6288 LINE(4380,v_ig
.o_invoke_few_args("setAttributes", 0x4D430E2CD85B314FLL
, 1, throw_fatal("unknown class sanitizer", ((void*)NULL
))));
6289 LINE(4381,v_ig
.o_invoke_few_args("useSkin", 0x7BB4997C486DBF00LL
, 1, m_mOptions
.o_invoke_few_args("getSkin", 0x6C79601E06BA735FLL
, 0)));
6290 (v_ig
.o_lval("mRevisionId", 0x4DDE8DD427CE5241LL
) = m_mRevisionId
);
6291 if (isset(v_params
, "caption", 0x10826816B41AADFDLL
)) {
6292 (v_caption
= v_params
.rvalAt("caption", 0x10826816B41AADFDLL
));
6293 (v_caption
= LINE(4386,x_htmlspecialchars(toString(v_caption
))));
6294 (v_caption
= LINE(4387,t_replaceinternallinks(v_caption
)));
6295 LINE(4388,v_ig
.o_invoke_few_args("setCaptionHtml", 0x289F9CA74CEDB630LL
, 1, v_caption
));
6297 if (isset(v_params
, "perrow", 0x539812D4451C4CAALL
)) {
6298 LINE(4391,v_ig
.o_invoke_few_args("setPerRow", 0x528ABEBB0D8573D0LL
, 1, v_params
.refvalAt("perrow", 0x539812D4451C4CAALL
)));
6300 if (isset(v_params
, "widths", 0x5BB134DE7AC6735FLL
)) {
6301 LINE(4394,v_ig
.o_invoke_few_args("setWidths", 0x654010992C45CD8FLL
, 1, v_params
.refvalAt("widths", 0x5BB134DE7AC6735FLL
)));
6303 if (isset(v_params
, "heights", 0x3FD1AEF3EFB8D2BELL
)) {
6304 LINE(4397,v_ig
.o_invoke_few_args("setHeights", 0x39021A7987133C70LL
, 1, v_params
.refvalAt("heights", 0x3FD1AEF3EFB8D2BELL
)));
6306 LINE(4400,invoke_failed("wfrunhooks", Array(ArrayInit(2).set(0, "BeforeParserrenderImageGallery").set(1, Array(ArrayInit(2).setRef(0, ref(this)).setRef(1, ref(v_ig
)).create())).create()), 0x00000000787A96B2LL
));
6307 (v_lines
= LINE(4402,throw_fatal("unknown class stringutils", ((void*)NULL
))));
6310 for (ArrayIterPtr iter105
= v_lines
.begin("parser"); !iter105
->end(); iter105
->next()) {
6311 LOOP_COUNTER_CHECK(103);
6312 v_line
= iter105
->second();
6314 (v_matches
= ScalarArrays::sa_
[0]);
6315 LINE(4407,x_preg_match("/^([^|]+)(\\|(.*))\?$/", toString(v_line
), ref(v_matches
)));
6316 if (equal(LINE(4409,x_count(v_matches
)), 0LL)) {
6319 if (!same(LINE(4413,x_strpos(toString(v_matches
.rvalAt(0LL, 0x77CFA1EEF01BCA90LL
)), "%")), false)) v_matches
.set(1LL, (LINE(4414,x_urldecode(toString(v_matches
.rvalAt(1LL, 0x5BCA7C69B794F8CELL
))))), 0x5BCA7C69B794F8CELL
);
6320 (v_tp
= LINE(4415,throw_fatal("unknown class title", ((void*)NULL
))));
6322 if (LINE(4417,x_is_null(v_nt
))) {
6325 if (isset(v_matches
, 3LL, 0x135FDDF6A6BFBBDDLL
)) {
6326 (v_label
= v_matches
.rvalAt(3LL, 0x135FDDF6A6BFBBDDLL
));
6331 (v_html
= LINE(4427,t_recursivetagparse(x_trim(toString(v_label
)))));
6332 LINE(4429,v_ig
.o_invoke_few_args("add", 0x15D34462FC79458BLL
, 2, v_nt
, v_html
));
6333 if (equal(LINE(4432,v_nt
.o_invoke_few_args("getNamespace", 0x6DC05480D007D522LL
, 0)), k_NS_FILE
)) {
6334 LINE(4433,m_mOutput
.o_invoke_few_args("addImage", 0x1026F251B81BD927LL
, 1, v_nt
.o_invoke_few_args("getDBkey", 0x7A72F137192AEF00LL
, 0)));
6339 return LINE(4436,v_ig
.o_invoke_few_args("toHTML", 0x112305CB9B1971A9LL
, 0));
6341 /* SRC: Parser.php line 4439 */
6342 Array
c_parser::t_getimageparams(CVarRef v_handler
) {
6343 INSTANCE_METHOD_INJECTION(Parser
, Parser::getImageParams
);
6344 DECLARE_GLOBAL_VARIABLES(g
);
6345 Variant v_handlerClass
;
6346 Variant
&sv_internalParamNames
__attribute__((__unused__
)) = g
->sv_parser$$getimageparams$$internalParamNames
.lvalAt(this->o_getClassName());
6347 Variant
&inited_sv_internalParamNames
__attribute__((__unused__
)) = g
->inited_sv_parser$$getimageparams$$internalParamNames
.lvalAt(this->o_getClassName());
6348 Variant v_internalParamNames
;
6349 Variant
&sv_internalParamMap
__attribute__((__unused__
)) = g
->sv_parser$$getimageparams$$internalParamMap
.lvalAt(this->o_getClassName());
6350 Variant
&inited_sv_internalParamMap
__attribute__((__unused__
)) = g
->inited_sv_parser$$getimageparams$$internalParamMap
.lvalAt(this->o_getClassName());
6351 Variant v_internalParamMap
;
6352 Primitive v_type
= 0;
6355 Variant v_magicName
;
6357 Variant v_handlerParamMap
;
6358 Primitive v_magic
= 0;
6359 Variant v_paramName
;
6361 if (toBoolean(v_handler
)) {
6362 (v_handlerClass
= LINE(4441,x_get_class(v_handler
)));
6365 (v_handlerClass
= "");
6367 if (!(isset(m_mImageParams
, v_handlerClass
))) {
6368 v_internalParamNames
= ref(sv_internalParamNames
);
6369 if (!inited_sv_internalParamNames
) {
6370 (v_internalParamNames
= ScalarArrays::sa_
[28]);
6371 inited_sv_internalParamNames
= true;
6373 v_internalParamMap
= ref(sv_internalParamMap
);
6374 if (!inited_sv_internalParamMap
) {
6375 (v_internalParamMap
= null
);
6376 inited_sv_internalParamMap
= true;
6378 if (!(toBoolean(v_internalParamMap
))) {
6379 (v_internalParamMap
= ScalarArrays::sa_
[0]);
6382 for (ArrayIterPtr iter108
= v_internalParamNames
.begin("parser"); !iter108
->end(); iter108
->next()) {
6383 LOOP_COUNTER_CHECK(106);
6384 v_names
= iter108
->second();
6385 v_type
= iter108
->first();
6389 for (ArrayIterPtr iter111
= v_names
.begin("parser"); !iter111
->end(); iter111
->next()) {
6390 LOOP_COUNTER_CHECK(109);
6391 v_name
= iter111
->second();
6393 (v_magicName
= LINE(4459,x_str_replace("-", "_", toString("img_") + toString(v_name
))));
6394 v_internalParamMap
.set(v_magicName
, (Array(ArrayInit(2).set(0, v_type
).set(1, v_name
).create())));
6402 (v_paramMap
= v_internalParamMap
);
6403 if (toBoolean(v_handler
)) {
6404 (v_handlerParamMap
= LINE(4468,toObject(v_handler
)->o_invoke_few_args("getParamMap", 0x28D8A47A2E38229ALL
, 0)));
6407 for (ArrayIterPtr iter114
= v_handlerParamMap
.begin("parser"); !iter114
->end(); iter114
->next()) {
6408 LOOP_COUNTER_CHECK(112);
6409 v_paramName
= iter114
->second();
6410 v_magic
= iter114
->first();
6412 v_paramMap
.set(v_magic
, (Array(ArrayInit(2).set(0, "handler").set(1, v_paramName
).create())));
6417 m_mImageParams
.set(v_handlerClass
, (v_paramMap
));
6418 m_mImageParamsMagicArray
.set(v_handlerClass
, (LINE(4474,create_object("magicwordarray", Array(ArrayInit(1).set(0, x_array_keys(v_paramMap
)).create())))));
6420 return Array(ArrayInit(2).set(0, m_mImageParams
.rvalAt(v_handlerClass
)).set(1, m_mImageParamsMagicArray
.rvalAt(v_handlerClass
)).create());
6422 /* SRC: Parser.php line 4485 */
6423 Variant
c_parser::t_makeimage(Variant v_title
, CVarRef v_options
, CVarRef v_holders
// = false
6425 INSTANCE_METHOD_INJECTION(Parser
, Parser::makeImage
);
6431 Variant v_descQuery
;
6434 Variant v_imagename
;
6442 Variant v_magicName
;
6444 Variant v_validated
;
6446 Variant v_paramName
;
6452 Variant v_linkTitle
;
6453 bool v_imageIsFramed
= false;
6456 (v_parts
= LINE(4511,throw_fatal("unknown class stringutils", ((void*)NULL
))));
6457 (v_sk
= LINE(4512,m_mOptions
.o_invoke_few_args("getSkin", 0x6C79601E06BA735FLL
, 0)));
6458 (v_skip
= (v_time
= (v_descQuery
= false)));
6459 LINE(4516,invoke_failed("wfrunhooks", Array(ArrayInit(2).set(0, "BeforeParserMakeImageLinkObj").set(1, Array(ArrayInit(5).setRef(0, ref(this)).setRef(1, ref(v_title
)).setRef(2, ref(v_skip
)).setRef(3, ref(v_time
)).setRef(4, ref(v_descQuery
)).create())).create()), 0x00000000787A96B2LL
));
6460 if (toBoolean(v_skip
)) {
6461 return LINE(4519,v_sk
.o_invoke_few_args("link", 0x230FE1D6EC599525LL
, 1, v_title
));
6463 (v_imagename
= LINE(4523,v_title
.o_invoke_few_args("getDBkey", 0x7A72F137192AEF00LL
, 0)));
6464 (v_file
= LINE(4524,invoke_failed("wffindfile", Array(ArrayInit(2).set(0, ref(v_title
)).set(1, Array(ArrayInit(1).set(0, "time", v_time
, 0x46C13C417DE7E0A0LL
).create())).create()), 0x000000008D7BE104LL
)));
6465 (v_handler
= toBoolean(v_file
) ? ((Variant
)(LINE(4526,v_file
.o_invoke_few_args("getHandler", 0x179039CC09D3FA6FLL
, 0)))) : ((Variant
)(false)));
6466 df_lambda_15(LINE(4528,t_getimageparams(v_handler
)), v_paramMap
, v_mwArray
);
6468 (v_params
= ScalarArrays::sa_
[29]);
6471 for (ArrayIterPtr iter117
= v_parts
.begin("parser"); !iter117
->end(); iter117
->next()) {
6472 LOOP_COUNTER_CHECK(115);
6473 v_part
= iter117
->second();
6475 (v_part
= LINE(4535,x_trim(toString(v_part
))));
6476 df_lambda_16(LINE(4536,v_mwArray
.o_invoke_few_args("matchVariableStartToEnd", 0x26349809C1925B1FLL
, 1, v_part
)), v_magicName
, v_value
);
6477 (v_validated
= false);
6478 if (isset(v_paramMap
, v_magicName
)) {
6479 df_lambda_17(v_paramMap
.rvalAt(v_magicName
), v_type
, v_paramName
);
6480 if (same(v_type
, "handler") && same(v_paramName
, "width")) {
6481 (v_m
= ScalarArrays::sa_
[0]);
6482 if (toBoolean(LINE(4546,x_preg_match("/^([0-9]*)x([0-9]*)\\s*(\?:px)\?\\s*$/", toString(v_value
), ref(v_m
))))) {
6483 (v_width
= LINE(4547,x_intval(v_m
.rvalAt(1LL, 0x5BCA7C69B794F8CELL
))));
6484 (v_height
= LINE(4548,x_intval(v_m
.rvalAt(2LL, 0x486AFCC090D5F98CLL
))));
6485 if (toBoolean(LINE(4549,v_handler
.o_invoke_few_args("validateParam", 0x42F66BC0EDD952A0LL
, 2, "width", v_width
)))) {
6486 lval(v_params
.lvalAt(v_type
)).set("width", (v_width
), 0x79CE5ED9259796ADLL
);
6487 (v_validated
= true);
6489 if (toBoolean(LINE(4553,v_handler
.o_invoke_few_args("validateParam", 0x42F66BC0EDD952A0LL
, 2, "height", v_height
)))) {
6490 lval(v_params
.lvalAt(v_type
)).set("height", (v_height
), 0x674F0FBB080B0779LL
);
6491 (v_validated
= true);
6494 else if (toBoolean(LINE(4557,x_preg_match("/^[0-9]*\\s*(\?:px)\?\\s*$/", toString(v_value
))))) {
6495 (v_width
= LINE(4558,x_intval(v_value
)));
6496 if (toBoolean(LINE(4559,v_handler
.o_invoke_few_args("validateParam", 0x42F66BC0EDD952A0LL
, 2, "width", v_width
)))) {
6497 lval(v_params
.lvalAt(v_type
)).set("width", (v_width
), 0x79CE5ED9259796ADLL
);
6498 (v_validated
= true);
6503 if (same(v_type
, "handler")) {
6504 (v_validated
= LINE(4567,v_handler
.o_invoke_few_args("validateParam", 0x42F66BC0EDD952A0LL
, 2, v_paramName
, v_value
)));
6508 Variant tmp119
= (v_paramName
);
6510 if (equal(tmp119
, ("manualthumb"))) {
6512 } else if (equal(tmp119
, ("alt"))) {
6514 } else if (equal(tmp119
, ("link"))) {
6525 (v_validated
= true);
6526 (v_value
= LINE(4577,t_stripalttext(v_value
, v_holders
)));
6531 (v_chars
= "[^][<>\"\\x00-\\x20\\x7F]" /* parser::EXT_LINK_URL_CLASS */);
6532 (v_prots
= m_mUrlProtocols
);
6533 if (same(v_value
, "")) {
6534 (v_paramName
= "no-link");
6536 (v_validated
= true);
6538 else if (toBoolean(LINE(4586,(assignCallTemp(eo_0
, concat3("/^", toString(v_prots
), "/")),assignCallTemp(eo_1
, toString(v_value
)),x_preg_match(eo_0
, eo_1
))))) {
6539 if (toBoolean(LINE(4587,(assignCallTemp(eo_0
, concat5("/^(", toString(v_prots
), ")", v_chars
, "+$/")),assignCallTemp(eo_1
, toString(v_value
)),assignCallTemp(eo_2
, ref(v_m
)),x_preg_match(eo_0
, eo_1
, eo_2
))))) {
6540 (v_paramName
= "link-url");
6541 LINE(4589,m_mOutput
.o_invoke_few_args("addExternalLink", 0x3FE22FCE3F0B40E8LL
, 1, v_value
));
6542 (v_validated
= true);
6546 (v_linkTitle
= LINE(4593,throw_fatal("unknown class title", ((void*)NULL
))));
6547 if (toBoolean(v_linkTitle
)) {
6548 (v_paramName
= "link-title");
6549 (v_value
= v_linkTitle
);
6550 LINE(4597,m_mOutput
.o_invoke_few_args("addLink", 0x5D10AC6ADCA895ACLL
, 1, v_linkTitle
));
6551 (v_validated
= true);
6558 (v_validated
= (same(v_value
, false) || LINE(4604,x_is_numeric(x_trim(toString(v_value
))))));
6564 if (toBoolean(v_validated
)) {
6565 lval(v_params
.lvalAt(v_type
)).set(v_paramName
, (v_value
));
6569 if (!(toBoolean(v_validated
))) {
6570 (v_caption
= v_part
);
6575 if (toBoolean(v_params
.rvalAt("horizAlign", 0x0C9554788E4B4CB7LL
))) {
6576 lval(v_params
.lvalAt("frame", 0x2D577BEBE8CB9D1FLL
)).set("align", (LINE(4620,x_key(ref(lval(v_params
.lvalAt("horizAlign", 0x0C9554788E4B4CB7LL
)))))), 0x0088E6A851076124LL
);
6578 if (toBoolean(v_params
.rvalAt("vertAlign", 0x58EF5364C4E21BF6LL
))) {
6579 lval(v_params
.lvalAt("frame", 0x2D577BEBE8CB9D1FLL
)).set("valign", (LINE(4623,x_key(ref(lval(v_params
.lvalAt("vertAlign", 0x58EF5364C4E21BF6LL
)))))), 0x1AC1065EEC01D355LL
);
6581 lval(v_params
.lvalAt("frame", 0x2D577BEBE8CB9D1FLL
)).set("caption", (v_caption
), 0x10826816B41AADFDLL
);
6582 (v_imageIsFramed
= isset(v_params
.rvalAt("frame", 0x2D577BEBE8CB9D1FLL
), "frame", 0x2D577BEBE8CB9D1FLL
) || isset(v_params
.rvalAt("frame", 0x2D577BEBE8CB9D1FLL
), "framed", 0x3AC627E741084D09LL
) || isset(v_params
.rvalAt("frame", 0x2D577BEBE8CB9D1FLL
), "thumbnail", 0x0EA6B2C8F3B06CAFLL
) || isset(v_params
.rvalAt("frame", 0x2D577BEBE8CB9D1FLL
), "manualthumb", 0x7049AB520F6C7D3ELL
));
6583 if (v_imageIsFramed
) {
6584 if (same(v_caption
, "") && !(isset(v_params
.rvalAt("frame", 0x2D577BEBE8CB9D1FLL
), "alt", 0x2AB21AF4F5B8471BLL
))) {
6585 lval(v_params
.lvalAt("frame", 0x2D577BEBE8CB9D1FLL
)).set("alt", (LINE(4654,v_title
.o_invoke_few_args("getText", 0x434CEBEC8FDBB880LL
, 0))), 0x2AB21AF4F5B8471BLL
);
6589 if (!(isset(v_params
.rvalAt("frame", 0x2D577BEBE8CB9D1FLL
), "alt", 0x2AB21AF4F5B8471BLL
))) {
6590 if (!same(v_caption
, "")) {
6591 lval(v_params
.lvalAt("frame", 0x2D577BEBE8CB9D1FLL
)).set("alt", (LINE(4662,t_stripalttext(v_caption
, v_holders
))), 0x2AB21AF4F5B8471BLL
);
6594 lval(v_params
.lvalAt("frame", 0x2D577BEBE8CB9D1FLL
)).set("alt", (LINE(4666,v_title
.o_invoke_few_args("getText", 0x434CEBEC8FDBB880LL
, 0))), 0x2AB21AF4F5B8471BLL
);
6597 lval(v_params
.lvalAt("frame", 0x2D577BEBE8CB9D1FLL
)).set("title", (LINE(4670,t_stripalttext(v_caption
, v_holders
))), 0x66AD900A2301E2FELL
);
6599 LINE(4673,invoke_failed("wfrunhooks", Array(ArrayInit(2).set(0, "ParserMakeImageParams").set(1, Array(ArrayInit(3).set(0, v_title
).set(1, v_file
).setRef(2, ref(v_params
)).create())).create()), 0x00000000787A96B2LL
));
6600 (v_ret
= LINE(4676,v_sk
.o_invoke_few_args("makeImageLink2", 0x7747CD213EA2EF9ELL
, 6, v_title
, v_file
, v_params
.refvalAt("frame", 0x2D577BEBE8CB9D1FLL
), v_params
.refvalAt("handler", 0x1D2C99E375514408LL
), v_time
, v_descQuery
)));
6601 if (toBoolean(v_handler
)) {
6602 LINE(4680,v_handler
.o_invoke_few_args("parserTransformHook", 0x4F60908BC6CDD8C4LL
, 2, this, v_file
));
6606 /* SRC: Parser.php line 4686 */
6607 Variant
c_parser::t_stripalttext(Variant v_caption
, CVarRef v_holders
) {
6608 INSTANCE_METHOD_INJECTION(Parser
, Parser::stripAltText
);
6611 if (toBoolean(v_holders
)) {
6612 (v_tooltip
= LINE(4691,toObject(v_holders
)->o_invoke_few_args("replaceText", 0x316E7B92ECA74146LL
, 1, v_caption
)));
6615 (v_tooltip
= LINE(4693,t_replacelinkholderstext(v_caption
)));
6617 (v_tooltip
= LINE(4699,m_mStripState
.o_invoke_few_args("unstripBoth", 0x540C7C6FAA3D937BLL
, 1, v_tooltip
)));
6618 (v_tooltip
= LINE(4700,throw_fatal("unknown class sanitizer", ((void*)NULL
))));
6621 /* SRC: Parser.php line 4709 */
6622 void c_parser::t_disablecache() {
6623 INSTANCE_METHOD_INJECTION(Parser
, Parser::disableCache
);
6624 LINE(4710,invoke_failed("wfdebug", Array(ArrayInit(1).set(0, "Parser output marked as uncacheable.\n").create()), 0x00000000E441E905LL
));
6625 (m_mOutput
.o_lval("mCacheTime", 0x3A96E9F9BCC9D533LL
) = -1LL);
6627 /* SRC: Parser.php line 4722 */
6628 Variant
c_parser::t_attributestripcallback(Variant v_text
, CVarRef v_frame
// = false
6630 INSTANCE_METHOD_INJECTION(Parser
, Parser::attributeStripCallback
);
6631 (v_text
= LINE(4723,t_replacevariables(v_text
, v_frame
)));
6632 (v_text
= LINE(4724,m_mStripState
.o_invoke_few_args("unstripBoth", 0x540C7C6FAA3D937BLL
, 1, v_text
)));
6635 /* SRC: Parser.php line 4733 */
6636 Variant
c_parser::t_title(Variant v_x
// = null
6638 INSTANCE_METHOD_INJECTION(Parser
, Parser::Title
);
6639 return LINE(4733,invoke_failed("wfsetvar", Array(ArrayInit(2).set(0, ref(m_mTitle
)).set(1, ref(v_x
)).create()), 0x000000009E927E0BLL
));
6641 /* SRC: Parser.php line 4734 */
6642 Variant
c_parser::t_options(Variant v_x
// = null
6644 INSTANCE_METHOD_INJECTION(Parser
, Parser::Options
);
6645 return LINE(4734,invoke_failed("wfsetvar", Array(ArrayInit(2).set(0, ref(m_mOptions
)).set(1, ref(v_x
)).create()), 0x000000009E927E0BLL
));
6647 /* SRC: Parser.php line 4735 */
6648 Variant
c_parser::t_outputtype(Variant v_x
// = null
6650 INSTANCE_METHOD_INJECTION(Parser
, Parser::OutputType
);
6651 return LINE(4735,invoke_failed("wfsetvar", Array(ArrayInit(2).set(0, ref(m_mOutputType
)).set(1, ref(v_x
)).create()), 0x000000009E927E0BLL
));
6653 /* SRC: Parser.php line 4741 */
6654 Variant
c_parser::t_gettags() {
6655 INSTANCE_METHOD_INJECTION(Parser
, Parser::getTags
);
6658 return LINE(4741,(assignCallTemp(eo_0
, x_array_keys(m_mTransparentTagHooks
)),assignCallTemp(eo_1
, x_array_keys(m_mTagHooks
)),x_array_merge(2, eo_0
, Array(ArrayInit(1).set(0, eo_1
).create()))));
6660 /* SRC: Parser.php line 4770 */
6661 Variant
c_parser::t_extractsections(CVarRef v_text
, CVarRef v_section
, CStrRef v_mode
, CVarRef v_newText
// = ""
6663 INSTANCE_METHOD_INJECTION(Parser
, Parser::extractSections
);
6665 DECLARE_GLOBAL_VARIABLES(g
);
6666 Variant
&gv_wgTitle
__attribute__((__unused__
)) = g
->GV(wgTitle
);
6670 Variant v_sectionParts
;
6671 Variant v_sectionIndex
;
6675 Variant v_targetLevel
;
6679 LINE(4772,t_clearstate());
6680 LINE(4773,t_settitle(gv_wgTitle
));
6681 (m_mOptions
= ((Object
)(LINE(4774,p_parseroptions(p_parseroptions(NEWOBJ(c_parseroptions
)())->create())))));
6682 LINE(4775,t_setoutputtype(2LL /* parser::OT_WIKI */));
6684 (v_frame
= (assignCallTemp(eo_0
, toObject(LINE(4777,t_getpreprocessor()))),eo_0
.o_invoke_few_args("newFrame", 0x787B6141D7721675LL
, 0)));
6686 (v_sectionParts
= LINE(4781,x_explode("-", toString(v_section
))));
6687 (v_sectionIndex
= LINE(4782,x_array_pop(ref(v_sectionParts
))));
6690 for (ArrayIterPtr iter123
= v_sectionParts
.begin("parser"); !iter123
->end(); iter123
->next()) {
6691 LOOP_COUNTER_CHECK(121);
6692 v_part
= iter123
->second();
6694 if (same(v_part
, "T")) {
6695 v_flags
|= 1LL /* parser::PTD_FOR_INCLUSION */;
6700 (v_root
= LINE(4789,t_preprocesstodom(v_text
, v_flags
)));
6701 (v_node
= LINE(4793,v_root
.o_invoke_few_args("getFirstChild", 0x050681239965E069LL
, 0)));
6702 if (equal(v_sectionIndex
, 0LL)) {
6703 (v_targetLevel
= 1000LL);
6708 while (toBoolean(v_node
)) {
6709 LOOP_COUNTER_CHECK(124);
6711 if (same(LINE(4801,v_node
.o_invoke_few_args("getName", 0x23F51CDECC198965LL
, 0)), "h")) {
6712 (v_bits
= LINE(4802,v_node
.o_invoke_few_args("splitHeading", 0x0621AE2D22A1922DLL
, 0)));
6713 if (equal(v_bits
.rvalAt("i", 0x0EB22EDA95766E98LL
), v_sectionIndex
)) {
6714 (v_targetLevel
= v_bits
.rvalAt("level", 0x26B910814038EBA3LL
));
6718 if (same(v_mode
, "replace")) {
6719 concat_assign(v_outText
, toString(LINE(4809,v_frame
.o_invoke_few_args("expand", 0x39B7BB05F05A37CDLL
, 2, v_node
, 27LL /* ppframe::RECOVER_ORIG */))));
6721 (v_node
= LINE(4811,v_node
.o_invoke_few_args("getNextSibling", 0x4CB333CF2D880119LL
, 0)));
6726 if (!(toBoolean(v_node
))) {
6727 if (same(v_mode
, "get")) {
6737 LOOP_COUNTER_CHECK(125);
6739 if (same(LINE(4826,v_node
.o_invoke_few_args("getName", 0x23F51CDECC198965LL
, 0)), "h")) {
6740 (v_bits
= LINE(4827,v_node
.o_invoke_few_args("splitHeading", 0x0621AE2D22A1922DLL
, 0)));
6741 (v_curLevel
= v_bits
.rvalAt("level", 0x26B910814038EBA3LL
));
6742 if (!equal(v_bits
.rvalAt("i", 0x0EB22EDA95766E98LL
), v_sectionIndex
) && not_more(v_curLevel
, v_targetLevel
)) {
6746 if (same(v_mode
, "get")) {
6747 concat_assign(v_outText
, toString(LINE(4834,v_frame
.o_invoke_few_args("expand", 0x39B7BB05F05A37CDLL
, 2, v_node
, 27LL /* ppframe::RECOVER_ORIG */))));
6749 (v_node
= LINE(4836,v_node
.o_invoke_few_args("getNextSibling", 0x4CB333CF2D880119LL
, 0)));
6751 } while (toBoolean(v_node
));
6753 if (same(v_mode
, "replace")) {
6754 if (!equal(v_newText
, "")) {
6755 concat_assign(v_outText
, concat(toString(v_newText
), "\n\n"));
6759 while (toBoolean(v_node
)) {
6760 LOOP_COUNTER_CHECK(126);
6762 concat_assign(v_outText
, toString(LINE(4850,v_frame
.o_invoke_few_args("expand", 0x39B7BB05F05A37CDLL
, 2, v_node
, 27LL /* ppframe::RECOVER_ORIG */))));
6763 (v_node
= LINE(4851,v_node
.o_invoke_few_args("getNextSibling", 0x4CB333CF2D880119LL
, 0)));
6768 if (LINE(4855,x_is_string(v_outText
))) {
6769 (v_outText
= LINE(4857,x_rtrim(toString(m_mStripState
.o_invoke_few_args("unstripBoth", 0x540C7C6FAA3D937BLL
, 1, v_outText
)))));
6773 /* SRC: Parser.php line 4875 */
6774 Variant
c_parser::t_getsection(CVarRef v_text
, CVarRef v_section
, CStrRef v_deftext
// = ""
6776 INSTANCE_METHOD_INJECTION(Parser
, Parser::getSection
);
6777 return LINE(4876,t_extractsections(v_text
, v_section
, "get", v_deftext
));
6779 /* SRC: Parser.php line 4879 */
6780 Variant
c_parser::t_replacesection(CVarRef v_oldtext
, CVarRef v_section
, CVarRef v_text
) {
6781 INSTANCE_METHOD_INJECTION(Parser
, Parser::replaceSection
);
6782 return LINE(4880,t_extractsections(v_oldtext
, v_section
, "replace", v_text
));
6784 /* SRC: Parser.php line 4887 */
6785 Variant
c_parser::t_getrevisiontimestamp() {
6786 INSTANCE_METHOD_INJECTION(Parser
, Parser::getRevisionTimestamp
);
6788 DECLARE_GLOBAL_VARIABLES(g
);
6789 Variant
&gv_wgContLang
__attribute__((__unused__
)) = g
->GV(wgContLang
);
6790 Variant v_wgContLang
;
6792 Variant v_timestamp
;
6794 if (LINE(4888,x_is_null(m_mRevisionTimestamp
))) {
6795 LINE(4889,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "Parser::getRevisionTimestamp").create()), 0x0000000075359BAFLL
));
6796 v_wgContLang
= ref(g
->GV(wgContLang
));
6797 (v_dbr
= LINE(4891,invoke_failed("wfgetdb", Array(ArrayInit(1).set(0, k_DB_SLAVE
).create()), 0x000000002DA3FF23LL
)));
6798 (v_timestamp
= (assignCallTemp(eo_0
, toObject(v_dbr
)),LINE(4893,eo_0
.o_invoke_few_args("selectField", 0x7FEFEB72B2060BADLL
, 4, "revision", "rev_timestamp", Array(ArrayInit(1).set(0, "rev_id", m_mRevisionId
, 0x60BB6026437DAFD3LL
).create()), "Parser::getRevisionTimestamp"))));
6799 (v_timestamp
= LINE(4899,invoke_failed("wftimestamp", Array(ArrayInit(2).set(0, k_TS_MW
).set(1, ref(v_timestamp
)).create()), 0x00000000AADC1C20LL
)));
6800 (m_mRevisionTimestamp
= LINE(4907,v_wgContLang
.o_invoke_few_args("userAdjust", 0x5F789F083D8E18B7LL
, 2, v_timestamp
, "")));
6801 LINE(4909,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Parser::getRevisionTimestamp").create()), 0x00000000B599F276LL
));
6803 return m_mRevisionTimestamp
;
6805 /* SRC: Parser.php line 4917 */
6806 Variant
c_parser::t_getrevisionuser() {
6807 INSTANCE_METHOD_INJECTION(Parser
, Parser::getRevisionUser
);
6808 DECLARE_GLOBAL_VARIABLES(g
);
6811 Variant
&gv_wgUser
__attribute__((__unused__
)) = g
->GV(wgUser
);
6814 if (toBoolean(m_mRevisionId
)) {
6815 (v_revision
= LINE(4921,throw_fatal("unknown class revision", ((void*)NULL
))));
6816 (v_revuser
= LINE(4922,v_revision
.o_invoke_few_args("getUserText", 0x66C3616EEC0044C1LL
, 0)));
6819 v_wgUser
= ref(g
->GV(wgUser
));
6820 (v_revuser
= LINE(4925,v_wgUser
.o_invoke_few_args("getName", 0x23F51CDECC198965LL
, 0)));
6824 /* SRC: Parser.php line 4935 */
6825 void c_parser::t_setdefaultsort(CVarRef v_sort
) {
6826 INSTANCE_METHOD_INJECTION(Parser
, Parser::setDefaultSort
);
6827 (m_mDefaultSort
= v_sort
);
6829 /* SRC: Parser.php line 4945 */
6830 Variant
c_parser::t_getdefaultsort() {
6831 INSTANCE_METHOD_INJECTION(Parser
, Parser::getDefaultSort
);
6832 DECLARE_GLOBAL_VARIABLES(g
);
6833 Variant
&gv_wgCategoryPrefixedDefaultSortkey
__attribute__((__unused__
)) = g
->GV(wgCategoryPrefixedDefaultSortkey
);
6834 if (!same(m_mDefaultSort
, false)) {
6835 return m_mDefaultSort
;
6837 else if (equal(LINE(4949,m_mTitle
.o_invoke_few_args("getNamespace", 0x6DC05480D007D522LL
, 0)), k_NS_CATEGORY
) || !(toBoolean(gv_wgCategoryPrefixedDefaultSortkey
))) {
6838 return LINE(4951,m_mTitle
.o_invoke_few_args("getText", 0x434CEBEC8FDBB880LL
, 0));
6841 return LINE(4953,m_mTitle
.o_invoke_few_args("getPrefixedText", 0x33044BA725446A43LL
, 0));
6845 /* SRC: Parser.php line 4963 */
6846 Variant
c_parser::t_getcustomdefaultsort() {
6847 INSTANCE_METHOD_INJECTION(Parser
, Parser::getCustomDefaultSort
);
6848 return m_mDefaultSort
;
6850 /* SRC: Parser.php line 4972 */
6851 Variant
c_parser::t_guesssectionnamefromwikitext(Variant v_text
) {
6852 INSTANCE_METHOD_INJECTION(Parser
, Parser::guessSectionNameFromWikiText
);
6857 String v_sectionanchor
;
6858 Array v_replacearray
;
6860 (v_text
= LINE(4974,t_stripsectionname(v_text
)));
6861 (v_headline
= LINE(4975,throw_fatal("unknown class sanitizer", ((void*)NULL
))));
6862 (v_headline
= LINE(4977,throw_fatal("unknown class stringutils", ((void*)NULL
))));
6863 (v_headline
= LINE(4978,x_trim(toString(v_headline
))));
6864 (v_sectionanchor
= concat("#", LINE(4979,x_urlencode(toString(x_str_replace(" ", "_", v_headline
))))));
6865 (v_replacearray
= ScalarArrays::sa_
[30]);
6866 return LINE(4987,(assignCallTemp(eo_0
, LINE(4985,x_array_keys(v_replacearray
))),assignCallTemp(eo_1
, LINE(4986,x_array_values(v_replacearray
))),assignCallTemp(eo_2
, v_sectionanchor
),x_str_replace(eo_0
, eo_1
, eo_2
)));
6868 /* SRC: Parser.php line 5004 */
6869 Variant
c_parser::t_stripsectionname(Variant v_text
) {
6870 INSTANCE_METHOD_INJECTION(Parser
, Parser::stripSectionName
);
6877 (v_text
= LINE(5006,x_preg_replace("/\\[\\[:\?([^[|]+)\\|([^[]+)\\]\\]/", "$2", v_text
)));
6878 (v_text
= LINE(5007,x_preg_replace("/\\[\\[:\?([^[]+)\\|\?\\]\\]/", "$1", v_text
)));
6879 (v_text
= LINE(5012,(assignCallTemp(eo_0
, (assignCallTemp(eo_4
, toString(invoke_failed("wfurlprotocols", Array(), 0x00000000BD4BD4FELL
))),concat3("/\\[(\?:", eo_4
, ")([^ ]+\?) ([^[]+)\\]/"))),assignCallTemp(eo_2
, v_text
),x_preg_replace(eo_0
, "$2", eo_2
))));
6880 (v_text
= LINE(5015,t_doquotes(v_text
)));
6881 (v_text
= LINE(5018,throw_fatal("unknown class stringutils", ((void*)NULL
))));
6884 /* SRC: Parser.php line 5022 */
6885 Variant
c_parser::t_srvus(CVarRef v_text
) {
6886 INSTANCE_METHOD_INJECTION(Parser
, Parser::srvus
);
6887 return LINE(5023,o_root_invoke_few_args("testSrvus", 0x2F64E335C4988CBDLL
, 2, v_text
, m_mOutputType
));
6889 /* SRC: Parser.php line 5029 */
6890 Variant
c_parser::t_testsrvus(Variant v_text
, Variant v_title
, CVarRef v_options
, int64 v_outputType
// = 1LL /* parser::OT_HTML */
6892 INSTANCE_METHOD_INJECTION(Parser
, Parser::testSrvus
);
6893 LINE(5030,t_clearstate());
6894 if (!((instanceOf(v_title
, "Title")))) {
6895 (v_title
= LINE(5032,throw_fatal("unknown class title", ((void*)NULL
))));
6897 (m_mTitle
= v_title
);
6898 (m_mOptions
= v_options
);
6899 LINE(5036,t_setoutputtype(v_outputType
));
6900 (v_text
= LINE(5037,t_replacevariables(v_text
)));
6901 (v_text
= LINE(5038,m_mStripState
.o_invoke_few_args("unstripBoth", 0x540C7C6FAA3D937BLL
, 1, v_text
)));
6902 (v_text
= LINE(5039,throw_fatal("unknown class sanitizer", ((void*)NULL
))));
6905 /* SRC: Parser.php line 5043 */
6906 Variant
c_parser::t_testpst(CVarRef v_text
, Variant v_title
, CVarRef v_options
) {
6907 INSTANCE_METHOD_INJECTION(Parser
, Parser::testPst
);
6908 DECLARE_GLOBAL_VARIABLES(g
);
6909 Variant
&gv_wgUser
__attribute__((__unused__
)) = g
->GV(wgUser
);
6910 if (!((instanceOf(v_title
, "Title")))) {
6911 (v_title
= LINE(5046,throw_fatal("unknown class title", ((void*)NULL
))));
6913 return LINE(5048,t_presavetransform(v_text
, v_title
, gv_wgUser
, v_options
));
6915 /* SRC: Parser.php line 5051 */
6916 Variant
c_parser::t_testpreprocess(CVarRef v_text
, Variant v_title
, CVarRef v_options
) {
6917 INSTANCE_METHOD_INJECTION(Parser
, Parser::testPreprocess
);
6918 if (!((instanceOf(v_title
, "Title")))) {
6919 (v_title
= LINE(5053,throw_fatal("unknown class title", ((void*)NULL
))));
6921 return LINE(5055,t_testsrvus(v_text
, v_title
, v_options
, 3LL /* parser::OT_PREPROCESS */));
6923 /* SRC: Parser.php line 5058 */
6924 String
c_parser::t_markerskipcallback(CVarRef v_s
, CVarRef v_callback
) {
6925 INSTANCE_METHOD_INJECTION(Parser
, Parser::markerSkipCallback
);
6930 Variant v_markerStart
;
6931 Variant v_markerEnd
;
6937 while (less(v_i
, LINE(5061,x_strlen(toString(v_s
))))) {
6938 LOOP_COUNTER_CHECK(127);
6940 (v_markerStart
= LINE(5062,x_strpos(toString(v_s
), o_get("mUniqPrefix", 0x22D00FA247E8311DLL
), toInt32(v_i
))));
6941 if (same(v_markerStart
, false)) {
6942 concat_assign(v_out
, toString(LINE(5064,(assignCallTemp(eo_0
, v_callback
),assignCallTemp(eo_1
, x_substr(toString(v_s
), toInt32(v_i
))),x_call_user_func(2, eo_0
, Array(ArrayInit(1).set(0, eo_1
).create()))))));
6946 concat_assign(v_out
, toString(LINE(5067,(assignCallTemp(eo_0
, v_callback
),assignCallTemp(eo_1
, x_substr(toString(v_s
), toInt32(v_i
), toInt32(v_markerStart
- v_i
))),x_call_user_func(2, eo_0
, Array(ArrayInit(1).set(0, eo_1
).create()))))));
6947 (v_markerEnd
= LINE(5068,x_strpos(toString(v_s
), "-QINU\177" /* parser::MARKER_SUFFIX */, toInt32(v_markerStart
))));
6948 if (same(v_markerEnd
, false)) {
6949 concat_assign(v_out
, toString(LINE(5070,x_substr(toString(v_s
), toInt32(v_markerStart
)))));
6953 v_markerEnd
+= LINE(5073,x_strlen("-QINU\177" /* parser::MARKER_SUFFIX */));
6954 concat_assign(v_out
, toString(LINE(5074,x_substr(toString(v_s
), toInt32(v_markerStart
), toInt32(v_markerEnd
- v_markerStart
)))));
6955 (v_i
= v_markerEnd
);
6963 /* SRC: Parser.php line 5082 */
6964 Variant
c_parser::t_serialisehalfparsedtext(CVarRef v_text
) {
6965 INSTANCE_METHOD_INJECTION(Parser
, Parser::serialiseHalfParsedText
);
6972 p_stripstate v_stripState
;
6974 Variant v_start_pos
;
6977 Variant v_replaceArray
;
6978 Variant v_stripText
;
6984 (v_data
= ScalarArrays::sa_
[0]);
6985 v_data
.set("text", (v_text
), 0x2A28A0084DD3A743LL
);
6986 ((Object
)((v_stripState
= ((Object
)(LINE(5088,p_stripstate(p_stripstate(NEWOBJ(c_stripstate
)())->create())))))));
6990 while ((toBoolean((v_start_pos
= LINE(5090,x_strpos(toString(v_text
), o_get("mUniqPrefix", 0x22D00FA247E8311DLL
), toInt32(v_pos
)))))) && (toBoolean((v_end_pos
= x_strpos(toString(v_text
), "-QINU\177" /* parser::MARKER_SUFFIX */, toInt32(v_pos
)))))) {
6991 LOOP_COUNTER_CHECK(128);
6993 v_end_pos
+= LINE(5091,x_strlen("-QINU\177" /* parser::MARKER_SUFFIX */));
6994 (v_marker
= LINE(5092,x_substr(toString(v_text
), toInt32(v_start_pos
), toInt32(v_end_pos
- v_start_pos
))));
6995 if (!(empty(m_mStripState
.o_get("general", 0x661B15A9C00F7127LL
).o_get("data", 0x30164401A9853128LL
), v_marker
))) {
6996 (v_replaceArray
= v_stripState
->m_general
);
6997 (v_stripText
= m_mStripState
.o_get("general", 0x661B15A9C00F7127LL
).o_get("data", 0x30164401A9853128LL
).rvalAt(v_marker
));
6999 else if (!(empty(m_mStripState
.o_get("nowiki", 0x78258C7EF69CF55DLL
).o_get("data", 0x30164401A9853128LL
), v_marker
))) {
7000 (v_replaceArray
= v_stripState
->m_nowiki
);
7001 (v_stripText
= m_mStripState
.o_get("nowiki", 0x78258C7EF69CF55DLL
).o_get("data", 0x30164401A9853128LL
).rvalAt(v_marker
));
7004 throw_exception(LINE(5101,create_object("mwexception", Array(ArrayInit(1).set(0, concat3("Hanging strip marker: '", toString(v_marker
), "'.")).create()))));
7006 LINE(5104,v_replaceArray
.o_invoke_few_args("setPair", 0x1CA93325C3BDD490LL
, 2, v_marker
, v_stripText
));
7007 (v_pos
= v_end_pos
);
7011 v_data
.set("stripstate", (((Object
)(v_stripState
))), 0x30D3F97724431EB9LL
);
7012 (v_links
= ScalarArrays::sa_
[31]);
7016 while ((toBoolean((v_start_pos
= LINE(5115,x_strpos(toString(v_text
), "<!--LINK ", toInt32(v_pos
))))))) {
7017 LOOP_COUNTER_CHECK(129);
7019 df_lambda_18(LINE(5116,(assignCallTemp(eo_1
, toString((assignCallTemp(eo_3
, toString(v_text
)),assignCallTemp(eo_4
, toInt32(v_start_pos
+ x_strlen("<!--LINK "))),x_substr(eo_3
, eo_4
)))),x_explode(":", eo_1
, toInt32(2LL)))), v_ns
, v_trail
);
7020 (v_ns
= LINE(5118,x_trim(toString(v_ns
))));
7021 if (empty(v_links
.rvalAt("internal", 0x575D95D69332A8ACLL
), v_ns
)) {
7022 lval(v_links
.lvalAt("internal", 0x575D95D69332A8ACLL
)).set(v_ns
, (ScalarArrays::sa_
[0]));
7024 (v_key
= LINE(5123,x_trim(toString((assignCallTemp(eo_0
, toString(v_trail
)),assignCallTemp(eo_2
, toInt32(x_strpos(toString(v_trail
), "-->"))),x_substr(eo_0
, toInt32(0LL), eo_2
))))));
7025 lval(lval(v_links
.lvalAt("internal", 0x575D95D69332A8ACLL
)).lvalAt(v_ns
)).append((m_mLinkHolders
.o_get("internals", 0x69A9269F8FE824A3LL
).rvalAt(v_ns
).rvalAt(v_key
)));
7026 (v_pos
= v_start_pos
+ LINE(5125,x_strlen(concat5("<!--LINK ", toString(v_ns
), ":", v_key
, "-->"))));
7033 while ((toBoolean((v_start_pos
= LINE(5131,x_strpos(toString(v_text
), "<!--IWLINK ", toInt32(v_pos
))))))) {
7034 LOOP_COUNTER_CHECK(130);
7036 (v_data
= LINE(5132,x_substr(toString(v_text
), toInt32(v_start_pos
))));
7037 (v_key
= LINE(5133,x_trim(toString((assignCallTemp(eo_0
, toString(v_data
)),assignCallTemp(eo_2
, toInt32(x_strpos(toString(v_data
), "-->"))),x_substr(eo_0
, toInt32(0LL), eo_2
))))));
7038 lval(v_links
.lvalAt("interwiki", 0x148BE9CCAAA589D7LL
)).append((m_mLinkHolders
.o_get("interwiki", 0x148BE9CCAAA589D7LL
).rvalAt(v_key
)));
7039 (v_pos
= v_start_pos
+ LINE(5135,x_strlen(concat3("<!--IWLINK ", v_key
, "-->"))));
7043 v_data
.set("linkholder", (v_links
), 0x3D463C625DB39AA4LL
);
7046 /* SRC: Parser.php line 5143 */
7047 Variant
c_parser::t_unserialisehalfparsedtext(CVarRef v_data
, Variant v_intPrefix
// = null
7049 INSTANCE_METHOD_INJECTION(Parser
, Parser::unserialiseHalfParsedText
);
7053 Variant v_stripState
;
7058 Primitive v_key
= 0;
7062 if (!(toBoolean(v_intPrefix
))) (v_intPrefix
= LINE(5145,t_getrandomstring()));
7063 (v_stripState
= v_data
.rvalAt("stripstate", 0x30D3F97724431EB9LL
));
7064 LINE(5149,m_mStripState
.o_get("general", 0x661B15A9C00F7127LL
).o_invoke_few_args("merge", 0x1C2E89C2A927FF7BLL
, 1, v_stripState
.o_lval("general", 0x661B15A9C00F7127LL
)));
7065 LINE(5150,m_mStripState
.o_get("nowiki", 0x78258C7EF69CF55DLL
).o_invoke_few_args("merge", 0x1C2E89C2A927FF7BLL
, 1, v_stripState
.o_lval("nowiki", 0x78258C7EF69CF55DLL
)));
7066 (v_text
= v_data
.rvalAt("text", 0x2A28A0084DD3A743LL
));
7067 (v_links
= v_data
.rvalAt("linkholder", 0x3D463C625DB39AA4LL
));
7070 Variant map132
= v_links
.rvalAt("internal", 0x575D95D69332A8ACLL
);
7071 for (ArrayIterPtr iter133
= map132
.begin("parser"); !iter133
->end(); iter133
->next()) {
7072 LOOP_COUNTER_CHECK(131);
7073 v_nsLinks
= iter133
->second();
7074 v_ns
= iter133
->first();
7078 for (ArrayIterPtr iter136
= v_nsLinks
.begin("parser"); !iter136
->end(); iter136
->next()) {
7079 LOOP_COUNTER_CHECK(134);
7080 v_entry
= iter136
->second();
7081 v_key
= iter136
->first();
7083 (v_newKey
= LINE(5159,concat3(toString(v_intPrefix
), "-", toString(v_key
))));
7084 lval(lval(m_mLinkHolders
.o_lval("internals", 0x69A9269F8FE824A3LL
)).lvalAt(v_ns
)).set(v_newKey
, (v_entry
));
7085 (v_text
= LINE(5162,(assignCallTemp(eo_0
, concat5("<!--LINK ", toString(v_ns
), ":", toString(v_key
), "-->")),assignCallTemp(eo_1
, concat5("<!--LINK ", toString(v_ns
), ":", v_newKey
, "-->")),assignCallTemp(eo_2
, v_text
),x_str_replace(eo_0
, eo_1
, eo_2
))));
7094 Variant map138
= v_links
.rvalAt("interwiki", 0x148BE9CCAAA589D7LL
);
7095 for (ArrayIterPtr iter139
= map138
.begin("parser"); !iter139
->end(); iter139
->next()) {
7096 LOOP_COUNTER_CHECK(137);
7097 v_entry
= iter139
->second();
7098 v_key
= iter139
->first();
7100 (v_newKey
= LINE(5168,concat3(toString(v_intPrefix
), "-", toString(v_key
))));
7101 lval(m_mLinkHolders
.o_lval("interwikis", 0x7FD8492E01593115LL
)).set(v_newKey
, (v_entry
));
7102 (v_text
= LINE(5171,(assignCallTemp(eo_0
, concat3("<!--IWLINK ", toString(v_key
), "-->")),assignCallTemp(eo_1
, concat3("<!--IWLINK ", v_newKey
, "-->")),assignCallTemp(eo_2
, v_text
),x_str_replace(eo_0
, eo_1
, eo_2
))));
7108 /* SRC: Parser.php line 5227 */
7109 Variant
c_onlyincludereplacer::os_get(const char *s
, int64 hash
) {
7110 return c_ObjectData::os_get(s
, hash
);
7112 Variant
&c_onlyincludereplacer::os_lval(const char *s
, int64 hash
) {
7113 return c_ObjectData::os_lval(s
, hash
);
7115 void c_onlyincludereplacer::o_get(ArrayElementVec
&props
) const {
7116 props
.push_back(NEW(ArrayElement
)("output", m_output
.isReferenced() ? ref(m_output
) : m_output
));
7117 c_ObjectData::o_get(props
);
7119 bool c_onlyincludereplacer::o_exists(CStrRef s
, int64 hash
) const {
7120 if (hash
< 0) hash
= hash_string(s
.data(), s
.length());
7123 HASH_EXISTS_STRING(0x6F443E367A5DBB24LL
, output
, 6);
7128 return c_ObjectData::o_exists(s
, hash
);
7130 Variant
c_onlyincludereplacer::o_get(CStrRef s
, int64 hash
) {
7131 if (hash
< 0) hash
= hash_string(s
.data(), s
.length());
7134 HASH_RETURN_STRING(0x6F443E367A5DBB24LL
, m_output
,
7140 return c_ObjectData::o_get(s
, hash
);
7142 Variant
c_onlyincludereplacer::o_set(CStrRef s
, int64 hash
, CVarRef v
,bool forInit
/* = false */) {
7143 if (hash
< 0) hash
= hash_string(s
.data(), s
.length());
7146 HASH_SET_STRING(0x6F443E367A5DBB24LL
, m_output
,
7152 return c_ObjectData::o_set(s
, hash
, v
, forInit
);
7154 Variant
&c_onlyincludereplacer::o_lval(CStrRef s
, int64 hash
) {
7155 if (hash
< 0) hash
= hash_string(s
.data(), s
.length());
7158 HASH_RETURN_STRING(0x6F443E367A5DBB24LL
, m_output
,
7164 return c_ObjectData::o_lval(s
, hash
);
7166 Variant
c_onlyincludereplacer::os_constant(const char *s
) {
7167 return c_ObjectData::os_constant(s
);
7169 IMPLEMENT_CLASS(onlyincludereplacer
)
7170 ObjectData
*c_onlyincludereplacer::cloneImpl() {
7171 c_onlyincludereplacer
*obj
= NEW(c_onlyincludereplacer
)();
7175 void c_onlyincludereplacer::cloneSet(c_onlyincludereplacer
*clone
) {
7176 clone
->m_output
= m_output
.isReferenced() ? ref(m_output
) : m_output
;
7177 ObjectData::cloneSet(clone
);
7179 Variant
c_onlyincludereplacer::o_invoke(const char *s
, CArrRef params
, int64 hash
, bool fatal
) {
7180 if (hash
< 0) hash
= hash_string_i(s
);
7183 HASH_GUARD(0x42FAC655280A6146LL
, replace
) {
7184 return (t_replace(params
.rvalAt(0)), null
);
7190 return c_ObjectData::o_invoke(s
, params
, hash
, fatal
);
7192 Variant
c_onlyincludereplacer::o_invoke_few_args(const char *s
, int64 hash
, int count
, CVarRef a0
, CVarRef a1
, CVarRef a2
, CVarRef a3
, CVarRef a4
, CVarRef a5
) {
7193 if (hash
< 0) hash
= hash_string_i(s
);
7196 HASH_GUARD(0x42FAC655280A6146LL
, replace
) {
7197 return (t_replace(a0
), null
);
7203 return c_ObjectData::o_invoke_few_args(s
, hash
, count
, a0
, a1
, a2
, a3
, a4
, a5
);
7205 Variant
c_onlyincludereplacer::os_invoke(const char *c
, const char *s
, CArrRef params
, int64 hash
, bool fatal
) {
7206 return c_ObjectData::os_invoke(c
, s
, params
, hash
, fatal
);
7208 Variant cw_onlyincludereplacer$
os_get(const char *s
) {
7209 return c_onlyincludereplacer::os_get(s
, -1);
7211 Variant
&cw_onlyincludereplacer$
os_lval(const char *s
) {
7212 return c_onlyincludereplacer::os_lval(s
, -1);
7214 Variant cw_onlyincludereplacer$
os_constant(const char *s
) {
7215 return c_onlyincludereplacer::os_constant(s
);
7217 Variant cw_onlyincludereplacer$
os_invoke(const char *c
, const char *s
, CArrRef params
, bool fatal
/* = true */) {
7218 return c_onlyincludereplacer::os_invoke(c
, s
, params
, -1, fatal
);
7220 void c_onlyincludereplacer::init() {
7223 /* SRC: Parser.php line 5230 */
7224 void c_onlyincludereplacer::t_replace(CVarRef v_matches
) {
7225 INSTANCE_METHOD_INJECTION(OnlyIncludeReplacer
, OnlyIncludeReplacer::replace
);
7226 if (same(LINE(5231,x_substr(toString(v_matches
.rvalAt(1LL, 0x5BCA7C69B794F8CELL
)), toInt32(-1LL))), "\n")) {
7227 concat_assign(m_output
, toString(LINE(5232,x_substr(toString(v_matches
.rvalAt(1LL, 0x5BCA7C69B794F8CELL
)), toInt32(0LL), toInt32(-1LL)))));
7230 concat_assign(m_output
, toString(v_matches
.rvalAt(1LL, 0x5BCA7C69B794F8CELL
)));
7233 Object
co_stripstate(CArrRef params
, bool init
/* = true */) {
7234 return Object(p_stripstate(NEW(c_stripstate
)())->dynCreate(params
, init
));
7236 Object
co_parser(CArrRef params
, bool init
/* = true */) {
7237 return Object(p_parser(NEW(c_parser
)())->dynCreate(params
, init
));
7239 Object
co_onlyincludereplacer(CArrRef params
, bool init
/* = true */) {
7240 return Object(p_onlyincludereplacer(NEW(c_onlyincludereplacer
)())->dynCreate(params
, init
));
7242 Variant pm_php$
Parser_php(bool incOnce
/* = false */, LVariableTable
* variables
/* = NULL */) {
7243 FUNCTION_INJECTION(run_init::Parser
.php
);
7245 DECLARE_GLOBAL_VARIABLES(g
);
7246 bool &alreadyRun
= g
->run_pm_php$Parser_php
;
7247 if (alreadyRun
) { if (incOnce
) return true;}
7248 else alreadyRun
= true;
7249 if (!variables
) variables
= g
;
7251 DECLARE_GLOBAL_VARIABLES(g
);
7252 LVariableTable
*gVariables
__attribute__((__unused__
)) = get_variable_table();
7256 ///////////////////////////////////////////////////////////////////////////////