3 #include <cpp/ext/ext.h>
6 ///////////////////////////////////////////////////////////////////////////////
10 /* SRC: Tidy.php line 12 */
11 Variant
c_mwtidy::os_get(const char *s
, int64 hash
) {
12 return c_ObjectData::os_get(s
, hash
);
14 Variant
&c_mwtidy::os_lval(const char *s
, int64 hash
) {
15 return c_ObjectData::os_lval(s
, hash
);
17 void c_mwtidy::o_get(ArrayElementVec
&props
) const {
18 c_ObjectData::o_get(props
);
20 bool c_mwtidy::o_exists(CStrRef s
, int64 hash
) const {
21 return c_ObjectData::o_exists(s
, hash
);
23 Variant
c_mwtidy::o_get(CStrRef s
, int64 hash
) {
24 return c_ObjectData::o_get(s
, hash
);
26 Variant
c_mwtidy::o_set(CStrRef s
, int64 hash
, CVarRef v
,bool forInit
/* = false */) {
27 return c_ObjectData::o_set(s
, hash
, v
, forInit
);
29 Variant
&c_mwtidy::o_lval(CStrRef s
, int64 hash
) {
30 return c_ObjectData::o_lval(s
, hash
);
32 Variant
c_mwtidy::os_constant(const char *s
) {
33 return c_ObjectData::os_constant(s
);
35 IMPLEMENT_CLASS(mwtidy
)
36 ObjectData
*c_mwtidy::cloneImpl() {
37 c_mwtidy
*obj
= NEW(c_mwtidy
)();
41 void c_mwtidy::cloneSet(c_mwtidy
*clone
) {
42 ObjectData::cloneSet(clone
);
44 Variant
c_mwtidy::o_invoke(const char *s
, CArrRef params
, int64 hash
, bool fatal
) {
45 return c_ObjectData::o_invoke(s
, params
, hash
, fatal
);
47 Variant
c_mwtidy::o_invoke_few_args(const char *s
, int64 hash
, int count
, CVarRef a0
, CVarRef a1
, CVarRef a2
, CVarRef a3
, CVarRef a4
, CVarRef a5
) {
48 return c_ObjectData::o_invoke_few_args(s
, hash
, count
, a0
, a1
, a2
, a3
, a4
, a5
);
50 Variant
c_mwtidy::os_invoke(const char *c
, const char *s
, CArrRef params
, int64 hash
, bool fatal
) {
51 return c_ObjectData::os_invoke(c
, s
, params
, hash
, fatal
);
53 Variant cw_mwtidy$
os_get(const char *s
) {
54 return c_mwtidy::os_get(s
, -1);
56 Variant
&cw_mwtidy$
os_lval(const char *s
) {
57 return c_mwtidy::os_lval(s
, -1);
59 Variant cw_mwtidy$
os_constant(const char *s
) {
60 return c_mwtidy::os_constant(s
);
62 Variant cw_mwtidy$
os_invoke(const char *c
, const char *s
, CArrRef params
, bool fatal
/* = true */) {
63 return c_mwtidy::os_invoke(c
, s
, params
, -1, fatal
);
65 void c_mwtidy::init() {
67 /* SRC: Tidy.php line 22 */
68 Variant
c_mwtidy::ti_tidy(const char* cls
, CVarRef v_text
) {
69 STATIC_METHOD_INJECTION(MWTidy
, MWTidy::tidy
);
70 DECLARE_GLOBAL_VARIABLES(g
);
71 Variant
&gv_wgTidyInternal
__attribute__((__unused__
)) = g
->GV(wgTidyInternal
);
72 Variant v_wrappedtext
;
73 Variant v_correctedtext
;
75 (v_wrappedtext
= LINE(27,concat3("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"><html><head><title>test</title></head><body>", toString(v_text
), "</body></html>")));
76 (v_wrappedtext
= LINE(30,x_str_replace("\t", "	", v_wrappedtext
)));
77 if (toBoolean(gv_wgTidyInternal
)) {
78 (v_correctedtext
= LINE(33,c_mwtidy::t_execinternaltidy(v_wrappedtext
)));
81 (v_correctedtext
= LINE(35,c_mwtidy::t_execexternaltidy(v_wrappedtext
)));
83 if (LINE(37,x_is_null(v_correctedtext
))) {
84 LINE(38,invoke_failed("wfdebug", Array(ArrayInit(1).set(0, "Tidy error detected!\n").create()), 0x00000000E441E905LL
));
85 return concat(toString(v_text
), "\n<!-- Tidy found serious XHTML errors -->\n");
87 (v_correctedtext
= LINE(43,x_str_replace("	", "\t", v_correctedtext
)));
88 return v_correctedtext
;
90 /* SRC: Tidy.php line 55 */
91 bool c_mwtidy::ti_checkerrors(const char* cls
, CVarRef v_text
, Variant v_errorStr
// = null
93 STATIC_METHOD_INJECTION(MWTidy
, MWTidy::checkErrors
);
94 DECLARE_GLOBAL_VARIABLES(g
);
95 Variant
&gv_wgTidyInternal
__attribute__((__unused__
)) = g
->GV(wgTidyInternal
);
99 if (toBoolean(gv_wgTidyInternal
)) {
100 (v_errorStr
= LINE(60,c_mwtidy::t_execinternaltidy(v_text
, true, ref(v_retval
))));
103 (v_errorStr
= LINE(62,c_mwtidy::t_execexternaltidy(v_text
, true, ref(v_retval
))));
105 return (less(v_retval
, 0LL) && equal(v_errorStr
, "")) || equal(v_retval
, 0LL);
107 /* SRC: Tidy.php line 76 */
108 Variant
c_mwtidy::ti_execexternaltidy(const char* cls
, CVarRef v_text
, bool v_stderr
// = false
109 , Variant v_retval
// = null
111 STATIC_METHOD_INJECTION(MWTidy
, MWTidy::execExternalTidy
);
115 DECLARE_GLOBAL_VARIABLES(g
);
116 Variant
&gv_wgTidyConf
__attribute__((__unused__
)) = g
->GV(wgTidyConf
);
117 Variant
&gv_wgTidyBin
__attribute__((__unused__
)) = g
->GV(wgTidyBin
);
118 Variant
&gv_wgTidyOpts
__attribute__((__unused__
)) = g
->GV(wgTidyOpts
);
119 String v_cleansource
;
121 Array v_descriptorspec
;
122 int64 v_readpipe
= 0;
128 LINE(78,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "MWTidy::execExternalTidy").create()), 0x0000000075359BAFLL
));
129 (v_cleansource
= "");
132 (v_descriptorspec
= Array(ArrayInit(3).set(0, 0LL, ScalarArrays::sa_
[37], 0x77CFA1EEF01BCA90LL
).set(1, 1LL, (assignCallTemp(eo_1
, LINE(86,invoke_failed("wfgetnull", Array(), 0x0000000057801CCBLL
))),Array(ArrayInit(3).set(0, "file").set(1, eo_1
).set(2, "a").create())), 0x5BCA7C69B794F8CELL
).set(2, 2LL, ScalarArrays::sa_
[38], 0x486AFCC090D5F98CLL
).create()));
135 (v_descriptorspec
= Array(ArrayInit(3).set(0, 0LL, ScalarArrays::sa_
[37], 0x77CFA1EEF01BCA90LL
).set(1, 1LL, ScalarArrays::sa_
[38], 0x5BCA7C69B794F8CELL
).set(2, 2LL, (assignCallTemp(eo_1
, LINE(93,invoke_failed("wfgetnull", Array(), 0x0000000057801CCBLL
))),Array(ArrayInit(3).set(0, "file").set(1, eo_1
).set(2, "a").create())), 0x486AFCC090D5F98CLL
).create()));
137 (v_readpipe
= v_stderr
? ((2LL)) : ((1LL)));
138 (v_pipes
= ScalarArrays::sa_
[0]);
140 (v_process
= LINE(101,(assignCallTemp(eo_0
, concat6(toString(gv_wgTidyBin
), " -config ", toString(gv_wgTidyConf
), " ", toString(gv_wgTidyOpts
), v_opts
)),assignCallTemp(eo_1
, v_descriptorspec
),assignCallTemp(eo_2
, ref(v_pipes
)),x_proc_open(eo_0
, eo_1
, eo_2
))));
141 if (LINE(102,x_is_resource(v_process
))) {
142 LINE(108,x_fwrite(toObject(v_pipes
.rvalAt(0LL, 0x77CFA1EEF01BCA90LL
)), toString(v_text
)));
143 LINE(109,x_fclose(toObject(v_pipes
.rvalAt(0LL, 0x77CFA1EEF01BCA90LL
))));
146 while (!(LINE(110,x_feof(toObject(v_pipes
.rvalAt(v_readpipe
)))))) {
147 LOOP_COUNTER_CHECK(1);
149 concat_assign(v_cleansource
, toString(LINE(111,x_fgets(toObject(v_pipes
.rvalAt(v_readpipe
)), 1024LL))));
153 LINE(113,x_fclose(toObject(v_pipes
.rvalAt(v_readpipe
))));
154 (v_retval
= LINE(114,x_proc_close(toObject(v_process
))));
160 LINE(122,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "MWTidy::execExternalTidy").create()), 0x00000000B599F276LL
));
161 if (!(v_stderr
) && equal(v_cleansource
, "") && !equal(v_text
, "")) {
165 return v_cleansource
;
169 /* SRC: Tidy.php line 139 */
170 Variant
c_mwtidy::ti_execinternaltidy(const char* cls
, Variant v_text
, bool v_stderr
// = false
171 , Variant v_retval
// = null
173 STATIC_METHOD_INJECTION(MWTidy
, MWTidy::execInternalTidy
);
177 DECLARE_GLOBAL_VARIABLES(g
);
178 Variant
&gv_wgTidyConf
__attribute__((__unused__
)) = g
->GV(wgTidyConf
);
179 Variant
&gv_IP
__attribute__((__unused__
)) = g
->GV(IP
);
180 Variant
&gv_wgDebugTidy
__attribute__((__unused__
)) = g
->GV(wgDebugTidy
);
182 Variant v_cleansource
;
186 LINE(141,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "MWTidy::execInternalTidy").create()), 0x0000000075359BAFLL
));
187 (v_tidy
= LINE(143,create_object("tidy", Array())));
188 LINE(144,v_tidy
.o_invoke_few_args("parseString", 0x612A19C517BCBA54LL
, 3, v_text
, gv_wgTidyConf
, "utf8"));
190 (v_retval
= LINE(147,v_tidy
.o_invoke_few_args("getStatus", 0x289EEF4F945EB30CLL
, 0)));
191 return v_tidy
.o_get("errorBuffer", 0x467F2F6CD0CD2BC2LL
);
194 LINE(150,v_tidy
.o_invoke_few_args("cleanRepair", 0x60D559FEBDDD2806LL
, 0));
195 (v_retval
= LINE(151,v_tidy
.o_invoke_few_args("getStatus", 0x289EEF4F945EB30CLL
, 0)));
196 if (equal(v_retval
, 2LL)) {
197 setNull(v_cleansource
);
200 (v_cleansource
= LINE(157,invoke_failed("tidy_get_output", Array(ArrayInit(1).set(0, ref(v_tidy
)).create()), 0x000000008D6FC8B2LL
)));
202 if (toBoolean(gv_wgDebugTidy
) && more(v_retval
, 0LL)) {
203 concat_assign(v_cleansource
, LINE(162,(assignCallTemp(eo_1
, toString(LINE(161,x_str_replace("-->", "-->", v_tidy
.o_get("errorBuffer", 0x467F2F6CD0CD2BC2LL
))))),concat3("<!--\nTidy reports:\n", eo_1
, "\n-->"))));
205 LINE(165,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "MWTidy::execInternalTidy").create()), 0x00000000B599F276LL
));
206 return v_cleansource
;
210 Object
co_mwtidy(CArrRef params
, bool init
/* = true */) {
211 return Object(p_mwtidy(NEW(c_mwtidy
)())->dynCreate(params
, init
));
213 Variant pm_php$
Tidy_php(bool incOnce
/* = false */, LVariableTable
* variables
/* = NULL */) {
214 FUNCTION_INJECTION(run_init::Tidy
.php
);
216 DECLARE_GLOBAL_VARIABLES(g
);
217 bool &alreadyRun
= g
->run_pm_php$Tidy_php
;
218 if (alreadyRun
) { if (incOnce
) return true;}
219 else alreadyRun
= true;
220 if (!variables
) variables
= g
;
222 DECLARE_GLOBAL_VARIABLES(g
);
223 LVariableTable
*gVariables
__attribute__((__unused__
)) = get_variable_table();
227 ///////////////////////////////////////////////////////////////////////////////