From 91bfb3a8c98cdace7672eb4c208cedacc756f93f Mon Sep 17 00:00:00 2001
From: Markus Birth <130302+mbirth@users.noreply.github.com>
Date: Thu, 10 Feb 2022 03:12:54 +0100
Subject: [PATCH] Remove included Smarty in favour of Composer install. Also
removed all manual loadings of Smarty to let autoloader handle this.
---
bundled-libs/Smarty/CHANGELOG.md | 3466 ----------------
.../Smarty/COMPOSER_RELEASE_NOTES.txt | 31 -
.../Smarty/INHERITANCE_RELEASE_NOTES.txt | 91 -
bundled-libs/Smarty/LICENSE | 179 -
bundled-libs/Smarty/NEW_FEATURES.txt | 291 --
bundled-libs/Smarty/README | 575 ---
bundled-libs/Smarty/README.md | 78 -
bundled-libs/Smarty/SMARTY_2_BC_NOTES.txt | 109 -
bundled-libs/Smarty/SMARTY_3.0_BC_NOTES.txt | 24 -
bundled-libs/Smarty/SMARTY_3.1_NOTES.txt | 306 --
bundled-libs/Smarty/change_log.txt | 3384 ---------------
bundled-libs/Smarty/composer.json | 46 -
bundled-libs/Smarty/error_reporting.ini | 1 -
bundled-libs/Smarty/expectException | 0
.../smarty_internal_configfilelexer.plex | 318 --
.../lexer/smarty_internal_configfileparser.y | 346 --
.../lexer/smarty_internal_templatelexer.plex | 696 ----
.../lexer/smarty_internal_templateparser.y | 1277 ------
bundled-libs/Smarty/libs/Autoloader.php | 110 -
bundled-libs/Smarty/libs/Smarty.class.php | 1424 -------
bundled-libs/Smarty/libs/SmartyBC.class.php | 477 ---
bundled-libs/Smarty/libs/bootstrap.php | 16 -
bundled-libs/Smarty/libs/debug.tpl | 160 -
.../Smarty/libs/plugins/block.textformat.php | 121 -
.../Smarty/libs/plugins/function.counter.php | 62 -
.../Smarty/libs/plugins/function.cycle.php | 92 -
.../Smarty/libs/plugins/function.fetch.php | 204 -
.../libs/plugins/function.html_checkboxes.php | 286 --
.../libs/plugins/function.html_image.php | 158 -
.../libs/plugins/function.html_options.php | 230 --
.../libs/plugins/function.html_radios.php | 266 --
.../plugins/function.html_select_date.php | 388 --
.../plugins/function.html_select_time.php | 354 --
.../libs/plugins/function.html_table.php | 164 -
.../Smarty/libs/plugins/function.mailto.php | 137 -
.../Smarty/libs/plugins/function.math.php | 112 -
.../libs/plugins/modifier.capitalize.php | 145 -
.../libs/plugins/modifier.date_format.php | 85 -
.../libs/plugins/modifier.debug_print_var.php | 103 -
.../Smarty/libs/plugins/modifier.escape.php | 255 --
.../libs/plugins/modifier.mb_wordwrap.php | 71 -
.../libs/plugins/modifier.regex_replace.php | 55 -
.../Smarty/libs/plugins/modifier.replace.php | 37 -
.../Smarty/libs/plugins/modifier.spacify.php | 26 -
.../Smarty/libs/plugins/modifier.truncate.php | 62 -
.../libs/plugins/modifiercompiler.cat.php | 28 -
.../modifiercompiler.count_characters.php | 32 -
.../modifiercompiler.count_paragraphs.php | 26 -
.../modifiercompiler.count_sentences.php | 26 -
.../plugins/modifiercompiler.count_words.php | 31 -
.../libs/plugins/modifiercompiler.default.php | 32 -
.../libs/plugins/modifiercompiler.escape.php | 112 -
.../plugins/modifiercompiler.from_charset.php | 30 -
.../libs/plugins/modifiercompiler.indent.php | 30 -
.../libs/plugins/modifiercompiler.lower.php | 29 -
.../libs/plugins/modifiercompiler.noprint.php | 20 -
.../modifiercompiler.string_format.php | 24 -
.../libs/plugins/modifiercompiler.strip.php | 30 -
.../plugins/modifiercompiler.strip_tags.php | 28 -
.../plugins/modifiercompiler.to_charset.php | 30 -
.../plugins/modifiercompiler.unescape.php | 44 -
.../libs/plugins/modifiercompiler.upper.php | 28 -
.../plugins/modifiercompiler.wordwrap.php | 39 -
.../plugins/outputfilter.trimwhitespace.php | 89 -
.../plugins/shared.escape_special_chars.php | 32 -
.../plugins/shared.literal_compiler_param.php | 35 -
.../libs/plugins/shared.make_timestamp.php | 49 -
.../libs/plugins/shared.mb_str_replace.php | 53 -
.../Smarty/libs/plugins/shared.mb_unicode.php | 51 -
.../variablefilter.htmlspecialchars.php | 19 -
.../libs/sysplugins/smarty_cacheresource.php | 219 -
.../smarty_cacheresource_custom.php | 297 --
.../smarty_cacheresource_keyvaluestore.php | 538 ---
.../Smarty/libs/sysplugins/smarty_data.php | 68 -
.../libs/sysplugins/smarty_internal_block.php | 90 -
.../smarty_internal_cacheresource_file.php | 239 --
.../smarty_internal_compile_append.php | 52 -
.../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 | 96 -
.../smarty_internal_compile_continue.php | 25 -
.../smarty_internal_compile_debug.php | 40 -
.../smarty_internal_compile_eval.php | 70 -
.../smarty_internal_compile_extends.php | 158 -
.../smarty_internal_compile_for.php | 164 -
.../smarty_internal_compile_foreach.php | 343 --
.../smarty_internal_compile_function.php | 236 --
.../sysplugins/smarty_internal_compile_if.php | 207 -
.../smarty_internal_compile_include.php | 347 --
.../smarty_internal_compile_include_php.php | 110 -
.../smarty_internal_compile_insert.php | 157 -
.../smarty_internal_compile_ldelim.php | 37 -
.../smarty_internal_compile_make_nocache.php | 62 -
.../smarty_internal_compile_nocache.php | 73 -
.../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 | 78 -
...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 | 130 -
.../smarty_internal_compile_rdelim.php | 34 -
.../smarty_internal_compile_section.php | 462 ---
.../smarty_internal_compile_setfilter.php | 68 -
...ty_internal_compile_shared_inheritance.php | 49 -
.../smarty_internal_compile_while.php | 100 -
.../smarty_internal_compilebase.php | 203 -
.../smarty_internal_config_file_compiler.php | 209 -
.../smarty_internal_configfilelexer.php | 739 ----
.../smarty_internal_configfileparser.php | 1046 -----
.../libs/sysplugins/smarty_internal_data.php | 292 --
.../libs/sysplugins/smarty_internal_debug.php | 429 --
.../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 | 58 -
...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 | 51 -
.../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 | 169 -
.../smarty_internal_parsetree_text.php | 57 -
.../smarty_internal_resource_eval.php | 94 -
.../smarty_internal_resource_extends.php | 126 -
.../smarty_internal_resource_file.php | 180 -
.../smarty_internal_resource_php.php | 116 -
.../smarty_internal_resource_registered.php | 101 -
.../smarty_internal_resource_stream.php | 78 -
.../smarty_internal_resource_string.php | 108 -
.../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 | 100 -
...smarty_internal_smartytemplatecompiler.php | 184 -
.../sysplugins/smarty_internal_template.php | 740 ----
.../smarty_internal_templatebase.php | 386 --
.../smarty_internal_templatecompilerbase.php | 1760 --------
.../smarty_internal_templatelexer.php | 1095 -----
.../smarty_internal_templateparser.php | 3623 -----------------
.../smarty_internal_testinstall.php | 609 ---
.../sysplugins/smarty_internal_undefined.php | 67 -
.../libs/sysplugins/smarty_resource.php | 262 --
.../sysplugins/smarty_resource_custom.php | 93 -
.../sysplugins/smarty_resource_recompiled.php | 94 -
.../sysplugins/smarty_resource_uncompiled.php | 49 -
.../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 -
composer.json | 1 +
composer.lock | 65 +-
include/admin/plugins.inc.php | 4 -
include/functions_smarty.inc.php | 8 -
serendipity_config.inc.php | 1 -
228 files changed, 65 insertions(+), 44312 deletions(-)
delete mode 100644 bundled-libs/Smarty/CHANGELOG.md
delete mode 100644 bundled-libs/Smarty/COMPOSER_RELEASE_NOTES.txt
delete mode 100644 bundled-libs/Smarty/INHERITANCE_RELEASE_NOTES.txt
delete mode 100644 bundled-libs/Smarty/LICENSE
delete mode 100644 bundled-libs/Smarty/NEW_FEATURES.txt
delete mode 100644 bundled-libs/Smarty/README
delete mode 100644 bundled-libs/Smarty/README.md
delete mode 100644 bundled-libs/Smarty/SMARTY_2_BC_NOTES.txt
delete mode 100644 bundled-libs/Smarty/SMARTY_3.0_BC_NOTES.txt
delete mode 100644 bundled-libs/Smarty/SMARTY_3.1_NOTES.txt
delete mode 100644 bundled-libs/Smarty/change_log.txt
delete mode 100644 bundled-libs/Smarty/composer.json
delete mode 100644 bundled-libs/Smarty/error_reporting.ini
delete mode 100644 bundled-libs/Smarty/expectException
delete mode 100644 bundled-libs/Smarty/lexer/smarty_internal_configfilelexer.plex
delete mode 100644 bundled-libs/Smarty/lexer/smarty_internal_configfileparser.y
delete mode 100644 bundled-libs/Smarty/lexer/smarty_internal_templatelexer.plex
delete mode 100644 bundled-libs/Smarty/lexer/smarty_internal_templateparser.y
delete mode 100644 bundled-libs/Smarty/libs/Autoloader.php
delete mode 100644 bundled-libs/Smarty/libs/Smarty.class.php
delete mode 100644 bundled-libs/Smarty/libs/SmartyBC.class.php
delete mode 100644 bundled-libs/Smarty/libs/bootstrap.php
delete mode 100644 bundled-libs/Smarty/libs/debug.tpl
delete mode 100644 bundled-libs/Smarty/libs/plugins/block.textformat.php
delete mode 100644 bundled-libs/Smarty/libs/plugins/function.counter.php
delete mode 100644 bundled-libs/Smarty/libs/plugins/function.cycle.php
delete mode 100644 bundled-libs/Smarty/libs/plugins/function.fetch.php
delete mode 100644 bundled-libs/Smarty/libs/plugins/function.html_checkboxes.php
delete mode 100644 bundled-libs/Smarty/libs/plugins/function.html_image.php
delete mode 100644 bundled-libs/Smarty/libs/plugins/function.html_options.php
delete mode 100644 bundled-libs/Smarty/libs/plugins/function.html_radios.php
delete mode 100644 bundled-libs/Smarty/libs/plugins/function.html_select_date.php
delete mode 100644 bundled-libs/Smarty/libs/plugins/function.html_select_time.php
delete mode 100644 bundled-libs/Smarty/libs/plugins/function.html_table.php
delete mode 100644 bundled-libs/Smarty/libs/plugins/function.mailto.php
delete mode 100644 bundled-libs/Smarty/libs/plugins/function.math.php
delete mode 100644 bundled-libs/Smarty/libs/plugins/modifier.capitalize.php
delete mode 100644 bundled-libs/Smarty/libs/plugins/modifier.date_format.php
delete mode 100644 bundled-libs/Smarty/libs/plugins/modifier.debug_print_var.php
delete mode 100644 bundled-libs/Smarty/libs/plugins/modifier.escape.php
delete mode 100644 bundled-libs/Smarty/libs/plugins/modifier.mb_wordwrap.php
delete mode 100644 bundled-libs/Smarty/libs/plugins/modifier.regex_replace.php
delete mode 100644 bundled-libs/Smarty/libs/plugins/modifier.replace.php
delete mode 100644 bundled-libs/Smarty/libs/plugins/modifier.spacify.php
delete mode 100644 bundled-libs/Smarty/libs/plugins/modifier.truncate.php
delete mode 100644 bundled-libs/Smarty/libs/plugins/modifiercompiler.cat.php
delete mode 100644 bundled-libs/Smarty/libs/plugins/modifiercompiler.count_characters.php
delete mode 100644 bundled-libs/Smarty/libs/plugins/modifiercompiler.count_paragraphs.php
delete mode 100644 bundled-libs/Smarty/libs/plugins/modifiercompiler.count_sentences.php
delete mode 100644 bundled-libs/Smarty/libs/plugins/modifiercompiler.count_words.php
delete mode 100644 bundled-libs/Smarty/libs/plugins/modifiercompiler.default.php
delete mode 100644 bundled-libs/Smarty/libs/plugins/modifiercompiler.escape.php
delete mode 100644 bundled-libs/Smarty/libs/plugins/modifiercompiler.from_charset.php
delete mode 100644 bundled-libs/Smarty/libs/plugins/modifiercompiler.indent.php
delete mode 100644 bundled-libs/Smarty/libs/plugins/modifiercompiler.lower.php
delete mode 100644 bundled-libs/Smarty/libs/plugins/modifiercompiler.noprint.php
delete mode 100644 bundled-libs/Smarty/libs/plugins/modifiercompiler.string_format.php
delete mode 100644 bundled-libs/Smarty/libs/plugins/modifiercompiler.strip.php
delete mode 100644 bundled-libs/Smarty/libs/plugins/modifiercompiler.strip_tags.php
delete mode 100644 bundled-libs/Smarty/libs/plugins/modifiercompiler.to_charset.php
delete mode 100644 bundled-libs/Smarty/libs/plugins/modifiercompiler.unescape.php
delete mode 100644 bundled-libs/Smarty/libs/plugins/modifiercompiler.upper.php
delete mode 100644 bundled-libs/Smarty/libs/plugins/modifiercompiler.wordwrap.php
delete mode 100644 bundled-libs/Smarty/libs/plugins/outputfilter.trimwhitespace.php
delete mode 100644 bundled-libs/Smarty/libs/plugins/shared.escape_special_chars.php
delete mode 100644 bundled-libs/Smarty/libs/plugins/shared.literal_compiler_param.php
delete mode 100644 bundled-libs/Smarty/libs/plugins/shared.make_timestamp.php
delete mode 100644 bundled-libs/Smarty/libs/plugins/shared.mb_str_replace.php
delete mode 100644 bundled-libs/Smarty/libs/plugins/shared.mb_unicode.php
delete mode 100644 bundled-libs/Smarty/libs/plugins/variablefilter.htmlspecialchars.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_cacheresource.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_cacheresource_custom.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_cacheresource_keyvaluestore.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_data.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_block.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_cacheresource_file.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_compile_append.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_compile_assign.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_compile_block.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_compile_block_child.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_compile_block_parent.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_compile_break.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_compile_call.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_compile_capture.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_compile_child.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_compile_config_load.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_compile_continue.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_compile_debug.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_compile_eval.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_compile_extends.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_compile_for.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_compile_foreach.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_compile_function.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_compile_if.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_compile_include.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_compile_include_php.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_compile_insert.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_compile_ldelim.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_compile_make_nocache.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_compile_nocache.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_compile_parent.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_compile_private_block_plugin.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_compile_private_foreachsection.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_compile_private_function_plugin.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_compile_private_modifier.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_compile_private_object_block_function.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_compile_private_object_function.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_compile_private_php.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_compile_private_print_expression.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_compile_private_registered_block.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_compile_private_registered_function.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_compile_private_special_variable.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_compile_rdelim.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_compile_section.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_compile_setfilter.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_compile_shared_inheritance.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_compile_while.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_compilebase.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_config_file_compiler.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_configfilelexer.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_configfileparser.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_data.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_debug.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_errorhandler.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_extension_handler.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_method_addautoloadfilters.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_method_adddefaultmodifiers.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_method_append.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_method_appendbyref.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_method_assignbyref.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_method_assignglobal.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_method_clearallassign.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_method_clearallcache.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_method_clearassign.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_method_clearcache.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_method_clearcompiledtemplate.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_method_clearconfig.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_method_compileallconfig.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_method_compilealltemplates.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_method_configload.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_method_createdata.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_method_getautoloadfilters.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_method_getconfigvariable.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_method_getconfigvars.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_method_getdebugtemplate.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_method_getdefaultmodifiers.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_method_getglobal.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_method_getregisteredobject.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_method_getstreamvariable.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_method_gettags.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_method_gettemplatevars.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_method_literals.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_method_loadfilter.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_method_loadplugin.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_method_mustcompile.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_method_registercacheresource.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_method_registerclass.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_method_registerdefaultconfighandler.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_method_registerdefaultpluginhandler.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_method_registerdefaulttemplatehandler.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_method_registerfilter.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_method_registerobject.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_method_registerplugin.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_method_registerresource.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_method_setautoloadfilters.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_method_setdebugtemplate.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_method_setdefaultmodifiers.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_method_unloadfilter.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_method_unregistercacheresource.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_method_unregisterfilter.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_method_unregisterobject.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_method_unregisterplugin.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_method_unregisterresource.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_nocache_insert.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_parsetree.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_parsetree_code.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_parsetree_dq.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_parsetree_dqcontent.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_parsetree_tag.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_parsetree_template.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_parsetree_text.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_resource_eval.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_resource_extends.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_resource_file.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_resource_php.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_resource_registered.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_resource_stream.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_resource_string.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_runtime_cachemodify.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_runtime_cacheresourcefile.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_runtime_capture.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_runtime_codeframe.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_runtime_filterhandler.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_runtime_foreach.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_runtime_getincludepath.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_runtime_inheritance.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_runtime_make_nocache.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_runtime_tplfunction.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_runtime_updatecache.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_runtime_updatescope.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_runtime_writefile.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_smartytemplatecompiler.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_template.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_templatebase.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_templatelexer.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_templateparser.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_testinstall.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_internal_undefined.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_resource.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_resource_custom.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_resource_recompiled.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_resource_uncompiled.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_security.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_template_cached.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_template_compiled.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_template_config.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_template_resource_base.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_template_source.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_undefined_variable.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smarty_variable.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smartycompilerexception.php
delete mode 100644 bundled-libs/Smarty/libs/sysplugins/smartyexception.php
diff --git a/bundled-libs/Smarty/CHANGELOG.md b/bundled-libs/Smarty/CHANGELOG.md
deleted file mode 100644
index e3bb93a4..00000000
--- a/bundled-libs/Smarty/CHANGELOG.md
+++ /dev/null
@@ -1,3466 +0,0 @@
-# Changelog
-All notable changes to this project will be documented in this file.
-
-The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
-and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
-
-## [Unreleased]
-
-## [3.1.39] - 2021-02-17
-
-### Security
-- Prevent access to `$smarty.template_object` in sandbox mode
-- Fixed code injection vulnerability by using illegal function names in `{function name='blah'}{/function}`
-
-## [3.1.38] - 2021-01-08
-
-### Fixed
-- Smarty::SMARTY_VERSION wasn't updated https://github.com/smarty-php/smarty/issues/628
-
-## [3.1.37] - 2021-01-07
-
-### Changed
-- Changed error handlers and handling of undefined constants for php8-compatibility (set $errcontext argument optional) https://github.com/smarty-php/smarty/issues/605
-- Changed expected error levels in unit tests for php8-compatibility
-- Travis unit tests now run for all php versions >= 5.3, including php8
-- Travis runs on Xenial where possible
-
-### Fixed
-- PHP5.3 compatibility fixes
-- Brought lexer source functionally up-to-date with compiled version
-
-## [3.1.36] - 2020-04-14
-
-### Fixed
- - Smarty::SMARTY_VERSION wasn't updated in v3.1.35 https://github.com/smarty-php/smarty/issues/584
-
-## [3.1.35] - 2020-04-14
- - remove whitespaces after comments https://github.com/smarty-php/smarty/issues/447
- - fix foreachelse on arrayiterators https://github.com/smarty-php/smarty/issues/506
- - fix files contained in git export archive for package maintainers https://github.com/smarty-php/smarty/issues/325
- - throw SmartyException when setting caching attributes for cacheable plugin https://github.com/smarty-php/smarty/issues/457
- - fix errors that occured where isset was replaced with null check such as https://github.com/smarty-php/smarty/issues/453
- - unit tests are now in the repository
-
-## 3.1.34 release - 05.11.2019
-13.01.2020
- - fix typo in exception message (JercSi)
- - fix typehint warning with callable (bets4breakfast)
- - add travis badge and compatability info to readme (matks)
- - fix stdClass cast when compiling foreach (carpii)
- - fix wrong set/get methods for memcached (IT-Experte)
- - fix pborm assigning value to object variables in smarty_internal_compile_assign (Hunman)
- - exclude error_reporting.ini from git export (glensc)
-
-## 3.1.34-dev-6 -
-30.10.2018
- - bugfix a nested subblock in an inheritance child template was not replace by
- outer level block with same name in same child template https://github.com/smarty-php/smarty/issues/500
-
-29.10.2018
- - bugfix Smarty::$php_handling == PHP_PASSTHRU (default) did eat the "\n" (newline) character if it did directly followed
- a PHP tag like "?>" or other https://github.com/smarty-php/smarty/issues/501
-
-14.10.2018
- - bugfix autoloader exit shortcut https://github.com/smarty-php/smarty/issues/467
-
-11.10.2018
- - bugfix {insert} not works when caching is enabled and included template is present
- https://github.com/smarty-php/smarty/issues/496
- - bugfix in date-format modifier; NULL at date string or default_date did not produce correct output
- https://github.com/smarty-php/smarty/pull/458
-
-09.10.2018
- - bugfix fix of 26.8.2017 https://github.com/smarty-php/smarty/issues/327
- modifier is applied to sum expression https://github.com/smarty-php/smarty/issues/491
- - bugfix indexed arrays could not be defined "array(...)""
-
-18.09.2018
- - bugfix large plain text template sections without a Smarty tag > 700kB could
- could fail in version 3.1.32 and 3.1.33 because PHP preg_match() restrictions
- https://github.com/smarty-php/smarty/issues/488
-
-## 3.1.33 release - 12.09.2018
-## 3.1.33-dev-12 -
-03.09.2018
- - bugfix {foreach} using new style property access like {$item@property} on
- Smarty 2 style named foreach loop could produce errors https://github.com/smarty-php/smarty/issues/484
-
-31.08.2018
- - bugfix some custom left and right delimiters like '{^' '^}' did not work
- https://github.com/smarty-php/smarty/issues/450 https://github.com/smarty-php/smarty/pull/482
-
- - reformating for PSR-2 coding standards https://github.com/smarty-php/smarty/pull/483
-
- - bugfix on Windows absolute filepathes did fail if the drive letter was followed by a linux DIRECTORY_SEPARATOR
- like C:/ at Smarty > 3.1.33-dev-5 https://github.com/smarty-php/smarty/issues/451
-
- - PSR-2 code style fixes for config and template file Lexer/Parser generated with
- the Smarty Lexer/Parser generator from https://github.com/smarty-php/smarty-lexer
- https://github.com/smarty-php/smarty/pull/483
-
-26.08.2018
- - bugfix/enhancement {capture} allow variable as capture block name in Smarty special variable
- like $smarty.capture.$foo https://github.com/smarty-php/smarty/issues/478 https://github.com/smarty-php/smarty/pull/481
-
-## 3.1.33-dev-6 -
-19.08.2018
- - fix PSR-2 coding standards and PHPDoc blocks https://github.com/smarty-php/smarty/pull/452
- https://github.com/smarty-php/smarty/pull/475
- https://github.com/smarty-php/smarty/pull/473
- - bugfix PHP5.2 compatibility https://github.com/smarty-php/smarty/pull/472
-
-## 3.1.33-dev-4 -
-17.05.2018
- - bugfix strip-block produces different output in Smarty v3.1.32 https://github.com/smarty-php/smarty/issues/436
- - bugfix Smarty::compileAllTemplates ignores `$extension` parameter https://github.com/smarty-php/smarty/issues/437
- https://github.com/smarty-php/smarty/pull/438
- - improvement do not compute total property in {foreach} if not needed https://github.com/smarty-php/smarty/issues/443
- - bugfix plugins may not be loaded when setMergeCompiledIncludes is true https://github.com/smarty-php/smarty/issues/435
-
-26.04.2018
- - bugfix regarding Security Vulnerability did not solve the problem under Linux.
- Security issue CVE-2018-16831
-
-## 3.1.32 - (24.04.2018)
-24.04.2018
- - bugfix possible Security Vulnerability in Smarty_Security class.
-
-26.03.2018
- - bugfix plugins may not be loaded if {function} or {block} tags are executed in nocache mode
- https://github.com/smarty-php/smarty/issues/371
-
-26.03.2018
- - new feature {parent} = {$smarty.block.parent} {child} = {$smarty.block.child}
-
-23.03.2018
- - bugfix preg_replace could fail on large content resulting in a blank page https://github.com/smarty-php/smarty/issues/417
-
-21.03.2018
- - bugfix {$smarty.section...} used outside {section}{/section} showed incorrect values if {section}{/section} was called inside
- another loop https://github.com/smarty-php/smarty/issues/422
- - bugfix short form of {section} attributes did not work https://github.com/smarty-php/smarty/issues/428
-
-17.03.2018
- - improvement Smarty::compileAllTemplates() exit with a non-zero status code if max errors is reached https://github.com/smarty-php/smarty/pull/402
-
-16.03.2018
- - bugfix extends resource did not work with user defined left/right delimiter https://github.com/smarty-php/smarty/issues/419
-
-22.11.2017
- - bugfix {break} and {continue} could fail if {foreach}{/foreach} did contain other
- looping tags like {for}, {section} and {while} https://github.com/smarty-php/smarty/issues/323
-
-20.11.2017
- - bugfix rework of newline spacing between tag code and template text.
- now again identical with Smarty2 (forum topic 26878)
- - replacement of " by '
-
-05.11.2017
- - lexer/parser optimization
- - code cleanup and optimizations
- - bugfix {$smarty.section.name.loop} used together with {$smarty.section.name.total} could produce
- wrong results (forum topic 27041)
-
-26.10.2017
- - bugfix Smarty version was not filled in header comment of compiled and cached files
- - optimization replace internal Smarty::$ds property by DIRECTORY_SEPARATOR
- - deprecate functions Smarty::muteExpectedErrors() and Smarty::unmuteExpectedErrors()
- as Smarty does no longer use error suppression like @filemtime().
- for backward compatibility code is moved from Smarty class to an external class and still can be
- called.
- - correction of PHPDoc blocks
- - minor code cleanup
-
-21.10.2017
- - bugfix custom delimiters could fail since modification of version 3.1.32-dev-23
- https://github.com/smarty-php/smarty/issues/394
-
-18.10.2017
- - bugfix fix implementation of unclosed block tag in double quoted string of 12.10.2017
- https://github.com/smarty-php/smarty/issues/396 https://github.com/smarty-php/smarty/issues/397
- https://github.com/smarty-php/smarty/issues/391 https://github.com/smarty-php/smarty/issues/392
-
-12.10.2017
- - bugfix $smarty.block.child and $smarty.block.parent could not be used like any
- $smarty special variable https://github.com/smarty-php/smarty/issues/393
- - unclosed block tag in double quoted string must throw compiler exception.
- https://github.com/smarty-php/smarty/issues/391 https://github.com/smarty-php/smarty/issues/392
-
-07.10.2017
- - bugfix modification of 9.8.2017 did fail on some recursive
- tag nesting. https://github.com/smarty-php/smarty/issues/389
-
-26.8.2017
- - bugfix chained modifier failed when last modifier parameter is a signed value
- https://github.com/smarty-php/smarty/issues/327
- - bugfix templates filepath with multibyte characters did not work
- https://github.com/smarty-php/smarty/issues/385
- - bugfix {make_nocache} did display code if the template did not contain other nocache code
- https://github.com/smarty-php/smarty/issues/369
-
-09.8.2017
- - improvement repeated delimiter like {{ and }} will be treated as literal
- https://groups.google.com/forum/#!topic/smarty-developers/h9r82Bx4KZw
-
-05.8.2017
- - bugfix wordwrap modifier could fail if used in nocache code.
- converted plugin file shared.mb_wordwrap.php into modifier.mb_wordwrap.php
- - cleanup of _getSmartyObj()
-
-31.7.2017
- - Call clearstatcache() after mkdir() failure https://github.com/smarty-php/smarty/pull/379
-
-30.7.2017
- - rewrite mkdir() bugfix to retry automatically see https://github.com/smarty-php/smarty/pull/377
- https://github.com/smarty-php/smarty/pull/379
-
-21.7.2017
- - security possible PHP code injection on custom resources at display() or fetch()
- calls if the resource does not sanitize the template name
- - bugfix fix 'mkdir(): File exists' error on create directory from parallel
- processes https://github.com/smarty-php/smarty/pull/377
- - bugfix solve preg_match() hhvm parameter problem https://github.com/smarty-php/smarty/pull/372
-
-27.5.2017
- - bugfix change compiled code for registered function and modifiers to called as callable to allow closures
- https://github.com/smarty-php/smarty/pull/368, https://github.com/smarty-php/smarty/issues/273
- - bugfix https://github.com/smarty-php/smarty/pull/368 did break the default plugin handler
- - improvement replace phpversion() by PHP_VERSION constant.
- https://github.com/smarty-php/smarty/pull/363
-
-21.5.2017
- - performance store flag for already required shared plugin functions in static variable or
- Smarty's $_cache to improve performance when plugins are often called
- https://github.com/smarty-php/smarty/commit/51e0d5cd405d764a4ea257d1bac1fb1205f74528#commitcomment-22280086
- - bugfix remove special treatment of classes implementing ArrayAccess in {foreach}
- https://github.com/smarty-php/smarty/issues/332
- - bugfix remove deleted files by clear_cache() and clear_compiled_template() from
- ACP cache if present, add some is_file() checks to avoid possible warnings on filemtime()
- caused by above functions.
- https://github.com/smarty-php/smarty/issues/341
- - bugfix version 3.1.31 did fail under PHP 5.2
- https://github.com/smarty-php/smarty/issues/365
-
-19.5.2017
- - change properties $accessMap and $obsoleteProperties from private to protected
- https://github.com/smarty-php/smarty/issues/351
- - new feature The named capture buffers can now be accessed also as array
- See NEWS_FEATURES.txt https://github.com/smarty-php/smarty/issues/366
- - improvement check if ini_get() and ini_set() not disabled
- https://github.com/smarty-php/smarty/pull/362
-
-24.4.2017
- - fix spelling https://github.com/smarty-php/smarty/commit/e3eda8a5f5653d8abb960eb1bc47e3eca679b1b4#commitcomment-21803095
-
-17.4.2017
- - correct generated code on empty() and isset() call, observe change PHP behaviour since PHP 5.5
- https://github.com/smarty-php/smarty/issues/347
-
-14.4.2017
- - merge pull requests https://github.com/smarty-php/smarty/pull/349, https://github.com/smarty-php/smarty/pull/322 and https://github.com/smarty-php/smarty/pull/337 to fix spelling and annotation
-
-13.4.2017
- - bugfix array_merge() parameter should be checked https://github.com/smarty-php/smarty/issues/350
-
-## 3.1.31 - (14.12.2016)
- 23.11.2016
- - move template object cache into static variables
-
- 19.11.2016
- - bugfix inheritance root child templates containing nested {block}{/block} could call sub-bock content from parent
- template https://github.com/smarty-php/smarty/issues/317
- - change version checking
-
- 11.11.2016
- - bugfix when Smarty is using a cached template object on Smarty::fetch() or Smarty::isCached() the inheritance data
- must be removed https://github.com/smarty-php/smarty/issues/312
- - smaller speed optimization
-
- 08.11.2016
- - add bootstrap file to load and register Smarty_Autoloader. Change composer.json to make it known to composer
-
- 07.11.2016
- - optimization of lexer speed https://github.com/smarty-php/smarty/issues/311
-
- 27.10.2016
- - bugfix template function definitions array has not been cached between Smarty::fetch() and Smarty::display() calls
- https://github.com/smarty-php/smarty/issues/301
-
- 23.10.2016
- - improvement/bugfix when Smarty::fetch() is called on a template object the inheritance and tplFunctions property
- should be copied to the called template object
-
- 21.10.2016
- - bugfix for compile locking touched timestamp of old compiled file was not restored on compilation error https://github.com/smarty-php/smarty/issues/308
-
- 20.10.2016
- - bugfix nocache code was not removed in cache file when subtemplate did contain PHP short tags in text but no other
- nocache code https://github.com/smarty-php/smarty/issues/300
-
- 19.10.2016
- - bugfix {make_nocache $var} did fail when variable value did contain '\' https://github.com/smarty-php/smarty/issues/305
- - bugfix {make_nocache $var} remove spaces from variable value https://github.com/smarty-php/smarty/issues/304
-
- 12.10.2016
- - bugfix {include} with template names including variable or constants could fail after bugfix from
- 28.09.2016 https://github.com/smarty-php/smarty/issues/302
-
- 08.10.2016
- - optimization move runtime extension for template functions into Smarty objects
-
- 29.09.2016
- - improvement new Smarty::$extends_recursion property to disable execution of {extends} in templates called by extends resource
- https://github.com/smarty-php/smarty/issues/296
-
- 28.09.2016
- - bugfix the generated code for calling a subtemplate must pass the template resource name in single quotes https://github.com/smarty-php/smarty/issues/299
- - bugfix nocache hash was not removed for tags in subtemplates https://github.com/smarty-php/smarty/issues/300
-
- 27.09.2016
- - bugfix when Smarty does use an internally cached template object on Smarty::fetch() calls
- the template and config variables must be cleared https://github.com/smarty-php/smarty/issues/297
-
- 20.09.2016
- - bugfix some $smarty special template variables are no longer accessed as real variable.
- using them on calls like {if isset($smarty.foo)} or {if empty($smarty.foo)} will fail
- http://www.smarty.net/forums/viewtopic.php?t=26222
- - temporary fix for https://github.com/smarty-php/smarty/issues/293 main reason still under investigation
- - improvement new tags {block_parent} {block_child} in template inheritance
-
- 19.09.2016
- - optimization clear compiled and cached folder completely on detected version change
- - cleanup convert cache resource file method clear into runtime extension
-
- 15.09.2016
- - bugfix assigning a variable in if condition by function like {if $value = array_shift($array)} the function got called twice https://github.com/smarty-php/smarty/issues/291
- - bugfix function plugins called with assign attribute like {foo assign='bar'} did not output returned content because
- because assumption was made that it was assigned to a variable https://github.com/smarty-php/smarty/issues/292
- - bugfix calling $smarty->isCached() on a not existing cache file with $smarty->cache_locking = true; could cause a 10 second delay http://www.smarty.net/forums/viewtopic.php?t=26282
- - improvement make Smarty::clearCompiledTemplate() on custom resource independent from changes of templateId computation
-
- 11.09.2016
- - improvement {math} misleading E_USER_WARNING messages when parameter value = null https://github.com/smarty-php/smarty/issues/288
- - improvement move often used code snippets into methods
- - performance Smarty::configLoad() did load unneeded template source object
-
- 09.09.2016
- - bugfix/optimization {foreach} did not execute the {foreachelse} when iterating empty objects https://github.com/smarty-php/smarty/pull/287
- - bugfix {foreach} must keep the @properties when restoring a saved $item variable as the properties might be used outside {foreach} https://github.com/smarty-php/smarty/issues/267
- - improvement {foreach} observe {break n} and {continue n} nesting levels when restoring saved $item and $key variables
-
- 08.09.2016
- - bugfix implement wrapper for removed method getConfigVariable() https://github.com/smarty-php/smarty/issues/286
-
- 07.09.2016
- - bugfix using nocache like attribute with value true like {plugin nocache=true} did not work https://github.com/smarty-php/smarty/issues/285
- - bugfix uppercase TRUE, FALSE and NULL did not work when security was enabled https://github.com/smarty-php/smarty/issues/282
- - bugfix when {foreach} was looping over an object the total property like {$item@total} did always return 1 https://github.com/smarty-php/smarty/issues/281
- - bugfix {capture}{/capture} did add in 3.1.30 unintended additional blank lines https://github.com/smarty-php/smarty/issues/268
-
- 01.09.2016
- - performance require_once should be called only once for shared plugins https://github.com/smarty-php/smarty/issues/280
-
- 26.08.2016
- - bugfix change of 23.08.2016 failed on linux when use_include_path = true
-
- 23.08.2016
- - bugfix remove constant DS as shortcut for DIRECTORY_SEPARATOR as the user may have defined it to something else https://github.com/smarty-php/smarty/issues/277
-
- 20.08-2016
- - bugfix {config_load ... scope="global"} shall not throw an arror but fallback to scope="smarty" https://github.com/smarty-php/smarty/issues/274
- - bugfix {make_nocache} failed when using composer autoloader https://github.com/smarty-php/smarty/issues/275
-
- 14.08.2016
- - bugfix $smarty_>debugging = true; did E_NOTICE messages when {eval} tag was used https://github.com/smarty-php/smarty/issues/266
- - bugfix Class 'Smarty_Internal_Runtime_ValidateCompiled' not found when upgrading from some older Smarty versions with existing
- compiled or cached template files https://github.com/smarty-php/smarty/issues/269
- - optimization remove unneeded call to update acopes when {assign} scope and template scope was local (default)
-
-## 3.1.30 - (07.08.2016)
-
- 07.08.2016
- - bugfix update of 04.08.2016 was incomplete
-
- 05.08.2016
- - bugfix compiling of templates failed when the Smarty delimiter did contain '/' https://github.com/smarty-php/smarty/issues/264
- - updated error checking at template and config default handler
-
- 04.08.2016
- - improvement move template function source parameter into extension
-
- 26.07.2016
- - optimization unneeded loading of compiled resource
-
- 24.07.2016
- - regression this->addPluginsDir('/abs/path/to/dir') adding absolute path without trailing '/' did fail https://github.com/smarty-php/smarty/issues/260
-
- 23.07.2016
- - bugfix setTemplateDir('/') and setTemplateDir('') did create wrong absolute filepath https://github.com/smarty-php/smarty/issues/245
- - optimization of filepath normalization
- - improvement remove double function declaration in plugin shared.escape_special_cars.php https://github.com/smarty-php/smarty/issues/229
-
- 19.07.2016
- - bugfix multiple {include} with relative filepath within {block}{/block} could fail https://github.com/smarty-php/smarty/issues/246
- - bugfix {math} shell injection vulnerability patch provided by Tim Weber
-
- 18.07.2016
- - bugfix {foreach} if key variable and item@key attribute have been used both the key variable was not updated https://github.com/smarty-php/smarty/issues/254
- - bugfix modifier on plugins like {plugin|modifier ... } did fail when the plugin does return an array https://github.com/smarty-php/smarty/issues/228
- - bugfix avoid opcache_invalidate to result in ErrorException when opcache.restrict_api is not empty https://github.com/smarty-php/smarty/pull/244
- - bugfix multiple {include} with relative filepath within {block}{/block} could fail https://github.com/smarty-php/smarty/issues/246
-
- 14.07.2016
- - bugfix wrong parameter on compileAllTemplates() and compileAllConfig() https://github.com/smarty-php/smarty/issues/231
-
- 13.07.2016
- - bugfix PHP 7 compatibility on registered compiler plugins https://github.com/smarty-php/smarty/issues/241
- - update testInstall() https://github.com/smarty-php/smarty/issues/248https://github.com/smarty-php/smarty/issues/248
- - bugfix enable debugging could fail when template objects did already exists https://github.com/smarty-php/smarty/issues/237
- - bugfix template function data should be merged when loading subtemplate https://github.com/smarty-php/smarty/issues/240
- - bugfix wrong parameter on compileAllTemplates() https://github.com/smarty-php/smarty/issues/231
-
- 12.07.2016
- - bugfix {foreach} item variable must be created also on empty from array https://github.com/smarty-php/smarty/issues/238 and https://github.com/smarty-php/smarty/issues/239
- - bugfix enableSecurity() must init cache flags https://github.com/smarty-php/smarty/issues/247
-
- 27.05.2016
- - bugfix/improvement of compileAlltemplates() follow symlinks in template folder (PHP >= 5.3.1) https://github.com/smarty-php/smarty/issues/224
- clear internal cache and expension handler for each template to avoid possible conflicts https://github.com/smarty-php/smarty/issues/231
-
- 16.05.2016
- - optimization {foreach} compiler and processing
- - broken PHP 5.3 and 5.4 compatibility
-
- 15.05.2016
- - optimization and cleanup of resource code
-
- 10.05.2016
- - optimization of inheritance processing
-
- 07.05.2016
- -bugfix Only variables should be assigned by reference https://github.com/smarty-php/smarty/issues/227
-
- 02.05.2016
- - enhancement {block} tag names can now be variable https://github.com/smarty-php/smarty/issues/221
-
- 01.05.2016
- - bugfix same relative filepath at {include} called from template in different folders could display wrong sub-template
-
- 29.04.2016
- - bugfix {strip} remove space on linebreak between html tags https://github.com/smarty-php/smarty/issues/213
-
- 24.04.2016
- - bugfix nested {include} with relative file path could fail when called in {block} ... {/block} https://github.com/smarty-php/smarty/issues/218
-
- 14.04.2016
- - bugfix special variable {$smarty.capture.name} was not case sensitive on name https://github.com/smarty-php/smarty/issues/210
- - bugfix the default template handler must calculate the source uid https://github.com/smarty-php/smarty/issues/205
-
- 13.04.2016
- - bugfix template inheritance status must be saved when calling sub-templates https://github.com/smarty-php/smarty/issues/215
-
- 27.03.2016
- - bugfix change of 11.03.2016 cause again {capture} data could not been seen in other templates with {$smarty.capture.name} https://github.com/smarty-php/smarty/issues/153
-
- 11.03.2016
- - optimization of capture and security handling
- - improvement $smarty->clearCompiledTemplate() should return on recompiled or uncompiled resources
-
- 10.03.2016
- - optimization of resource processing
-
- 09.03.2016
- - improvement rework of 'scope' attribute handling see see NEW_FEATURES.txt https://github.com/smarty-php/smarty/issues/194
- https://github.com/smarty-php/smarty/issues/186 https://github.com/smarty-php/smarty/issues/179
- - bugfix correct Autoloader update of 2.3.2014 https://github.com/smarty-php/smarty/issues/199
-
- 04.03.2016
- - bugfix change from 01.03.2016 will cause $smarty->isCached(..) failure if called multiple time for same template
- (forum topic 25935)
-
- 02.03.2016
- - revert autoloader optimizations because of unexplainable warning when using plugins https://github.com/smarty-php/smarty/issues/199
-
- 01.03.2016
- - bugfix template objects must be cached on $smarty->fetch('foo.tpl) calls incase the template is fetched
- multiple times (forum topic 25909)
-
- 25.02.2016
- - bugfix wrong _realpath with 4 or more parent-directories https://github.com/smarty-php/smarty/issues/190
- - optimization of _realpath
- - bugfix instanceof expression in template code must be treated as value https://github.com/smarty-php/smarty/issues/191
-
- 20.02.2016
- - bugfix {strip} must keep space between hmtl tags. Broken by changes of 10.2.2016 https://github.com/smarty-php/smarty/issues/184
- - new feature/bugfix {foreach}{section} add 'properties' attribute to force compilation of loop properties
- see NEW_FEATURES.txt https://github.com/smarty-php/smarty/issues/189
-
- 19.02.2016
- - revert output buffer flushing on display, echo content again because possible problems when PHP files had
- characters (newline} after ?> at file end https://github.com/smarty-php/smarty/issues/187
-
- 14.02.2016
- - new tag {make_nocache} read NEW_FEATURES.txt https://github.com/smarty-php/smarty/issues/110
- - optimization of sub-template processing
- - bugfix using extendsall as default resource and {include} inside {block} tags could produce unexpected results https://github.com/smarty-php/smarty/issues/183
- - optimization of tag attribute compiling
- - optimization make compiler tag object cache static for higher compilation speed
-
- 11.02.2016
- - improvement added KnockoutJS comments to trimwhitespace outputfilter https://github.com/smarty-php/smarty/issues/82
- https://github.com/smarty-php/smarty/pull/181
-
- 10.02.2016
- - bugfix {strip} must keep space on output creating smarty tags within html tags https://github.com/smarty-php/smarty/issues/177
- - bugfix wrong precedence on special if conditions like '$foo is ... by $bar' could cause wrong code https://github.com/smarty-php/smarty/issues/178
- - improvement because of ambiguities the inline constant support has been removed from the $foo.bar syntax https://github.com/smarty-php/smarty/issues/149
- - bugfix other {strip} error with output tags between hmtl https://github.com/smarty-php/smarty/issues/180
-
- 09.02.2016
- - move some code from parser into compiler
- - reformat all code for unique style
- - update/bugfix scope attribute handling reworked. Read the newfeatures.txt file
-
- 05.02.2016
- - improvement internal compiler changes
-
- 01.02.2016
- - bugfix {foreach} compilation failed when $smarty->merge_compiled_includes = true and pre-filters are used.
-
- 29.01.2016
- - bugfix implement replacement code for _tag_stack property https://github.com/smarty-php/smarty/issues/151
-
- 28.01.2016
- - bugfix allow windows network filepath or wrapper (forum topic 25876) https://github.com/smarty-php/smarty/issues/170
- - bugfix if fetch('foo.tpl') is called on a template object the $parent parameter should default to the calling template object https://github.com/smarty-php/smarty/issues/152
-
- 27.01.2016
- - revert bugfix compiling {section} did create warning
- - bugfix {$smarty.section.customer.loop} did throw compiler error https://github.com/smarty-php/smarty/issues/161
- update of yesterdays fix
- - bugfix string resource could inject code at {block} or inline subtemplates through PHP comments https://github.com/smarty-php/smarty/issues/157
- - bugfix output filters did not observe nocache code flhttps://github.com/smarty-php/smarty/issues/154g https://github.com/smarty-php/smarty/issues/160
- - bugfix {extends} with relative file path did not work https://github.com/smarty-php/smarty/issues/154
- https://github.com/smarty-php/smarty/issues/158
- - bugfix {capture} data could not been seen in other templates with {$smarty.capture.name} https://github.com/smarty-php/smarty/issues/153
-
- 26.01.2016
- - improvement observe Smarty::$_CHARSET in debugging console https://github.com/smarty-php/smarty/issues/169
- - bugfix compiling {section} did create warning
- - bugfix {$smarty.section.customer.loop} did throw compiler error https://github.com/smarty-php/smarty/issues/161
-
- 02.01.2016
- - update scope handling
- - optimize block plugin compiler
- - improvement runtime checks if registered block plugins are callable
-
- 01.01.2016
- - remove Smarty::$resource_cache_mode property
-
- 31.12.2015
- - optimization of {assign}, {if} and {while} compiled code
-
- 30.12.2015
- - bugfix plugin names starting with "php" did not compile https://github.com/smarty-php/smarty/issues/147
-
- 29.12.2015
- - bugfix Smarty::error_reporting was not observed when display() or fetch() was called on template objects https://github.com/smarty-php/smarty/issues/145
-
- 28.12.2015
- - optimization of {foreach} code size and processing
-
- 27.12.2015
- - improve inheritance code
- - update external methods
- - code fixes
- - PHPdoc updates
-
- 25.12.2015
- - compile {block} tag code and its processing into classes
- - optimization replace hhvm extension by inline code
- - new feature If ACP is enabled force an apc_compile_file() when compiled or cached template was updated
-
- 24.12.2015
- - new feature Compiler does now observe the template_dir setting and will create separate compiled files if required
- - bugfix post filter did fail on template inheritance https://github.com/smarty-php/smarty/issues/144
-
- 23.12.2015
- - optimization move internal method decodeProperties back into template object
- - optimization move subtemplate processing back into template object
- - new feature Caching does now observe the template_dir setting and will create separate cache files if required
-
- 22.12.2015
- - change $xxx_dir properties from private to protected in case Smarty class gets extended
- - code optimizations
-
- 21.12.2015
- - bugfix a filepath starting with '/' or '\' on windows should normalize to the root dir
- of current working drive https://github.com/smarty-php/smarty/issues/134
- - optimization of filepath normalization
- - bugfix {strip} must remove all blanks between html tags https://github.com/smarty-php/smarty/issues/136
-
- - 3.1.29 - (21.12.2015)
- 21.12.2015
- - optimization improve speed of filetime checks on extends and extendsall resource
-
- 20.12.2015
- - bugfix failure when the default resource type was set to 'extendsall' https://github.com/smarty-php/smarty/issues/123
- - update compilation of Smarty special variables
- - bugfix add addition check for OS type on normalization of file path https://github.com/smarty-php/smarty/issues/134
- - bugfix the source uid of the extendsall resource must contain $template_dir settings https://github.com/smarty-php/smarty/issues/123
-
- 19.12.2015
- - bugfix using $smarty.capture.foo in expressions could fail https://github.com/smarty-php/smarty/pull/138
- - bugfix broken PHP 5.2 compatibility https://github.com/smarty-php/smarty/issues/139
- - remove no longer used code
- - improvement make sure that compiled and cache templates never can contain a trailing '?>?
-
- 18.12.2015
- - bugfix regression when modifier parameter was followed by math https://github.com/smarty-php/smarty/issues/132
-
- 17.12.2015
- - bugfix {$smarty.capture.nameFail} did lowercase capture name https://github.com/smarty-php/smarty/issues/135
- - bugfix using {block append/prepend} on same block in multiple levels of inheritance templates could fail (forum topic 25827)
- - bugfix text content consisting of just a single '0' like in {if true}0{/if} was suppressed (forum topic 25834)
-
- 16.12.2015
- - bugfix {foreach} did fail if from atrribute is a Generator class https://github.com/smarty-php/smarty/issues/128
- - bugfix direct access $smarty->template_dir = 'foo'; should call Smarty::setTemplateDir() https://github.com/smarty-php/smarty/issues/121
-
- 15.12.2015
- - bugfix {$smarty.cookies.foo} did return the $_COOKIE array not the 'foo' value https://github.com/smarty-php/smarty/issues/122
- - bugfix a call to clearAllCache() and other should clear all internal template object caches (forum topic 25828)
-
- 14.12.2015
- - bugfix {$smarty.config.foo} broken in 3.1.28 https://github.com/smarty-php/smarty/issues/120
- - bugfix multiple calls of {section} with same name droped E_NOTICE error https://github.com/smarty-php/smarty/issues/118
-
- - 3.1.28 - (13.12.2015)
- 13.12.2015
- - bugfix {foreach} and {section} with uppercase characters in name attribute did not work (forum topic 25819)
- - bugfix $smarty->debugging_ctrl = 'URL' did not work (forum topic 25811)
- - bugfix Debug Console could display incorrect data when using subtemplates
-
- 09.12.2015
- - bugfix Smarty did fail under PHP 7.0.0 with use_include_path = true;
-
- 09.12.2015
- - bugfix {strip} should exclude some html tags from stripping, related to fix for https://github.com/smarty-php/smarty/issues/111
-
- 08.12.2015
- - bugfix internal template function data got stored in wrong compiled file https://github.com/smarty-php/smarty/issues/114
-
- 05.12.2015
- -bugfix {strip} should insert a single space https://github.com/smarty-php/smarty/issues/111
-
- 25.11.2015
- -bugfix a left delimter like '[%' did fail on [%$var_[%$variable%]%] (forum topic 25798)
-
- 02.11.2015
- - bugfix {include} with variable file name like {include file="foo_`$bar`.tpl"} did fail in 3.1.28-dev https://github.com/smarty-php/smarty/issues/102
-
- 01.11.2015
- - update config file processing
-
- 31.10.2015
- - bugfix add missing $trusted_dir property to SmartyBC class (forum topic 25751)
-
- 29.10.2015
- - improve template scope handling
-
- 24.10.2015
- - more optimizations of template processing
- - bugfix Error when using {include} within {capture} https://github.com/smarty-php/smarty/issues/100
-
- 21.10.2015
- - move some code into runtime extensions
-
- 18.10.2015
- - optimize filepath normalization
- - rework of template inheritance
- - speed and size optimizations
- - bugfix under HHVM temporary cache file must only be created when caches template was updated
- - fix compiled code for new {block} assign attribute
- - update code generated by template function call handler
-
- 18.09.2015
- - bugfix {if $foo instanceof $bar} failed to compile if 2nd value is a variable https://github.com/smarty-php/smarty/issues/92
-
- 17.09.2015
- - bugfix {foreach} first attribute was not correctly reset since commit 05a8fa2 of 02.08.2015 https://github.com/smarty-php/smarty/issues/90
-
- 16.09.2015
- - update compiler by moving no longer needed properties, code optimizations and other
-
- 14.09.2015
- - optimize autoloader
- - optimize subtemplate handling
- - update template inheritance processing
- - move code of {call} processing back into Smarty_Internal_Template class
- - improvement invalidate OPCACHE for cleared compiled and cached template files (forum topic 25557)
- - bugfix unintended multiple debug windows (forum topic 25699)
-
- 30.08.2015
- - size optimization move some runtime functions into extension
- - optimize inline template processing
- - optimization merge inheritance child and parent templates into one compiled template file
-
- 29.08.2015
- - improvement convert template inheritance into runtime processing
- - bugfix {$smarty.block.parent} did always reference the root parent block https://github.com/smarty-php/smarty/issues/68
-
- 23.08.2015
- - introduce Smarty::$resource_cache_mode and cache template object of {include} inside loop
- - load seldom used Smarty API methods dynamically to reduce memory footprint
- - cache template object of {include} if same template is included several times
- - convert debug console processing to object
- - use output buffers for better performance and less memory usage
- - optimize nocache hash processing
- - remove not really needed properties
- - optimize rendering
- - move caching to Smarty::_cache
- - remove properties with redundant content
- - optimize Smarty::templateExists()
- - optimize use_include_path processing
- - relocate properties for size optimization
- - remove redundant code
- - bugfix compiling super globals like {$smarty.get.foo} did fail in the master branch https://github.com/smarty-php/smarty/issues/77
-
- 06.08.2015
- - avoid possible circular object references caused by parser/lexer objects
- - rewrite compileAll... utility methods
- - commit several internal improvements
- - bugfix Smarty failed when compile_id did contain "|"
-
- 03.08.2015
- - rework clear cache methods
- - bugfix compileAllConfig() was broken since 3.1.22 because of the changes in config file processing
- - improve getIncludePath() to return directory if no file was given
-
- 02.08.2015
- - optimization and code cleanup of {foreach} and {section} compiler
- - rework {capture} compiler
-
- 01.08.2015
- - update DateTime object can be instance of DateTimeImmutable since PHP5.5 https://github.com/smarty-php/smarty/pull/75
- - improvement show resource type and start of template source instead of uid on eval: and string: resource (forum topic 25630)
-
- 31.07.2015
- - optimize {foreach} and {section} compiler
-
- 29.07.2015
- - optimize {section} compiler for speed and size of compiled code
-
- 28.07.2015
- - update for PHP 7 compatibility
-
- 26.07.2015
- - improvement impement workaround for HHVM PHP incompatibillity https://github.com/facebook/hhvm/issues/4797
-
- 25.07.2015
- - bugfix parser did hang on text starting fetch('foo.tpl') https://github.com/smarty-php/smarty/issues/70
- - improvement Added $limit parameter to regex_replace modifier #71
- - new feature multiple indices on file: resource
-
- 06.07.2015
- - optimize {block} compilation
- - optimization get rid of __get and __set in source object
-
- 01.07.2015
- - optimize compile check handling
- - update {foreach} compiler
- - bugfix debugging console did not display string values containing \n, \r or \t correctly https://github.com/smarty-php/smarty/issues/66
- - optimize source resources
-
- 28.06.2015
- - move $smarty->enableSecurity() into Smarty_Security class
- - optimize security isTrustedResourceDir()
- - move auto load filter methods into extension
- - move $smarty->getTemplateVars() into extension
- - move getStreamVariable() into extension
- - move $smarty->append() and $smarty->appendByRef() into extension
- - optimize autoloader
- - optimize file path normalization
- - bugfix PATH_SEPARATOR was replaced by mistake in autoloader
- - remove redundant code
-
- 27.06.2015
- - bugfix resolve naming conflict between custom Smarty delimiter '<%' and PHP ASP tags https://github.com/smarty-php/smarty/issues/64
- - update $smarty->_realpath for relative path not starting with './'
- - update Smarty security with new realpath handling
- - update {include_php} with new realpath handling
- - move $smarty->loadPlugin() into extension
- - minor compiler optimizations
- - bugfix allow function plugins with name ending with 'close' https://github.com/smarty-php/smarty/issues/52
- - rework of $smarty->clearCompiledTemplate() and move it to its own extension
-
- 19.06.2015
- - improvement allow closures as callback at $smarty->registerFilter() https://github.com/smarty-php/smarty/issues/59
-
- - 3.1.27- (18.06.2015)
- 18.06.2015
- - bugfix another update on file path normalization failed on path containing something like "/.foo/" https://github.com/smarty-php/smarty/issues/56
-
- - 3.1.26- (18.06.2015)
- 18.06.2015
- - bugfix file path normalization failed on path containing something like "/.foo/" https://github.com/smarty-php/smarty/issues/56
-
- 17.06.2015
- - bugfix calling a plugin with nocache option but no other attributes like {foo nocache} caused call to undefined function https://github.com/smarty-php/smarty/issues/55
-
- - 3.1.25- (15.06.2015)
- 15.06.2015
- - optimization of smarty_cachereource_keyvaluestore.php code
-
- 14.06.2015
- - bugfix a relative sub template path could fail if template_dir path did contain /../ https://github.com/smarty-php/smarty/issues/50
- - optimization rework of path normalization
- - bugfix an output tag with variable, modifier followed by an operator like {$foo|modifier+1} did fail https://github.com/smarty-php/smarty/issues/53
-
- 13.06.2015
- - bugfix a custom cache resource using smarty_cachereource_keyvaluestore.php did fail if php.ini mbstring.func_overload = 2 (forum topic 25568)
-
- 11.06.2015
- - bugfix the lexer could hang on very large quoted strings (forum topic 25570)
-
- 08.06.2015
- - bugfix using {$foo} as array index like $bar.{$foo} or in double quoted string like "some {$foo} thing" failed https://github.com/smarty-php/smarty/issues/49
-
- 04.06.2015
- - bugfix possible error message on unset() while compiling {block} tags https://github.com/smarty-php/smarty/issues/46
-
- 01.06.2015
- - bugfix including template variables broken since 3.1.22 https://github.com/smarty-php/smarty/issues/47
-
- 27.05.2015
- - bugfix {include} with variable file name must not create by default individual cache file (since 3.1.22) https://github.com/smarty-php/smarty/issues/43
-
- 24.05.2015
- - bugfix if condition string 'neq' broken due to a typo https://github.com/smarty-php/smarty/issues/42
-
- - 3.1.24- (23.05.2015)
- 23.05.2015
- - improvement on php_handling to allow very large PHP sections, better error handling
- - improvement allow extreme large comment sections (forum 25538)
-
- 21.05.2015
- - bugfix broken PHP 5.2 compatibility when compiling 1 did compile into wrong code https://github.com/smarty-php/smarty/issues/41
-
- 19.05.2015
- - bugfix compiler did overwrite existing variable value when setting the nocache attribute https://github.com/smarty-php/smarty/issues/39
- - bugfix output filter trimwhitespace could run into the pcre.backtrack_limit on large output (code.google issue 220)
- - bugfix compiler could run into the pcre.backtrack_limit on larger comment or {php} tag sections (forum 25538)
-
- 18.05.2015
- - improvement introduce shortcuts in lexer/parser rules for most frequent terms for higher
- compilation speed
-
- 16.05.2015
- - bugfix {php}{/php} did work just for single lines https://github.com/smarty-php/smarty/issues/33
- - improvement remove not needed ?> handling from parser to new compiler module
-
- 05.05.2015
- - bugfix code could be messed up when {tags} are used in multiple attributes https://github.com/smarty-php/smarty/issues/23
-
- 04.05.2015
- - bugfix Smarty_Resource::parseResourceName incompatible with Google AppEngine (https://github.com/smarty-php/smarty/issues/22)
- - improvement use is_file() checks to avoid errors suppressed by @ which could still cause problems (https://github.com/smarty-php/smarty/issues/24)
-
- 28.04.2015
- - bugfix plugins of merged subtemplates not loaded in 3.1.22-dev (forum topic 25508) 2nd fix
-
- 28.04.2015
- - bugfix plugins of merged subtemplates not loaded in 3.1.22-dev (forum topic 25508)
-
- 23.04.2015
- - bugfix a nocache template variable used as parameter at {insert} was by mistake cached
-
- 20.04.2015
- - bugfix at a template function containing nocache code a parmeter could overwrite a template variable of same name
-
- 27.03.2015
- - bugfix Smarty_Security->allow_constants=false; did also disable true, false and null (change of 16.03.2015)
- - improvement added a whitelist for trusted constants to security Smarty_Security::$trusted_constants (forum topic 25471)
-
- 20.03.2015
- - bugfix make sure that function properties get saved only in compiled files containing the fuction definition {forum topic 25452}
- - bugfix correct update of global variable values on exit of template functions. (reported under Smarty Developers)
-
- 16.03.2015
- - bugfix problems with {function}{/function} and {call} tags in different subtemplate cache files {forum topic 25452}
- - bugfix Smarty_Security->allow_constants=false; did not disallow direct usage of defined constants like {SMARTY_DIR} {forum topic 25457}
- - bugfix {block}{/block} tags did not work inside double quoted strings https://github.com/smarty-php/smarty/issues/18
-
-
- 15.03.2015
- - bugfix $smarty->compile_check must be restored before rendering of a just updated cache file {forum 25452}
-
- 14.03.2015
- - bugfix {nocache} {/nocache} tags corrupted code when used within a nocache section caused by a nocache template variable.
-
- - bugfix template functions defined with {function} in an included subtemplate could not be called in nocache
- mode with {call... nocache} if the subtemplate had it's own cache file {forum 25452}
-
- 10.03.2015
- - bugfix {include ... nocache} whith variable file or compile_id attribute was not executed in nocache mode.
-
- 12.02.2015
- - bugfix multiple Smarty::fetch() of same template when $smarty->merge_compiled_includes = true; could cause function already defined error
-
- 11.02.2015
- - bugfix recursive {includes} did create E_NOTICE message when $smarty->merge_compiled_includes = true; (github issue #16)
-
- 22.01.2015
- - new feature security can now control access to static methods and properties
- see also NEW_FEATURES.txt
-
- 21.01.2015
- - bugfix clearCompiledTemplates(), clearAll() and clear() could try to delete whole drive at wrong path permissions because realpath() fail (forum 25397)
- - bugfix 'self::' and 'parent::' was interpreted in template syntax as static class
-
- 04.01.2015
- - push last weeks changes to github
-
- - different optimizations
- - improvement automatically create different versions of compiled templates and config files depending
- on property settings.
- - optimization restructure template processing by moving code into classes it better belongs to
- - optimization restructure config file processing
-
- 31.12.2014
- - bugfix use function_exists('mb_get_info') for setting Smarty::$_MBSTRING.
- Function mb_split could be overloaded depending on php.ini mbstring.func_overload
-
-
- 29.12.2014
- - new feature security can now limit the template nesting level by property $max_template_nesting
- see also NEW_FEATURES.txt (forum 25370)
-
- 29.12.2014
- - new feature security can now disable special $smarty variables listed in property $disabled_special_smarty_vars
- see also NEW_FEATURES.txt (forum 25370)
-
- 27.12.2014
- - bugfix clear internal _is_file_cache when plugins_dir was modified
-
- 13.12.2014
- - improvement optimization of lexer and parser resulting in a up to 30% higher compiling speed
-
- 11.12.2014
- - bugfix resolve parser ambiguity between constant print tag {CONST} and other smarty tags after change of 09.12.2014
-
- 09.12.2014
- - bugfix variables $null, $true and $false did not work after the change of 12.11.2014 (forum 25342)
- - bugfix call of template function by a variable name did not work after latest changes (forum 25342)
-
- 23.11.2014
- - bugfix a plugin with attached modifier could fail if the tag was immediately followed by another Smarty tag (since 3.1.21) (forum 25326)
-
- 13.11.2014
- - improvement move autoload code into Autoloader.php. Use Composer autoloader when possible
-
- 12.11.2014
- - new feature added support of namespaces to template code
-
- 08.11.2014 - 10.11.2014
- - bugfix subtemplate called in nocache mode could be called with wrong compile_id when it did change on one of the calling templates
- - improvement add code of template functions called in nocache mode dynamically to cache file (related to bugfix of 01.11.2014)
- - bugfix Debug Console did not include all data from merged compiled subtemplates
-
- 04.11.2014
- - new feature $smarty->debugging = true; => overwrite existing Debug Console window (old behaviour)
- $smarty->debugging = 2; => individual Debug Console window by template name
-
- 03.11.2014
- - bugfix Debug Console did not show included subtemplates since 3.1.17 (forum 25301)
- - bugfix Modifier debug_print_var did not limit recursion or prevent recursive object display at Debug Console
- (ATTENTION: parameter order has changed to be able to specify maximum recursion)
- - bugfix Debug consol did not include subtemplate information with $smarty->merge_compiled_includes = true
- - improvement The template variables are no longer displayed as objects on the Debug Console
- - improvement $smarty->createData($parent = null, $name = null) new optional name parameter for display at Debug Console
- - addition of some hooks for future extension of Debug Console
-
- 01.11.2014
- - bugfix and enhancement on subtemplate {include} and template {function} tags.
- * Calling a template which has a nocache section could fail if it was called from a cached and a not cached subtemplate.
- * Calling the same subtemplate cached and not cached with the $smarty->merge_compiled_includes enabled could cause problems
- * Many smaller related changes
-
- 30.10.2014
- - bugfix access to class constant by object like {$object::CONST} or variable class name {$class::CONST} did not work (forum 25301)
-
- 26.10.2014
- - bugfix E_NOTICE message was created during compilation when ASP tags '<%' or '%>' are in template source text
- - bugfix merge_compiled_includes option failed when caching enables and same subtemplate was included cached and not cached
-
- - 3.1.21 - (18.10.2014)
- 18.10.2014
- - composer moved to github
-
- 17.10.2014
- - bugfix on $php_handling security and optimization of smarty_internal_parsetree (Thue Kristensen)
-
- 16.10.2014
- - bugfix composer.json update
-
- 15.10.2014
- - bugfix calling a new created cache file with fetch() and Smarty::CACHING_LIFETIME_SAVED multiple times did fail (forum 22350)
-
- 14.10.2014
- - bugfix any tag placed within "
diff --git a/bundled-libs/Smarty/libs/plugins/block.textformat.php b/bundled-libs/Smarty/libs/plugins/block.textformat.php
deleted file mode 100644
index 5e494637..00000000
--- a/bundled-libs/Smarty/libs/plugins/block.textformat.php
+++ /dev/null
@@ -1,121 +0,0 @@
-
- * @throws \SmartyException
- */
-function smarty_block_textformat($params, $content, Smarty_Internal_Template $template, &$repeat)
-{
- if (is_null($content)) {
- return;
- }
- if (Smarty::$_MBSTRING) {
- $template->_checkPlugins(
- array(
- array(
- 'function' => 'smarty_modifier_mb_wordwrap',
- 'file' => SMARTY_PLUGINS_DIR . 'modifier.mb_wordwrap.php'
- )
- )
- );
- }
- $style = null;
- $indent = 0;
- $indent_first = 0;
- $indent_char = ' ';
- $wrap = 80;
- $wrap_char = "\n";
- $wrap_cut = false;
- $assign = null;
- foreach ($params as $_key => $_val) {
- switch ($_key) {
- case 'style':
- case 'indent_char':
- case 'wrap_char':
- case 'assign':
- $$_key = (string)$_val;
- break;
- case 'indent':
- case 'indent_first':
- case 'wrap':
- $$_key = (int)$_val;
- break;
- case 'wrap_cut':
- $$_key = (bool)$_val;
- break;
- default:
- trigger_error("textformat: unknown attribute '{$_key}'");
- }
- }
- if ($style === 'email') {
- $wrap = 72;
- }
- // split into paragraphs
- $_paragraphs = preg_split('![\r\n]{2}!', $content);
- foreach ($_paragraphs as &$_paragraph) {
- if (!$_paragraph) {
- continue;
- }
- // convert mult. spaces & special chars to single space
- $_paragraph =
- preg_replace(
- array(
- '!\s+!' . Smarty::$_UTF8_MODIFIER,
- '!(^\s+)|(\s+$)!' . Smarty::$_UTF8_MODIFIER
- ),
- array(
- ' ',
- ''
- ),
- $_paragraph
- );
- // indent first line
- if ($indent_first > 0) {
- $_paragraph = str_repeat($indent_char, $indent_first) . $_paragraph;
- }
- // wordwrap sentences
- if (Smarty::$_MBSTRING) {
- $_paragraph = smarty_modifier_mb_wordwrap($_paragraph, $wrap - $indent, $wrap_char, $wrap_cut);
- } else {
- $_paragraph = wordwrap($_paragraph, $wrap - $indent, $wrap_char, $wrap_cut);
- }
- // indent lines
- if ($indent > 0) {
- $_paragraph = preg_replace('!^!m', str_repeat($indent_char, $indent), $_paragraph);
- }
- }
- $_output = implode($wrap_char . $wrap_char, $_paragraphs);
- if ($assign) {
- $template->assign($assign, $_output);
- } else {
- return $_output;
- }
-}
diff --git a/bundled-libs/Smarty/libs/plugins/function.counter.php b/bundled-libs/Smarty/libs/plugins/function.counter.php
deleted file mode 100644
index a4129e77..00000000
--- a/bundled-libs/Smarty/libs/plugins/function.counter.php
+++ /dev/null
@@ -1,62 +0,0 @@
-
- * @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/bundled-libs/Smarty/libs/plugins/function.cycle.php b/bundled-libs/Smarty/libs/plugins/function.cycle.php
deleted file mode 100644
index 07ffcc5e..00000000
--- a/bundled-libs/Smarty/libs/plugins/function.cycle.php
+++ /dev/null
@@ -1,92 +0,0 @@
-
- * @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/bundled-libs/Smarty/libs/plugins/function.fetch.php b/bundled-libs/Smarty/libs/plugins/function.fetch.php
deleted file mode 100644
index 768761b2..00000000
--- a/bundled-libs/Smarty/libs/plugins/function.fetch.php
+++ /dev/null
@@ -1,204 +0,0 @@
-
- *
- * @param array $params parameters
- * @param Smarty_Internal_Template $template template object
- *
- * @throws SmartyException
- * @return string|null if the assign parameter is passed, Smarty assigns the result to a template variable
- */
-function smarty_function_fetch($params, $template)
-{
- if (empty($params[ 'file' ])) {
- trigger_error('[plugin] fetch parameter \'file\' cannot be empty', E_USER_NOTICE);
- return;
- }
- // strip file protocol
- if (stripos($params[ 'file' ], 'file://') === 0) {
- $params[ 'file' ] = substr($params[ 'file' ], 7);
- }
- $protocol = strpos($params[ 'file' ], '://');
- if ($protocol !== false) {
- $protocol = strtolower(substr($params[ 'file' ], 0, $protocol));
- }
- if (isset($template->smarty->security_policy)) {
- if ($protocol) {
- // remote resource (or php stream, …)
- if (!$template->smarty->security_policy->isTrustedUri($params[ 'file' ])) {
- return;
- }
- } else {
- // local file
- if (!$template->smarty->security_policy->isTrustedResourceDir($params[ 'file' ])) {
- return;
- }
- }
- }
- $content = '';
- if ($protocol === 'http') {
- // http fetch
- if ($uri_parts = parse_url($params[ 'file' ])) {
- // set defaults
- $host = $server_name = $uri_parts[ 'host' ];
- $timeout = 30;
- $accept = 'image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*';
- $agent = 'Smarty Template Engine ' . Smarty::SMARTY_VERSION;
- $referer = '';
- $uri = !empty($uri_parts[ 'path' ]) ? $uri_parts[ 'path' ] : '/';
- $uri .= !empty($uri_parts[ 'query' ]) ? '?' . $uri_parts[ 'query' ] : '';
- $_is_proxy = false;
- if (empty($uri_parts[ 'port' ])) {
- $port = 80;
- } else {
- $port = $uri_parts[ 'port' ];
- }
- if (!empty($uri_parts[ 'user' ])) {
- $user = $uri_parts[ 'user' ];
- }
- if (!empty($uri_parts[ 'pass' ])) {
- $pass = $uri_parts[ 'pass' ];
- }
- // loop through parameters, setup headers
- foreach ($params as $param_key => $param_value) {
- switch ($param_key) {
- case 'file':
- case 'assign':
- case 'assign_headers':
- break;
- case 'user':
- if (!empty($param_value)) {
- $user = $param_value;
- }
- break;
- case 'pass':
- if (!empty($param_value)) {
- $pass = $param_value;
- }
- break;
- case 'accept':
- if (!empty($param_value)) {
- $accept = $param_value;
- }
- break;
- case 'header':
- if (!empty($param_value)) {
- if (!preg_match('![\w\d-]+: .+!', $param_value)) {
- trigger_error("[plugin] invalid header format '{$param_value}'", E_USER_NOTICE);
- return;
- } else {
- $extra_headers[] = $param_value;
- }
- }
- break;
- case 'proxy_host':
- if (!empty($param_value)) {
- $proxy_host = $param_value;
- }
- break;
- case 'proxy_port':
- if (!preg_match('!\D!', $param_value)) {
- $proxy_port = (int)$param_value;
- } else {
- trigger_error("[plugin] invalid value for attribute '{$param_key }'", E_USER_NOTICE);
- return;
- }
- break;
- case 'agent':
- if (!empty($param_value)) {
- $agent = $param_value;
- }
- break;
- case 'referer':
- if (!empty($param_value)) {
- $referer = $param_value;
- }
- break;
- case 'timeout':
- if (!preg_match('!\D!', $param_value)) {
- $timeout = (int)$param_value;
- } else {
- trigger_error("[plugin] invalid value for attribute '{$param_key}'", E_USER_NOTICE);
- return;
- }
- break;
- default:
- trigger_error("[plugin] unrecognized attribute '{$param_key}'", E_USER_NOTICE);
- return;
- }
- }
- if (!empty($proxy_host) && !empty($proxy_port)) {
- $_is_proxy = true;
- $fp = fsockopen($proxy_host, $proxy_port, $errno, $errstr, $timeout);
- } else {
- $fp = fsockopen($server_name, $port, $errno, $errstr, $timeout);
- }
- if (!$fp) {
- trigger_error("[plugin] unable to fetch: $errstr ($errno)", E_USER_NOTICE);
- return;
- } else {
- if ($_is_proxy) {
- fputs($fp, 'GET ' . $params[ 'file' ] . " HTTP/1.0\r\n");
- } else {
- fputs($fp, "GET $uri HTTP/1.0\r\n");
- }
- if (!empty($host)) {
- fputs($fp, "Host: $host\r\n");
- }
- if (!empty($accept)) {
- fputs($fp, "Accept: $accept\r\n");
- }
- if (!empty($agent)) {
- fputs($fp, "User-Agent: $agent\r\n");
- }
- if (!empty($referer)) {
- fputs($fp, "Referer: $referer\r\n");
- }
- if (isset($extra_headers) && is_array($extra_headers)) {
- foreach ($extra_headers as $curr_header) {
- fputs($fp, $curr_header . "\r\n");
- }
- }
- if (!empty($user) && !empty($pass)) {
- fputs($fp, 'Authorization: BASIC ' . base64_encode("$user:$pass") . "\r\n");
- }
- fputs($fp, "\r\n");
- while (!feof($fp)) {
- $content .= fgets($fp, 4096);
- }
- fclose($fp);
- $csplit = preg_split("!\r\n\r\n!", $content, 2);
- $content = $csplit[ 1 ];
- if (!empty($params[ 'assign_headers' ])) {
- $template->assign($params[ 'assign_headers' ], preg_split("!\r\n!", $csplit[ 0 ]));
- }
- }
- } else {
- trigger_error("[plugin fetch] unable to parse URL, check syntax", E_USER_NOTICE);
- return;
- }
- } else {
- $content = @file_get_contents($params[ 'file' ]);
- if ($content === false) {
- throw new SmartyException("{fetch} cannot read resource '" . $params[ 'file' ] . "'");
- }
- }
- if (!empty($params[ 'assign' ])) {
- $template->assign($params[ 'assign' ], $content);
- } else {
- return $content;
- }
-}
diff --git a/bundled-libs/Smarty/libs/plugins/function.html_checkboxes.php b/bundled-libs/Smarty/libs/plugins/function.html_checkboxes.php
deleted file mode 100644
index 302358ed..00000000
--- a/bundled-libs/Smarty/libs/plugins/function.html_checkboxes.php
+++ /dev/null
@@ -1,286 +0,0 @@
-' 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 Smarty_Internal_Template $template template object
- *
- * @return string
- * @uses smarty_function_escape_special_chars()
- * @throws \SmartyException
- */
-function smarty_function_html_checkboxes($params, Smarty_Internal_Template $template)
-{
- $template->_checkPlugins(
- array(
- array(
- 'function' => 'smarty_function_escape_special_chars',
- 'file' => 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!
- // no break
- 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);
- }
-}
-
-/**
- * @param $name
- * @param $value
- * @param $output
- * @param $selected
- * @param $extra
- * @param $separator
- * @param $labels
- * @param $label_ids
- * @param bool $escape
- *
- * @return string
- */
-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 .= '