Conditions | 91 |
Paths | 0 |
Total Lines | 580 |
Code Lines | 489 |
Lines | 0 |
Ratio | 0 % |
Changes | 1 | ||
Bugs | 0 | Features | 0 |
Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.
For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.
Commonly applied refactorings include:
If many parameters/temporary variables are present:
1 | <?php |
||
28 | public static function testInstall(Smarty $smarty, &$errors = null) |
||
29 | { |
||
30 | $status = true; |
||
31 | if ($errors === null) { |
||
32 | echo "<PRE>\n"; |
||
33 | echo "Smarty Installation test...\n"; |
||
34 | echo "Testing template directory...\n"; |
||
35 | } |
||
36 | $_stream_resolve_include_path = function_exists('stream_resolve_include_path'); |
||
37 | // test if all registered template_dir are accessible |
||
38 | foreach ($smarty->getTemplateDir() as $template_dir) { |
||
39 | $_template_dir = $template_dir; |
||
40 | $template_dir = realpath($template_dir); |
||
41 | // resolve include_path or fail existence |
||
42 | if (!$template_dir) { |
||
43 | if ($smarty->use_include_path && !preg_match('/^([\/\\\\]|[a-zA-Z]:[\/\\\\])/', $_template_dir)) { |
||
44 | // try PHP include_path |
||
45 | if ($_stream_resolve_include_path) { |
||
46 | $template_dir = stream_resolve_include_path($_template_dir); |
||
47 | } else { |
||
48 | $template_dir = $smarty->ext->_getIncludePath->getIncludePath($_template_dir, null, $smarty); |
||
49 | } |
||
50 | if ($template_dir !== false) { |
||
51 | if ($errors === null) { |
||
52 | echo "$template_dir is OK.\n"; |
||
53 | } |
||
54 | continue; |
||
55 | } else { |
||
56 | $status = false; |
||
57 | $message = |
||
58 | "FAILED: $_template_dir does not exist (and couldn't be found in include_path either)"; |
||
59 | if ($errors === null) { |
||
60 | echo $message . ".\n"; |
||
61 | } else { |
||
62 | $errors[ 'template_dir' ] = $message; |
||
63 | } |
||
64 | continue; |
||
65 | } |
||
66 | } else { |
||
67 | $status = false; |
||
68 | $message = "FAILED: $_template_dir does not exist"; |
||
69 | if ($errors === null) { |
||
70 | echo $message . ".\n"; |
||
71 | } else { |
||
72 | $errors[ 'template_dir' ] = $message; |
||
73 | } |
||
74 | continue; |
||
75 | } |
||
76 | } |
||
77 | if (!is_dir($template_dir)) { |
||
78 | $status = false; |
||
79 | $message = "FAILED: $template_dir is not a directory"; |
||
80 | if ($errors === null) { |
||
81 | echo $message . ".\n"; |
||
82 | } else { |
||
83 | $errors[ 'template_dir' ] = $message; |
||
84 | } |
||
85 | } elseif (!is_readable($template_dir)) { |
||
86 | $status = false; |
||
87 | $message = "FAILED: $template_dir is not readable"; |
||
88 | if ($errors === null) { |
||
89 | echo $message . ".\n"; |
||
90 | } else { |
||
91 | $errors[ 'template_dir' ] = $message; |
||
92 | } |
||
93 | } else { |
||
94 | if ($errors === null) { |
||
95 | echo "$template_dir is OK.\n"; |
||
96 | } |
||
97 | } |
||
98 | } |
||
99 | if ($errors === null) { |
||
100 | echo "Testing compile directory...\n"; |
||
101 | } |
||
102 | // test if registered compile_dir is accessible |
||
103 | $__compile_dir = $smarty->getCompileDir(); |
||
104 | $_compile_dir = realpath($__compile_dir); |
||
105 | if (!$_compile_dir) { |
||
106 | $status = false; |
||
107 | $message = "FAILED: {$__compile_dir} does not exist"; |
||
108 | if ($errors === null) { |
||
109 | echo $message . ".\n"; |
||
110 | } else { |
||
111 | $errors[ 'compile_dir' ] = $message; |
||
112 | } |
||
113 | } elseif (!is_dir($_compile_dir)) { |
||
114 | $status = false; |
||
115 | $message = "FAILED: {$_compile_dir} is not a directory"; |
||
116 | if ($errors === null) { |
||
117 | echo $message . ".\n"; |
||
118 | } else { |
||
119 | $errors[ 'compile_dir' ] = $message; |
||
120 | } |
||
121 | } elseif (!is_readable($_compile_dir)) { |
||
122 | $status = false; |
||
123 | $message = "FAILED: {$_compile_dir} is not readable"; |
||
124 | if ($errors === null) { |
||
125 | echo $message . ".\n"; |
||
126 | } else { |
||
127 | $errors[ 'compile_dir' ] = $message; |
||
128 | } |
||
129 | } elseif (!is_writable($_compile_dir)) { |
||
130 | $status = false; |
||
131 | $message = "FAILED: {$_compile_dir} is not writable"; |
||
132 | if ($errors === null) { |
||
133 | echo $message . ".\n"; |
||
134 | } else { |
||
135 | $errors[ 'compile_dir' ] = $message; |
||
136 | } |
||
137 | } else { |
||
138 | if ($errors === null) { |
||
139 | echo "{$_compile_dir} is OK.\n"; |
||
140 | } |
||
141 | } |
||
142 | if ($errors === null) { |
||
143 | echo "Testing plugins directory...\n"; |
||
144 | } |
||
145 | // test if all registered plugins_dir are accessible |
||
146 | // and if core plugins directory is still registered |
||
147 | $_core_plugins_dir = realpath(dirname(__FILE__) . '/../plugins'); |
||
148 | $_core_plugins_available = false; |
||
149 | foreach ($smarty->getPluginsDir() as $plugin_dir) { |
||
150 | $_plugin_dir = $plugin_dir; |
||
151 | $plugin_dir = realpath($plugin_dir); |
||
152 | // resolve include_path or fail existence |
||
153 | if (!$plugin_dir) { |
||
154 | if ($smarty->use_include_path && !preg_match('/^([\/\\\\]|[a-zA-Z]:[\/\\\\])/', $_plugin_dir)) { |
||
155 | // try PHP include_path |
||
156 | if ($_stream_resolve_include_path) { |
||
157 | $plugin_dir = stream_resolve_include_path($_plugin_dir); |
||
158 | } else { |
||
159 | $plugin_dir = $smarty->ext->_getIncludePath->getIncludePath($_plugin_dir, null, $smarty); |
||
160 | } |
||
161 | if ($plugin_dir !== false) { |
||
162 | if ($errors === null) { |
||
163 | echo "$plugin_dir is OK.\n"; |
||
164 | } |
||
165 | continue; |
||
166 | } else { |
||
167 | $status = false; |
||
168 | $message = "FAILED: $_plugin_dir does not exist (and couldn't be found in include_path either)"; |
||
169 | if ($errors === null) { |
||
170 | echo $message . ".\n"; |
||
171 | } else { |
||
172 | $errors[ 'plugins_dir' ] = $message; |
||
173 | } |
||
174 | continue; |
||
175 | } |
||
176 | } else { |
||
177 | $status = false; |
||
178 | $message = "FAILED: $_plugin_dir does not exist"; |
||
179 | if ($errors === null) { |
||
180 | echo $message . ".\n"; |
||
181 | } else { |
||
182 | $errors[ 'plugins_dir' ] = $message; |
||
183 | } |
||
184 | continue; |
||
185 | } |
||
186 | } |
||
187 | if (!is_dir($plugin_dir)) { |
||
188 | $status = false; |
||
189 | $message = "FAILED: $plugin_dir is not a directory"; |
||
190 | if ($errors === null) { |
||
191 | echo $message . ".\n"; |
||
192 | } else { |
||
193 | $errors[ 'plugins_dir' ] = $message; |
||
194 | } |
||
195 | } elseif (!is_readable($plugin_dir)) { |
||
196 | $status = false; |
||
197 | $message = "FAILED: $plugin_dir is not readable"; |
||
198 | if ($errors === null) { |
||
199 | echo $message . ".\n"; |
||
200 | } else { |
||
201 | $errors[ 'plugins_dir' ] = $message; |
||
202 | } |
||
203 | } elseif ($_core_plugins_dir && $_core_plugins_dir == realpath($plugin_dir)) { |
||
204 | $_core_plugins_available = true; |
||
205 | if ($errors === null) { |
||
206 | echo "$plugin_dir is OK.\n"; |
||
207 | } |
||
208 | } else { |
||
209 | if ($errors === null) { |
||
210 | echo "$plugin_dir is OK.\n"; |
||
211 | } |
||
212 | } |
||
213 | } |
||
214 | if (!$_core_plugins_available) { |
||
215 | $status = false; |
||
216 | $message = "WARNING: Smarty's own libs/plugins is not available"; |
||
217 | if ($errors === null) { |
||
218 | echo $message . ".\n"; |
||
219 | } elseif (!isset($errors[ 'plugins_dir' ])) { |
||
220 | $errors[ 'plugins_dir' ] = $message; |
||
221 | } |
||
222 | } |
||
223 | if ($errors === null) { |
||
224 | echo "Testing cache directory...\n"; |
||
225 | } |
||
226 | // test if all registered cache_dir is accessible |
||
227 | $__cache_dir = $smarty->getCacheDir(); |
||
228 | $_cache_dir = realpath($__cache_dir); |
||
229 | if (!$_cache_dir) { |
||
230 | $status = false; |
||
231 | $message = "FAILED: {$__cache_dir} does not exist"; |
||
232 | if ($errors === null) { |
||
233 | echo $message . ".\n"; |
||
234 | } else { |
||
235 | $errors[ 'cache_dir' ] = $message; |
||
236 | } |
||
237 | } elseif (!is_dir($_cache_dir)) { |
||
238 | $status = false; |
||
239 | $message = "FAILED: {$_cache_dir} is not a directory"; |
||
240 | if ($errors === null) { |
||
241 | echo $message . ".\n"; |
||
242 | } else { |
||
243 | $errors[ 'cache_dir' ] = $message; |
||
244 | } |
||
245 | } elseif (!is_readable($_cache_dir)) { |
||
246 | $status = false; |
||
247 | $message = "FAILED: {$_cache_dir} is not readable"; |
||
248 | if ($errors === null) { |
||
249 | echo $message . ".\n"; |
||
250 | } else { |
||
251 | $errors[ 'cache_dir' ] = $message; |
||
252 | } |
||
253 | } elseif (!is_writable($_cache_dir)) { |
||
254 | $status = false; |
||
255 | $message = "FAILED: {$_cache_dir} is not writable"; |
||
256 | if ($errors === null) { |
||
257 | echo $message . ".\n"; |
||
258 | } else { |
||
259 | $errors[ 'cache_dir' ] = $message; |
||
260 | } |
||
261 | } else { |
||
262 | if ($errors === null) { |
||
263 | echo "{$_cache_dir} is OK.\n"; |
||
264 | } |
||
265 | } |
||
266 | if ($errors === null) { |
||
267 | echo "Testing configs directory...\n"; |
||
268 | } |
||
269 | // test if all registered config_dir are accessible |
||
270 | foreach ($smarty->getConfigDir() as $config_dir) { |
||
271 | $_config_dir = $config_dir; |
||
272 | // resolve include_path or fail existence |
||
273 | if (!$config_dir) { |
||
274 | if ($smarty->use_include_path && !preg_match('/^([\/\\\\]|[a-zA-Z]:[\/\\\\])/', $_config_dir)) { |
||
275 | // try PHP include_path |
||
276 | if ($_stream_resolve_include_path) { |
||
277 | $config_dir = stream_resolve_include_path($_config_dir); |
||
278 | } else { |
||
279 | $config_dir = $smarty->ext->_getIncludePath->getIncludePath($_config_dir, null, $smarty); |
||
280 | } |
||
281 | if ($config_dir !== false) { |
||
282 | if ($errors === null) { |
||
283 | echo "$config_dir is OK.\n"; |
||
284 | } |
||
285 | continue; |
||
286 | } else { |
||
287 | $status = false; |
||
288 | $message = "FAILED: $_config_dir does not exist (and couldn't be found in include_path either)"; |
||
289 | if ($errors === null) { |
||
290 | echo $message . ".\n"; |
||
291 | } else { |
||
292 | $errors[ 'config_dir' ] = $message; |
||
293 | } |
||
294 | continue; |
||
295 | } |
||
296 | } else { |
||
297 | $status = false; |
||
298 | $message = "FAILED: $_config_dir does not exist"; |
||
299 | if ($errors === null) { |
||
300 | echo $message . ".\n"; |
||
301 | } else { |
||
302 | $errors[ 'config_dir' ] = $message; |
||
303 | } |
||
304 | continue; |
||
305 | } |
||
306 | } |
||
307 | if (!is_dir($config_dir)) { |
||
308 | $status = false; |
||
309 | $message = "FAILED: $config_dir is not a directory"; |
||
310 | if ($errors === null) { |
||
311 | echo $message . ".\n"; |
||
312 | } else { |
||
313 | $errors[ 'config_dir' ] = $message; |
||
314 | } |
||
315 | } elseif (!is_readable($config_dir)) { |
||
316 | $status = false; |
||
317 | $message = "FAILED: $config_dir is not readable"; |
||
318 | if ($errors === null) { |
||
319 | echo $message . ".\n"; |
||
320 | } else { |
||
321 | $errors[ 'config_dir' ] = $message; |
||
322 | } |
||
323 | } else { |
||
324 | if ($errors === null) { |
||
325 | echo "$config_dir is OK.\n"; |
||
326 | } |
||
327 | } |
||
328 | } |
||
329 | if ($errors === null) { |
||
330 | echo "Testing sysplugin files...\n"; |
||
331 | } |
||
332 | // test if sysplugins are available |
||
333 | $source = SMARTY_SYSPLUGINS_DIR; |
||
334 | if (is_dir($source)) { |
||
335 | $expectedSysplugins = array( |
||
336 | 'smartycompilerexception.php' => true, |
||
337 | 'smartyexception.php' => true, |
||
338 | 'smarty_cacheresource.php' => true, |
||
339 | 'smarty_cacheresource_custom.php' => true, |
||
340 | 'smarty_cacheresource_keyvaluestore.php' => true, |
||
341 | 'smarty_data.php' => true, |
||
342 | 'smarty_internal_block.php' => true, |
||
343 | 'smarty_internal_cacheresource_file.php' => true, |
||
344 | 'smarty_internal_compilebase.php' => true, |
||
345 | 'smarty_internal_compile_append.php' => true, |
||
346 | 'smarty_internal_compile_assign.php' => true, |
||
347 | 'smarty_internal_compile_block.php' => true, |
||
348 | 'smarty_internal_compile_block_child.php' => true, |
||
349 | 'smarty_internal_compile_block_parent.php' => true, |
||
350 | 'smarty_internal_compile_child.php' => true, |
||
351 | 'smarty_internal_compile_parent.php' => true, |
||
352 | 'smarty_internal_compile_break.php' => true, |
||
353 | 'smarty_internal_compile_call.php' => true, |
||
354 | 'smarty_internal_compile_capture.php' => true, |
||
355 | 'smarty_internal_compile_config_load.php' => true, |
||
356 | 'smarty_internal_compile_continue.php' => true, |
||
357 | 'smarty_internal_compile_debug.php' => true, |
||
358 | 'smarty_internal_compile_eval.php' => true, |
||
359 | 'smarty_internal_compile_extends.php' => true, |
||
360 | 'smarty_internal_compile_for.php' => true, |
||
361 | 'smarty_internal_compile_foreach.php' => true, |
||
362 | 'smarty_internal_compile_function.php' => true, |
||
363 | 'smarty_internal_compile_if.php' => true, |
||
364 | 'smarty_internal_compile_include.php' => true, |
||
365 | 'smarty_internal_compile_include_php.php' => true, |
||
366 | 'smarty_internal_compile_insert.php' => true, |
||
367 | 'smarty_internal_compile_ldelim.php' => true, |
||
368 | 'smarty_internal_compile_make_nocache.php' => true, |
||
369 | 'smarty_internal_compile_nocache.php' => true, |
||
370 | 'smarty_internal_compile_private_block_plugin.php' => true, |
||
371 | 'smarty_internal_compile_private_foreachsection.php' => true, |
||
372 | 'smarty_internal_compile_private_function_plugin.php' => true, |
||
373 | 'smarty_internal_compile_private_modifier.php' => true, |
||
374 | 'smarty_internal_compile_private_object_block_function.php' => true, |
||
375 | 'smarty_internal_compile_private_object_function.php' => true, |
||
376 | 'smarty_internal_compile_private_php.php' => true, |
||
377 | 'smarty_internal_compile_private_print_expression.php' => true, |
||
378 | 'smarty_internal_compile_private_registered_block.php' => true, |
||
379 | 'smarty_internal_compile_private_registered_function.php' => true, |
||
380 | 'smarty_internal_compile_private_special_variable.php' => true, |
||
381 | 'smarty_internal_compile_rdelim.php' => true, |
||
382 | 'smarty_internal_compile_section.php' => true, |
||
383 | 'smarty_internal_compile_setfilter.php' => true, |
||
384 | 'smarty_internal_compile_shared_inheritance.php' => true, |
||
385 | 'smarty_internal_compile_while.php' => true, |
||
386 | 'smarty_internal_configfilelexer.php' => true, |
||
387 | 'smarty_internal_configfileparser.php' => true, |
||
388 | 'smarty_internal_config_file_compiler.php' => true, |
||
389 | 'smarty_internal_data.php' => true, |
||
390 | 'smarty_internal_debug.php' => true, |
||
391 | 'smarty_internal_errorhandler.php' => true, |
||
392 | 'smarty_internal_extension_handler.php' => true, |
||
393 | 'smarty_internal_method_addautoloadfilters.php' => true, |
||
394 | 'smarty_internal_method_adddefaultmodifiers.php' => true, |
||
395 | 'smarty_internal_method_append.php' => true, |
||
396 | 'smarty_internal_method_appendbyref.php' => true, |
||
397 | 'smarty_internal_method_assignbyref.php' => true, |
||
398 | 'smarty_internal_method_assignglobal.php' => true, |
||
399 | 'smarty_internal_method_clearallassign.php' => true, |
||
400 | 'smarty_internal_method_clearallcache.php' => true, |
||
401 | 'smarty_internal_method_clearassign.php' => true, |
||
402 | 'smarty_internal_method_clearcache.php' => true, |
||
403 | 'smarty_internal_method_clearcompiledtemplate.php' => true, |
||
404 | 'smarty_internal_method_clearconfig.php' => true, |
||
405 | 'smarty_internal_method_compileallconfig.php' => true, |
||
406 | 'smarty_internal_method_compilealltemplates.php' => true, |
||
407 | 'smarty_internal_method_configload.php' => true, |
||
408 | 'smarty_internal_method_createdata.php' => true, |
||
409 | 'smarty_internal_method_getautoloadfilters.php' => true, |
||
410 | 'smarty_internal_method_getconfigvariable.php' => true, |
||
411 | 'smarty_internal_method_getconfigvars.php' => true, |
||
412 | 'smarty_internal_method_getdebugtemplate.php' => true, |
||
413 | 'smarty_internal_method_getdefaultmodifiers.php' => true, |
||
414 | 'smarty_internal_method_getglobal.php' => true, |
||
415 | 'smarty_internal_method_getregisteredobject.php' => true, |
||
416 | 'smarty_internal_method_getstreamvariable.php' => true, |
||
417 | 'smarty_internal_method_gettags.php' => true, |
||
418 | 'smarty_internal_method_gettemplatevars.php' => true, |
||
419 | 'smarty_internal_method_literals.php' => true, |
||
420 | 'smarty_internal_method_loadfilter.php' => true, |
||
421 | 'smarty_internal_method_loadplugin.php' => true, |
||
422 | 'smarty_internal_method_mustcompile.php' => true, |
||
423 | 'smarty_internal_method_registercacheresource.php' => true, |
||
424 | 'smarty_internal_method_registerclass.php' => true, |
||
425 | 'smarty_internal_method_registerdefaultconfighandler.php' => true, |
||
426 | 'smarty_internal_method_registerdefaultpluginhandler.php' => true, |
||
427 | 'smarty_internal_method_registerdefaulttemplatehandler.php' => true, |
||
428 | 'smarty_internal_method_registerfilter.php' => true, |
||
429 | 'smarty_internal_method_registerobject.php' => true, |
||
430 | 'smarty_internal_method_registerplugin.php' => true, |
||
431 | 'smarty_internal_method_registerresource.php' => true, |
||
432 | 'smarty_internal_method_setautoloadfilters.php' => true, |
||
433 | 'smarty_internal_method_setdebugtemplate.php' => true, |
||
434 | 'smarty_internal_method_setdefaultmodifiers.php' => true, |
||
435 | 'smarty_internal_method_unloadfilter.php' => true, |
||
436 | 'smarty_internal_method_unregistercacheresource.php' => true, |
||
437 | 'smarty_internal_method_unregisterfilter.php' => true, |
||
438 | 'smarty_internal_method_unregisterobject.php' => true, |
||
439 | 'smarty_internal_method_unregisterplugin.php' => true, |
||
440 | 'smarty_internal_method_unregisterresource.php' => true, |
||
441 | 'smarty_internal_nocache_insert.php' => true, |
||
442 | 'smarty_internal_parsetree.php' => true, |
||
443 | 'smarty_internal_parsetree_code.php' => true, |
||
444 | 'smarty_internal_parsetree_dq.php' => true, |
||
445 | 'smarty_internal_parsetree_dqcontent.php' => true, |
||
446 | 'smarty_internal_parsetree_tag.php' => true, |
||
447 | 'smarty_internal_parsetree_template.php' => true, |
||
448 | 'smarty_internal_parsetree_text.php' => true, |
||
449 | 'smarty_internal_resource_eval.php' => true, |
||
450 | 'smarty_internal_resource_extends.php' => true, |
||
451 | 'smarty_internal_resource_file.php' => true, |
||
452 | 'smarty_internal_resource_php.php' => true, |
||
453 | 'smarty_internal_resource_registered.php' => true, |
||
454 | 'smarty_internal_resource_stream.php' => true, |
||
455 | 'smarty_internal_resource_string.php' => true, |
||
456 | 'smarty_internal_runtime_cachemodify.php' => true, |
||
457 | 'smarty_internal_runtime_cacheresourcefile.php' => true, |
||
458 | 'smarty_internal_runtime_capture.php' => true, |
||
459 | 'smarty_internal_runtime_codeframe.php' => true, |
||
460 | 'smarty_internal_runtime_filterhandler.php' => true, |
||
461 | 'smarty_internal_runtime_foreach.php' => true, |
||
462 | 'smarty_internal_runtime_getincludepath.php' => true, |
||
463 | 'smarty_internal_runtime_inheritance.php' => true, |
||
464 | 'smarty_internal_runtime_make_nocache.php' => true, |
||
465 | 'smarty_internal_runtime_tplfunction.php' => true, |
||
466 | 'smarty_internal_runtime_updatecache.php' => true, |
||
467 | 'smarty_internal_runtime_updatescope.php' => true, |
||
468 | 'smarty_internal_runtime_writefile.php' => true, |
||
469 | 'smarty_internal_smartytemplatecompiler.php' => true, |
||
470 | 'smarty_internal_template.php' => true, |
||
471 | 'smarty_internal_templatebase.php' => true, |
||
472 | 'smarty_internal_templatecompilerbase.php' => true, |
||
473 | 'smarty_internal_templatelexer.php' => true, |
||
474 | 'smarty_internal_templateparser.php' => true, |
||
475 | 'smarty_internal_testinstall.php' => true, |
||
476 | 'smarty_internal_undefined.php' => true, |
||
477 | 'smarty_resource.php' => true, |
||
478 | 'smarty_resource_custom.php' => true, |
||
479 | 'smarty_resource_recompiled.php' => true, |
||
480 | 'smarty_resource_uncompiled.php' => true, |
||
481 | 'smarty_security.php' => true, |
||
482 | 'smarty_template_cached.php' => true, |
||
483 | 'smarty_template_compiled.php' => true, |
||
484 | 'smarty_template_config.php' => true, |
||
485 | 'smarty_template_resource_base.php' => true, |
||
486 | 'smarty_template_source.php' => true, |
||
487 | 'smarty_undefined_variable.php' => true, |
||
488 | 'smarty_variable.php' => true, |
||
489 | ); |
||
490 | $iterator = new DirectoryIterator($source); |
||
491 | foreach ($iterator as $file) { |
||
492 | if (!$file->isDot()) { |
||
493 | $filename = $file->getFilename(); |
||
494 | if (isset($expectedSysplugins[ $filename ])) { |
||
495 | unset($expectedSysplugins[ $filename ]); |
||
496 | } |
||
497 | } |
||
498 | } |
||
499 | if ($expectedSysplugins) { |
||
500 | $status = false; |
||
501 | $message = "FAILED: files missing from libs/sysplugins: " . join(', ', array_keys($expectedSysplugins)); |
||
502 | if ($errors === null) { |
||
503 | echo $message . ".\n"; |
||
504 | } else { |
||
505 | $errors[ 'sysplugins' ] = $message; |
||
506 | } |
||
507 | } elseif ($errors === null) { |
||
508 | echo "... OK\n"; |
||
509 | } |
||
510 | } else { |
||
511 | $status = false; |
||
512 | $message = "FAILED: " . SMARTY_SYSPLUGINS_DIR . ' is not a directory'; |
||
513 | if ($errors === null) { |
||
514 | echo $message . ".\n"; |
||
515 | } else { |
||
516 | $errors[ 'sysplugins_dir_constant' ] = $message; |
||
517 | } |
||
518 | } |
||
519 | if ($errors === null) { |
||
520 | echo "Testing plugin files...\n"; |
||
521 | } |
||
522 | // test if core plugins are available |
||
523 | $source = SMARTY_PLUGINS_DIR; |
||
524 | if (is_dir($source)) { |
||
525 | $expectedPlugins = array( |
||
526 | 'block.textformat.php' => true, |
||
527 | 'function.counter.php' => true, |
||
528 | 'function.cycle.php' => true, |
||
529 | 'function.fetch.php' => true, |
||
530 | 'function.html_checkboxes.php' => true, |
||
531 | 'function.html_image.php' => true, |
||
532 | 'function.html_options.php' => true, |
||
533 | 'function.html_radios.php' => true, |
||
534 | 'function.html_select_date.php' => true, |
||
535 | 'function.html_select_time.php' => true, |
||
536 | 'function.html_table.php' => true, |
||
537 | 'function.mailto.php' => true, |
||
538 | 'function.math.php' => true, |
||
539 | 'modifier.capitalize.php' => true, |
||
540 | 'modifier.date_format.php' => true, |
||
541 | 'modifier.debug_print_var.php' => true, |
||
542 | 'modifier.escape.php' => true, |
||
543 | 'modifier.mb_wordwrap.php' => true, |
||
544 | 'modifier.regex_replace.php' => true, |
||
545 | 'modifier.replace.php' => true, |
||
546 | 'modifier.spacify.php' => true, |
||
547 | 'modifier.truncate.php' => true, |
||
548 | 'modifiercompiler.cat.php' => true, |
||
549 | 'modifiercompiler.count_characters.php' => true, |
||
550 | 'modifiercompiler.count_paragraphs.php' => true, |
||
551 | 'modifiercompiler.count_sentences.php' => true, |
||
552 | 'modifiercompiler.count_words.php' => true, |
||
553 | 'modifiercompiler.default.php' => true, |
||
554 | 'modifiercompiler.escape.php' => true, |
||
555 | 'modifiercompiler.from_charset.php' => true, |
||
556 | 'modifiercompiler.indent.php' => true, |
||
557 | 'modifiercompiler.lower.php' => true, |
||
558 | 'modifiercompiler.noprint.php' => true, |
||
559 | 'modifiercompiler.string_format.php' => true, |
||
560 | 'modifiercompiler.strip.php' => true, |
||
561 | 'modifiercompiler.strip_tags.php' => true, |
||
562 | 'modifiercompiler.to_charset.php' => true, |
||
563 | 'modifiercompiler.unescape.php' => true, |
||
564 | 'modifiercompiler.upper.php' => true, |
||
565 | 'modifiercompiler.wordwrap.php' => true, |
||
566 | 'outputfilter.trimwhitespace.php' => true, |
||
567 | 'shared.escape_special_chars.php' => true, |
||
568 | 'shared.literal_compiler_param.php' => true, |
||
569 | 'shared.make_timestamp.php' => true, |
||
570 | 'shared.mb_str_replace.php' => true, |
||
571 | 'shared.mb_unicode.php' => true, |
||
572 | 'variablefilter.htmlspecialchars.php' => true, |
||
573 | ); |
||
574 | $iterator = new DirectoryIterator($source); |
||
575 | foreach ($iterator as $file) { |
||
576 | if (!$file->isDot()) { |
||
577 | $filename = $file->getFilename(); |
||
578 | if (isset($expectedPlugins[ $filename ])) { |
||
579 | unset($expectedPlugins[ $filename ]); |
||
580 | } |
||
581 | } |
||
582 | } |
||
583 | if ($expectedPlugins) { |
||
584 | $status = false; |
||
585 | $message = "FAILED: files missing from libs/plugins: " . join(', ', array_keys($expectedPlugins)); |
||
586 | if ($errors === null) { |
||
587 | echo $message . ".\n"; |
||
588 | } else { |
||
589 | $errors[ 'plugins' ] = $message; |
||
590 | } |
||
591 | } elseif ($errors === null) { |
||
592 | echo "... OK\n"; |
||
593 | } |
||
594 | } else { |
||
595 | $status = false; |
||
596 | $message = "FAILED: " . SMARTY_PLUGINS_DIR . ' is not a directory'; |
||
597 | if ($errors === null) { |
||
598 | echo $message . ".\n"; |
||
599 | } else { |
||
600 | $errors[ 'plugins_dir_constant' ] = $message; |
||
601 | } |
||
602 | } |
||
603 | if ($errors === null) { |
||
604 | echo "Tests complete.\n"; |
||
605 | echo "</PRE>\n"; |
||
606 | } |
||
607 | return $status; |
||
608 | } |
||
610 |