From f711eda685db36f1d9b8c0e2073b0bef5db2800e Mon Sep 17 00:00:00 2001 From: Chuck Scott Date: Tue, 20 Nov 2018 15:11:06 -0500 Subject: [PATCH] Updated Smarty Templates to 3.1.33 due to use of "each()" in older copy. The PHP each() function is being depricated. --- lib/Smarty-3.1.21/libs/Smarty.class.php | 1680 ------ .../libs/plugins/function.counter.php | 78 - .../libs/plugins/function.cycle.php | 107 - .../libs/plugins/function.html_checkboxes.php | 237 - .../libs/plugins/function.math.php | 91 - .../libs/plugins/modifier.capitalize.php | 90 - .../plugins/modifiercompiler.unescape.php | 50 - .../plugins/modifiercompiler.wordwrap.php | 47 - .../plugins/outputfilter.trimwhitespace.php | 90 - .../plugins/shared.escape_special_chars.php | 53 - .../libs/plugins/shared.mb_wordwrap.php | 73 - .../libs/sysplugins/smarty_cacheresource.php | 442 -- .../libs/sysplugins/smarty_config_source.php | 94 - .../smarty_internal_cacheresource_file.php | 297 -- .../smarty_internal_compile_assign.php | 86 - .../smarty_internal_compile_block.php | 444 -- .../smarty_internal_compile_break.php | 75 - .../smarty_internal_compile_call.php | 127 - .../smarty_internal_compile_capture.php | 96 - .../smarty_internal_compile_continue.php | 75 - .../smarty_internal_compile_extends.php | 85 - .../smarty_internal_compile_for.php | 145 - .../smarty_internal_compile_foreach.php | 229 - .../smarty_internal_compile_function.php | 162 - .../sysplugins/smarty_internal_compile_if.php | 210 - .../smarty_internal_compile_include.php | 265 - ..._internal_compile_private_block_plugin.php | 85 - ...arty_internal_compile_private_modifier.php | 139 - ..._compile_private_object_block_function.php | 86 - ...ternal_compile_private_object_function.php | 84 - ...ernal_compile_private_print_expression.php | 151 - ...ernal_compile_private_registered_block.php | 111 - ...al_compile_private_registered_function.php | 79 - ...ernal_compile_private_special_variable.php | 114 - .../smarty_internal_compile_section.php | 206 - .../smarty_internal_compile_while.php | 93 - .../sysplugins/smarty_internal_config.php | 306 -- .../smarty_internal_config_file_compiler.php | 159 - .../smarty_internal_configfileparser.php | 1042 ---- .../libs/sysplugins/smarty_internal_data.php | 576 --- .../libs/sysplugins/smarty_internal_debug.php | 254 - .../smarty_internal_filter_handler.php | 67 - .../smarty_internal_function_call_handler.php | 52 - .../smarty_internal_get_include_path.php | 46 - .../sysplugins/smarty_internal_parsetree.php | 361 -- .../smarty_internal_resource_file.php | 89 - .../smarty_internal_resource_php.php | 119 - ...smarty_internal_smartytemplatecompiler.php | 140 - .../sysplugins/smarty_internal_template.php | 738 --- .../smarty_internal_templatebase.php | 860 ---- .../smarty_internal_templatecompilerbase.php | 823 --- .../smarty_internal_templatelexer.php | 1552 ------ .../smarty_internal_templateparser.php | 4568 ----------------- .../sysplugins/smarty_internal_utility.php | 837 --- .../libs/sysplugins/smarty_resource.php | 912 ---- .../sysplugins/smarty_resource_recompiled.php | 33 - .../libs/sysplugins/smarty_security.php | 480 -- lib/smarty-3.1.33/COMPOSER_RELEASE_NOTES.txt | 31 + .../INHERITANCE_RELEASE_NOTES.txt | 91 + .../COPYING.lib => smarty-3.1.33/LICENSE} | 16 +- lib/smarty-3.1.33/NEW_FEATURES.txt | 291 ++ lib/{Smarty-3.1.21 => smarty-3.1.33}/README | 75 +- lib/smarty-3.1.33/README.md | 72 + .../SMARTY_2_BC_NOTES.txt | 48 +- .../SMARTY_3.0_BC_NOTES.txt | 10 +- .../SMARTY_3.1_NOTES.txt | 18 +- .../change_log.txt | 1159 ++++- lib/smarty-3.1.33/composer.json | 42 + .../demo/configs/test.conf | 0 .../demo/index.php | 27 +- .../demo/plugins/cacheresource.apc.php | 18 +- .../demo/plugins/cacheresource.memcache.php | 26 +- .../demo/plugins/cacheresource.mysql.php | 105 +- .../demo/plugins/cacheresource.pdo.php | 346 ++ .../demo/plugins/cacheresource.pdo_gzip.php | 42 + .../demo/plugins/resource.extendsall.php | 42 +- .../demo/plugins/resource.mysql.php | 48 +- .../demo/plugins/resource.mysqls.php | 35 +- .../demo/templates/footer.tpl | 0 .../demo/templates/header.tpl | 2 +- .../demo/templates/index.tpl | 0 lib/smarty-3.1.33/error_reporting.ini | 1 + lib/smarty-3.1.33/libs/Autoloader.php | 110 + lib/smarty-3.1.33/libs/Smarty.class.php | 1425 +++++ .../libs/SmartyBC.class.php | 126 +- lib/smarty-3.1.33/libs/bootstrap.php | 16 + .../libs/debug.tpl | 59 +- .../libs/plugins/block.textformat.php | 57 +- .../libs/plugins/function.counter.php | 62 + .../libs/plugins/function.cycle.php | 92 + .../libs/plugins/function.fetch.php | 119 +- .../libs/plugins/function.html_checkboxes.php | 286 ++ .../libs/plugins/function.html_image.php | 95 +- .../libs/plugins/function.html_options.php | 150 +- .../libs/plugins/function.html_radios.php | 187 +- .../plugins/function.html_select_date.php | 213 +- .../plugins/function.html_select_time.php | 220 +- .../libs/plugins/function.html_table.php | 86 +- .../libs/plugins/function.mailto.php | 100 +- .../libs/plugins/function.math.php | 112 + .../libs/plugins/modifier.capitalize.php | 145 + .../libs/plugins/modifier.date_format.php | 48 +- .../libs/plugins/modifier.debug_print_var.php | 87 +- .../libs/plugins/modifier.escape.php | 151 +- .../libs/plugins/modifier.mb_wordwrap.php | 71 + .../libs/plugins/modifier.regex_replace.php | 22 +- .../libs/plugins/modifier.replace.php | 15 +- .../libs/plugins/modifier.spacify.php | 7 +- .../libs/plugins/modifier.truncate.php | 26 +- .../libs/plugins/modifiercompiler.cat.php | 15 +- .../modifiercompiler.count_characters.php | 16 +- .../modifiercompiler.count_paragraphs.php | 11 +- .../modifiercompiler.count_sentences.php | 9 +- .../plugins/modifiercompiler.count_words.php | 10 +- .../libs/plugins/modifiercompiler.default.php | 13 +- .../libs/plugins/modifiercompiler.escape.php | 100 +- .../plugins/modifiercompiler.from_charset.php | 15 +- .../libs/plugins/modifiercompiler.indent.php | 17 +- .../libs/plugins/modifiercompiler.lower.php | 10 +- .../libs/plugins/modifiercompiler.noprint.php | 7 +- .../modifiercompiler.string_format.php | 7 +- .../libs/plugins/modifiercompiler.strip.php | 15 +- .../plugins/modifiercompiler.strip_tags.php | 11 +- .../plugins/modifiercompiler.to_charset.php | 15 +- .../plugins/modifiercompiler.unescape.php | 44 + .../libs/plugins/modifiercompiler.upper.php | 9 +- .../plugins/modifiercompiler.wordwrap.php | 39 + .../plugins/outputfilter.trimwhitespace.php | 89 + .../plugins/shared.escape_special_chars.php | 32 + .../plugins/shared.literal_compiler_param.php | 14 +- .../libs/plugins/shared.make_timestamp.php | 28 +- .../libs/plugins/shared.mb_str_replace.php | 14 +- .../libs/plugins/shared.mb_unicode.php | 15 +- .../variablefilter.htmlspecialchars.php | 6 +- .../libs/sysplugins/smarty_cacheresource.php | 219 + .../smarty_cacheresource_custom.php | 199 +- .../smarty_cacheresource_keyvaluestore.php | 305 +- .../libs/sysplugins/smarty_data.php | 68 + .../libs/sysplugins/smarty_internal_block.php | 90 + .../smarty_internal_cacheresource_file.php | 239 + .../smarty_internal_compile_append.php | 18 +- .../smarty_internal_compile_assign.php | 96 + .../smarty_internal_compile_block.php | 189 + .../smarty_internal_compile_block_child.php | 24 + .../smarty_internal_compile_block_parent.php | 31 + .../smarty_internal_compile_break.php | 117 + .../smarty_internal_compile_call.php | 89 + .../smarty_internal_compile_capture.php | 105 + .../smarty_internal_compile_child.php | 79 + .../smarty_internal_compile_config_load.php | 58 +- .../smarty_internal_compile_continue.php | 25 + .../smarty_internal_compile_debug.php | 11 +- .../smarty_internal_compile_eval.php | 19 +- .../smarty_internal_compile_extends.php | 158 + .../smarty_internal_compile_for.php | 164 + .../smarty_internal_compile_foreach.php | 345 ++ .../smarty_internal_compile_function.php | 231 + .../sysplugins/smarty_internal_compile_if.php | 207 + .../smarty_internal_compile_include.php | 347 ++ .../smarty_internal_compile_include_php.php | 49 +- .../smarty_internal_compile_insert.php | 68 +- .../smarty_internal_compile_ldelim.php | 14 +- .../smarty_internal_compile_make_nocache.php | 62 + .../smarty_internal_compile_nocache.php | 27 +- .../smarty_internal_compile_parent.php | 31 + ..._internal_compile_private_block_plugin.php | 124 + ...nternal_compile_private_foreachsection.php | 228 + ...ternal_compile_private_function_plugin.php | 39 +- ...arty_internal_compile_private_modifier.php | 158 + ..._compile_private_object_block_function.php | 42 + ...ternal_compile_private_object_function.php | 85 + .../smarty_internal_compile_private_php.php | 253 + ...ernal_compile_private_print_expression.php | 161 + ...ernal_compile_private_registered_block.php | 72 + ...al_compile_private_registered_function.php | 91 + ...ernal_compile_private_special_variable.php | 126 + .../smarty_internal_compile_rdelim.php | 17 +- .../smarty_internal_compile_section.php | 462 ++ .../smarty_internal_compile_setfilter.php | 24 +- ...ty_internal_compile_shared_inheritance.php | 49 + .../smarty_internal_compile_while.php | 100 + .../smarty_internal_compilebase.php | 117 +- .../smarty_internal_config_file_compiler.php | 209 + .../smarty_internal_configfilelexer.php | 603 ++- .../smarty_internal_configfileparser.php | 1046 ++++ .../libs/sysplugins/smarty_internal_data.php | 292 ++ .../libs/sysplugins/smarty_internal_debug.php | 425 ++ .../smarty_internal_errorhandler.php | 113 + .../smarty_internal_extension_handler.php | 197 + ...rty_internal_method_addautoloadfilters.php | 53 + ...ty_internal_method_adddefaultmodifiers.php | 42 + .../smarty_internal_method_append.php | 74 + .../smarty_internal_method_appendbyref.php | 49 + .../smarty_internal_method_assignbyref.php | 36 + .../smarty_internal_method_assignglobal.php | 44 + .../smarty_internal_method_clearallassign.php | 36 + .../smarty_internal_method_clearallcache.php | 41 + .../smarty_internal_method_clearassign.php | 43 + .../smarty_internal_method_clearcache.php | 50 + ..._internal_method_clearcompiledtemplate.php | 131 + .../smarty_internal_method_clearconfig.php | 41 + ...marty_internal_method_compileallconfig.php | 36 + ...ty_internal_method_compilealltemplates.php | 130 + .../smarty_internal_method_configload.php | 182 + .../smarty_internal_method_createdata.php | 44 + ...rty_internal_method_getautoloadfilters.php | 37 + ...arty_internal_method_getconfigvariable.php | 34 + .../smarty_internal_method_getconfigvars.php | 58 + ...marty_internal_method_getdebugtemplate.php | 35 + ...ty_internal_method_getdefaultmodifiers.php | 35 + .../smarty_internal_method_getglobal.php | 47 + ...ty_internal_method_getregisteredobject.php | 44 + ...arty_internal_method_getstreamvariable.php | 50 + .../smarty_internal_method_gettags.php | 63 + ...smarty_internal_method_gettemplatevars.php | 119 + .../smarty_internal_method_literals.php | 100 + .../smarty_internal_method_loadfilter.php | 77 + .../smarty_internal_method_loadplugin.php | 111 + .../smarty_internal_method_mustcompile.php | 50 + ..._internal_method_registercacheresource.php | 42 + .../smarty_internal_method_registerclass.php | 46 + ...al_method_registerdefaultconfighandler.php | 42 + ...al_method_registerdefaultpluginhandler.php | 43 + ..._method_registerdefaulttemplatehandler.php | 88 + .../smarty_internal_method_registerfilter.php | 87 + .../smarty_internal_method_registerobject.php | 84 + .../smarty_internal_method_registerplugin.php | 56 + ...marty_internal_method_registerresource.php | 46 + ...rty_internal_method_setautoloadfilters.php | 72 + ...marty_internal_method_setdebugtemplate.php | 41 + ...ty_internal_method_setdefaultmodifiers.php | 38 + .../smarty_internal_method_unloadfilter.php | 43 + ...nternal_method_unregistercacheresource.php | 40 + ...marty_internal_method_unregisterfilter.php | 43 + ...marty_internal_method_unregisterobject.php | 40 + ...marty_internal_method_unregisterplugin.php | 41 + ...rty_internal_method_unregisterresource.php | 40 + .../smarty_internal_nocache_insert.php | 22 +- .../sysplugins/smarty_internal_parsetree.php | 50 + .../smarty_internal_parsetree_code.php | 42 + .../smarty_internal_parsetree_dq.php | 95 + .../smarty_internal_parsetree_dqcontent.php | 42 + .../smarty_internal_parsetree_tag.php | 67 + .../smarty_internal_parsetree_template.php | 129 + .../smarty_internal_parsetree_text.php | 40 + .../smarty_internal_resource_eval.php | 24 +- .../smarty_internal_resource_extends.php | 58 +- .../smarty_internal_resource_file.php | 180 + .../smarty_internal_resource_php.php | 116 + .../smarty_internal_resource_registered.php | 39 +- .../smarty_internal_resource_stream.php | 13 +- .../smarty_internal_resource_string.php | 39 +- .../smarty_internal_runtime_cachemodify.php | 68 + ...rty_internal_runtime_cacheresourcefile.php | 139 + .../smarty_internal_runtime_capture.php | 174 + .../smarty_internal_runtime_codeframe.php | 100 + .../smarty_internal_runtime_filterhandler.php | 69 + .../smarty_internal_runtime_foreach.php | 162 + ...smarty_internal_runtime_getincludepath.php | 181 + .../smarty_internal_runtime_inheritance.php | 251 + .../smarty_internal_runtime_make_nocache.php | 54 + .../smarty_internal_runtime_tplfunction.php | 177 + .../smarty_internal_runtime_updatecache.php | 183 + .../smarty_internal_runtime_updatescope.php | 115 + .../smarty_internal_runtime_writefile.php} | 54 +- ...smarty_internal_smartytemplatecompiler.php | 184 + .../sysplugins/smarty_internal_template.php | 740 +++ .../smarty_internal_templatebase.php | 386 ++ .../smarty_internal_templatecompilerbase.php | 1756 +++++++ .../smarty_internal_templatelexer.php | 1060 ++++ .../smarty_internal_templateparser.php | 3539 +++++++++++++ .../smarty_internal_testinstall.php | 609 +++ .../sysplugins/smarty_internal_undefined.php | 67 + .../libs/sysplugins/smarty_resource.php | 262 + .../sysplugins/smarty_resource_custom.php | 14 +- .../sysplugins/smarty_resource_recompiled.php | 94 + .../sysplugins/smarty_resource_uncompiled.php | 26 +- .../libs/sysplugins/smarty_security.php | 721 +++ .../sysplugins/smarty_template_cached.php | 257 + .../sysplugins/smarty_template_compiled.php | 257 + .../sysplugins/smarty_template_config.php | 100 + .../smarty_template_resource_base.php | 152 + .../sysplugins/smarty_template_source.php | 213 + .../sysplugins/smarty_undefined_variable.php | 33 + .../libs/sysplugins/smarty_variable.php | 47 + .../sysplugins/smartycompilerexception.php | 45 + .../libs/sysplugins/smartyexception.php | 19 + lib/smartyTemplateSupport.php | 2 +- 288 files changed, 29898 insertions(+), 22692 deletions(-) delete mode 100644 lib/Smarty-3.1.21/libs/Smarty.class.php delete mode 100644 lib/Smarty-3.1.21/libs/plugins/function.counter.php delete mode 100644 lib/Smarty-3.1.21/libs/plugins/function.cycle.php delete mode 100644 lib/Smarty-3.1.21/libs/plugins/function.html_checkboxes.php delete mode 100644 lib/Smarty-3.1.21/libs/plugins/function.math.php delete mode 100644 lib/Smarty-3.1.21/libs/plugins/modifier.capitalize.php delete mode 100644 lib/Smarty-3.1.21/libs/plugins/modifiercompiler.unescape.php delete mode 100644 lib/Smarty-3.1.21/libs/plugins/modifiercompiler.wordwrap.php delete mode 100644 lib/Smarty-3.1.21/libs/plugins/outputfilter.trimwhitespace.php delete mode 100644 lib/Smarty-3.1.21/libs/plugins/shared.escape_special_chars.php delete mode 100644 lib/Smarty-3.1.21/libs/plugins/shared.mb_wordwrap.php delete mode 100644 lib/Smarty-3.1.21/libs/sysplugins/smarty_cacheresource.php delete mode 100644 lib/Smarty-3.1.21/libs/sysplugins/smarty_config_source.php delete mode 100644 lib/Smarty-3.1.21/libs/sysplugins/smarty_internal_cacheresource_file.php delete mode 100644 lib/Smarty-3.1.21/libs/sysplugins/smarty_internal_compile_assign.php delete mode 100644 lib/Smarty-3.1.21/libs/sysplugins/smarty_internal_compile_block.php delete mode 100644 lib/Smarty-3.1.21/libs/sysplugins/smarty_internal_compile_break.php delete mode 100644 lib/Smarty-3.1.21/libs/sysplugins/smarty_internal_compile_call.php delete mode 100644 lib/Smarty-3.1.21/libs/sysplugins/smarty_internal_compile_capture.php delete mode 100644 lib/Smarty-3.1.21/libs/sysplugins/smarty_internal_compile_continue.php delete mode 100644 lib/Smarty-3.1.21/libs/sysplugins/smarty_internal_compile_extends.php delete mode 100644 lib/Smarty-3.1.21/libs/sysplugins/smarty_internal_compile_for.php delete mode 100644 lib/Smarty-3.1.21/libs/sysplugins/smarty_internal_compile_foreach.php delete mode 100644 lib/Smarty-3.1.21/libs/sysplugins/smarty_internal_compile_function.php delete mode 100644 lib/Smarty-3.1.21/libs/sysplugins/smarty_internal_compile_if.php delete mode 100644 lib/Smarty-3.1.21/libs/sysplugins/smarty_internal_compile_include.php delete mode 100644 lib/Smarty-3.1.21/libs/sysplugins/smarty_internal_compile_private_block_plugin.php delete mode 100644 lib/Smarty-3.1.21/libs/sysplugins/smarty_internal_compile_private_modifier.php delete mode 100644 lib/Smarty-3.1.21/libs/sysplugins/smarty_internal_compile_private_object_block_function.php delete mode 100644 lib/Smarty-3.1.21/libs/sysplugins/smarty_internal_compile_private_object_function.php delete mode 100644 lib/Smarty-3.1.21/libs/sysplugins/smarty_internal_compile_private_print_expression.php delete mode 100644 lib/Smarty-3.1.21/libs/sysplugins/smarty_internal_compile_private_registered_block.php delete mode 100644 lib/Smarty-3.1.21/libs/sysplugins/smarty_internal_compile_private_registered_function.php delete mode 100644 lib/Smarty-3.1.21/libs/sysplugins/smarty_internal_compile_private_special_variable.php delete mode 100644 lib/Smarty-3.1.21/libs/sysplugins/smarty_internal_compile_section.php delete mode 100644 lib/Smarty-3.1.21/libs/sysplugins/smarty_internal_compile_while.php delete mode 100644 lib/Smarty-3.1.21/libs/sysplugins/smarty_internal_config.php delete mode 100644 lib/Smarty-3.1.21/libs/sysplugins/smarty_internal_config_file_compiler.php delete mode 100644 lib/Smarty-3.1.21/libs/sysplugins/smarty_internal_configfileparser.php delete mode 100644 lib/Smarty-3.1.21/libs/sysplugins/smarty_internal_data.php delete mode 100644 lib/Smarty-3.1.21/libs/sysplugins/smarty_internal_debug.php delete mode 100644 lib/Smarty-3.1.21/libs/sysplugins/smarty_internal_filter_handler.php delete mode 100644 lib/Smarty-3.1.21/libs/sysplugins/smarty_internal_function_call_handler.php delete mode 100644 lib/Smarty-3.1.21/libs/sysplugins/smarty_internal_get_include_path.php delete mode 100644 lib/Smarty-3.1.21/libs/sysplugins/smarty_internal_parsetree.php delete mode 100644 lib/Smarty-3.1.21/libs/sysplugins/smarty_internal_resource_file.php delete mode 100644 lib/Smarty-3.1.21/libs/sysplugins/smarty_internal_resource_php.php delete mode 100644 lib/Smarty-3.1.21/libs/sysplugins/smarty_internal_smartytemplatecompiler.php delete mode 100644 lib/Smarty-3.1.21/libs/sysplugins/smarty_internal_template.php delete mode 100644 lib/Smarty-3.1.21/libs/sysplugins/smarty_internal_templatebase.php delete mode 100644 lib/Smarty-3.1.21/libs/sysplugins/smarty_internal_templatecompilerbase.php delete mode 100644 lib/Smarty-3.1.21/libs/sysplugins/smarty_internal_templatelexer.php delete mode 100644 lib/Smarty-3.1.21/libs/sysplugins/smarty_internal_templateparser.php delete mode 100644 lib/Smarty-3.1.21/libs/sysplugins/smarty_internal_utility.php delete mode 100644 lib/Smarty-3.1.21/libs/sysplugins/smarty_resource.php delete mode 100644 lib/Smarty-3.1.21/libs/sysplugins/smarty_resource_recompiled.php delete mode 100644 lib/Smarty-3.1.21/libs/sysplugins/smarty_security.php create mode 100644 lib/smarty-3.1.33/COMPOSER_RELEASE_NOTES.txt create mode 100644 lib/smarty-3.1.33/INHERITANCE_RELEASE_NOTES.txt rename lib/{Smarty-3.1.21/COPYING.lib => smarty-3.1.33/LICENSE} (93%) create mode 100644 lib/smarty-3.1.33/NEW_FEATURES.txt rename lib/{Smarty-3.1.21 => smarty-3.1.33}/README (92%) create mode 100644 lib/smarty-3.1.33/README.md rename lib/{Smarty-3.1.21 => smarty-3.1.33}/SMARTY_2_BC_NOTES.txt (88%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/SMARTY_3.0_BC_NOTES.txt (83%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/SMARTY_3.1_NOTES.txt (98%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/change_log.txt (62%) create mode 100644 lib/smarty-3.1.33/composer.json rename lib/{Smarty-3.1.21 => smarty-3.1.33}/demo/configs/test.conf (100%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/demo/index.php (65%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/demo/plugins/cacheresource.apc.php (84%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/demo/plugins/cacheresource.memcache.php (79%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/demo/plugins/cacheresource.mysql.php (63%) create mode 100644 lib/smarty-3.1.33/demo/plugins/cacheresource.pdo.php create mode 100644 lib/smarty-3.1.33/demo/plugins/cacheresource.pdo_gzip.php rename lib/{Smarty-3.1.21 => smarty-3.1.33}/demo/plugins/resource.extendsall.php (56%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/demo/plugins/resource.mysql.php (70%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/demo/plugins/resource.mysqls.php (72%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/demo/templates/footer.tpl (100%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/demo/templates/header.tpl (55%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/demo/templates/index.tpl (100%) create mode 100644 lib/smarty-3.1.33/error_reporting.ini create mode 100644 lib/smarty-3.1.33/libs/Autoloader.php create mode 100644 lib/smarty-3.1.33/libs/Smarty.class.php rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/SmartyBC.class.php (82%) create mode 100644 lib/smarty-3.1.33/libs/bootstrap.php rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/debug.tpl (59%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/plugins/block.textformat.php (67%) create mode 100644 lib/smarty-3.1.33/libs/plugins/function.counter.php create mode 100644 lib/smarty-3.1.33/libs/plugins/function.cycle.php rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/plugins/function.fetch.php (69%) create mode 100644 lib/smarty-3.1.33/libs/plugins/function.html_checkboxes.php rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/plugins/function.html_image.php (62%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/plugins/function.html_options.php (58%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/plugins/function.html_radios.php (53%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/plugins/function.html_select_date.php (64%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/plugins/function.html_select_time.php (60%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/plugins/function.html_table.php (74%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/plugins/function.mailto.php (68%) create mode 100644 lib/smarty-3.1.33/libs/plugins/function.math.php create mode 100644 lib/smarty-3.1.33/libs/plugins/modifier.capitalize.php rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/plugins/modifier.date_format.php (60%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/plugins/modifier.debug_print_var.php (50%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/plugins/modifier.escape.php (61%) create mode 100644 lib/smarty-3.1.33/libs/plugins/modifier.mb_wordwrap.php rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/plugins/modifier.regex_replace.php (68%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/plugins/modifier.replace.php (70%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/plugins/modifier.spacify.php (86%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/plugins/modifier.truncate.php (80%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/plugins/modifiercompiler.cat.php (59%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/plugins/modifiercompiler.count_characters.php (61%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/plugins/modifiercompiler.count_paragraphs.php (64%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/plugins/modifiercompiler.count_sentences.php (76%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/plugins/modifiercompiler.count_words.php (81%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/plugins/modifiercompiler.default.php (82%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/plugins/modifiercompiler.escape.php (50%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/plugins/modifiercompiler.from_charset.php (64%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/plugins/modifiercompiler.indent.php (61%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/plugins/modifiercompiler.lower.php (73%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/plugins/modifiercompiler.noprint.php (78%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/plugins/modifiercompiler.string_format.php (79%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/plugins/modifiercompiler.strip.php (79%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/plugins/modifiercompiler.strip_tags.php (58%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/plugins/modifiercompiler.to_charset.php (64%) create mode 100644 lib/smarty-3.1.33/libs/plugins/modifiercompiler.unescape.php rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/plugins/modifiercompiler.upper.php (72%) create mode 100644 lib/smarty-3.1.33/libs/plugins/modifiercompiler.wordwrap.php create mode 100644 lib/smarty-3.1.33/libs/plugins/outputfilter.trimwhitespace.php create mode 100644 lib/smarty-3.1.33/libs/plugins/shared.escape_special_chars.php rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/plugins/shared.literal_compiler_param.php (69%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/plugins/shared.make_timestamp.php (54%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/plugins/shared.mb_str_replace.php (80%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/plugins/shared.mb_unicode.php (78%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/plugins/variablefilter.htmlspecialchars.php (56%) create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_cacheresource.php rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/sysplugins/smarty_cacheresource_custom.php (52%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/sysplugins/smarty_cacheresource_keyvaluestore.php (61%) create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_data.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_block.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_cacheresource_file.php rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/sysplugins/smarty_internal_compile_append.php (63%) create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_assign.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_block.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_block_child.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_block_parent.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_break.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_call.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_capture.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_child.php rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/sysplugins/smarty_internal_compile_config_load.php (51%) create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_continue.php rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/sysplugins/smarty_internal_compile_debug.php (72%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/sysplugins/smarty_internal_compile_eval.php (74%) create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_extends.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_for.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_foreach.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_function.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_if.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_include.php rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/sysplugins/smarty_internal_compile_include_php.php (65%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/sysplugins/smarty_internal_compile_insert.php (64%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/sysplugins/smarty_internal_compile_ldelim.php (65%) create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_make_nocache.php rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/sysplugins/smarty_internal_compile_nocache.php (63%) create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_parent.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_private_block_plugin.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_private_foreachsection.php rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/sysplugins/smarty_internal_compile_private_function_plugin.php (54%) create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_private_modifier.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_private_object_block_function.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_private_object_function.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_private_php.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_private_print_expression.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_private_registered_block.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_private_registered_function.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_private_special_variable.php rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/sysplugins/smarty_internal_compile_rdelim.php (53%) create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_section.php rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/sysplugins/smarty_internal_compile_setfilter.php (58%) create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_shared_inheritance.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_compile_while.php rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/sysplugins/smarty_internal_compilebase.php (53%) create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_config_file_compiler.php rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/sysplugins/smarty_internal_configfilelexer.php (52%) create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_configfileparser.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_data.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_debug.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_errorhandler.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_extension_handler.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_method_addautoloadfilters.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_method_adddefaultmodifiers.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_method_append.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_method_appendbyref.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_method_assignbyref.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_method_assignglobal.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_method_clearallassign.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_method_clearallcache.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_method_clearassign.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_method_clearcache.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_method_clearcompiledtemplate.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_method_clearconfig.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_method_compileallconfig.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_method_compilealltemplates.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_method_configload.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_method_createdata.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_method_getautoloadfilters.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_method_getconfigvariable.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_method_getconfigvars.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_method_getdebugtemplate.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_method_getdefaultmodifiers.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_method_getglobal.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_method_getregisteredobject.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_method_getstreamvariable.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_method_gettags.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_method_gettemplatevars.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_method_literals.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_method_loadfilter.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_method_loadplugin.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_method_mustcompile.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_method_registercacheresource.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_method_registerclass.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_method_registerdefaultconfighandler.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_method_registerdefaultpluginhandler.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_method_registerdefaulttemplatehandler.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_method_registerfilter.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_method_registerobject.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_method_registerplugin.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_method_registerresource.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_method_setautoloadfilters.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_method_setdebugtemplate.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_method_setdefaultmodifiers.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_method_unloadfilter.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_method_unregistercacheresource.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_method_unregisterfilter.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_method_unregisterobject.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_method_unregisterplugin.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_method_unregisterresource.php rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/sysplugins/smarty_internal_nocache_insert.php (58%) create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_parsetree.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_parsetree_code.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_parsetree_dq.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_parsetree_dqcontent.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_parsetree_tag.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_parsetree_template.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_parsetree_text.php rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/sysplugins/smarty_internal_resource_eval.php (74%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/sysplugins/smarty_internal_resource_extends.php (61%) create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_resource_file.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_resource_php.php rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/sysplugins/smarty_internal_resource_registered.php (64%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/sysplugins/smarty_internal_resource_stream.php (82%) rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/sysplugins/smarty_internal_resource_string.php (66%) create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_runtime_cachemodify.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_runtime_cacheresourcefile.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_runtime_capture.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_runtime_codeframe.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_runtime_filterhandler.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_runtime_foreach.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_runtime_getincludepath.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_runtime_inheritance.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_runtime_make_nocache.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_runtime_tplfunction.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_runtime_updatecache.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_runtime_updatescope.php rename lib/{Smarty-3.1.21/libs/sysplugins/smarty_internal_write_file.php => smarty-3.1.33/libs/sysplugins/smarty_internal_runtime_writefile.php} (57%) create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_smartytemplatecompiler.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_template.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_templatebase.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_templatecompilerbase.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_templatelexer.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_templateparser.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_testinstall.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_internal_undefined.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_resource.php rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/sysplugins/smarty_resource_custom.php (85%) create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_resource_recompiled.php rename lib/{Smarty-3.1.21 => smarty-3.1.33}/libs/sysplugins/smarty_resource_uncompiled.php (51%) create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_security.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_template_cached.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_template_compiled.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_template_config.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_template_resource_base.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_template_source.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_undefined_variable.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smarty_variable.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smartycompilerexception.php create mode 100644 lib/smarty-3.1.33/libs/sysplugins/smartyexception.php mode change 100644 => 100755 lib/smartyTemplateSupport.php diff --git a/lib/Smarty-3.1.21/libs/Smarty.class.php b/lib/Smarty-3.1.21/libs/Smarty.class.php deleted file mode 100644 index 832b0d30..00000000 --- a/lib/Smarty-3.1.21/libs/Smarty.class.php +++ /dev/null @@ -1,1680 +0,0 @@ - - * @author Uwe Tews - * @author Rodney Rehm - * @package Smarty - * @version 3.1.21 - */ - -/** - * define shorthand directory separator constant - */ -if (!defined('DS')) { - define('DS', DIRECTORY_SEPARATOR); -} - -/** - * set SMARTY_DIR to absolute path to Smarty library files. - * Sets SMARTY_DIR only if user application has not already defined it. - */ -if (!defined('SMARTY_DIR')) { - define('SMARTY_DIR', dirname(__FILE__) . DS); -} - -/** - * set SMARTY_SYSPLUGINS_DIR to absolute path to Smarty internal plugins. - * Sets SMARTY_SYSPLUGINS_DIR only if user application has not already defined it. - */ -if (!defined('SMARTY_SYSPLUGINS_DIR')) { - define('SMARTY_SYSPLUGINS_DIR', SMARTY_DIR . 'sysplugins' . DS); -} -if (!defined('SMARTY_PLUGINS_DIR')) { - define('SMARTY_PLUGINS_DIR', SMARTY_DIR . 'plugins' . DS); -} -if (!defined('SMARTY_MBSTRING')) { - define('SMARTY_MBSTRING', function_exists('mb_split')); -} -if (!defined('SMARTY_RESOURCE_CHAR_SET')) { - // UTF-8 can only be done properly when mbstring is available! - /** - * @deprecated in favor of Smarty::$_CHARSET - */ - define('SMARTY_RESOURCE_CHAR_SET', SMARTY_MBSTRING ? 'UTF-8' : 'ISO-8859-1'); -} -if (!defined('SMARTY_RESOURCE_DATE_FORMAT')) { - /** - * @deprecated in favor of Smarty::$_DATE_FORMAT - */ - define('SMARTY_RESOURCE_DATE_FORMAT', '%b %e, %Y'); -} - -/** - * register the class autoloader - */ -if (!defined('SMARTY_SPL_AUTOLOAD')) { - define('SMARTY_SPL_AUTOLOAD', 0); -} - -if (SMARTY_SPL_AUTOLOAD && set_include_path(get_include_path() . PATH_SEPARATOR . SMARTY_SYSPLUGINS_DIR) !== false) { - $registeredAutoLoadFunctions = spl_autoload_functions(); - if (!isset($registeredAutoLoadFunctions['spl_autoload'])) { - spl_autoload_register(); - } -} else { - spl_autoload_register('smartyAutoload'); -} - -/** - * Load always needed external class files - */ -include_once SMARTY_SYSPLUGINS_DIR . 'smarty_internal_data.php'; -include_once SMARTY_SYSPLUGINS_DIR . 'smarty_internal_templatebase.php'; -include_once SMARTY_SYSPLUGINS_DIR . 'smarty_internal_template.php'; -include_once SMARTY_SYSPLUGINS_DIR . 'smarty_resource.php'; -include_once SMARTY_SYSPLUGINS_DIR . 'smarty_internal_resource_file.php'; -include_once SMARTY_SYSPLUGINS_DIR . 'smarty_cacheresource.php'; -include_once SMARTY_SYSPLUGINS_DIR . 'smarty_internal_cacheresource_file.php'; - -/** - * This is the main Smarty class - * - * @package Smarty - */ -class Smarty extends Smarty_Internal_TemplateBase -{ - /**#@+ - * constant definitions - */ - - /** - * smarty version - */ - const SMARTY_VERSION = 'Smarty-3.1.21-dev'; - - /** - * define variable scopes - */ - const SCOPE_LOCAL = 0; - const SCOPE_PARENT = 1; - const SCOPE_ROOT = 2; - const SCOPE_GLOBAL = 3; - /** - * define caching modes - */ - const CACHING_OFF = 0; - const CACHING_LIFETIME_CURRENT = 1; - const CACHING_LIFETIME_SAVED = 2; - /** - * define constant for clearing cache files be saved expiration datees - */ - const CLEAR_EXPIRED = - 1; - - /** - * define compile check modes - */ - const COMPILECHECK_OFF = 0; - const COMPILECHECK_ON = 1; - const COMPILECHECK_CACHEMISS = 2; - /** - * modes for handling of "" tags in templates. - */ - const PHP_PASSTHRU = 0; //-> print tags as plain text - const PHP_QUOTE = 1; //-> escape tags as entities - const PHP_REMOVE = 2; //-> escape tags as entities - const PHP_ALLOW = 3; //-> escape tags as entities - /** - * filter types - */ - const FILTER_POST = 'post'; - const FILTER_PRE = 'pre'; - const FILTER_OUTPUT = 'output'; - const FILTER_VARIABLE = 'variable'; - /** - * plugin types - */ - const PLUGIN_FUNCTION = 'function'; - const PLUGIN_BLOCK = 'block'; - const PLUGIN_COMPILER = 'compiler'; - const PLUGIN_MODIFIER = 'modifier'; - const PLUGIN_MODIFIERCOMPILER = 'modifiercompiler'; - - /**#@-*/ - - /** - * assigned global tpl vars - */ - public static $global_tpl_vars = array(); - - /** - * error handler returned by set_error_hanlder() in Smarty::muteExpectedErrors() - */ - public static $_previous_error_handler = null; - /** - * contains directories outside of SMARTY_DIR that are to be muted by muteExpectedErrors() - */ - public static $_muted_directories = array(); - /** - * Flag denoting if Multibyte String functions are available - */ - public static $_MBSTRING = SMARTY_MBSTRING; - /** - * The character set to adhere to (e.g. "UTF-8") - */ - public static $_CHARSET = SMARTY_RESOURCE_CHAR_SET; - /** - * The date format to be used internally - * (accepts date() and strftime()) - */ - public static $_DATE_FORMAT = SMARTY_RESOURCE_DATE_FORMAT; - /** - * Flag denoting if PCRE should run in UTF-8 mode - */ - public static $_UTF8_MODIFIER = 'u'; - - /** - * Flag denoting if operating system is windows - */ - public static $_IS_WINDOWS = false; - - /**#@+ - * variables - */ - - /** - * auto literal on delimiters with whitspace - * - * @var boolean - */ - public $auto_literal = true; - /** - * display error on not assigned variables - * - * @var boolean - */ - public $error_unassigned = false; - /** - * look up relative filepaths in include_path - * - * @var boolean - */ - public $use_include_path = false; - /** - * template directory - * - * @var array - */ - private $template_dir = array(); - /** - * joined template directory string used in cache keys - * - * @var string - */ - public $joined_template_dir = null; - /** - * joined config directory string used in cache keys - * - * @var string - */ - public $joined_config_dir = null; - /** - * default template handler - * - * @var callable - */ - public $default_template_handler_func = null; - /** - * default config handler - * - * @var callable - */ - public $default_config_handler_func = null; - /** - * default plugin handler - * - * @var callable - */ - public $default_plugin_handler_func = null; - /** - * compile directory - * - * @var string - */ - private $compile_dir = null; - /** - * plugins directory - * - * @var array - */ - private $plugins_dir = array(); - /** - * cache directory - * - * @var string - */ - private $cache_dir = null; - /** - * config directory - * - * @var array - */ - private $config_dir = array(); - /** - * force template compiling? - * - * @var boolean - */ - public $force_compile = false; - /** - * check template for modifications? - * - * @var boolean - */ - public $compile_check = true; - /** - * use sub dirs for compiled/cached files? - * - * @var boolean - */ - public $use_sub_dirs = false; - /** - * allow ambiguous resources (that are made unique by the resource handler) - * - * @var boolean - */ - public $allow_ambiguous_resources = false; - /** - * caching enabled - * - * @var boolean - */ - public $caching = false; - /** - * merge compiled includes - * - * @var boolean - */ - public $merge_compiled_includes = false; - /** - * template inheritance merge compiled includes - * - * @var boolean - */ - public $inheritance_merge_compiled_includes = true; - /** - * cache lifetime in seconds - * - * @var integer - */ - public $cache_lifetime = 3600; - /** - * force cache file creation - * - * @var boolean - */ - public $force_cache = false; - /** - * Set this if you want different sets of cache files for the same - * templates. - * - * @var string - */ - public $cache_id = null; - /** - * Set this if you want different sets of compiled files for the same - * templates. - * - * @var string - */ - public $compile_id = null; - /** - * template left-delimiter - * - * @var string - */ - public $left_delimiter = "{"; - /** - * template right-delimiter - * - * @var string - */ - public $right_delimiter = "}"; - /**#@+ - * security - */ - /** - * class name - * This should be instance of Smarty_Security. - * - * @var string - * @see Smarty_Security - */ - public $security_class = 'Smarty_Security'; - /** - * implementation of security class - * - * @var Smarty_Security - */ - public $security_policy = null; - /** - * controls handling of PHP-blocks - * - * @var integer - */ - public $php_handling = self::PHP_PASSTHRU; - /** - * controls if the php template file resource is allowed - * - * @var bool - */ - public $allow_php_templates = false; - /** - * Should compiled-templates be prevented from being called directly? - * {@internal - * Currently used by Smarty_Internal_Template only. - * }} - * - * @var boolean - */ - public $direct_access_security = true; - /**#@-*/ - /** - * debug mode - * Setting this to true enables the debug-console. - * - * @var boolean - */ - public $debugging = false; - /** - * This determines if debugging is enable-able from the browser. - * - * - * @var string - */ - public $debugging_ctrl = 'NONE'; - /** - * Name of debugging URL-param. - * Only used when $debugging_ctrl is set to 'URL'. - * The name of the URL-parameter that activates debugging. - * - * @var type - */ - public $smarty_debug_id = 'SMARTY_DEBUG'; - /** - * Path of debug template. - * - * @var string - */ - public $debug_tpl = null; - /** - * When set, smarty uses this value as error_reporting-level. - * - * @var int - */ - public $error_reporting = null; - /** - * Internal flag for getTags() - * - * @var boolean - */ - public $get_used_tags = false; - - /**#@+ - * config var settings - */ - - /** - * Controls whether variables with the same name overwrite each other. - * - * @var boolean - */ - public $config_overwrite = true; - /** - * Controls whether config values of on/true/yes and off/false/no get converted to boolean. - * - * @var boolean - */ - public $config_booleanize = true; - /** - * Controls whether hidden config sections/vars are read from the file. - * - * @var boolean - */ - public $config_read_hidden = false; - - /**#@-*/ - - /**#@+ - * resource locking - */ - - /** - * locking concurrent compiles - * - * @var boolean - */ - public $compile_locking = true; - /** - * Controls whether cache resources should emply locking mechanism - * - * @var boolean - */ - public $cache_locking = false; - /** - * seconds to wait for acquiring a lock before ignoring the write lock - * - * @var float - */ - public $locking_timeout = 10; - - /**#@-*/ - - /** - * global template functions - * - * @var array - */ - public $template_functions = array(); - /** - * resource type used if none given - * Must be an valid key of $registered_resources. - * - * @var string - */ - public $default_resource_type = 'file'; - /** - * caching type - * Must be an element of $cache_resource_types. - * - * @var string - */ - public $caching_type = 'file'; - /** - * internal config properties - * - * @var array - */ - public $properties = array(); - /** - * config type - * - * @var string - */ - public $default_config_type = 'file'; - /** - * cached template objects - * - * @var array - */ - public $template_objects = array(); - /** - * check If-Modified-Since headers - * - * @var boolean - */ - public $cache_modified_check = false; - /** - * registered plugins - * - * @var array - */ - public $registered_plugins = array(); - /** - * plugin search order - * - * @var array - */ - public $plugin_search_order = array('function', 'block', 'compiler', 'class'); - /** - * registered objects - * - * @var array - */ - public $registered_objects = array(); - /** - * registered classes - * - * @var array - */ - public $registered_classes = array(); - /** - * registered filters - * - * @var array - */ - public $registered_filters = array(); - /** - * registered resources - * - * @var array - */ - public $registered_resources = array(); - /** - * resource handler cache - * - * @var array - */ - public $_resource_handlers = array(); - /** - * registered cache resources - * - * @var array - */ - public $registered_cache_resources = array(); - /** - * cache resource handler cache - * - * @var array - */ - public $_cacheresource_handlers = array(); - /** - * autoload filter - * - * @var array - */ - public $autoload_filters = array(); - /** - * default modifier - * - * @var array - */ - public $default_modifiers = array(); - /** - * autoescape variable output - * - * @var boolean - */ - public $escape_html = false; - /** - * global internal smarty vars - * - * @var array - */ - public static $_smarty_vars = array(); - /** - * start time for execution time calculation - * - * @var int - */ - public $start_time = 0; - /** - * default file permissions - * - * @var int - */ - public $_file_perms = 0644; - /** - * default dir permissions - * - * @var int - */ - public $_dir_perms = 0771; - /** - * block tag hierarchy - * - * @var array - */ - public $_tag_stack = array(); - /** - * self pointer to Smarty object - * - * @var Smarty - */ - public $smarty; - /** - * required by the compiler for BC - * - * @var string - */ - public $_current_file = null; - /** - * internal flag to enable parser debugging - * - * @var bool - */ - public $_parserdebug = false; - /** - * Saved parameter of merged templates during compilation - * - * @var array - */ - public $merged_templates_func = array(); - - /** - * Cache of is_file results of loadPlugin() - * - * @var array - */ - public static $_is_file_cache= array(); - - /**#@-*/ - - /** - * Initialize new Smarty object - - */ - public function __construct() - { - // selfpointer needed by some other class methods - $this->smarty = $this; - if (is_callable('mb_internal_encoding')) { - mb_internal_encoding(Smarty::$_CHARSET); - } - $this->start_time = microtime(true); - // set default dirs - $this->setTemplateDir('.' . DS . 'templates' . DS) - ->setCompileDir('.' . DS . 'templates_c' . DS) - ->setPluginsDir(SMARTY_PLUGINS_DIR) - ->setCacheDir('.' . DS . 'cache' . DS) - ->setConfigDir('.' . DS . 'configs' . DS); - - $this->debug_tpl = 'file:' . dirname(__FILE__) . '/debug.tpl'; - if (isset($_SERVER['SCRIPT_NAME'])) { - $this->assignGlobal('SCRIPT_NAME', $_SERVER['SCRIPT_NAME']); - } - } - - /** - * Class destructor - */ - public function __destruct() - { - // intentionally left blank - } - - /** - * <> set selfpointer on cloned object - */ - public function __clone() - { - $this->smarty = $this; - } - - /** - * <> Generic getter. - * Calls the appropriate getter function. - * Issues an E_USER_NOTICE if no valid getter is found. - * - * @param string $name property name - * - * @return mixed - */ - public function __get($name) - { - $allowed = array( - 'template_dir' => 'getTemplateDir', - 'config_dir' => 'getConfigDir', - 'plugins_dir' => 'getPluginsDir', - 'compile_dir' => 'getCompileDir', - 'cache_dir' => 'getCacheDir', - ); - - if (isset($allowed[$name])) { - return $this->{$allowed[$name]}(); - } else { - trigger_error('Undefined property: ' . get_class($this) . '::$' . $name, E_USER_NOTICE); - } - } - - /** - * <> Generic setter. - * Calls the appropriate setter function. - * Issues an E_USER_NOTICE if no valid setter is found. - * - * @param string $name property name - * @param mixed $value parameter passed to setter - */ - public function __set($name, $value) - { - $allowed = array( - 'template_dir' => 'setTemplateDir', - 'config_dir' => 'setConfigDir', - 'plugins_dir' => 'setPluginsDir', - 'compile_dir' => 'setCompileDir', - 'cache_dir' => 'setCacheDir', - ); - - if (isset($allowed[$name])) { - $this->{$allowed[$name]}($value); - } else { - trigger_error('Undefined property: ' . get_class($this) . '::$' . $name, E_USER_NOTICE); - } - } - - /** - * Check if a template resource exists - * - * @param string $resource_name template name - * - * @return boolean status - */ - public function templateExists($resource_name) - { - // create template object - $save = $this->template_objects; - $tpl = new $this->template_class($resource_name, $this); - // check if it does exists - $result = $tpl->source->exists; - $this->template_objects = $save; - - return $result; - } - - /** - * Returns a single or all global variables - * - * @param string $varname variable name or null - * - * @return string variable value or or array of variables - */ - public function getGlobal($varname = null) - { - if (isset($varname)) { - if (isset(self::$global_tpl_vars[$varname])) { - return self::$global_tpl_vars[$varname]->value; - } else { - return ''; - } - } else { - $_result = array(); - foreach (self::$global_tpl_vars AS $key => $var) { - $_result[$key] = $var->value; - } - - return $_result; - } - } - - /** - * Empty cache folder - * - * @param integer $exp_time expiration time - * @param string $type resource type - * - * @return integer number of cache files deleted - */ - public function clearAllCache($exp_time = null, $type = null) - { - // load cache resource and call clearAll - $_cache_resource = Smarty_CacheResource::load($this, $type); - Smarty_CacheResource::invalidLoadedCache($this); - - return $_cache_resource->clearAll($this, $exp_time); - } - - /** - * Empty cache for a specific template - * - * @param string $template_name template name - * @param string $cache_id cache id - * @param string $compile_id compile id - * @param integer $exp_time expiration time - * @param string $type resource type - * - * @return integer number of cache files deleted - */ - public function clearCache($template_name, $cache_id = null, $compile_id = null, $exp_time = null, $type = null) - { - // load cache resource and call clear - $_cache_resource = Smarty_CacheResource::load($this, $type); - Smarty_CacheResource::invalidLoadedCache($this); - - return $_cache_resource->clear($this, $template_name, $cache_id, $compile_id, $exp_time); - } - - /** - * Loads security class and enables security - * - * @param string|Smarty_Security $security_class if a string is used, it must be class-name - * - * @return Smarty current Smarty instance for chaining - * @throws SmartyException when an invalid class name is provided - */ - public function enableSecurity($security_class = null) - { - if ($security_class instanceof Smarty_Security) { - $this->security_policy = $security_class; - - return $this; - } elseif (is_object($security_class)) { - throw new SmartyException("Class '" . get_class($security_class) . "' must extend Smarty_Security."); - } - if ($security_class == null) { - $security_class = $this->security_class; - } - if (!class_exists($security_class)) { - throw new SmartyException("Security class '$security_class' is not defined"); - } elseif ($security_class !== 'Smarty_Security' && !is_subclass_of($security_class, 'Smarty_Security')) { - throw new SmartyException("Class '$security_class' must extend Smarty_Security."); - } else { - $this->security_policy = new $security_class($this); - } - - return $this; - } - - /** - * Disable security - * - * @return Smarty current Smarty instance for chaining - */ - public function disableSecurity() - { - $this->security_policy = null; - - return $this; - } - - /** - * Set template directory - * - * @param string|array $template_dir directory(s) of template sources - * - * @return Smarty current Smarty instance for chaining - */ - public function setTemplateDir($template_dir) - { - $this->template_dir = array(); - foreach ((array) $template_dir as $k => $v) { - $this->template_dir[$k] = preg_replace('#(\w+)(/|\\\\){1,}#', '$1$2', rtrim($v, '/\\')) . DS; - } - - $this->joined_template_dir = join(DIRECTORY_SEPARATOR, $this->template_dir); - - return $this; - } - - /** - * Add template directory(s) - * - * @param string|array $template_dir directory(s) of template sources - * @param string $key of the array element to assign the template dir to - * - * @return Smarty current Smarty instance for chaining - * @throws SmartyException when the given template directory is not valid - */ - public function addTemplateDir($template_dir, $key = null) - { - // make sure we're dealing with an array - $this->template_dir = (array) $this->template_dir; - - if (is_array($template_dir)) { - foreach ($template_dir as $k => $v) { - $v = preg_replace('#(\w+)(/|\\\\){1,}#', '$1$2', rtrim($v, '/\\')) . DS; - if (is_int($k)) { - // indexes are not merged but appended - $this->template_dir[] = $v; - } else { - // string indexes are overridden - $this->template_dir[$k] = $v; - } - } - } else { - $v = preg_replace('#(\w+)(/|\\\\){1,}#', '$1$2', rtrim($template_dir, '/\\')) . DS; - if ($key !== null) { - // override directory at specified index - $this->template_dir[$key] = $v; - } else { - // append new directory - $this->template_dir[] = $v; - } - } - $this->joined_template_dir = join(DIRECTORY_SEPARATOR, $this->template_dir); - - return $this; - } - - /** - * Get template directories - * - * @param mixed $index index of directory to get, null to get all - * - * @return array|string list of template directories, or directory of $index - */ - public function getTemplateDir($index = null) - { - if ($index !== null) { - return isset($this->template_dir[$index]) ? $this->template_dir[$index] : null; - } - - return (array) $this->template_dir; - } - - /** - * Set config directory - * - * @param $config_dir - * - * @return Smarty current Smarty instance for chaining - */ - public function setConfigDir($config_dir) - { - $this->config_dir = array(); - foreach ((array) $config_dir as $k => $v) { - $this->config_dir[$k] = preg_replace('#(\w+)(/|\\\\){1,}#', '$1$2', rtrim($v, '/\\')) . DS; - } - - $this->joined_config_dir = join(DIRECTORY_SEPARATOR, $this->config_dir); - - return $this; - } - - /** - * Add config directory(s) - * - * @param string|array $config_dir directory(s) of config sources - * @param mixed $key key of the array element to assign the config dir to - * - * @return Smarty current Smarty instance for chaining - */ - public function addConfigDir($config_dir, $key = null) - { - // make sure we're dealing with an array - $this->config_dir = (array) $this->config_dir; - - if (is_array($config_dir)) { - foreach ($config_dir as $k => $v) { - $v = preg_replace('#(\w+)(/|\\\\){1,}#', '$1$2', rtrim($v, '/\\')) . DS; - if (is_int($k)) { - // indexes are not merged but appended - $this->config_dir[] = $v; - } else { - // string indexes are overridden - $this->config_dir[$k] = $v; - } - } - } else { - $v = preg_replace('#(\w+)(/|\\\\){1,}#', '$1$2', rtrim($config_dir, '/\\')) . DS; - if ($key !== null) { - // override directory at specified index - $this->config_dir[$key] = rtrim($v, '/\\') . DS; - } else { - // append new directory - $this->config_dir[] = rtrim($v, '/\\') . DS; - } - } - - $this->joined_config_dir = join(DIRECTORY_SEPARATOR, $this->config_dir); - - return $this; - } - - /** - * Get config directory - * - * @param mixed $index index of directory to get, null to get all - * - * @return array|string configuration directory - */ - public function getConfigDir($index = null) - { - if ($index !== null) { - return isset($this->config_dir[$index]) ? $this->config_dir[$index] : null; - } - - return (array) $this->config_dir; - } - - /** - * Set plugins directory - * - * @param string|array $plugins_dir directory(s) of plugins - * - * @return Smarty current Smarty instance for chaining - */ - public function setPluginsDir($plugins_dir) - { - $this->plugins_dir = array(); - foreach ((array) $plugins_dir as $k => $v) { - $this->plugins_dir[$k] = rtrim($v, '/\\') . DS; - } - - return $this; - } - - /** - * Adds directory of plugin files - * - * @param $plugins_dir - * - * @return Smarty current Smarty instance for chaining - */ - public function addPluginsDir($plugins_dir) - { - // make sure we're dealing with an array - $this->plugins_dir = (array) $this->plugins_dir; - - if (is_array($plugins_dir)) { - foreach ($plugins_dir as $k => $v) { - if (is_int($k)) { - // indexes are not merged but appended - $this->plugins_dir[] = rtrim($v, '/\\') . DS; - } else { - // string indexes are overridden - $this->plugins_dir[$k] = rtrim($v, '/\\') . DS; - } - } - } else { - // append new directory - $this->plugins_dir[] = rtrim($plugins_dir, '/\\') . DS; - } - - $this->plugins_dir = array_unique($this->plugins_dir); - - return $this; - } - - /** - * Get plugin directories - * - * @return array list of plugin directories - */ - public function getPluginsDir() - { - return (array) $this->plugins_dir; - } - - /** - * Set compile directory - * - * @param string $compile_dir directory to store compiled templates in - * - * @return Smarty current Smarty instance for chaining - */ - public function setCompileDir($compile_dir) - { - $this->compile_dir = rtrim($compile_dir, '/\\') . DS; - if (!isset(Smarty::$_muted_directories[$this->compile_dir])) { - Smarty::$_muted_directories[$this->compile_dir] = null; - } - - return $this; - } - - /** - * Get compiled directory - * - * @return string path to compiled templates - */ - public function getCompileDir() - { - return $this->compile_dir; - } - - /** - * Set cache directory - * - * @param string $cache_dir directory to store cached templates in - * - * @return Smarty current Smarty instance for chaining - */ - public function setCacheDir($cache_dir) - { - $this->cache_dir = rtrim($cache_dir, '/\\') . DS; - if (!isset(Smarty::$_muted_directories[$this->cache_dir])) { - Smarty::$_muted_directories[$this->cache_dir] = null; - } - - return $this; - } - - /** - * Get cache directory - * - * @return string path of cache directory - */ - public function getCacheDir() - { - return $this->cache_dir; - } - - /** - * Set default modifiers - * - * @param array|string $modifiers modifier or list of modifiers to set - * - * @return Smarty current Smarty instance for chaining - */ - public function setDefaultModifiers($modifiers) - { - $this->default_modifiers = (array) $modifiers; - - return $this; - } - - /** - * Add default modifiers - * - * @param array|string $modifiers modifier or list of modifiers to add - * - * @return Smarty current Smarty instance for chaining - */ - public function addDefaultModifiers($modifiers) - { - if (is_array($modifiers)) { - $this->default_modifiers = array_merge($this->default_modifiers, $modifiers); - } else { - $this->default_modifiers[] = $modifiers; - } - - return $this; - } - - /** - * Get default modifiers - * - * @return array list of default modifiers - */ - public function getDefaultModifiers() - { - return $this->default_modifiers; - } - - /** - * Set autoload filters - * - * @param array $filters filters to load automatically - * @param string $type "pre", "output", … specify the filter type to set. Defaults to none treating $filters' keys as the appropriate types - * - * @return Smarty current Smarty instance for chaining - */ - public function setAutoloadFilters($filters, $type = null) - { - if ($type !== null) { - $this->autoload_filters[$type] = (array) $filters; - } else { - $this->autoload_filters = (array) $filters; - } - - return $this; - } - - /** - * Add autoload filters - * - * @param array $filters filters to load automatically - * @param string $type "pre", "output", … specify the filter type to set. Defaults to none treating $filters' keys as the appropriate types - * - * @return Smarty current Smarty instance for chaining - */ - public function addAutoloadFilters($filters, $type = null) - { - if ($type !== null) { - if (!empty($this->autoload_filters[$type])) { - $this->autoload_filters[$type] = array_merge($this->autoload_filters[$type], (array) $filters); - } else { - $this->autoload_filters[$type] = (array) $filters; - } - } else { - foreach ((array) $filters as $key => $value) { - if (!empty($this->autoload_filters[$key])) { - $this->autoload_filters[$key] = array_merge($this->autoload_filters[$key], (array) $value); - } else { - $this->autoload_filters[$key] = (array) $value; - } - } - } - - return $this; - } - - /** - * Get autoload filters - * - * @param string $type type of filter to get autoloads for. Defaults to all autoload filters - * - * @return array array( 'type1' => array( 'filter1', 'filter2', … ) ) or array( 'filter1', 'filter2', …) if $type was specified - */ - public function getAutoloadFilters($type = null) - { - if ($type !== null) { - return isset($this->autoload_filters[$type]) ? $this->autoload_filters[$type] : array(); - } - - return $this->autoload_filters; - } - - /** - * return name of debugging template - * - * @return string - */ - public function getDebugTemplate() - { - return $this->debug_tpl; - } - - /** - * set the debug template - * - * @param string $tpl_name - * - * @return Smarty current Smarty instance for chaining - * @throws SmartyException if file is not readable - */ - public function setDebugTemplate($tpl_name) - { - if (!is_readable($tpl_name)) { - throw new SmartyException("Unknown file '{$tpl_name}'"); - } - $this->debug_tpl = $tpl_name; - - return $this; - } - - /** - * creates a template object - * - * @param string $template the resource handle of the template file - * @param mixed $cache_id cache id to be used with this template - * @param mixed $compile_id compile id to be used with this template - * @param object $parent next higher level of Smarty variables - * @param boolean $do_clone flag is Smarty object shall be cloned - * - * @return object template object - */ - public function createTemplate($template, $cache_id = null, $compile_id = null, $parent = null, $do_clone = true) - { - if ($cache_id !== null && (is_object($cache_id) || is_array($cache_id))) { - $parent = $cache_id; - $cache_id = null; - } - if ($parent !== null && is_array($parent)) { - $data = $parent; - $parent = null; - } else { - $data = null; - } - // default to cache_id and compile_id of Smarty object - $cache_id = $cache_id === null ? $this->cache_id : $cache_id; - $compile_id = $compile_id === null ? $this->compile_id : $compile_id; - // already in template cache? - if ($this->allow_ambiguous_resources) { - $_templateId = Smarty_Resource::getUniqueTemplateName($this, $template) . $cache_id . $compile_id; - } else { - $_templateId = $this->joined_template_dir . '#' . $template . $cache_id . $compile_id; - } - if (isset($_templateId[150])) { - $_templateId = sha1($_templateId); - } - if ($do_clone) { - if (isset($this->template_objects[$_templateId])) { - // return cached template object - $tpl = clone $this->template_objects[$_templateId]; - $tpl->smarty = clone $tpl->smarty; - $tpl->parent = $parent; - $tpl->tpl_vars = array(); - $tpl->config_vars = array(); - } else { - $tpl = new $this->template_class($template, clone $this, $parent, $cache_id, $compile_id); - } - } else { - if (isset($this->template_objects[$_templateId])) { - // return cached template object - $tpl = $this->template_objects[$_templateId]; - $tpl->parent = $parent; - $tpl->tpl_vars = array(); - $tpl->config_vars = array(); - } else { - $tpl = new $this->template_class($template, $this, $parent, $cache_id, $compile_id); - } - } - // fill data if present - if (!empty($data) && is_array($data)) { - // set up variable values - foreach ($data as $_key => $_val) { - $tpl->tpl_vars[$_key] = new Smarty_variable($_val); - } - } - - return $tpl; - } - - /** - * Takes unknown classes and loads plugin files for them - * class name format: Smarty_PluginType_PluginName - * plugin filename format: plugintype.pluginname.php - * - * @param string $plugin_name class plugin name to load - * @param bool $check check if already loaded - * - * @throws SmartyException - * @return string |boolean filepath of loaded file or false - */ - public function loadPlugin($plugin_name, $check = true) - { - // if function or class exists, exit silently (already loaded) - if ($check && (is_callable($plugin_name) || class_exists($plugin_name, false))) { - return true; - } - // Plugin name is expected to be: Smarty_[Type]_[Name] - $_name_parts = explode('_', $plugin_name, 3); - // class name must have three parts to be valid plugin - // count($_name_parts) < 3 === !isset($_name_parts[2]) - if (!isset($_name_parts[2]) || strtolower($_name_parts[0]) !== 'smarty') { - throw new SmartyException("plugin {$plugin_name} is not a valid name format"); - } - // if type is "internal", get plugin from sysplugins - if (strtolower($_name_parts[1]) == 'internal') { - $file = SMARTY_SYSPLUGINS_DIR . strtolower($plugin_name) . '.php'; - if (isset(self::$_is_file_cache[$file]) ? self::$_is_file_cache[$file] : self::$_is_file_cache[$file] = is_file($file)) { - require_once($file); - return $file; - } else { - return false; - } - } - // plugin filename is expected to be: [type].[name].php - $_plugin_filename = "{$_name_parts[1]}.{$_name_parts[2]}.php"; - - $_stream_resolve_include_path = function_exists('stream_resolve_include_path'); - - // loop through plugin dirs and find the plugin - foreach ($this->getPluginsDir() as $_plugin_dir) { - $names = array( - $_plugin_dir . $_plugin_filename, - $_plugin_dir . strtolower($_plugin_filename), - ); - foreach ($names as $file) { - if (isset(self::$_is_file_cache[$file]) ? self::$_is_file_cache[$file] : self::$_is_file_cache[$file] = is_file($file)) { - require_once($file); - return $file; - } - if ($this->use_include_path && !preg_match('/^([\/\\\\]|[a-zA-Z]:[\/\\\\])/', $_plugin_dir)) { - // try PHP include_path - if ($_stream_resolve_include_path) { - $file = stream_resolve_include_path($file); - } else { - $file = Smarty_Internal_Get_Include_Path::getIncludePath($file); - } - - if ($file !== false) { - require_once($file); - - return $file; - } - } - } - } - // no plugin loaded - return false; - } - - /** - * Compile all template files - * - * @param string $extension file extension - * @param bool $force_compile force all to recompile - * @param int $time_limit - * @param int $max_errors - * - * @return integer number of template files recompiled - */ - public function compileAllTemplates($extension = '.tpl', $force_compile = false, $time_limit = 0, $max_errors = null) - { - return Smarty_Internal_Utility::compileAllTemplates($extension, $force_compile, $time_limit, $max_errors, $this); - } - - /** - * Compile all config files - * - * @param string $extension file extension - * @param bool $force_compile force all to recompile - * @param int $time_limit - * @param int $max_errors - * - * @return integer number of template files recompiled - */ - public function compileAllConfig($extension = '.conf', $force_compile = false, $time_limit = 0, $max_errors = null) - { - return Smarty_Internal_Utility::compileAllConfig($extension, $force_compile, $time_limit, $max_errors, $this); - } - - /** - * Delete compiled template file - * - * @param string $resource_name template name - * @param string $compile_id compile id - * @param integer $exp_time expiration time - * - * @return integer number of template files deleted - */ - public function clearCompiledTemplate($resource_name = null, $compile_id = null, $exp_time = null) - { - return Smarty_Internal_Utility::clearCompiledTemplate($resource_name, $compile_id, $exp_time, $this); - } - - /** - * Return array of tag/attributes of all tags used by an template - * - * @param Smarty_Internal_Template $template - * - * @return array of tag/attributes - */ - public function getTags(Smarty_Internal_Template $template) - { - return Smarty_Internal_Utility::getTags($template); - } - - /** - * Run installation test - * - * @param array $errors Array to write errors into, rather than outputting them - * - * @return boolean true if setup is fine, false if something is wrong - */ - public function testInstall(&$errors = null) - { - return Smarty_Internal_Utility::testInstall($this, $errors); - } - - /** - * Error Handler to mute expected messages - * - * @link http://php.net/set_error_handler - * - * @param integer $errno Error level - * @param $errstr - * @param $errfile - * @param $errline - * @param $errcontext - * - * @return boolean - */ - public static function mutingErrorHandler($errno, $errstr, $errfile, $errline, $errcontext) - { - $_is_muted_directory = false; - - // add the SMARTY_DIR to the list of muted directories - if (!isset(Smarty::$_muted_directories[SMARTY_DIR])) { - $smarty_dir = realpath(SMARTY_DIR); - if ($smarty_dir !== false) { - Smarty::$_muted_directories[SMARTY_DIR] = array( - 'file' => $smarty_dir, - 'length' => strlen($smarty_dir), - ); - } - } - - // walk the muted directories and test against $errfile - foreach (Smarty::$_muted_directories as $key => &$dir) { - if (!$dir) { - // resolve directory and length for speedy comparisons - $file = realpath($key); - if ($file === false) { - // this directory does not exist, remove and skip it - unset(Smarty::$_muted_directories[$key]); - continue; - } - $dir = array( - 'file' => $file, - 'length' => strlen($file), - ); - } - if (!strncmp($errfile, $dir['file'], $dir['length'])) { - $_is_muted_directory = true; - break; - } - } - - // pass to next error handler if this error did not occur inside SMARTY_DIR - // or the error was within smarty but masked to be ignored - if (!$_is_muted_directory || ($errno && $errno & error_reporting())) { - if (Smarty::$_previous_error_handler) { - return call_user_func(Smarty::$_previous_error_handler, $errno, $errstr, $errfile, $errline, $errcontext); - } else { - return false; - } - } - } - - /** - * Enable error handler to mute expected messages - * - * @return void - */ - public static function muteExpectedErrors() - { - /* - error muting is done because some people implemented custom error_handlers using - http://php.net/set_error_handler and for some reason did not understand the following paragraph: - - It is important to remember that the standard PHP error handler is completely bypassed for the - error types specified by error_types unless the callback function returns FALSE. - error_reporting() settings will have no effect and your error handler will be called regardless - - however you are still able to read the current value of error_reporting and act appropriately. - Of particular note is that this value will be 0 if the statement that caused the error was - prepended by the @ error-control operator. - - Smarty deliberately uses @filemtime() over file_exists() and filemtime() in some places. Reasons include - - @filemtime() is almost twice as fast as using an additional file_exists() - - between file_exists() and filemtime() a possible race condition is opened, - which does not exist using the simple @filemtime() approach. - */ - $error_handler = array('Smarty', 'mutingErrorHandler'); - $previous = set_error_handler($error_handler); - - // avoid dead loops - if ($previous !== $error_handler) { - Smarty::$_previous_error_handler = $previous; - } - } - - /** - * Disable error handler muting expected messages - * - * @return void - */ - public static function unmuteExpectedErrors() - { - restore_error_handler(); - } -} - -// Check if we're running on windows -Smarty::$_IS_WINDOWS = strtoupper(substr(PHP_OS, 0, 3)) === 'WIN'; - -// let PCRE (preg_*) treat strings as ISO-8859-1 if we're not dealing with UTF-8 -if (Smarty::$_CHARSET !== 'UTF-8') { - Smarty::$_UTF8_MODIFIER = ''; -} - -/** - * Smarty exception class - * - * @package Smarty - */ -class SmartyException extends Exception -{ - public static $escape = false; - - public function __toString() - { - return ' --> Smarty: ' . (self::$escape ? htmlentities($this->message) : $this->message) . ' <-- '; - } -} - -/** - * Smarty compiler exception class - * - * @package Smarty - */ -class SmartyCompilerException extends SmartyException -{ - public function __toString() - { - return ' --> Smarty Compiler: ' . $this->message . ' <-- '; - } - - /** - * The line number of the template error - * - * @type int|null - */ - public $line = null; - /** - * The template source snippet relating to the error - * - * @type string|null - */ - public $source = null; - /** - * The raw text of the error message - * - * @type string|null - */ - public $desc = null; - /** - * The resource identifier or template name - * - * @type string|null - */ - public $template = null; -} - -/** - * Autoloader - */ -function smartyAutoload($class) -{ - $_class = strtolower($class); - static $_classes = array( - 'smarty_config_source' => true, - 'smarty_config_compiled' => true, - 'smarty_security' => true, - 'smarty_cacheresource' => true, - 'smarty_cacheresource_custom' => true, - 'smarty_cacheresource_keyvaluestore' => true, - 'smarty_resource' => true, - 'smarty_resource_custom' => true, - 'smarty_resource_uncompiled' => true, - 'smarty_resource_recompiled' => true, - ); - - if (!strncmp($_class, 'smarty_internal_', 16) || isset($_classes[$_class])) { - include SMARTY_SYSPLUGINS_DIR . $_class . '.php'; - } -} diff --git a/lib/Smarty-3.1.21/libs/plugins/function.counter.php b/lib/Smarty-3.1.21/libs/plugins/function.counter.php deleted file mode 100644 index 4da85a14..00000000 --- a/lib/Smarty-3.1.21/libs/plugins/function.counter.php +++ /dev/null @@ -1,78 +0,0 @@ - - * Name: counter
- * Purpose: print out a counter value - * - * @author Monte Ohrt - * @link http://www.smarty.net/manual/en/language.function.counter.php {counter} - * (Smarty online manual) - * - * @param array $params parameters - * @param Smarty_Internal_Template $template template object - * - * @return string|null - */ -function smarty_function_counter($params, $template) -{ - static $counters = array(); - - $name = (isset($params['name'])) ? $params['name'] : 'default'; - if (!isset($counters[$name])) { - $counters[$name] = array( - 'start' => 1, - 'skip' => 1, - 'direction' => 'up', - 'count' => 1 - ); - } - $counter =& $counters[$name]; - - if (isset($params['start'])) { - $counter['start'] = $counter['count'] = (int) $params['start']; - } - - if (!empty($params['assign'])) { - $counter['assign'] = $params['assign']; - } - - if (isset($counter['assign'])) { - $template->assign($counter['assign'], $counter['count']); - } - - if (isset($params['print'])) { - $print = (bool) $params['print']; - } else { - $print = empty($counter['assign']); - } - - if ($print) { - $retval = $counter['count']; - } else { - $retval = null; - } - - if (isset($params['skip'])) { - $counter['skip'] = $params['skip']; - } - - if (isset($params['direction'])) { - $counter['direction'] = $params['direction']; - } - - if ($counter['direction'] == "down") { - $counter['count'] -= $counter['skip']; - } else { - $counter['count'] += $counter['skip']; - } - - return $retval; -} diff --git a/lib/Smarty-3.1.21/libs/plugins/function.cycle.php b/lib/Smarty-3.1.21/libs/plugins/function.cycle.php deleted file mode 100644 index 8dc5cd9d..00000000 --- a/lib/Smarty-3.1.21/libs/plugins/function.cycle.php +++ /dev/null @@ -1,107 +0,0 @@ - - * Name: cycle
- * Date: May 3, 2002
- * Purpose: cycle through given values
- * Params: - *
- * - name      - name of cycle (optional)
- * - values    - comma separated list of values to cycle, or an array of values to cycle
- *               (this can be left out for subsequent calls)
- * - reset     - boolean - resets given var to true
- * - print     - boolean - print var or not. default is true
- * - advance   - boolean - whether or not to advance the cycle
- * - delimiter - the value delimiter, default is ","
- * - assign    - boolean, assigns to template var instead of printed.
- * 
- * Examples:
- *
- * {cycle values="#eeeeee,#d0d0d0d"}
- * {cycle name=row values="one,two,three" reset=true}
- * {cycle name=row}
- * 
- * - * @link http://www.smarty.net/manual/en/language.function.cycle.php {cycle} - * (Smarty online manual) - * @author Monte Ohrt - * @author credit to Mark Priatel - * @author credit to Gerard - * @author credit to Jason Sweat - * @version 1.3 - * - * @param array $params parameters - * @param Smarty_Internal_Template $template template object - * - * @return string|null - */ - -function smarty_function_cycle($params, $template) -{ - static $cycle_vars; - - $name = (empty($params['name'])) ? 'default' : $params['name']; - $print = (isset($params['print'])) ? (bool) $params['print'] : true; - $advance = (isset($params['advance'])) ? (bool) $params['advance'] : true; - $reset = (isset($params['reset'])) ? (bool) $params['reset'] : false; - - if (!isset($params['values'])) { - if (!isset($cycle_vars[$name]['values'])) { - trigger_error("cycle: missing 'values' parameter"); - - return; - } - } else { - if (isset($cycle_vars[$name]['values']) - && $cycle_vars[$name]['values'] != $params['values'] - ) { - $cycle_vars[$name]['index'] = 0; - } - $cycle_vars[$name]['values'] = $params['values']; - } - - if (isset($params['delimiter'])) { - $cycle_vars[$name]['delimiter'] = $params['delimiter']; - } elseif (!isset($cycle_vars[$name]['delimiter'])) { - $cycle_vars[$name]['delimiter'] = ','; - } - - if (is_array($cycle_vars[$name]['values'])) { - $cycle_array = $cycle_vars[$name]['values']; - } else { - $cycle_array = explode($cycle_vars[$name]['delimiter'], $cycle_vars[$name]['values']); - } - - if (!isset($cycle_vars[$name]['index']) || $reset) { - $cycle_vars[$name]['index'] = 0; - } - - if (isset($params['assign'])) { - $print = false; - $template->assign($params['assign'], $cycle_array[$cycle_vars[$name]['index']]); - } - - if ($print) { - $retval = $cycle_array[$cycle_vars[$name]['index']]; - } else { - $retval = null; - } - - if ($advance) { - if ($cycle_vars[$name]['index'] >= count($cycle_array) - 1) { - $cycle_vars[$name]['index'] = 0; - } else { - $cycle_vars[$name]['index'] ++; - } - } - - return $retval; -} diff --git a/lib/Smarty-3.1.21/libs/plugins/function.html_checkboxes.php b/lib/Smarty-3.1.21/libs/plugins/function.html_checkboxes.php deleted file mode 100644 index d7868036..00000000 --- a/lib/Smarty-3.1.21/libs/plugins/function.html_checkboxes.php +++ /dev/null @@ -1,237 +0,0 @@ - - * Type: function
- * Name: html_checkboxes
- * Date: 24.Feb.2003
- * Purpose: Prints out a list of checkbox input types
- * Examples: - *
- * {html_checkboxes values=$ids output=$names}
- * {html_checkboxes values=$ids name='box' separator='
' output=$names} - * {html_checkboxes values=$ids checked=$checked separator='
' output=$names} - *
- * Params: - *
- * - name       (optional) - string default "checkbox"
- * - values     (required) - array
- * - options    (optional) - associative array
- * - checked    (optional) - array default not set
- * - separator  (optional) - ie 
or   - * - output (optional) - the output next to each checkbox - * - assign (optional) - assign the output as an array to this variable - * - escape (optional) - escape the content (not value), defaults to true - *
- * - * @link http://www.smarty.net/manual/en/language.function.html.checkboxes.php {html_checkboxes} - * (Smarty online manual) - * @author Christopher Kvarme - * @author credits to Monte Ohrt - * @version 1.0 - * - * @param array $params parameters - * @param object $template template object - * - * @return string - * @uses smarty_function_escape_special_chars() - */ -function smarty_function_html_checkboxes($params, $template) -{ - require_once(SMARTY_PLUGINS_DIR . 'shared.escape_special_chars.php'); - - $name = 'checkbox'; - $values = null; - $options = null; - $selected = array(); - $separator = ''; - $escape = true; - $labels = true; - $label_ids = false; - $output = null; - - $extra = ''; - - foreach ($params as $_key => $_val) { - switch ($_key) { - case 'name': - case 'separator': - $$_key = (string) $_val; - break; - - case 'escape': - case 'labels': - case 'label_ids': - $$_key = (bool) $_val; - break; - - case 'options': - $$_key = (array) $_val; - break; - - case 'values': - case 'output': - $$_key = array_values((array) $_val); - break; - - case 'checked': - case 'selected': - if (is_array($_val)) { - $selected = array(); - foreach ($_val as $_sel) { - if (is_object($_sel)) { - if (method_exists($_sel, "__toString")) { - $_sel = smarty_function_escape_special_chars((string) $_sel->__toString()); - } else { - trigger_error("html_checkboxes: selected attribute contains an object of class '" . get_class($_sel) . "' without __toString() method", E_USER_NOTICE); - continue; - } - } else { - $_sel = smarty_function_escape_special_chars((string) $_sel); - } - $selected[$_sel] = true; - } - } elseif (is_object($_val)) { - if (method_exists($_val, "__toString")) { - $selected = smarty_function_escape_special_chars((string) $_val->__toString()); - } else { - trigger_error("html_checkboxes: selected attribute is an object of class '" . get_class($_val) . "' without __toString() method", E_USER_NOTICE); - } - } else { - $selected = smarty_function_escape_special_chars((string) $_val); - } - break; - - case 'checkboxes': - trigger_error('html_checkboxes: the use of the "checkboxes" attribute is deprecated, use "options" instead', E_USER_WARNING); - $options = (array) $_val; - break; - - case 'assign': - break; - - case 'strict': - break; - - case 'disabled': - case 'readonly': - if (!empty($params['strict'])) { - if (!is_scalar($_val)) { - trigger_error("html_options: $_key attribute must be a scalar, only boolean true or string '$_key' will actually add the attribute", E_USER_NOTICE); - } - - if ($_val === true || $_val === $_key) { - $extra .= ' ' . $_key . '="' . smarty_function_escape_special_chars($_key) . '"'; - } - - break; - } - // omit break; to fall through! - - default: - if (!is_array($_val)) { - $extra .= ' ' . $_key . '="' . smarty_function_escape_special_chars($_val) . '"'; - } else { - trigger_error("html_checkboxes: extra attribute '$_key' cannot be an array", E_USER_NOTICE); - } - break; - } - } - - if (!isset($options) && !isset($values)) { - return ''; - } /* raise error here? */ - - $_html_result = array(); - - if (isset($options)) { - foreach ($options as $_key => $_val) { - $_html_result[] = smarty_function_html_checkboxes_output($name, $_key, $_val, $selected, $extra, $separator, $labels, $label_ids, $escape); - } - } else { - foreach ($values as $_i => $_key) { - $_val = isset($output[$_i]) ? $output[$_i] : ''; - $_html_result[] = smarty_function_html_checkboxes_output($name, $_key, $_val, $selected, $extra, $separator, $labels, $label_ids, $escape); - } - } - - if (!empty($params['assign'])) { - $template->assign($params['assign'], $_html_result); - } else { - return implode("\n", $_html_result); - } -} - -function smarty_function_html_checkboxes_output($name, $value, $output, $selected, $extra, $separator, $labels, $label_ids, $escape = true) -{ - $_output = ''; - - if (is_object($value)) { - if (method_exists($value, "__toString")) { - $value = (string) $value->__toString(); - } else { - trigger_error("html_options: value is an object of class '" . get_class($value) . "' without __toString() method", E_USER_NOTICE); - - return ''; - } - } else { - $value = (string) $value; - } - - if (is_object($output)) { - if (method_exists($output, "__toString")) { - $output = (string) $output->__toString(); - } else { - trigger_error("html_options: output is an object of class '" . get_class($output) . "' without __toString() method", E_USER_NOTICE); - - return ''; - } - } else { - $output = (string) $output; - } - - if ($labels) { - if ($label_ids) { - $_id = smarty_function_escape_special_chars(preg_replace('![^\w\-\.]!' . Smarty::$_UTF8_MODIFIER, '_', $name . '_' . $value)); - $_output .= '