From 806aee350e9cec27d9e307eafa9626e39762c146 Mon Sep 17 00:00:00 2001 From: Fraenkiman Date: Sun, 14 Apr 2024 18:39:55 +0200 Subject: [PATCH] Deletes the obsolete Smarty version 4.3.1 --- fp-includes/smarty-4.3.1/CHANGELOG.md | 3587 ----------------- fp-includes/smarty-4.3.1/LICENSE | 179 - fp-includes/smarty-4.3.1/README.md | 20 - fp-includes/smarty-4.3.1/SECURITY.md | 20 - fp-includes/smarty-4.3.1/composer.json | 49 - .../smarty-4.3.1/demo/configs/test.conf | 5 - fp-includes/smarty-4.3.1/demo/index.php | 35 - .../demo/plugins/cacheresource.apc.php | 85 - .../demo/plugins/cacheresource.memcache.php | 99 - .../demo/plugins/cacheresource.mysql.php | 183 - .../demo/plugins/cacheresource.pdo.php | 346 -- .../demo/plugins/cacheresource.pdo_gzip.php | 42 - .../demo/plugins/resource.extendsall.php | 62 - .../demo/plugins/resource.mysql.php | 101 - .../demo/plugins/resource.mysqls.php | 77 - .../smarty-4.3.1/demo/templates/footer.tpl | 2 - .../smarty-4.3.1/demo/templates/header.tpl | 5 - .../smarty-4.3.1/demo/templates/index.tpl | 87 - fp-includes/smarty-4.3.1/docs/_config.yml | 1 - .../smarty-4.3.1/docs/appendixes/tips.md | 274 -- .../docs/appendixes/troubleshooting.md | 104 - .../designers/chapter-debugging-console.md | 40 - .../docs/designers/config-files.md | 74 - .../designers/language-basic-syntax/index.md | 33 - .../language-escaping.md | 79 - .../language-basic-syntax/language-math.md | 28 - .../language-syntax-attributes.md | 49 - .../language-syntax-comments.md | 69 - .../language-syntax-functions.md | 40 - .../language-syntax-quotes.md | 54 - .../language-syntax-variables.md | 109 - .../language-builtin-functions/index.md | 35 - .../language-function-append.md | 49 - .../language-function-assign.md | 147 - .../language-function-block.md | 201 - .../language-function-call.md | 77 - .../language-function-capture.md | 81 - .../language-function-config-load.md | 88 - .../language-function-debug.md | 17 - .../language-function-extends.md | 37 - .../language-function-for.md | 91 - .../language-function-foreach.md | 389 -- .../language-function-function.md | 89 - .../language-function-if.md | 120 - .../language-function-include.md | 187 - .../language-function-insert.md | 86 - .../language-function-ldelim.md | 51 - .../language-function-literal.md | 34 - .../language-function-nocache.md | 20 - .../language-function-section.md | 610 --- .../language-function-setfilter.md | 43 - .../language-function-strip.md | 45 - .../language-function-while.md | 43 - .../designers/language-combining-modifiers.md | 32 - .../language-custom-functions/index.md | 19 - .../language-function-counter.md | 45 - .../language-function-cycle.md | 55 - .../language-function-debug.md | 14 - .../language-function-eval.md | 81 - .../language-function-fetch.md | 61 - .../language-function-html-checkboxes.md | 102 - .../language-function-html-image.md | 58 - .../language-function-html-options.md | 146 - .../language-function-html-radios.md | 104 - .../language-function-html-select-date.md | 118 - .../language-function-html-select-time.md | 100 - .../language-function-html-table.md | 93 - .../language-function-mailto.md | 61 - .../language-function-math.md | 99 - .../language-function-textformat.md | 182 - .../designers/language-modifiers/index.md | 122 - .../language-modifier-capitalize.md | 49 - .../language-modifier-cat.md | 36 - .../language-modifier-count-characters.md | 43 - .../language-modifier-count-paragraphs.md | 41 - .../language-modifier-count-sentences.md | 39 - .../language-modifier-count-words.md | 35 - .../language-modifier-date-format.md | 145 - .../language-modifier-default.md | 45 - .../language-modifier-escape.md | 78 - .../language-modifier-from-charset.md | 20 - .../language-modifier-indent.md | 67 - .../language-modifier-lower.md | 34 - .../language-modifier-nl2br.md | 37 - .../language-modifier-regex-replace.md | 55 - .../language-modifier-replace.md | 45 - .../language-modifier-spacify.md | 44 - .../language-modifier-string-format.md | 43 - .../language-modifier-strip-tags.md | 46 - .../language-modifier-strip.md | 42 - .../language-modifier-to-charset.md | 20 - .../language-modifier-truncate.md | 57 - .../language-modifier-unescape.md | 43 - .../language-modifier-upper.md | 33 - .../language-modifier-wordwrap.md | 73 - .../designers/language-variables/index.md | 36 - .../language-assigned-variables.md | 126 - .../language-config-variables.md | 79 - .../language-variable-scopes.md | 60 - .../language-variables-smarty.md | 156 - fp-includes/smarty-4.3.1/docs/features.md | 152 - .../smarty-4.3.1/docs/getting-started.md | 167 - fp-includes/smarty-4.3.1/docs/index.md | 50 - fp-includes/smarty-4.3.1/docs/philosophy.md | 107 - .../docs/programmers/advanced-features.md | 14 - .../advanced-features-objects.md | 99 - .../advanced-features-outputfilters.md | 43 - .../advanced-features-postfilters.md | 40 - .../advanced-features-prefilters.md | 36 - .../advanced-features-security.md | 144 - .../advanced-features-static-classes.md | 27 - .../advanced-features-streams.md | 15 - .../advanced-features-template-inheritance.md | 128 - .../advanced-features-template-settings.md | 32 - .../docs/programmers/api-functions.md | 64 - .../api-functions/api-add-config-dir.md | 49 - .../api-functions/api-add-plugins-dir.md | 42 - .../api-functions/api-add-template-dir.md | 49 - .../api-functions/api-append-by-ref.md | 46 - .../programmers/api-functions/api-append.md | 61 - .../api-functions/api-assign-by-ref.md | 42 - .../programmers/api-functions/api-assign.md | 84 - .../api-functions/api-clear-all-assign.md | 34 - .../api-functions/api-clear-all-cache.md | 37 - .../api-functions/api-clear-assign.md | 32 - .../api-functions/api-clear-cache.md | 60 - .../api-functions/api-clear-compiled-tpl.md | 44 - .../api-functions/api-clear-config.md | 35 - .../api-functions/api-compile-all-config.md | 61 - .../api-compile-all-templates.md | 71 - .../api-functions/api-config-load.md | 47 - .../api-functions/api-create-data.md | 52 - .../api-functions/api-create-template.md | 99 - .../api-functions/api-disable-security.md | 15 - .../programmers/api-functions/api-display.md | 82 - .../api-functions/api-enable-security.md | 41 - .../programmers/api-functions/api-fetch.md | 91 - .../api-functions/api-get-cache-dir.md | 23 - .../api-functions/api-get-compile-dir.md | 23 - .../api-functions/api-get-config-dir.md | 40 - .../api-functions/api-get-config-vars.md | 37 - .../api-functions/api-get-plugins-dir.md | 31 - .../api-get-registered-object.md | 36 - .../programmers/api-functions/api-get-tags.md | 40 - .../api-functions/api-get-template-dir.md | 40 - .../api-functions/api-get-template-vars.md | 37 - .../api-functions/api-is-cached.md | 81 - .../api-functions/api-load-filter.md | 42 - .../api-functions/api-mute-expected-errors.md | 21 - .../api-register-cacheresource.md | 40 - .../api-functions/api-register-class.md | 65 - .../api-register-default-plugin-handler.md | 93 - .../api-functions/api-register-filter.md | 45 - .../api-functions/api-register-object.md | 44 - .../api-functions/api-register-plugin.md | 110 - .../api-functions/api-register-resource.md | 46 - .../api-functions/api-set-cache-dir.md | 32 - .../api-functions/api-set-compile-dir.md | 32 - .../api-functions/api-set-config-dir.md | 47 - .../api-functions/api-set-plugins-dir.md | 46 - .../api-functions/api-set-template-dir.md | 46 - .../api-functions/api-template-exists.md | 59 - .../api-functions/api-test-install.md | 22 - .../api-unregister-cacheresource.md | 28 - .../api-functions/api-unregister-filter.md | 23 - .../api-functions/api-unregister-object.md | 17 - .../api-functions/api-unregister-plugin.md | 36 - .../api-functions/api-unregister-resource.md | 28 - .../docs/programmers/api-variables.md | 63 - .../variable-allow-php-templates.md | 18 - .../api-variables/variable-auto-literal.md | 17 - .../variable-autoload-filters.md | 21 - .../api-variables/variable-cache-dir.md | 35 - .../api-variables/variable-cache-id.md | 11 - .../api-variables/variable-cache-lifetime.md | 30 - .../api-variables/variable-cache-locking.md | 11 - .../variable-cache-modified-check.md | 12 - .../api-variables/variable-caching-type.md | 9 - .../api-variables/variable-caching.md | 38 - .../api-variables/variable-compile-check.md | 30 - .../api-variables/variable-compile-dir.md | 29 - .../api-variables/variable-compile-id.md | 44 - .../api-variables/variable-compile-locking.md | 7 - .../api-variables/variable-compiler-class.md | 6 - .../variable-config-booleanize.md | 8 - .../api-variables/variable-config-dir.md | 23 - .../variable-config-overwrite.md | 40 - .../variable-config-read-hidden.md | 8 - .../api-variables/variable-debug-template.md | 9 - .../api-variables/variable-debugging-ctrl.md | 20 - .../api-variables/variable-debugging.md | 17 - .../variable-default-config-handler-func.md | 50 - .../variable-default-config-type.md | 7 - .../variable-default-modifiers.md | 8 - .../variable-default-resource-type.md | 7 - .../variable-default-template-handler-func.md | 50 - .../variable-direct-access-security.md | 13 - .../api-variables/variable-error-reporting.md | 17 - .../api-variables/variable-escape-html.md | 21 - .../api-variables/variable-force-cache.md | 6 - .../api-variables/variable-force-compile.md | 9 - .../api-variables/variable-left-delimiter.md | 8 - .../api-variables/variable-locking-timeout.md | 7 - .../variable-merge-compiled-includes.md | 27 - .../api-variables/variable-plugins-dir.md | 28 - .../api-variables/variable-right-delimiter.md | 8 - .../api-variables/variable-smarty-debug-id.md | 9 - .../api-variables/variable-template-dir.md | 36 - .../api-variables/variable-trusted-dir.md | 8 - .../variable-use-include-path.md | 49 - .../api-variables/variable-use-sub-dirs.md | 31 - .../smarty-4.3.1/docs/programmers/caching.md | 24 - .../programmers/caching/caching-cacheable.md | 176 - .../programmers/caching/caching-custom.md | 296 -- .../programmers/caching/caching-groups.md | 60 - .../caching/caching-multiple-caches.md | 87 - .../programmers/caching/caching-setting-up.md | 153 - .../smarty-4.3.1/docs/programmers/charset.md | 44 - .../smarty-4.3.1/docs/programmers/plugins.md | 44 - .../plugins/plugins-block-functions.md | 95 - .../plugins/plugins-compiler-functions.md | 66 - .../programmers/plugins/plugins-functions.md | 94 - .../docs/programmers/plugins/plugins-howto.md | 18 - .../programmers/plugins/plugins-inserts.md | 48 - .../programmers/plugins/plugins-modifiers.md | 86 - .../plugins/plugins-naming-conventions.md | 51 - .../plugins/plugins-outputfilters.md | 48 - .../plugins/plugins-prefilters-postfilters.md | 89 - .../programmers/plugins/plugins-resources.md | 128 - .../programmers/plugins/plugins-writing.md | 36 - .../docs/programmers/resources.md | 19 - .../programmers/resources/resources-custom.md | 111 - .../resources/resources-extends.md | 36 - .../programmers/resources/resources-file.md | 160 - .../resources/resources-streams.md | 27 - .../programmers/resources/resources-string.md | 73 - .../resources/template-resources.md | 130 - .../docs/programmers/smarty-constants.md | 26 - .../smarty_internal_configfilelexer.plex | 318 -- .../lexer/smarty_internal_configfileparser.y | 346 -- .../lexer/smarty_internal_templatelexer.plex | 687 ---- .../lexer/smarty_internal_templateparser.y | 1269 ------ fp-includes/smarty-4.3.1/libs/Autoloader.php | 111 - .../smarty-4.3.1/libs/Smarty.class.php | 1405 ------- fp-includes/smarty-4.3.1/libs/bootstrap.php | 16 - fp-includes/smarty-4.3.1/libs/debug.tpl | 173 - fp-includes/smarty-4.3.1/libs/functions.php | 51 - .../libs/plugins/block.textformat.php | 121 - .../libs/plugins/function.counter.php | 62 - .../libs/plugins/function.cycle.php | 92 - .../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 | 395 -- .../plugins/function.html_select_time.php | 354 -- .../libs/plugins/function.html_table.php | 164 - .../libs/plugins/function.mailto.php | 142 - .../libs/plugins/function.math.php | 142 - .../libs/plugins/modifier.capitalize.php | 147 - .../libs/plugins/modifier.count.php | 36 - .../libs/plugins/modifier.date_format.php | 86 - .../libs/plugins/modifier.debug_print_var.php | 103 - .../libs/plugins/modifier.escape.php | 189 - .../libs/plugins/modifier.explode.php | 25 - .../libs/plugins/modifier.mb_wordwrap.php | 71 - .../libs/plugins/modifier.number_format.php | 26 - .../libs/plugins/modifier.regex_replace.php | 55 - .../libs/plugins/modifier.replace.php | 37 - .../libs/plugins/modifier.spacify.php | 26 - .../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 | 87 - .../plugins/modifiercompiler.from_charset.php | 30 - .../libs/plugins/modifiercompiler.indent.php | 30 - .../libs/plugins/modifiercompiler.lower.php | 29 - .../libs/plugins/modifiercompiler.nl2br.php | 23 - .../libs/plugins/modifiercompiler.noprint.php | 20 - .../libs/plugins/modifiercompiler.round.php | 23 - .../plugins/modifiercompiler.str_repeat.php | 23 - .../modifiercompiler.string_format.php | 24 - .../libs/plugins/modifiercompiler.strip.php | 30 - .../plugins/modifiercompiler.strip_tags.php | 28 - .../libs/plugins/modifiercompiler.strlen.php | 23 - .../plugins/modifiercompiler.to_charset.php | 30 - .../plugins/modifiercompiler.unescape.php | 52 - .../libs/plugins/modifiercompiler.upper.php | 28 - .../plugins/modifiercompiler.wordwrap.php | 39 - .../plugins/outputfilter.trimwhitespace.php | 89 - .../plugins/shared.escape_special_chars.php | 26 - .../plugins/shared.literal_compiler_param.php | 35 - .../libs/plugins/shared.make_timestamp.php | 49 - .../libs/plugins/shared.mb_str_replace.php | 87 - .../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 --- .../libs/sysplugins/smarty_data.php | 68 - .../libs/sysplugins/smarty_internal_block.php | 90 - .../smarty_internal_cacheresource_file.php | 235 -- .../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_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 | 161 - ..._compile_private_object_block_function.php | 42 - ...ternal_compile_private_object_function.php | 85 - ...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 | 211 - .../smarty_internal_configfilelexer.php | 739 ---- .../smarty_internal_configfileparser.php | 1046 ----- .../libs/sysplugins/smarty_internal_data.php | 272 -- .../libs/sysplugins/smarty_internal_debug.php | 428 -- .../smarty_internal_errorhandler.php | 101 - .../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 | 39 - ...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_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 | 103 - .../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 | 91 - ...smarty_internal_smartytemplatecompiler.php | 184 - .../sysplugins/smarty_internal_template.php | 741 ---- .../smarty_internal_templatebase.php | 401 -- .../smarty_internal_templatecompilerbase.php | 1749 -------- .../smarty_internal_templatelexer.php | 1095 ----- .../smarty_internal_templateparser.php | 2926 -------------- .../smarty_internal_testinstall.php | 605 --- .../sysplugins/smarty_internal_undefined.php | 67 - .../libs/sysplugins/smarty_resource.php | 260 -- .../sysplugins/smarty_resource_custom.php | 104 - .../sysplugins/smarty_resource_recompiled.php | 94 - .../sysplugins/smarty_resource_uncompiled.php | 49 - .../libs/sysplugins/smarty_security.php | 680 ---- .../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 | 48 - .../sysplugins/smartycompilerexception.php | 73 - .../libs/sysplugins/smartyexception.php | 19 - fp-includes/smarty-4.3.1/mkdocs.yml | 123 - .../run-tests-for-all-php-versions.sh | 13 - fp-includes/smarty-4.3.1/run-tests.sh | 10 - 454 files changed, 52705 deletions(-) delete mode 100644 fp-includes/smarty-4.3.1/CHANGELOG.md delete mode 100644 fp-includes/smarty-4.3.1/LICENSE delete mode 100644 fp-includes/smarty-4.3.1/README.md delete mode 100644 fp-includes/smarty-4.3.1/SECURITY.md delete mode 100644 fp-includes/smarty-4.3.1/composer.json delete mode 100644 fp-includes/smarty-4.3.1/demo/configs/test.conf delete mode 100644 fp-includes/smarty-4.3.1/demo/index.php delete mode 100644 fp-includes/smarty-4.3.1/demo/plugins/cacheresource.apc.php delete mode 100644 fp-includes/smarty-4.3.1/demo/plugins/cacheresource.memcache.php delete mode 100644 fp-includes/smarty-4.3.1/demo/plugins/cacheresource.mysql.php delete mode 100644 fp-includes/smarty-4.3.1/demo/plugins/cacheresource.pdo.php delete mode 100644 fp-includes/smarty-4.3.1/demo/plugins/cacheresource.pdo_gzip.php delete mode 100644 fp-includes/smarty-4.3.1/demo/plugins/resource.extendsall.php delete mode 100644 fp-includes/smarty-4.3.1/demo/plugins/resource.mysql.php delete mode 100644 fp-includes/smarty-4.3.1/demo/plugins/resource.mysqls.php delete mode 100644 fp-includes/smarty-4.3.1/demo/templates/footer.tpl delete mode 100644 fp-includes/smarty-4.3.1/demo/templates/header.tpl delete mode 100644 fp-includes/smarty-4.3.1/demo/templates/index.tpl delete mode 100644 fp-includes/smarty-4.3.1/docs/_config.yml delete mode 100644 fp-includes/smarty-4.3.1/docs/appendixes/tips.md delete mode 100644 fp-includes/smarty-4.3.1/docs/appendixes/troubleshooting.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/chapter-debugging-console.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/config-files.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-basic-syntax/index.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-basic-syntax/language-escaping.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-basic-syntax/language-math.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-basic-syntax/language-syntax-attributes.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-basic-syntax/language-syntax-comments.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-basic-syntax/language-syntax-functions.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-basic-syntax/language-syntax-quotes.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-basic-syntax/language-syntax-variables.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/index.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-append.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-assign.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-block.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-call.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-capture.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-config-load.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-debug.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-extends.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-for.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-foreach.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-function.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-if.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-include.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-insert.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-ldelim.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-literal.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-nocache.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-section.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-setfilter.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-strip.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-while.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-combining-modifiers.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/index.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-counter.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-cycle.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-debug.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-eval.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-fetch.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-html-checkboxes.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-html-image.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-html-options.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-html-radios.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-html-select-date.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-html-select-time.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-html-table.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-mailto.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-math.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-textformat.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-modifiers/index.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-capitalize.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-cat.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-count-characters.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-count-paragraphs.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-count-sentences.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-count-words.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-date-format.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-default.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-escape.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-from-charset.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-indent.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-lower.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-nl2br.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-regex-replace.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-replace.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-spacify.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-string-format.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-strip-tags.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-strip.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-to-charset.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-truncate.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-unescape.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-upper.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-wordwrap.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-variables/index.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-variables/language-assigned-variables.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-variables/language-config-variables.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-variables/language-variable-scopes.md delete mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-variables/language-variables-smarty.md delete mode 100644 fp-includes/smarty-4.3.1/docs/features.md delete mode 100644 fp-includes/smarty-4.3.1/docs/getting-started.md delete mode 100644 fp-includes/smarty-4.3.1/docs/index.md delete mode 100644 fp-includes/smarty-4.3.1/docs/philosophy.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/advanced-features.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/advanced-features/advanced-features-objects.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/advanced-features/advanced-features-outputfilters.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/advanced-features/advanced-features-postfilters.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/advanced-features/advanced-features-prefilters.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/advanced-features/advanced-features-security.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/advanced-features/advanced-features-static-classes.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/advanced-features/advanced-features-streams.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/advanced-features/advanced-features-template-inheritance.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/advanced-features/advanced-features-template-settings.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-add-config-dir.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-add-plugins-dir.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-add-template-dir.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-append-by-ref.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-append.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-assign-by-ref.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-assign.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-clear-all-assign.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-clear-all-cache.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-clear-assign.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-clear-cache.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-clear-compiled-tpl.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-clear-config.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-compile-all-config.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-compile-all-templates.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-config-load.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-create-data.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-create-template.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-disable-security.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-display.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-enable-security.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-fetch.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-get-cache-dir.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-get-compile-dir.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-get-config-dir.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-get-config-vars.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-get-plugins-dir.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-get-registered-object.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-get-tags.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-get-template-dir.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-get-template-vars.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-is-cached.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-load-filter.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-mute-expected-errors.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-register-cacheresource.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-register-class.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-register-default-plugin-handler.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-register-filter.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-register-object.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-register-plugin.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-register-resource.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-set-cache-dir.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-set-compile-dir.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-set-config-dir.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-set-plugins-dir.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-set-template-dir.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-template-exists.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-test-install.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-unregister-cacheresource.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-unregister-filter.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-unregister-object.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-unregister-plugin.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-unregister-resource.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-variables.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-allow-php-templates.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-auto-literal.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-autoload-filters.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-cache-dir.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-cache-id.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-cache-lifetime.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-cache-locking.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-cache-modified-check.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-caching-type.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-caching.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-compile-check.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-compile-dir.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-compile-id.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-compile-locking.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-compiler-class.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-config-booleanize.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-config-dir.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-config-overwrite.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-config-read-hidden.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-debug-template.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-debugging-ctrl.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-debugging.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-default-config-handler-func.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-default-config-type.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-default-modifiers.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-default-resource-type.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-default-template-handler-func.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-direct-access-security.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-error-reporting.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-escape-html.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-force-cache.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-force-compile.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-left-delimiter.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-locking-timeout.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-merge-compiled-includes.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-plugins-dir.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-right-delimiter.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-smarty-debug-id.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-template-dir.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-trusted-dir.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-use-include-path.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-use-sub-dirs.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/caching.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/caching/caching-cacheable.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/caching/caching-custom.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/caching/caching-groups.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/caching/caching-multiple-caches.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/caching/caching-setting-up.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/charset.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/plugins.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/plugins/plugins-block-functions.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/plugins/plugins-compiler-functions.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/plugins/plugins-functions.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/plugins/plugins-howto.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/plugins/plugins-inserts.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/plugins/plugins-modifiers.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/plugins/plugins-naming-conventions.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/plugins/plugins-outputfilters.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/plugins/plugins-prefilters-postfilters.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/plugins/plugins-resources.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/plugins/plugins-writing.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/resources.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/resources/resources-custom.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/resources/resources-extends.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/resources/resources-file.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/resources/resources-streams.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/resources/resources-string.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/resources/template-resources.md delete mode 100644 fp-includes/smarty-4.3.1/docs/programmers/smarty-constants.md delete mode 100644 fp-includes/smarty-4.3.1/lexer/smarty_internal_configfilelexer.plex delete mode 100644 fp-includes/smarty-4.3.1/lexer/smarty_internal_configfileparser.y delete mode 100644 fp-includes/smarty-4.3.1/lexer/smarty_internal_templatelexer.plex delete mode 100644 fp-includes/smarty-4.3.1/lexer/smarty_internal_templateparser.y delete mode 100644 fp-includes/smarty-4.3.1/libs/Autoloader.php delete mode 100644 fp-includes/smarty-4.3.1/libs/Smarty.class.php delete mode 100644 fp-includes/smarty-4.3.1/libs/bootstrap.php delete mode 100644 fp-includes/smarty-4.3.1/libs/debug.tpl delete mode 100644 fp-includes/smarty-4.3.1/libs/functions.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/block.textformat.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/function.counter.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/function.cycle.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/function.fetch.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/function.html_checkboxes.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/function.html_image.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/function.html_options.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/function.html_radios.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/function.html_select_date.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/function.html_select_time.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/function.html_table.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/function.mailto.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/function.math.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/modifier.capitalize.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/modifier.count.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/modifier.date_format.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/modifier.debug_print_var.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/modifier.escape.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/modifier.explode.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/modifier.mb_wordwrap.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/modifier.number_format.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/modifier.regex_replace.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/modifier.replace.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/modifier.spacify.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/modifier.truncate.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/modifiercompiler.cat.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/modifiercompiler.count_characters.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/modifiercompiler.count_paragraphs.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/modifiercompiler.count_sentences.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/modifiercompiler.count_words.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/modifiercompiler.default.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/modifiercompiler.escape.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/modifiercompiler.from_charset.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/modifiercompiler.indent.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/modifiercompiler.lower.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/modifiercompiler.nl2br.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/modifiercompiler.noprint.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/modifiercompiler.round.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/modifiercompiler.str_repeat.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/modifiercompiler.string_format.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/modifiercompiler.strip.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/modifiercompiler.strip_tags.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/modifiercompiler.strlen.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/modifiercompiler.to_charset.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/modifiercompiler.unescape.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/modifiercompiler.upper.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/modifiercompiler.wordwrap.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/outputfilter.trimwhitespace.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/shared.escape_special_chars.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/shared.literal_compiler_param.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/shared.make_timestamp.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/shared.mb_str_replace.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/shared.mb_unicode.php delete mode 100644 fp-includes/smarty-4.3.1/libs/plugins/variablefilter.htmlspecialchars.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_cacheresource.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_cacheresource_custom.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_cacheresource_keyvaluestore.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_data.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_block.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_cacheresource_file.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_compile_append.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_compile_assign.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_compile_block.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_compile_block_child.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_compile_block_parent.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_compile_break.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_compile_call.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_compile_capture.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_compile_child.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_compile_config_load.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_compile_continue.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_compile_debug.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_compile_eval.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_compile_extends.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_compile_for.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_compile_foreach.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_compile_function.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_compile_if.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_compile_include.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_compile_insert.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_compile_ldelim.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_compile_make_nocache.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_compile_nocache.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_compile_parent.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_compile_private_block_plugin.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_compile_private_foreachsection.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_compile_private_function_plugin.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_compile_private_modifier.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_compile_private_object_block_function.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_compile_private_object_function.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_compile_private_print_expression.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_compile_private_registered_block.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_compile_private_registered_function.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_compile_private_special_variable.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_compile_rdelim.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_compile_section.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_compile_setfilter.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_compile_shared_inheritance.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_compile_while.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_compilebase.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_config_file_compiler.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_configfilelexer.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_configfileparser.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_data.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_debug.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_errorhandler.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_extension_handler.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_method_addautoloadfilters.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_method_adddefaultmodifiers.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_method_append.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_method_appendbyref.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_method_assignbyref.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_method_assignglobal.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_method_clearallassign.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_method_clearallcache.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_method_clearassign.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_method_clearcache.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_method_clearcompiledtemplate.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_method_clearconfig.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_method_compileallconfig.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_method_compilealltemplates.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_method_configload.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_method_createdata.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_method_getautoloadfilters.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_method_getconfigvariable.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_method_getconfigvars.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_method_getdebugtemplate.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_method_getdefaultmodifiers.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_method_getglobal.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_method_getregisteredobject.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_method_getstreamvariable.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_method_gettags.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_method_gettemplatevars.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_method_literals.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_method_loadfilter.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_method_loadplugin.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_method_mustcompile.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_method_registercacheresource.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_method_registerclass.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_method_registerdefaultconfighandler.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_method_registerdefaultpluginhandler.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_method_registerdefaulttemplatehandler.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_method_registerfilter.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_method_registerobject.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_method_registerplugin.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_method_registerresource.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_method_setautoloadfilters.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_method_setdebugtemplate.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_method_setdefaultmodifiers.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_method_unloadfilter.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_method_unregistercacheresource.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_method_unregisterfilter.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_method_unregisterobject.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_method_unregisterplugin.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_method_unregisterresource.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_nocache_insert.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_parsetree.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_parsetree_code.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_parsetree_dq.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_parsetree_dqcontent.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_parsetree_tag.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_parsetree_template.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_parsetree_text.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_resource_eval.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_resource_extends.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_resource_file.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_resource_php.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_resource_stream.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_resource_string.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_runtime_cachemodify.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_runtime_cacheresourcefile.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_runtime_capture.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_runtime_codeframe.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_runtime_filterhandler.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_runtime_foreach.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_runtime_getincludepath.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_runtime_inheritance.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_runtime_make_nocache.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_runtime_tplfunction.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_runtime_updatecache.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_runtime_updatescope.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_runtime_writefile.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_smartytemplatecompiler.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_template.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_templatebase.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_templatecompilerbase.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_templatelexer.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_templateparser.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_testinstall.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_internal_undefined.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_resource.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_resource_custom.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_resource_recompiled.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_resource_uncompiled.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_security.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_template_cached.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_template_compiled.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_template_config.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_template_resource_base.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_template_source.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_undefined_variable.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smarty_variable.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smartycompilerexception.php delete mode 100644 fp-includes/smarty-4.3.1/libs/sysplugins/smartyexception.php delete mode 100644 fp-includes/smarty-4.3.1/mkdocs.yml delete mode 100644 fp-includes/smarty-4.3.1/run-tests-for-all-php-versions.sh delete mode 100644 fp-includes/smarty-4.3.1/run-tests.sh diff --git a/fp-includes/smarty-4.3.1/CHANGELOG.md b/fp-includes/smarty-4.3.1/CHANGELOG.md deleted file mode 100644 index 899cfd7..0000000 --- a/fp-includes/smarty-4.3.1/CHANGELOG.md +++ /dev/null @@ -1,3587 +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] - -## [4.3.1] - 2023-03-28 - -### Security -- Fixed Cross site scripting vulnerability in Javascript escaping. This addresses CVE-2023-28447. - -### Fixed -- `$smarty->muteUndefinedOrNullWarnings()` now also mutes PHP7 notices for undefined array indexes [#736](https://github.com/smarty-php/smarty/issues/736) -- `$smarty->muteUndefinedOrNullWarnings()` now treats undefined vars and array access of a null or false variables - equivalent across all supported PHP versions -- `$smarty->muteUndefinedOrNullWarnings()` now allows dereferencing of non-objects across all supported PHP versions [#831](https://github.com/smarty-php/smarty/issues/831) -- PHP 8.1 deprecation warnings on null strings in modifiers [#834](https://github.com/smarty-php/smarty/pull/834) - -## [4.3.0] - 2022-11-22 - -### Added -- PHP8.2 compatibility [#775](https://github.com/smarty-php/smarty/pull/775) - -### Changed -- Include docs and demo in the releases [#799](https://github.com/smarty-php/smarty/issues/799) -- Using PHP functions as modifiers now triggers a deprecation notice because we will drop support for this in the next major release [#813](https://github.com/smarty-php/smarty/issues/813) -- Dropped remaining references to removed PHP-support in Smarty 4 from docs, lexer and security class. [#816](https://github.com/smarty-php/smarty/issues/816) -- Support umask when writing (template) files and set dir permissions to 777 [#548](https://github.com/smarty-php/smarty/issues/548) [#819](https://github.com/smarty-php/smarty/issues/819) - -### Fixed -- Output buffer is now cleaned for internal PHP errors as well, not just for Exceptions [#514](https://github.com/smarty-php/smarty/issues/514) -- Fixed recursion and out of memory errors when caching in complicated template set-ups using inheritance and includes [#801](https://github.com/smarty-php/smarty/pull/801) -- Fixed PHP8.1 deprecation errors in strip_tags -- Fix Variable Usage in Exception message when unable to load subtemplate [#808](https://github.com/smarty-php/smarty/pull/808) -- Fixed PHP8.1 deprecation notices for strftime [#672](https://github.com/smarty-php/smarty/issues/672) -- Fixed PHP8.1 deprecation errors passing null to parameter in trim [#807](https://github.com/smarty-php/smarty/pull/807) -- Adapt Smarty upper/lower functions to be codesafe (e.g. for Turkish locale) [#586](https://github.com/smarty-php/smarty/pull/586) -- Bug fix for underscore and limited length in template name in custom resources [#581](https://github.com/smarty-php/smarty/pull/581) - -## [4.2.1] - 2022-09-14 - -### Security -- Applied appropriate javascript and html escaping in mailto plugin to counter injection attacks [#454](https://github.com/smarty-php/smarty/issues/454) - -### Fixed -- Fixed PHP8.1 deprecation notices in modifiers (upper, explode, number_format and replace) [#755](https://github.com/smarty-php/smarty/pull/755) and [#788](https://github.com/smarty-php/smarty/pull/788) -- Fixed PHP8.1 deprecation notices in capitalize modifier [#789](https://github.com/smarty-php/smarty/issues/789) -- Fixed use of `rand()` without a parameter in math function [#794](https://github.com/smarty-php/smarty/issues/794) -- Fixed unselected year/month/day not working in html_select_date [#395](https://github.com/smarty-php/smarty/issues/395) - -## [4.2.0] - 2022-08-01 - -### Fixed -- Fixed problems with smarty_mb_str_replace [#549](https://github.com/smarty-php/smarty/issues/549) -- Fixed second parameter of unescape modifier not working [#777](https://github.com/smarty-php/smarty/issues/777) - -### Changed -- Updated HTML of the debug template [#599](https://github.com/smarty-php/smarty/pull/599) - -## [4.1.1] - 2022-05-17 - -### Security -- Prevent PHP injection through malicious block name or include file name. This addresses CVE-2022-29221 - -### Fixed -- Exclude docs and demo from export and composer [#751](https://github.com/smarty-php/smarty/pull/751) -- PHP 8.1 deprecation notices in demo/plugins/cacheresource.pdo.php [#706](https://github.com/smarty-php/smarty/issues/706) -- PHP 8.1 deprecation notices in truncate modifier [#699](https://github.com/smarty-php/smarty/issues/699) -- Math equation `max(x, y)` didn't work anymore [#721](https://github.com/smarty-php/smarty/issues/721) -- Fix PHP 8.1 deprecated warning when calling rtrim [#743](https://github.com/smarty-php/smarty/pull/743) -- PHP 8.1: fix deprecation in escape modifier [#727](https://github.com/smarty-php/smarty/pull/727) - -## [4.1.0] - 2022-02-06 - -### Added -- PHP8.1 compatibility [#713](https://github.com/smarty-php/smarty/pull/713) - -## [4.0.4] - 2022-01-18 - -### Fixed -- Fixed illegal characters bug in math function security check [#702](https://github.com/smarty-php/smarty/issues/702) - -## [4.0.3] - 2022-01-10 - -### Security -- Prevent evasion of the `static_classes` security policy. This addresses CVE-2021-21408 - -## [4.0.2] - 2022-01-10 - -### Security -- Prevent arbitrary PHP code execution through maliciously crafted expression for the math function. This addresses CVE-2021-29454 - -## [4.0.1] - 2022-01-09 - -### Security -- Rewrote the mailto function to not use `eval` when encoding with javascript - -## [4.0.0] - 2021-11-25 - -## [4.0.0-rc.0] - 2021-10-13 - -### Added -- You can now use `$smarty->muteUndefinedOrNullWarnings()` to activate convert warnings about undefined or null template vars to notices when running PHP8 - -### Changed -- Switch CI from Travis to Github CI -- Updated unit tests to avoid skipped and risky test warnings - -### Removed -- Dropped support for PHP7.0 and below, so Smarty now requires PHP >=7.1 -- Dropped support for php asp tags in templates (removed from php since php7.0) -- Dropped deprecated API calls that where only accessible through SmartyBC -- Dropped support for {php} and {include_php} tags and embedded PHP in templates. Embedded PHP will now be passed through as is. -- Removed all PHP_VERSION_ID and compare_version checks and conditional code blocks that are now no longer required -- Dropped deprecated SMARTY_RESOURCE_CHAR_SET and SMARTY_RESOURCE_DATE_FORMAT constants -- Dropped deprecated Smarty::muteExpectedErrors and Smarty::unmuteExpectedErrors API methods -- Dropped deprecated $smarty->getVariable() method. Use $smarty->getTemplateVars() instead. -- $smarty->registerResource() no longer accepts an array of callback functions - -## [3.1.40] - 2021-10-13 - -### Changed -- modifier escape now triggers a E_USER_NOTICE when an unsupported escape type is used https://github.com/smarty-php/smarty/pull/649 - -### Security -- More advanced javascript escaping to handle https://html.spec.whatwg.org/multipage/scripting.html#restrictions-for-contents-of-script-elements thanks to m-haritonov - -## [3.1.39] - 2021-02-17 - -### Security -- Prevent access to `$smarty.template_object` in sandbox mode. This addresses CVE-2021-26119. -- Fixed code injection vulnerability by using illegal function names in `{function name='blah'}{/function}`. This addresses CVE-2021-26120. - -## [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 " -``` - -[`{literal}..{/literal}`](../language-builtin-functions/language-function-literal.md) blocks are used -for escaping blocks of template logic. You can also escape the braces -individually with -[`{ldelim}`, `{rdelim}`](../language-builtin-functions/language-function-ldelim.md) tags or -[`{$smarty.ldelim}`,`{$smarty.rdelim}`](../language-variables/language-variables-smarty.md#smartyldelim-smartyrdelim-languagevariablessmartyldelim) -variables. - -Smarty's default delimiters { and } cleanly represent presentational -content. However, if another set of delimiters suit your needs better, -you can change them with Smarty's -[`$left_delimiter`](../../programmers/api-variables/variable-left-delimiter.md) and -[`$right_delimiter`](../../programmers/api-variables/variable-right-delimiter.md) values. - -> **Note** -> -> Changing delimiters affects ALL template syntax and escapement. Be -> sure to clear out cache and compiled files if you decide to change -> them. - -```php -left_delimiter = ''; - -$smarty->assign('foo', 'bar'); -$smarty->assign('name', 'Albert'); -$smarty->display('example.tpl'); -``` - -Where the template is: - -```smarty -Welcome to Smarty - -``` diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-basic-syntax/language-math.md b/fp-includes/smarty-4.3.1/docs/designers/language-basic-syntax/language-math.md deleted file mode 100644 index a9a43ef..0000000 --- a/fp-includes/smarty-4.3.1/docs/designers/language-basic-syntax/language-math.md +++ /dev/null @@ -1,28 +0,0 @@ -# Math - -Math can be applied directly to variable values. - -## Examples -```smarty -{$foo+1} - -{$foo*$bar} - -{* some more complicated examples *} - -{$foo->bar-$bar[1]*$baz->foo->bar()-3*7} - -{if ($foo+$bar.test%$baz*134232+10+$b+10)} - -{$foo|truncate:"`$fooTruncCount/$barTruncFactor-1`"} - -{assign var="foo" value="`$foo+$bar`"} -``` - -> **Note** -> -> Although Smarty can handle some very complex expressions and syntax, -> it is a good rule of thumb to keep the template syntax minimal and -> focused on presentation. If you find your template syntax getting too -> complex, it may be a good idea to move the bits that do not deal -> explicitly with presentation to PHP by way of plugins or modifiers. diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-basic-syntax/language-syntax-attributes.md b/fp-includes/smarty-4.3.1/docs/designers/language-basic-syntax/language-syntax-attributes.md deleted file mode 100644 index 41f6c45..0000000 --- a/fp-includes/smarty-4.3.1/docs/designers/language-basic-syntax/language-syntax-attributes.md +++ /dev/null @@ -1,49 +0,0 @@ -# Attributes - -Most of the [functions](./language-syntax-functions.md) take attributes that -specify or modify their behavior. Attributes to Smarty functions are -much like HTML attributes. Static values don't have to be enclosed in -quotes, but it is required for literal strings. Variables with or -without modifiers may also be used, and should not be in quotes. You can -even use PHP function results, plugin results and complex expressions. - -Some attributes require boolean values (TRUE or FALSE). These can be -specified as `true` and `false`. If an attribute has no value assigned -it gets the default boolean value of true. - -## Examples -```smarty -{include file="header.tpl"} - -{include file="header.tpl" nocache} // is equivalent to nocache=true - -{include file="header.tpl" attrib_name="attrib value"} - -{include file=$includeFile} - -{include file=#includeFile# title="My Title"} - -{assign var=foo value={counter}} // plugin result - -{assign var=foo value=substr($bar,2,5)} // PHP function result - -{assign var=foo value=$bar|strlen} // using modifier - -{assign var=foo value=$buh+$bar|strlen} // more complex expression - -{html_select_date display_days=true} - -{mailto address="smarty@example.com"} - - -``` - -> **Note** -> -> Although Smarty can handle some very complex expressions and syntax, -> it is a good rule of thumb to keep the template syntax minimal and -> focused on presentation. If you find your template syntax getting too -> complex, it may be a good idea to move the bits that do not deal -> explicitly with presentation to PHP by way of plugins or modifiers. diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-basic-syntax/language-syntax-comments.md b/fp-includes/smarty-4.3.1/docs/designers/language-basic-syntax/language-syntax-comments.md deleted file mode 100644 index 7052c20..0000000 --- a/fp-includes/smarty-4.3.1/docs/designers/language-basic-syntax/language-syntax-comments.md +++ /dev/null @@ -1,69 +0,0 @@ -# Comments - -Template comments are surrounded by asterisks, and that is surrounded by -the [delimiter](../../programmers/api-variables/variable-left-delimiter.md) tags like so: - -## Examples - -```smarty -{* this is a comment *} -``` - -Smarty comments are NOT displayed in the final output of the template, -unlike ``. These are useful for making internal -notes in the templates which no one will see ;-) - -```smarty -{* I am a Smarty comment, I don't exist in the compiled output *} - - - {$title} - - - - {* another single line smarty comment *} - - - {* this multiline smarty - comment is - not sent to browser - *} - - {********************************************************* - Multi line comment block with credits block - @ author: bg@example.com - @ maintainer: support@example.com - @ para: var that sets block style - @ css: the style output - **********************************************************} - - {* The header file with the main logo and stuff *} - {include file='header.tpl'} - - - {* Dev note: the $includeFile var is assigned in foo.php script *} - - {include file=$includeFile} - - {* this - {html_options options=$vals selected=$selected_id} - - *} - - - {* $affiliate|upper *} - - {* you cannot nest comments *} - {* - - *} - - - -``` - diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-basic-syntax/language-syntax-functions.md b/fp-includes/smarty-4.3.1/docs/designers/language-basic-syntax/language-syntax-functions.md deleted file mode 100644 index c3c8c21..0000000 --- a/fp-includes/smarty-4.3.1/docs/designers/language-basic-syntax/language-syntax-functions.md +++ /dev/null @@ -1,40 +0,0 @@ -# Functions - -Every Smarty tag either prints a [variable](./language-syntax-variables.md) or -invokes some sort of function. These are processed and displayed by -enclosing the function and its [attributes](./language-syntax-attributes.md) -within delimiters like so: `{funcname attr1="val1" attr2="val2"}`. - -## Examples - -```smarty -{config_load file="colors.conf"} - -{include file="header.tpl"} -{insert file="banner_ads.tpl" title="My Site"} - -{if $logged_in} - Welcome, {$name}! -{else} - hi, {$name} -{/if} - -{include file="footer.tpl"} -``` - -- Both [built-in functions](../language-builtin-functions/index.md) and [custom - functions](../language-custom-functions/index.md) have the same syntax within - templates. - -- Built-in functions are the **inner** workings of Smarty, such as - [`{if}`](../language-builtin-functions/language-function-if.md), - [`{section}`](../language-builtin-functions/language-function-section.md) and - [`{strip}`](../language-builtin-functions/language-function-strip.md). There should be no need to - change or modify them. - -- Custom functions are **additional** functions implemented via - [plugins](../../programmers/plugins.md). They can be modified to your liking, or you can - create new ones. [`{html_options}`](../language-custom-functions/language-function-html-options.md) - is an example of a custom function. - -See also [`registerPlugin()`](../../programmers/api-functions/api-register-plugin.md) diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-basic-syntax/language-syntax-quotes.md b/fp-includes/smarty-4.3.1/docs/designers/language-basic-syntax/language-syntax-quotes.md deleted file mode 100644 index e04e6da..0000000 --- a/fp-includes/smarty-4.3.1/docs/designers/language-basic-syntax/language-syntax-quotes.md +++ /dev/null @@ -1,54 +0,0 @@ -# Embedding Vars in Double Quotes - -- Smarty will recognize [assigned](../../programmers/api-functions/api-assign.md) - [variables](./language-syntax-variables.md) embedded in "double - quotes" so long as the variable name contains only numbers, letters - and under_scores. See [naming](https://www.php.net/language.variables) - for more detail. - -- With any other characters, for example a period(.) or - `$object->reference`, then the variable must be surrounded by `` `backticks` ``. - -- In addition, Smarty does allow embedded Smarty tags in double-quoted - strings. This is useful if you want to include variables with - modifiers, plugin or PHP function results. - -## Examples -```smarty -{func var="test $foo test"} // sees $foo -{func var="test $foo_bar test"} // sees $foo_bar -{func var="test `$foo[0]` test"} // sees $foo[0] -{func var="test `$foo[bar]` test"} // sees $foo[bar] -{func var="test $foo.bar test"} // sees $foo (not $foo.bar) -{func var="test `$foo.bar` test"} // sees $foo.bar -{func var="test `$foo.bar` test"|escape} // modifiers outside quotes! -{func var="test {$foo|escape} test"} // modifiers inside quotes! -{func var="test {time()} test"} // PHP function result -{func var="test {counter} test"} // plugin result -{func var="variable foo is {if !$foo}not {/if} defined"} // Smarty block function - -{* will replace $tpl_name with value *} -{include file="subdir/$tpl_name.tpl"} - -{* does NOT replace $tpl_name *} -{include file='subdir/$tpl_name.tpl'} // vars require double quotes! - -{* must have backticks as it contains a dot "." *} -{cycle values="one,two,`$smarty.config.myval`"} - -{* must have backticks as it contains a dot "." *} -{include file="`$module.contact`.tpl"} - -{* can use variable with dot syntax *} -{include file="`$module.$view`.tpl"} -``` - -> **Note** -> -> Although Smarty can handle some very complex expressions and syntax, -> it is a good rule of thumb to keep the template syntax minimal and -> focused on presentation. If you find your template syntax getting too -> complex, it may be a good idea to move the bits that do not deal -> explicitly with presentation to PHP by way of plugins or modifiers. - -See also [`escape`](../language-modifiers/language-modifier-escape.md). diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-basic-syntax/language-syntax-variables.md b/fp-includes/smarty-4.3.1/docs/designers/language-basic-syntax/language-syntax-variables.md deleted file mode 100644 index c0285d0..0000000 --- a/fp-includes/smarty-4.3.1/docs/designers/language-basic-syntax/language-syntax-variables.md +++ /dev/null @@ -1,109 +0,0 @@ -# Variables - -Template variables start with the $dollar sign. They can contain -numbers, letters and underscores, much like a [PHP -variable](https://www.php.net/language.variables). You can reference arrays -by index numerically or non-numerically. Also reference object -properties and methods. - -[Config file variables](../language-variables/language-config-variables.md) are an exception to -the \$dollar syntax and are instead referenced with surrounding -\#hashmarks\#, or via the [`$smarty.config`](../language-variables/language-variables-smarty.md#smartyconfig-languagevariablessmartyconfig) variable. - -## Examples - -```smarty -{$foo} <-- displaying a simple variable (non array/object) -{$foo[4]} <-- display the 5th element of a zero-indexed array -{$foo.bar} <-- display the "bar" key value of an array, similar to PHP $foo['bar'] -{$foo.$bar} <-- display variable key value of an array, similar to PHP $foo[$bar] -{$foo->bar} <-- display the object property "bar" -{$foo->bar()} <-- display the return value of object method "bar" -{#foo#} <-- display the config file variable "foo" -{$smarty.config.foo} <-- synonym for {#foo#} -{$foo[bar]} <-- syntax only valid in a section loop, see {section} -{assign var=foo value='baa'}{$foo} <-- displays "baa", see {assign} - -Many other combinations are allowed - -{$foo.bar.baz} -{$foo.$bar.$baz} -{$foo[4].baz} -{$foo[4].$baz} -{$foo.bar.baz[4]} -{$foo->bar($baz,2,$bar)} <-- passing parameters -{"foo"} <-- static values are allowed - -{* display the server variable "SERVER_NAME" ($_SERVER['SERVER_NAME'])*} -{$smarty.server.SERVER_NAME} - -Math and embedding tags: - -{$x+$y} // will output the sum of x and y. -{assign var=foo value=$x+$y} // in attributes -{$foo[$x+3]} // as array index -{$foo={counter}+3} // tags within tags -{$foo="this is message {counter}"} // tags within double quoted strings - -Defining Arrays: - -{assign var=foo value=[1,2,3]} -{assign var=foo value=['y'=>'yellow','b'=>'blue']} -{assign var=foo value=[1,[9,8],3]} // can be nested - -Short variable assignment: - -{$foo=$bar+2} -{$foo = strlen($bar)} // function in assignment -{$foo = myfunct( ($x+$y)*3 )} // as function parameter -{$foo.bar=1} // assign to specific array element -{$foo.bar.baz=1} -{$foo[]=1} // appending to an array - -Smarty "dot" syntax (note: embedded {} are used to address ambiguities): - -{$foo.a.b.c} => $foo['a']['b']['c'] -{$foo.a.$b.c} => $foo['a'][$b]['c'] // with variable index -{$foo.a.{$b+4}.c} => $foo['a'][$b+4]['c'] // with expression as index -{$foo.a.{$b.c}} => $foo['a'][$b['c']] // with nested index - -PHP-like syntax, alternative to "dot" syntax: - -{$foo[1]} // normal access -{$foo['bar']} -{$foo['bar'][1]} -{$foo[$x+$x]} // index may contain any expression -{$foo[$bar[1]]} // nested index -{$foo[section_name]} // smarty {section} access, not array access! - -Variable variables: - -$foo // normal variable -$foo_{$bar} // variable name containing other variable -$foo_{$x+$y} // variable name containing expressions -$foo_{$bar}_buh_{$blar} // variable name with multiple segments -{$foo_{$x}} // will output the variable $foo_1 if $x has a value of 1. - -Object chaining: - -{$object->method1($x)->method2($y)} - -Direct PHP function access: - -{time()} -``` - -> **Note** -> -> Although Smarty can handle some very complex expressions and syntax, -> it is a good rule of thumb to keep the template syntax minimal and -> focused on presentation. If you find your template syntax getting too -> complex, it may be a good idea to move the bits that do not deal -> explicitly with presentation to PHP by way of plugins or modifiers. - -Request variables such as `$_GET`, `$_SESSION`, etc are available via -the reserved [`$smarty`](../language-variables/language-variables-smarty.md) variable. - -See also [`$smarty`](../language-variables/language-variables-smarty.md), [config -variables](../language-variables/language-config-variables.md) -[`{assign}`](../language-builtin-functions/language-function-assign.md) and [`assign()`](../../programmers/api-functions/api-assign.md). diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/index.md b/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/index.md deleted file mode 100644 index 10dc3a6..0000000 --- a/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/index.md +++ /dev/null @@ -1,35 +0,0 @@ -# Built-in Functions - -Smarty comes with several built-in functions. These built-in functions -are the integral part of the smarty template engine. They are compiled -into corresponding inline PHP code for maximum performance. - -You cannot create your own [custom functions](../language-custom-functions/index.md) with the same name; and you -should not need to modify the built-in functions. - -A few of these functions have an `assign` attribute which collects the -result the function to a named template variable instead of being -output; much like the [`{assign}`](language-function-assign.md) function. - -- [{append}](language-function-append.md) -- [{assign} or {$var=...}](language-function-assign.md) -- [{block}](language-function-block.md) -- [{call}](language-function-call.md) -- [{capture}](language-function-capture.md) -- [{config_load}](language-function-config-load.md) -- [{debug}](language-function-debug.md) -- [{extends}](language-function-extends.md) -- [{for}](language-function-for.md) -- [{foreach}, {foreachelse}](language-function-foreach.md) -- [{function}](language-function-function.md) -- [{if}, {elseif}, {else}](language-function-if.md) -- [{include}](language-function-include.md) -- [{insert}](language-function-insert.md) -- [{ldelim}, {rdelim}](language-function-ldelim.md) -- [{literal}](language-function-literal.md) -- [{nocache}](language-function-nocache.md) -- [{section}, {sectionelse}](language-function-section.md) -- [{setfilter}](language-function-setfilter.md) -- [{strip}](language-function-strip.md) -- [{while}](language-function-while.md) - diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-append.md b/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-append.md deleted file mode 100644 index 37e1b81..0000000 --- a/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-append.md +++ /dev/null @@ -1,49 +0,0 @@ -# {append} - -`{append}` is used for creating or appending template variable arrays -**during the execution of a template**. - -## Attributes - -| Attribute | Required | Description | -|-----------|------------|----------------------------------------------------------------------------------------------------| -| var | | The name of the variable being assigned | -| value | | The value being assigned | -| index | (optional) | The index for the new array element. If not specified the value is append to the end of the array. | -| scope | (optional) | The scope of the assigned variable: parent, root or global. Defaults to local if omitted. | - -## Option Flags - -| Name | Description | -|---------|-----------------------------------------------------| -| nocache | Assigns the variable with the 'nocache' attribute | - -> **Note** -> -> Assignment of variables in-template is essentially placing application -> logic into the presentation that may be better handled in PHP. Use at -> your own discretion. - -## Examples - -```smarty -{append var='name' value='Bob' index='first'} -{append var='name' value='Meyer' index='last'} -// or -{append 'name' 'Bob' index='first'} {* short-hand *} -{append 'name' 'Meyer' index='last'} {* short-hand *} - -The first name is {$name.first}.
-The last name is {$name.last}. -``` - -The above example will output: - - - The first name is Bob. - The last name is Meyer. - - - -See also [`append()`](#api.append) and -[`getTemplateVars()`](#api.get.template.vars). diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-assign.md b/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-assign.md deleted file mode 100644 index f5faa46..0000000 --- a/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-assign.md +++ /dev/null @@ -1,147 +0,0 @@ -# {assign}, {$var=...} - -`{assign}` or `{$var=...}` is used for assigning template variables **during the -execution of a template**. - -## Attributes of the {assign} syntax -| Attribute Name | Required | Description | -|----------------|------------|-----------------------------------------------------------------------| -| var | | The name of the variable being assigned | -| value | | The value being assigned | -| scope | (optional) | The scope of the assigned variable: \'parent\',\'root\' or \'global\' | - -## Attributes of the {$var=...} syntax -| Attribute Name | Required | Description | -|----------------|------------|-----------------------------------------------------------------------| -| scope | (optional) | The scope of the assigned variable: \'parent\',\'root\' or \'global\' | - -## Option Flags -| Name | Description | -|---------|---------------------------------------------------| -| nocache | Assigns the variable with the 'nocache' attribute | - - -> **Note** -> -> Assignment of variables in-template is essentially placing application -> logic into the presentation that may be better handled in PHP. Use at -> your own discretion. - -## Examples - -```smarty -{assign var="name" value="Bob"} {* or *} -{assign "name" "Bob"} {* short-hand, or *} -{$name='Bob'} - -The value of $name is {$name}. -``` - - -The above example will output: - -``` -The value of $name is Bob. -``` - - -```smarty -{assign var="name" value="Bob" nocache} {* or *} -{assign "name" "Bob" nocache} {* short-hand, or *} -{$name='Bob' nocache} - -The value of $name is {$name}. -``` -The above example will output: -``` -The value of $name is Bob. -``` - - -```smarty -{assign var=running_total value=$running_total+$some_array[$row].some_value} {* or *} -{$running_total=$running_total+$some_array[row].some_value} -``` - -Variables assigned in the included template will be seen in the -including template. - -```smarty -{include file="sub_template.tpl"} - -{* display variable assigned in sub_template *} -{$foo}
-``` - -The template above includes the example `sub_template.tpl` below: - -```smarty - -{* foo will be known also in the including template *} -{assign var="foo" value="something" scope=parent} -{$foo="something" scope=parent} - -{* bar is assigned only local in the including template *} -{assign var="bar" value="value"} {* or *} -{$var="value"} - -``` - -You can assign a variable to root of the current root tree. The variable -is seen by all templates using the same root tree. - -```smarty -{assign var=foo value="bar" scope="root"} -``` - -A global variable is seen by all templates. - -```smarty -{assign var=foo value="bar" scope="global"} {* or *} -{assign "foo" "bar" scope="global"} {* short-hand, or *} -{$foo="bar" scope="global"} -``` - -To access `{assign}` variables from a php script use -[`getTemplateVars()`](../../programmers/api-functions/api-get-template-vars.md). -Here's the template that creates the variable `$foo`. - -```smarty -{assign var="foo" value="Smarty"} {* or *} -{$foo="Smarty"} -``` - -The template variables are only available after/during template -execution as in the following script. - -```php -getTemplateVars('foo'); - -// fetch the template to a variable -$whole_page = $smarty->fetch('index.tpl'); - -// this will output 'smarty' as the template has been executed -echo $smarty->getTemplateVars('foo'); - -$smarty->assign('foo','Even smarter'); - -// this will output 'Even smarter' -echo $smarty->getTemplateVars('foo'); -``` - -The following functions can also *optionally* assign template variables: [`{capture}`](#language.function.capture), -[`{include}`](#language.function.include), -[`{insert}`](#language.function.insert), -[`{counter}`](#language.function.counter), -[`{cycle}`](#language.function.cycle), -[`{eval}`](#language.function.eval), -[`{fetch}`](#language.function.fetch), -[`{math}`](#language.function.math) and -[`{textformat}`](#language.function.textformat). - -See also [`{append}`](./language-function-append.md), -[`assign()`](#api.assign) and -[`getTemplateVars()`](#api.get.template.vars). diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-block.md b/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-block.md deleted file mode 100644 index c2acd19..0000000 --- a/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-block.md +++ /dev/null @@ -1,201 +0,0 @@ -# {block} - -`{block}` is used to define a named area of template source for template -inheritance. For details see section of [Template -Inheritance](../../programmers/advanced-features/advanced-features-template-inheritance.md). - -The `{block}` template source area of a child template will replace the -corresponding areas in the parent template(s). - -Optionally `{block}` areas of child and parent templates can be merged -into each other. You can append or prepend the parent `{block}` content -by using the `append` or `prepend` option flag with the child's `{block}` -definition. With `{$smarty.block.parent}` the `{block}` content of -the parent template can be inserted at any location of the child -`{block}` content. `{$smarty.block.child}` inserts the `{block}` content -of the child template at any location of the parent `{block}`. - -`{blocks}'s` can be nested. - -## Attributes - -| Attribute Name | Required | Description | -|----------------|----------|----------------------------------------------------------------------------------------------------------------------| -| name | yes | The name of the template source block | -| assign | no | The name of variable to assign the output of the block to. | - -> **Note** -> -> The assign attribute only works on the block that actually gets executed, so you may need -> to add it to each child block as well. - - -## Option Flags (in child templates only): - -| Name | Description | -|---------|-----------------------------------------------------------------------------------------| -| append | The `{block}` content will be appended to the content of the parent template `{block}` | -| prepend | The `{block}` content will be prepended to the content of the parent template `{block}` | -| hide | Ignore the block content if no child block of same name is existing. | -| nocache | Disables caching of the `{block}` content | - - -## Examples - -parent.tpl - -```smarty - - - {block name="title"}Default Title{/block} - {block "title"}Default Title{/block} {* short-hand *} - - -``` - - -child.tpl - -```smarty - {extends file="parent.tpl"} - {block name="title"} - Page Title - {/block} -``` - - -The result would look like - -```html - - - Page Title - - -``` - -parent.tpl - -```smarty - - - {block name="title"}Title - {/block} - - -``` - - -child.tpl - -```smarty - {extends file="parent.tpl"} - {block name="title" append} - Page Title - {/block} -``` - - -The result would look like - -```html - - - Title - Page Title - - -``` - -parent.tpl - -```smarty - - - {block name="title"} is my title{/block} - - -``` - -child.tpl - -```smarty - {extends file="parent.tpl"} - {block name="title" prepend} - Page Title - {/block} -``` - - -The result would look like - -```html - - - Page title is my titel - - -``` - -parent.tpl - -```smarty - - - {block name="title"}The {$smarty.block.child} was inserted here{/block} - - -``` - -child.tpl - -```smarty - {extends file="parent.tpl"} - {block name="title"} - Child Title - {/block} -``` - -The result would look like - -```html - - - The Child Title was inserted here - - -``` - -parent.tpl - -```smarty - - - {block name="title"}Parent Title{/block} - - -``` - - -child.tpl - -```smarty - {extends file="parent.tpl"} - {block name="title"} - You will see now - {$smarty.block.parent} - here - {/block} -``` - -The result would look like - -```html - - - You will see now - Parent Title - here - - -``` - -See also [Template -Inheritance](../../programmers/advanced-features/advanced-features-template-inheritance.md), -[`$smarty.block.parent`](../language-variables/language-variables-smarty.md#smartyblockparent-languagevariablessmartyblockparent), -[`$smarty.block.child`](../language-variables/language-variables-smarty.md#smartyblockchild-languagevariablessmartyblockchild), and -[`{extends}`](./language-function-extends.md) diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-call.md b/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-call.md deleted file mode 100644 index c07fb49..0000000 --- a/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-call.md +++ /dev/null @@ -1,77 +0,0 @@ -# {call} - -`{call}` is used to call a template function defined by the -[`{function}`](./language-function-function.md) tag just like a plugin -function. - -> **Note** -> -> Template functions are defined global. Since the Smarty compiler is a -> single-pass compiler, The `{call}` tag must -> be used to call a template function defined externally from the given -> template. Otherwise you can directly use the function as -> `{funcname ...}` in the template. - -- The `{call}` tag must have the `name` attribute which contains the - name of the template function. - -- Values for variables can be passed to the template function as - [attributes](../language-basic-syntax/language-syntax-attributes.md). - -## Attributes - -| Attribute Name | Required | Description | -|----------------|----------|------------------------------------------------------------------------------------------| -| name | Yes | The name of the template function | -| assign | No | The name of the variable that the output of called template function will be assigned to | -| [var ...] | No | variable to pass local to template function | - -## Option Flags - -| Name | Description | -|---------|--------------------------------------------| -| nocache | Call the template function in nocache mode | - - -## Examples - -```smarty - {* define the function *} - {function name=menu level=0} - - {/function} - - {* create an array to demonstrate *} - {$menu = ['item1','item2','item3' => ['item3-1','item3-2','item3-3' => - ['item3-3-1','item3-3-2']],'item4']} - - {* run the array through the function *} - {call name=menu data=$menu} - {call menu data=$menu} {* short-hand *} -``` - - -Will generate the following output - -``` - * item1 - * item2 - * item3 - o item3-1 - o item3-2 - o item3-3 - + item3-3-1 - + item3-3-2 - * item4 -``` - -See also [`{function}`](./language-function-function.md). diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-capture.md b/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-capture.md deleted file mode 100644 index 657f077..0000000 --- a/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-capture.md +++ /dev/null @@ -1,81 +0,0 @@ -# {capture} - -`{capture}` is used to collect the output of the template between the -tags into a variable instead of displaying it. Any content between -`{capture name='foo'}` and `{/capture}` is collected into the variable -specified in the `name` attribute. - -The captured content can be used in the template from the variable -[`$smarty.capture.foo`](../language-variables/language-variables-smarty.md#smartycapture-languagevariablessmartycapture) where "foo" -is the value passed in the `name` attribute. If you do not supply the -`name` attribute, then "default" will be used as the name ie -`$smarty.capture.default`. - -`{capture}'s` can be nested. - -## Attributes - -| Attribute Name | Required | Description | -|----------------|----------|----------------------------------------------------------------------| -| name | Yes | The name of the captured block | -| assign | No | The variable name where to assign the captured output to | -| append | No | The name of an array variable where to append the captured output to | - -## Option Flags - -| Name | Description | -|---------|-----------------------------------------| -| nocache | Disables caching of this captured block | - -> **Note** -> -> Be careful when capturing [`{insert}`](#language.function.insert) -> output. If you have [`$caching`](#caching) enabled and you have -> [`{insert}`](#language.function.insert) commands that you expect to -> run within cached content, do not capture this content. - -## Examples - -```smarty -{* we don't want to print a div tag unless content is displayed *} -{capture name="banner"} -{capture "banner"} {* short-hand *} - {include file="get_banner.tpl"} -{/capture} - -{if $smarty.capture.banner ne ""} - -{/if} -``` - -This example demonstrates the capture function. -```smarty - -{capture name=some_content assign=popText} -{capture some_content assign=popText} {* short-hand *} -The server is {$my_server_name|upper} at {$my_server_addr}
-Your ip is {$my_ip}. -{/capture} -{$popText} -``` - - -This example also demonstrates how multiple calls of capture can be used -to create an array with captured content. - -```smarty -{capture append="foo"}hello{/capture}I say just {capture append="foo"}world{/capture} -{foreach $foo as $text}{$text} {/foreach} -``` - -The above example will output: - -``` -I say just hello world -``` - - -See also [`$smarty.capture`](../language-variables/language-variables-smarty.md#smartycapture-languagevariablessmartycapture), -[`{eval}`](../language-custom-functions/language-function-eval.md), -[`{fetch}`](../language-custom-functions/language-function-fetch.md), [`fetch()`](../../programmers/api-functions/api-fetch.md) and -[`{assign}`](./language-function-assign.md). diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-config-load.md b/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-config-load.md deleted file mode 100644 index e13c308..0000000 --- a/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-config-load.md +++ /dev/null @@ -1,88 +0,0 @@ -# {config_load} - -`{config_load}` is used for loading config -[`#variables#`](#language.config.variables) from a [configuration file](#config.files) into the template. - -## Attributes - -| Attribute Name | Required | Description | -|----------------|----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| file | Yes | The name of the config file to include | -| section | No | The name of the section to load | -| scope | no | How the scope of the loaded variables are treated, which must be one of local, parent or global. local means variables are loaded into the local template context. parent means variables are loaded into both the local context and the parent template that called it. global means variables are available to all templates. | - - -## Examples - -The `example.conf` file. - -```ini -#this is config file comment - -# global variables -pageTitle = "Main Menu" -bodyBgColor = #000000 -tableBgColor = #000000 -rowBgColor = #00ff00 - -#customer variables section -[Customer] -pageTitle = "Customer Info" -``` - -and the template - -```smarty -{config_load file="example.conf"} -{config_load "example.conf"} {* short-hand *} - - - {#pageTitle#|default:"No title"} - - - - - - - -
FirstLastAddress
- - -``` - -[Config Files](#config.files) may also contain sections. You can load -variables from within a section with the added attribute `section`. Note -that global config variables are always loaded along with section -variables, and same-named section variables overwrite the globals. - -> **Note** -> -> Config file *sections* and the built-in template function called -> [`{section}`](../language-builtin-functions/language-function-section.md) have nothing to do with each -> other, they just happen to share a common naming convention. - -```smarty -{config_load file='example.conf' section='Customer'} -{config_load 'example.conf' 'Customer'} {* short-hand *} - - - {#pageTitle#} - - - - - - - -
FirstLastAddress
- - -``` - -See [`$config_overwrite`](../../programmers/api-variables/variable-config-overwrite.md) to create arrays -of config file variables. - -See also the [config files](../config-files.md) page, [config variables](../language-variables/language-config-variables.md) page, -[`$config_dir`](../../programmers/api-variables/variable-config-dir.md), -[`getConfigVars()`](../../programmers/api-functions/api-get-config-vars.md) and -[`configLoad()`](../../programmers/api-functions/api-config-load.md). diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-debug.md b/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-debug.md deleted file mode 100644 index 29485d5..0000000 --- a/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-debug.md +++ /dev/null @@ -1,17 +0,0 @@ -# {debug} - -`{debug}` dumps the debug console to the page. This works regardless of -the [debug](../chapter-debugging-console.md) settings in the php script. -Since this gets executed at runtime, this is only able to show the -[assigned](../../programmers/api-functions/api-assign.md) variables; not the templates that are in use. -However, you can see all the currently available variables within the -scope of a template. - -If caching is enabled and a page is loaded from cache `{debug}` does -show only the variables which assigned for the cached page. - -In order to see also the variables which have been locally assigned -within the template it does make sense to place the `{debug}` tag at the -end of the template. - -See also the [debugging console page](../chapter-debugging-console.md). diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-extends.md b/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-extends.md deleted file mode 100644 index eba17b9..0000000 --- a/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-extends.md +++ /dev/null @@ -1,37 +0,0 @@ -# {extends} - -`{extends}` tags are used in child templates in template inheritance for -extending parent templates. For details see section of [Template -Inheritance](../../programmers/advanced-features/advanced-features-template-inheritance.md). - -- The `{extends}` tag must be on the first line of the template. - -- If a child template extends a parent template with the `{extends}` - tag it may contain only `{block}` tags. Any other template content - is ignored. - -- Use the syntax for [template resources](../../programmers/resources.md) to extend files - outside the [`$template_dir`](../../programmers/api-variables/variable-template-dir.md) directory. - -## Attributes - -| Attribute | Required | Description | -|-----------|----------|-------------------------------------------------| -| file | Yes | The name of the template file which is extended | - -> **Note** -> -> When extending a variable parent like `{extends file=$parent_file}`, -> make sure you include `$parent_file` in the -> [`$compile_id`](../../programmers/api-variables/variable-compile-id.md). Otherwise, Smarty cannot -> distinguish between different `$parent_file`s. - -## Examples - -```smarty -{extends file='parent.tpl'} -{extends 'parent.tpl'} {* short-hand *} -``` - -See also [Template Inheritance](../../programmers/advanced-features/advanced-features-template-inheritance.md) -and [`{block}`](./language-function-block.md). diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-for.md b/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-for.md deleted file mode 100644 index 619b61e..0000000 --- a/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-for.md +++ /dev/null @@ -1,91 +0,0 @@ -# {for} - -The `{for}{forelse}` tag is used to create simple loops. The following different formats are supported: - -- `{for $var=$start to $end}` simple loop with step size of 1. - -- `{for $var=$start to $end step $step}` loop with individual step - size. - -`{forelse}` is executed when the loop is not iterated. - -## Attributes - -| Attribute | Required | Description | -|-----------|----------|--------------------------------| -| max | No | Limit the number of iterations | - -## Option Flags - -| Name | Description | -|---------|--------------------------------------| -| nocache | Disables caching of the `{for}` loop | - -## Examples - -```smarty - -``` - -The above example will output: - -```html - -``` - -```php -assign('to',10); -``` - -```smarty - -``` - -The above example will output: - -```html - -``` - -```php -assign('start',10); -$smarty->assign('to',5); -``` - -```smarty - -``` - -The above example will output: - -``` - no iteration -``` - -See also [`{foreach}`](./language-function-foreach.md), -[`{section}`](./language-function-section.md) and -[`{while}`](./language-function-while.md) diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-foreach.md b/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-foreach.md deleted file mode 100644 index 645d6c5..0000000 --- a/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-foreach.md +++ /dev/null @@ -1,389 +0,0 @@ -# {foreach},{foreachelse} - -`{foreach}` is used for looping over arrays of data. `{foreach}` has a -simpler and cleaner syntax than the -[`{section}`](./language-function-section.md) loop, and can also loop over -associative arrays. - -## Option Flags - -| Name | Description | -|---------|------------------------------------------| -| nocache | Disables caching of the `{foreach}` loop | - - -## Examples - -```smarty - -{foreach $arrayvar as $itemvar} - {$itemvar|escape} -{/foreach} - -{foreach $arrayvar as $keyvar=>$itemvar} - {$keyvar}: {$itemvar|escape} -{/foreach} - -``` -> **Note** -> -> This foreach syntax does not accept any named attributes. This syntax -> is new to Smarty 3, however the Smarty 2.x syntax -> `{foreach from=$myarray key="mykey" item="myitem"}` is still -> supported. - -- `{foreach}` loops can be nested. - -- The `array` variable, usually an array of values, determines the - number of times `{foreach}` will loop. You can also pass an integer - for arbitrary loops. - -- `{foreachelse}` is executed when there are no values in the `array` - variable. - -- `{foreach}` properties are [`@index`](#index), - [`@iteration`](#iteration), - [`@first`](#first), - [`@last`](#last), - [`@show`](#show), - [`@total`](#total). - -- `{foreach}` constructs are [`{break}`](#break), - [`{continue}`](#continue). - -- Instead of specifying the `key` variable you can access the current - key of the loop item by `{$item@key}` (see examples below). - -> **Note** -> -> The `$var@property` syntax is new to Smarty 3, however when using the -> Smarty 2 `{foreach from=$myarray key="mykey" item="myitem"}` style -> syntax, the `$smarty.foreach.name.property` syntax is still supported. - -> **Note** -> -> Although you can retrieve the array key with the syntax -> `{foreach $myArray as $myKey => $myValue}`, the key is always -> available as `$myValue@key` within the foreach loop. - -```php -assign('myColors', $arr); -``` - -Template to output `$myColors` in an un-ordered list - -```smarty - -``` - -The above example will output: - -```html - -``` - -```php - 'John', 'lname' => 'Doe', 'email' => 'j.doe@example.com'); -$smarty->assign('myPeople', $people); -``` - -Template to output `$myArray` as key/value pairs. - -```smarty - -``` - -The above example will output: - -```html - -``` - -Assign an array to Smarty, the key contains the key for each looped -value. - -```php -assign( - 'contacts', - [ - ['phone' => '555-555-1234', 'fax' => '555-555-5678', 'cell' => '555-555-0357'], - ['phone' => '800-555-4444', 'fax' => '800-555-3333', 'cell' => '800-555-2222'], - ] - ); -``` - -The template to output `$contact`. - -```smarty -{* key always available as a property *} -{foreach $contacts as $contact} - {foreach $contact as $value} - {$value@key}: {$value} - {/foreach} -{/foreach} - -{* accessing key the PHP syntax alternate *} -{foreach $contacts as $contact} - {foreach $contact as $key => $value} - {$key}: {$value} - {/foreach} -{/foreach} -``` - -Either of the above examples will output: - -``` - phone: 555-555-1234 - fax: 555-555-5678 - cell: 555-555-0357 - phone: 800-555-4444 - fax: 800-555-3333 - cell: 800-555-2222 -``` - -A database (PDO) example of looping over search results. This example is -looping over a PHP iterator instead of an array(). - -```php - true)); - - $res = $db->prepare("select * from users"); - $res->execute(); - $res->setFetchMode(PDO::FETCH_LAZY); - - // assign to smarty - $smarty->assign('res',$res); - - $smarty->display('index.tpl');?> -``` - -```smarty -{foreach $res as $r} - {$r.id} - {$r.name} -{foreachelse} - .. no results .. -{/foreach} -``` - -The above is assuming the results contain the columns named `id` and -`name`. - -What is the advantage of an iterator vs. looping over a plain old array? -With an array, all the results are accumulated into memory before being -looped. With an iterator, each result is loaded/released within the -loop. This saves processing time and memory, especially for very large -result sets. - -## @index - -`index` contains the current array index, starting with zero. - -```smarty -{* output empty row on the 4th iteration (when index is 3) *} - - {foreach $items as $i} - {if $i@index eq 3} - {* put empty table row *} - - {/if} - - {/foreach} -
nbsp;
{$i.label}
-``` - - -## @iteration - -`iteration` contains the current loop iteration and always starts at -one, unlike [`index`](#index). It is incremented by one -on each iteration. - -The *"is div by"* operator can be used to detect a specific iteration. -Here we bold-face the name every 4th iteration. - -```smarty -{foreach $myNames as $name} - {if $name@iteration is div by 4} - {$name} - {/if} - {$name} -{/foreach} -``` - -The *"is even by"* and *"is odd by"* operators can be used to -alternate something every so many iterations. Choosing between even or -odd rotates which one starts. Here we switch the font color every 3rd -iteration. - -```smarty - {foreach $myNames as $name} - {if $name@iteration is even by 3} - {$name} - {else} - {$name} - {/if} - {/foreach} -``` - -This will output something similar to this: - -```html -... -... -... -... -... -... -... -... -... -... -... -... -... -``` - -## @first - -`first` is TRUE if the current `{foreach}` iteration is the initial one. -Here we display a table header row on the first iteration. - -```smarty -{* show table header at first iteration *} - - {foreach $items as $i} - {if $i@first} - - - {/if} - - - - - {/foreach} -
key - name -
{$i@key}{$i.name}
-``` - -## @last - -`last` is set to TRUE if the current `{foreach}` iteration is the final -one. Here we display a horizontal rule on the last iteration. - -```smarty -{* Add horizontal rule at end of list *} -{foreach $items as $item} - {$item.name}{if $item@last}
{else},{/if} -{foreachelse} - ... no items to loop ... -{/foreach} -``` - -## @show - -The show `show` property can be used after the execution of a -`{foreach}` loop to detect if data has been displayed or not. `show` is -a boolean value. - -```smarty - -{if $name@show} do something here if the array contained data {/if} -``` - -## @total - -`total` contains the number of iterations that this `{foreach}` will -loop. This can be used inside or after the `{foreach}`. - -```smarty -{* show number of rows at end *} -{foreach $items as $item} - {$item.name}
- {if $item@last} -
{$item@total} items
- {/if} -{foreachelse} - ... no items to loop ... -{/foreach} -``` - -See also [`{section}`](./language-function-section.md), -[`{for}`](./language-function-for.md) and -[`{while}`](./language-function-while.md) - -## {break} - -`{break}` aborts the iteration of the array - -```smarty - {$data = [1,2,3,4,5]} - {foreach $data as $value} - {if $value == 3} - {* abort iterating the array *} - {break} - {/if} - {$value} - {/foreach} - {* - prints: 1 2 - *} -``` - -## {continue} - -`{continue}` leaves the current iteration and begins with the next -iteration. - -```smarty - {$data = [1,2,3,4,5]} - {foreach $data as $value} - {if $value == 3} - {* skip this iteration *} - {continue} - {/if} - {$value} - {/foreach} - {* - prints: 1 2 4 5 - *} -``` diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-function.md b/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-function.md deleted file mode 100644 index cee6762..0000000 --- a/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-function.md +++ /dev/null @@ -1,89 +0,0 @@ -# {function} - -`{function}` is used to create functions within a template and call them -just like a plugin function. Instead of writing a plugin that generates -presentational content, keeping it in the template is often a more -manageable choice. It also simplifies data traversal, such as deeply -nested menus. - -> **Note** -> -> Template functions are defined global. Since the Smarty compiler is a -> single-pass compiler, The [`{call}`](#language.function.call) tag must -> be used to call a template function defined externally from the given -> template. Otherwise, you can directly use the function as -> `{funcname ...}` in the template. - -## Attributes - -| Attribute Name | Required | Description | -|----------------|----------|---------------------------------------------------------------| -| name | Yes | The name of the template function | -| \[var \...\] | No | default variable value to pass local to the template function | - -- The `{function}` tag must have the `name` attribute which contains - the name of the template function. A tag with this name can be - used to call the template function. - -- Default values for variables can be passed to the template function - as [attributes](../language-basic-syntax/language-syntax-attributes.md). Like in PHP function - declarations you can only use scalar values as default. The default - values can be overwritten when the template function is being - called. - -- You can use all variables from the calling template inside the - template function. Changes to variables or new created variables - inside the template function have local scope and are not visible - inside the calling template after the template function is executed. - - - -> **Note** -> -> You can pass any number of parameter to the template function when it -> is called. The parameter variables must not be declared in the -> `{funcname ...}` tag unless you what to use default values. Default -> values must be scalar and can not be variable. Variables must be -> passed when the template is called. - -## Examples - -```smarty -{* define the function *} -{function name=menu level=0} -{function menu level=0} {* short-hand *} - -{/function} - -{* create an array to demonstrate *} -{$menu = ['item1','item2','item3' => ['item3-1','item3-2','item3-3' => -['item3-3-1','item3-3-2']],'item4']} - -{* run the array through the function *} -{menu data=$menu} -``` - -Will generate the following output - -``` -* item1 -* item2 -* item3 - o item3-1 - o item3-2 - o item3-3 - + item3-3-1 - + item3-3-2 -* item4 -``` - -See also [`{call}`](./language-function-call.md) diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-if.md b/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-if.md deleted file mode 100644 index c7be37a..0000000 --- a/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-if.md +++ /dev/null @@ -1,120 +0,0 @@ -# {if},{elseif},{else} - -`{if}` statements in Smarty have much the same flexibility as PHP -[if](https://www.php.net/if) statements, with a few added features for the -template engine. Every `{if}` must be paired with a matching `{/if}`. -`{else}` and `{elseif}` are also permitted. All PHP conditionals and -functions are recognized, such as *\|\|*, *or*, *&&*, *and*, -*is_array()*, etc. - -If security is enabled, only PHP functions from `$php_functions` property -of the security policy are allowed. See the -[Security](../../programmers/advanced-features/advanced-features-security.md) section for details. - -The following is a list of recognized qualifiers, which must be -separated from surrounding elements by spaces. Note that items listed in -\[brackets\] are optional. PHP equivalents are shown where applicable. - -## Qualifiers - -| Qualifier | Alternates | Syntax Example | Meaning | PHP Equivalent | -|--------------------|------------|----------------------|--------------------------------|--------------------| -| == | eq | $a eq $b | equals | == | -| != | ne, neq | $a neq $b | not equals | != | -| > | gt | $a gt $b | greater than | > | -| < | lt | $a lt $b | less than | < | -| >= | gte, ge | $a ge $b | greater than or equal | >= | -| <= | lte, le | $a le $b | less than or equal | <= | -| === | | $a === 0 | check for identity | === | -| ! | not | not $a | negation (unary) | ! | -| % | mod | $a mod $b | modulo | % | -| is \[not\] div by | | $a is not div by 4 | divisible by | $a % $b == 0 | -| is \[not\] even | | $a is not even | \[not\] an even number (unary) | $a % 2 == 0 | -| is \[not\] even by | | $a is not even by $b | grouping level \[not\] even | ($a / $b) % 2 == 0 | -| is \[not\] odd | | $a is not odd | \[not\] an odd number (unary) | $a % 2 != 0 | -| is \[not\] odd by | | $a is not odd by $b | \[not\] an odd grouping | ($a / $b) % 2 != 0 | - -## Examples -```smarty -{if $name eq 'Fred'} - Welcome Sir. -{elseif $name eq 'Wilma'} - Welcome Ma'am. -{else} - Welcome, whatever you are. -{/if} - -{* an example with "or" logic *} -{if $name eq 'Fred' or $name eq 'Wilma'} - ... -{/if} - -{* same as above *} -{if $name == 'Fred' || $name == 'Wilma'} - ... -{/if} - - -{* parenthesis are allowed *} -{if ( $amount < 0 or $amount > 1000 ) and $volume >= #minVolAmt#} - ... -{/if} - - -{* you can also embed php function calls *} -{if count($var) gt 0} - ... -{/if} - -{* check for array. *} -{if is_array($foo) } - ..... -{/if} - -{* check for not null. *} -{if isset($foo) } - ..... -{/if} - - -{* test if values are even or odd *} -{if $var is even} - ... -{/if} -{if $var is odd} - ... -{/if} -{if $var is not odd} - ... -{/if} - - -{* test if var is divisible by 4 *} -{if $var is div by 4} - ... -{/if} - - -{* - test if var is even, grouped by two. i.e., - 0=even, 1=even, 2=odd, 3=odd, 4=even, 5=even, etc. -*} -{if $var is even by 2} - ... -{/if} - -{* 0=even, 1=even, 2=even, 3=odd, 4=odd, 5=odd, etc. *} -{if $var is even by 3} - ... -{/if} - -{if isset($name) && $name == 'Blog'} - {* do something *} -{elseif $name == $foo} - {* do something *} -{/if} - -{if is_array($foo) && count($foo) > 0} - {* do a foreach loop *} -{/if} -``` diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-include.md b/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-include.md deleted file mode 100644 index d12a817..0000000 --- a/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-include.md +++ /dev/null @@ -1,187 +0,0 @@ -# {include} - -`{include}` tags are used for including other templates in the current -template. Any variables available in the current template are also -available within the included template. - -## Attributes - -| Attribute Name | Required | Description | -|----------------|----------|--------------------------------------------------------------------------------------------| -| file | Yes | The name of the template file to include | -| assign | No | The name of the variable that the output of include will be assigned to | -| cache_lifetime | No | Enable caching of this subtemplate with an individual cache lifetime | -| compile_id | No | Compile this subtemplate with an individual compile_id | -| cache_id | No | Enable caching of this subtemplate with an individual cache_id | -| scope | No | Define the scope of all in the subtemplate assigned variables: 'parent','root' or 'global' | -| \[var \...\] | No | variable to pass local to template | - - -- The `{include}` tag must have the `file` attribute which contains - the template resource path. - -- Setting the optional `assign` attribute specifies the template - variable that the output of `{include}` is assigned to, instead of - being displayed. Similar to [`{assign}`](./language-function-assign.md). - -- Variables can be passed to included templates as - [attributes](../language-basic-syntax/language-syntax-attributes.md). Any variables explicitly - passed to an included template are only available within the scope - of the included file. Attribute variables override current template - variables, in the case when they are named the same. - -- You can use all variables from the including template inside the - included template. But changes to variables or new created variables - inside the included template have local scope and are not visible - inside the including template after the `{include}` statement. This - default behaviour can be changed for all variables assigned in the - included template by using the scope attribute at the `{include}` - statement or for individual variables by using the scope attribute - at the [`{assign}`](./language-function-assign.md) statement. The later - is useful to return values from the included template to the - including template. - -- Use the syntax for [template resources](../../programmers/resources.md) to `{include}` - files outside of the [`$template_dir`](../../programmers/api-variables/variable-template-dir.md) - directory. - -## Option Flags - -| Name | Description | -|---------|--------------------------------------------------------------------------------------| -| nocache | Disables caching of this subtemplate | -| caching | Enable caching of this subtemplate | -| inline | If set, merge the compile-code of the subtemplate into the compiled calling template | - -## Examples -```smarty - - - {$title} - - - {include file='page_header.tpl'} - - {* body of template goes here, the $tpl_name variable - is replaced with a value eg 'contact.tpl' - *} - {include file="$tpl_name.tpl"} - - {* using shortform file attribute *} - {include 'page_footer.tpl'} - - -``` - -```smarty - -{include 'links.tpl' title='Newest links' links=$link_array} -{* body of template goes here *} -{include 'footer.tpl' foo='bar'} - -``` - -The template above includes the example `links.tpl` below - -```smarty -
-

{$title}{/h3> -
    - {foreach from=$links item=l} - .. do stuff ... - -

-``` -Variables assigned in the included template will be seen in the -including template. - -```smarty -{include 'sub_template.tpl' scope=parent} -... -{* display variables assigned in sub_template *} -{$foo}
-{$bar}
-... -``` - -The template above includes the example `sub_template.tpl` below - -```smarty -... -{assign var=foo value='something'} -{assign var=bar value='value'} -... -``` - -The included template will not be cached. - -```smarty -{include 'sub_template.tpl' nocache} -... -``` - -In this example included template will be cached with an individual -cache lifetime of 500 seconds. - -```smarty -{include 'sub_template.tpl' cache_lifetime=500} -... -``` - -In this example included template will be cached independent of the -global caching setting. - -```smarty -{include 'sub_template.tpl' caching} -... -``` - -This example assigns the contents of `nav.tpl` to the `$navbar` -variable, which is then output at both the top and bottom of the page. - -```smarty - - {include 'nav.tpl' assign=navbar} - {include 'header.tpl' title='Smarty is cool'} - {$navbar} - {* body of template goes here *} - {$navbar} - {include 'footer.tpl'} - -``` - -This example includes another template relative to the directory of the -current template. - -```smarty -{include 'template-in-a-template_dir-directory.tpl'} -{include './template-in-same-directory.tpl'} -{include '../template-in-parent-directory.tpl'} -``` - -```smarty -{* absolute filepath *} -{include file='/usr/local/include/templates/header.tpl'} - -{* absolute filepath (same thing) *} -{include file='file:/usr/local/include/templates/header.tpl'} - -{* windows absolute filepath (MUST use "file:" prefix) *} -{include file='file:C:/www/pub/templates/header.tpl'} - -{* include from template resource named "db" *} -{include file='db:header.tpl'} - -{* include a $variable template - eg $module = 'contacts' *} -{include file="$module.tpl"} - -{* wont work as its single quotes ie no variable substitution *} -{include file='$module.tpl'} - -{* include a multi $variable template - eg amber/links.view.tpl *} -{include file="$style_dir/$module.$view.tpl"} -``` - -See also [`{insert}`](./language-function-insert.md), [template resources](../../programmers/resources.md) and -[componentized templates](../../appendixes/tips.md#componentized-templates). diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-insert.md b/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-insert.md deleted file mode 100644 index 54f0729..0000000 --- a/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-insert.md +++ /dev/null @@ -1,86 +0,0 @@ -# {insert} - -> **Note** -> -> `{insert}` tags are deprecated from Smarty, and should not be used. -> Put your PHP logic in PHP scripts or plugin functions instead. -> As of Smarty 3.1 the `{insert}` tags are only available from -> [SmartyBC](#bc). - -`{insert}` tags work much like [`{include}`](./language-function-include.md) -tags, except that `{insert}` tags are NOT cached when template -[caching](../../programmers/caching.md) is enabled. They will be executed on every -invocation of the template. - -| Attribute Name | Required | Description | -|----------------|----------|----------------------------------------------------------------------------------| -| name | Yes | The name of the insert function (insert_`name`) or insert plugin | -| assign | No | The name of the template variable the output will be assigned to | -| script | No | The name of the php script that is included before the insert function is called | -| \[var \...\] | No | variable to pass to insert function | - -## Examples - -Let's say you have a template with a banner slot at the top of the -page. The banner can contain any mixture of HTML, images, flash, etc. so -we can't just use a static link here, and we don't want this contents -cached with the page. In comes the {insert} tag: the template knows -\#banner\_location\_id\# and \#site\_id\# values (gathered from a -[config file](../config-files.md)), and needs to call a function to get the -banner contents. - -```smarty - {* example of fetching a banner *} - {insert name="getBanner" lid=#banner_location_id# sid=#site_id#} - {insert "getBanner" lid=#banner_location_id# sid=#site_id#} {* short-hand *} -``` - -In this example, we are using the name "getBanner" and passing the -parameters \#banner\_location\_id\# and \#site\_id\#. Smarty will look -for a function named insert\_getBanner() in your PHP application, -passing the values of \#banner\_location\_id\# and \#site\_id\# as the -first argument in an associative array. All {insert} function names in -your application must be prepended with "insert_" to remedy possible -function name-space conflicts. Your insert\_getBanner() function should -do something with the passed values and return the results. These -results are then displayed in the template in place of the {insert} tag. -In this example, Smarty would call this function: -insert_getBanner(array("lid" => "12345","sid" => "67890")); -and display the returned results in place of the {insert} tag. - -- If you supply the `assign` attribute, the output of the `{insert}` - tag will be assigned to this template variable instead of being - output to the template. - - > **Note** - > - > Assigning the output to a template variable isn't too useful with - > [caching](../../programmers/api-variables/variable-caching.md) enabled. - -- If you supply the `script` attribute, this php script will be - included (only once) before the `{insert}` function is executed. - This is the case where the insert function may not exist yet, and a - php script must be included first to make it work. - - The path can be either absolute, or relative to - [`$trusted_dir`](../../programmers/api-variables/variable-trusted-dir.md). If security is enabled, - then the script must be located in the `$trusted_dir` path of the - security policy. See the [Security](../../programmers/advanced-features/advanced-features-security.md) - section for details. - -The Smarty object is passed as the second argument. This way you can -reference and modify information in the Smarty object from within the -`{insert}` function. - -If no PHP script can be found Smarty is looking for a corresponding -insert plugin. - -> **Note** -> -> It is possible to have portions of the template not cached. If you -> have [caching](../../programmers/api-variables/variable-caching.md) turned on, `{insert}` tags will not be -> cached. They will run dynamically every time the page is created, even -> within cached pages. This works good for things like banners, polls, -> live weather, search results, user feedback areas, etc. - -See also [`{include}`](./language-function-include.md) diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-ldelim.md b/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-ldelim.md deleted file mode 100644 index c9f73c3..0000000 --- a/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-ldelim.md +++ /dev/null @@ -1,51 +0,0 @@ -# {ldelim}, {rdelim} - -`{ldelim}` and `{rdelim}` are used for [escaping](../language-basic-syntax/language-escaping.md) -template delimiters, by default **{** and **}**. You can also use -[`{literal}{/literal}`](./language-function-literal.md) to escape blocks of -text eg Javascript or CSS. See also the complementary -[`{$smarty.ldelim}`](../../programmers/api-variables/variable-left-delimiter.md). - -```smarty -{* this will print literal delimiters out of the template *} - -{ldelim}funcname{rdelim} is how functions look in Smarty! -``` - -The above example will output: - -``` -{funcname} is how functions look in Smarty! -``` - -Another example with some Javascript - -```smarty - -``` - -will output - -```html - -``` - -```smarty - -Click here for Server Info -``` - -See also [`{literal}`](./language-function-literal.md) and [escaping Smarty -parsing](../language-basic-syntax/language-escaping.md). diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-literal.md b/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-literal.md deleted file mode 100644 index 4bc12f9..0000000 --- a/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-literal.md +++ /dev/null @@ -1,34 +0,0 @@ -# {literal} - -`{literal}` tags allow a block of data to be taken literally. This is -typically used around Javascript or stylesheet blocks where {curly -braces} would interfere with the template -[delimiter](../../programmers/api-variables/variable-left-delimiter.md) syntax. Anything within -`{literal}{/literal}` tags is not interpreted, but displayed as-is. If -you need template tags embedded in a `{literal}` block, consider using -[`{ldelim}{rdelim}`](./language-function-ldelim.md) to escape the individual -delimiters instead. - -> **Note** -> -> `{literal}{/literal}` tags are normally not necessary, as Smarty -> ignores delimiters that are surrounded by whitespace. Be sure your -> javascript and CSS curly braces are surrounded by whitespace. This is -> new behavior to Smarty 3. - -```smarty - -``` - -See also [`{ldelim} {rdelim}`](./language-function-ldelim.md) and the -[escaping Smarty parsing](../language-basic-syntax/language-escaping.md) page. diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-nocache.md b/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-nocache.md deleted file mode 100644 index e6d8453..0000000 --- a/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-nocache.md +++ /dev/null @@ -1,20 +0,0 @@ -# {nocache} - -`{nocache}` is used to disable caching of a template section. Every -`{nocache}` must be paired with a matching `{/nocache}`. - -> **Note** -> -> Be sure any variables used within a non-cached section are also -> assigned from PHP when the page is loaded from the cache. - -```smarty -Today's date is -{nocache} -{$smarty.now|date_format} -{/nocache} -``` - -The above code will output the current date on a cached page. - -See also the [caching section](../../programmers/caching.md). diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-section.md b/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-section.md deleted file mode 100644 index ba17224..0000000 --- a/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-section.md +++ /dev/null @@ -1,610 +0,0 @@ -# {section}, {sectionelse} - -A `{section}` is for looping over **sequentially indexed arrays of -data**, unlike [`{foreach}`](./language-function-foreach.md) which is used -to loop over a **single associative array**. Every `{section}` tag must -be paired with a closing `{/section}` tag. - -> **Note** -> -> The [`{foreach}`](./language-function-foreach.md) loop can do everything a -> {section} loop can do, and has a simpler and easier syntax. It is -> usually preferred over the {section} loop. - -> **Note** -> -> {section} loops cannot loop over associative arrays, they must be -> numerically indexed, and sequential (0,1,2,\...). For associative -> arrays, use the [`{foreach}`](./language-function-foreach.md) loop. - - -## Attributes - -| Attribute Name | Required | Description | -|----------------|----------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| name | Yes | The name of the section | -| loop | Yes | Value to determine the number of loop iterations | -| start | No | The index position that the section will begin looping. If the value is negative, the start position is calculated from the end of the array. For example, if there are seven values in the loop array and start is -2, the start index is 5. Invalid values (values outside of the length of the loop array) are automatically truncated to the closest valid value. Defaults to 0. | -| step | No | The step value that will be used to traverse the loop array. For example, step=2 will loop on index 0, 2, 4, etc. If step is negative, it will step through the array backwards. Defaults to 1. | -| max | No | Sets the maximum number of times the section will loop. | -| show | No | Determines whether to show this section (defaults to true) | - -## Option Flags - -| Name | Description | -|---------|------------------------------------------| -| nocache | Disables caching of the `{section}` loop | - -- Required attributes are `name` and `loop`. - -- The `name` of the `{section}` can be anything you like, made up of - letters, numbers and underscores, like [PHP - variables](https://www.php.net/language.variables). - -- {section}'s can be nested, and the nested `{section}` names must be - unique from each other. - -- The `loop` attribute, usually an array of values, determines the - number of times the `{section}` will loop. You can also pass an - integer as the loop value. - -- When printing a variable within a `{section}`, the `{section}` - `name` must be given next to variable name within \[brackets\]. - -- `{sectionelse}` is executed when there are no values in the loop - variable. - -- A `{section}` also has its own variables that handle `{section}` - properties. These properties are accessible as: - [`{$smarty.section.name.property}`](../language-variables/language-variables-smarty.md#smartysection-languagevariablessmartyloops) - where "name" is the attribute `name`. - -- `{section}` properties are [`index`](#index), - [`index_prev`](#index_prev), - [`index_next`](#index_next), - [`iteration`](#iteration), - [`first`](#first), - [`last`](#last), - [`rownum`](#rownum), - [`loop`](#loop), [`show`](#show), - [`total`](#total). - -[`assign()`](../../programmers/api-functions/api-assign.md) an array to Smarty - -## Examples - -```php -assign('custid', $data); -``` - -The template that outputs the array - -```smarty -{* this example will print out all the values of the $custid array *} -{section name=customer loop=$custid} -{section customer $custid} {* short-hand *} - id: {$custid[customer]}
-{/section} -
-{* print out all the values of the $custid array reversed *} -{section name=foo loop=$custid step=-1} -{section foo $custid step=-1} {* short-hand *} - {$custid[foo]}
-{/section} -``` - -The above example will output: - -```html -id: 1000
-id: 1001
-id: 1002
-
-id: 1002
-id: 1001
-id: 1000
-``` - -```smarty -{section name=foo start=10 loop=20 step=2} - {$smarty.section.foo.index} -{/section} -
-{section name=bar loop=21 max=6 step=-2} - {$smarty.section.bar.index} -{/section} -``` - -The above example will output: - -```html -10 12 14 16 18 -
-20 18 16 14 12 10 -``` - -The `name` of the `{section}` can be anything you like, see [PHP -variables](https://www.php.net/language.variables). It is used to reference -the data within the `{section}`. - -```smarty -{section name=anything loop=$myArray} - {$myArray[anything].foo} - {$name[anything]} - {$address[anything].bar} -{/section} -``` - -This is an example of printing an associative array of data with a -`{section}`. Following is the php script to assign the `$contacts` array -to Smarty. - -```php - 'John Smith', 'home' => '555-555-5555', - 'cell' => '666-555-5555', 'email' => 'john@myexample.com'], - ['name' => 'Jack Jones', 'home' => '777-555-5555', - 'cell' => '888-555-5555', 'email' => 'jack@myexample.com'], - ['name' => 'Jane Munson', 'home' => '000-555-5555', - 'cell' => '123456', 'email' => 'jane@myexample.com'] -]; -$smarty->assign('contacts',$data); -``` - -The template to output `$contacts` - -```smarty -{section name=customer loop=$contacts} -

- name: {$contacts[customer].name}
- home: {$contacts[customer].home}
- cell: {$contacts[customer].cell}
- e-mail: {$contacts[customer].email} -

-{/section} -``` - -The above example will output: - -```html -

- name: John Smith
- home: 555-555-5555
- cell: 666-555-5555
- e-mail: john@myexample.com -

-

- name: Jack Jones
- home phone: 777-555-5555
- cell phone: 888-555-5555
- e-mail: jack@myexample.com -

-

- name: Jane Munson
- home phone: 000-555-5555
- cell phone: 123456
- e-mail: jane@myexample.com -

-``` - -This example assumes that `$custid`, `$name` and `$address` are all -arrays containing the same number of values. First the php script that -assign's the arrays to Smarty. - -```php -assign('custid',$id); - -$fullnames = ['John Smith','Jack Jones','Jane Munson']; -$smarty->assign('name',$fullnames); - -$addr = ['253 Abbey road', '417 Mulberry ln', '5605 apple st']; -$smarty->assign('address',$addr); -``` - -The `loop` variable only determines the number of times to loop. You can -access ANY variable from the template within the `{section}`. This is -useful for looping multiple arrays. You can pass an array which will -determine the loop count by the array size, or you can pass an integer -to specify the number of loops. - -```smarty -{section name=customer loop=$custid} -

- id: {$custid[customer]}
- name: {$name[customer]}
- address: {$address[customer]} -

-{/section} -``` - -The above example will output: - -```html -

- id: 1000
- name: John Smith
- address: 253 Abbey road -

-

- id: 1001
- name: Jack Jones
- address: 417 Mulberry ln -

-

- id: 1002
- name: Jane Munson
- address: 5605 apple st -

-``` - -{section}'s can be nested as deep as you like. With nested -{section}'s, you can access complex data structures, such as -multidimensional arrays. This is an example `.php` script that -assigns the arrays. - -```php -assign('custid',$id); - -$fullnames = ['John Smith','Jack Jones','Jane Munson']; -$smarty->assign('name',$fullnames); - -$addr = ['253 N 45th', '417 Mulberry ln', '5605 apple st']; -$smarty->assign('address',$addr); - -$types = [ - [ 'home phone', 'cell phone', 'e-mail'], - [ 'home phone', 'web'], - [ 'cell phone'] - ]; -$smarty->assign('contact_type', $types); - -$info = [ - ['555-555-5555', '666-555-5555', 'john@myexample.com'], - [ '123-456-4', 'www.example.com'], - [ '0457878'] - ]; -$smarty->assign('contact_info', $info); -``` - -In this template, *$contact_type\[customer\]* is an array of contact -types for the current customer. - -```smarty -{section name=customer loop=$custid} -
- id: {$custid[customer]}
- name: {$name[customer]}
- address: {$address[customer]}
- {section name=contact loop=$contact_type[customer]} - {$contact_type[customer][contact]}: {$contact_info[customer][contact]}
- {/section} -{/section} -``` - -The above example will output: - -```html -
- id: 1000
- name: John Smith
- address: 253 N 45th
- home phone: 555-555-5555
- cell phone: 666-555-5555
- e-mail: john@myexample.com
-
- id: 1001
- name: Jack Jones
- address: 417 Mulberry ln
- home phone: 123-456-4
- web: www.example.com
-
- id: 1002
- name: Jane Munson
- address: 5605 apple st
- cell phone: 0457878
-``` - -Results of a database search (eg ADODB or PEAR) are assigned to Smarty - -```php -assign('contacts', $db->getAll($sql)); -``` - -The template to output the database result in a HTML table - -```smarty - - - {section name=co loop=$contacts} - - - - - - - - {sectionelse} - - {/section} -
 Name>HomeCellEmail
view{$contacts[co].name}{$contacts[co].home}{$contacts[co].cell}{$contacts[co].email}
No items found
-``` - -## .index -`index` contains the current array index, starting with zero or the -`start` attribute if given. It increments by one or by the `step` -attribute if given. - -> **Note** -> -> If the `step` and `start` properties are not modified, then this works -> the same as the [`iteration`](#iteration) property, -> except it starts at zero instead of one. - -> **Note** -> -> `$custid[customer.index]` and `$custid[customer]` are identical. - -```smarty -{section name=customer loop=$custid} - {$smarty.section.customer.index} id: {$custid[customer]}
-{/section} -``` - -The above example will output: - -```html -0 id: 1000
-1 id: 1001
-2 id: 1002
-``` - - -## .index_prev - -`index_prev` is the previous loop index. On the first loop, this is set to -1. - -## .index_next - -`index_next` is the next loop index. On the last loop, this is still one -more than the current index, respecting the setting of the `step` -attribute, if given. - -```php -assign('rows',$data); -``` - -Template to output the above array in a table - -```smarty -{* $rows[row.index] and $rows[row] are identical in meaning *} - - - - - - -{section name=row loop=$rows} - - - - - -{/section} -
indexidindex_prevprev_idindex_nextnext_id
{$smarty.section.row.index}{$rows[row]}{$smarty.section.row.index_prev}{$rows[row.index_prev]}{$smarty.section.row.index_next}{$rows[row.index_next]}
-``` - -The above example will output a table containing the following: - -``` - index id index_prev prev_id index_next next_id - 0 1001 -1 1 1002 - 1 1002 0 1001 2 1003 - 2 1003 1 1002 3 1004 - 3 1004 2 1003 4 1005 - 4 1005 3 1004 5 -``` - -## .iteration - -`iteration` contains the current loop iteration and starts at one. - -> **Note** -> -> This is not affected by the `{section}` properties `start`, `step` and -> `max`, unlike the [`index`](#index) property. -> `iteration` also starts with one instead of zero unlike `index`. -> [`rownum`](#rownum) is an alias to `iteration`, they -> are identical. - -```php -assign('arr', $id); -``` - -Template to output every other element of the `$arr` array as `step=2` - -```smarty -{section name=cu loop=$arr start=5 step=2} - iteration={$smarty.section.cu.iteration} - index={$smarty.section.cu.index} - id={$custid[cu]}
-{/section} -``` - -The above example will output: - -```html -iteration=1 index=5 id=3005
-iteration=2 index=7 id=3007
-iteration=3 index=9 id=3009
-iteration=4 index=11 id=3011
-iteration=5 index=13 id=3013
-iteration=6 index=15 id=3015
-``` - -Another example that uses the `iteration` property to output a table -header block every five rows. - -```smarty - - {section name=co loop=$contacts} - {if $smarty.section.co.iteration is div by 5} - - {/if} - - - - - - - - {/section} -
 Name>HomeCellEmail
view{$contacts[co].name}{$contacts[co].home}{$contacts[co].cell}{$contacts[co].email}
-``` - -An example that uses the `iteration` property to alternate a text color every -third row. - -```smarty - - {section name=co loop=$contacts} - {if $smarty.section.co.iteration is even by 3} - {$contacts[co].name} - {else} - {$contacts[co].name} - {/if} - {/section} -
-``` - -> **Note** -> -> The *"is div by"* syntax is a simpler alternative to the PHP mod -> operator syntax. The mod operator is allowed: -> `{if $smarty.section.co.iteration % 5 == 1}` will work just the same. - -> **Note** -> -> You can also use *"is odd by"* to reverse the alternating. - -## .first - -`first` is set to TRUE if the current `{section}` iteration is the initial one. - -## .last - -`last` is set to TRUE if the current section iteration is the final one. - -This example loops the `$customers` array, outputs a header block on the -first iteration and on the last outputs the footer block. Also uses the -[`total`](#total) property. - -```smarty -{section name=customer loop=$customers} - {if $smarty.section.customer.first} - - - {/if} - - - - - - - {if $smarty.section.customer.last} - -
idcustomer
{$customers[customer].id}}{$customers[customer].name}
{$smarty.section.customer.total} customers
- {/if} -{/section} -``` - -## .rownum - -`rownum` contains the current loop iteration, starting with one. It is -an alias to [`iteration`](#iteration), they work -identically. - -## .loop - -`loop` contains the last index number that this {section} looped. This -can be used inside or after the `{section}`. - -```smarty -{section name=customer loop=$custid} - {$smarty.section.customer.index} id: {$custid[customer]}
-{/section} -There are {$smarty.section.customer.loop} customers shown above. -``` - -The above example will output: - -```html -0 id: 1000
-1 id: 1001
-2 id: 1002
-There are 3 customers shown above. -``` - -## .show - -`show` is used as a parameter to section and is a boolean value. If -FALSE, the section will not be displayed. If there is a `{sectionelse}` -present, that will be alternately displayed. - -Boolean `$show_customer_info` has been passed from the PHP application, -to regulate whether this section shows. - -```smarty -{section name=customer loop=$customers show=$show_customer_info} - {$smarty.section.customer.rownum} id: {$customers[customer]}
-{/section} - -{if $smarty.section.customer.show} - the section was shown. -{else} - the section was not shown. -{/if} -``` - -The above example will output: - -```html -1 id: 1000
-2 id: 1001
-3 id: 1002
- -the section was shown. -``` - - -## .total - -`total` contains the number of iterations that this `{section}` will -loop. This can be used inside or after a `{section}`. - -```smarty -{section name=customer loop=$custid step=2} - {$smarty.section.customer.index} id: {$custid[customer]}
-{/section} - There are {$smarty.section.customer.total} customers shown above. -``` - -See also [`{foreach}`](./language-function-foreach.md), -[`{for}`](./language-function-for.md), [`{while}`](./language-function-while.md) -and [`$smarty.section`](../language-variables/language-variables-smarty.md#smartysection-languagevariablessmartyloops). diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-setfilter.md b/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-setfilter.md deleted file mode 100644 index eb11cbf..0000000 --- a/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-setfilter.md +++ /dev/null @@ -1,43 +0,0 @@ -# {setfilter} - -The `{setfilter}...{/setfilter}` block tag allows the definition of -template instance's variable filters. - -SYNTAX: `{setfilter filter1\|filter2\|filter3\....}\...{/setfilter}` - -The filter can be: - -- A variable filter plugin specified by it's name. - -- A modifier specified by it's name and optional additional - parameter. - -`{setfilter}...{/setfilter}` blocks can be nested. The filter definition -of inner blocks does replace the definition of the outer block. - -Template instance filters run in addition to other modifiers and -filters. They run in the following order: modifier, default_modifier, -$escape_html, registered variable filters, autoloaded variable -filters, template instance's variable filters. Everything after -default_modifier can be disabled with the `nofilter` flag. - -> **Note** -> -> The setting of template instance filters does not affect the output of -> included subtemplates. - -## Examples - -```smarty - -``` - diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-strip.md b/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-strip.md deleted file mode 100644 index 800de84..0000000 --- a/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-strip.md +++ /dev/null @@ -1,45 +0,0 @@ -# {strip} - -Many times web designers run into the issue where white space and -carriage returns affect the output of the rendered HTML (browser -"features"), so you must run all your tags together in the template to -get the desired results. This usually ends up in unreadable or -unmanageable templates. - -Anything within `{strip}{/strip}` tags are stripped of the extra spaces -or carriage returns at the beginnings and ends of the lines before they -are displayed. This way you can keep your templates readable, and not -worry about extra white space causing problems. - -> **Note** -> -> `{strip}{/strip}` does not affect the contents of template variables, -> see the [strip modifier](../language-modifiers/language-modifier-strip.md) instead. - -```smarty -{* the following will be all run into one line upon output *} -{strip} - - - - -
- - This is a test - -
-{/strip} -``` - -The above example will output: - -```html -
This is a test
-``` - -Notice that in the above example, all the lines begin and end with HTML -tags. Be aware that all the lines are run together. If you have plain -text at the beginning or end of any line, they will be run together, and -may not be desired results. - -See also the [`strip`](../language-modifiers/language-modifier-strip.md) modifier. diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-while.md b/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-while.md deleted file mode 100644 index 13eaef9..0000000 --- a/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-while.md +++ /dev/null @@ -1,43 +0,0 @@ -# {while} - -`{while}` loops in Smarty have much the same flexibility as PHP -[while](https://www.php.net/while) statements, with a few added features for -the template engine. Every `{while}` must be paired with a matching -`{/while}`. All PHP conditionals and functions are recognized, such as -*\|\|*, *or*, *&&*, *and*, *is_array()*, etc. - -The following is a list of recognized qualifiers, which must be -separated from surrounding elements by spaces. Note that items listed in -\[brackets\] are optional. PHP equivalents are shown where applicable. - -## Qualifiers - -| Qualifier | Alternates | Syntax Example | Meaning | PHP Equivalent | -|--------------------|------------|----------------------|--------------------------------|--------------------| -| == | eq | $a eq $b | equals | == | -| != | ne, neq | $a neq $b | not equals | != | -| > | gt | $a gt $b | greater than | > | -| < | lt | $a lt $b | less than | < | -| >= | gte, ge | $a ge $b | greater than or equal | >= | -| <= | lte, le | $a le $b | less than or equal | <= | -| === | | $a === 0 | check for identity | === | -| ! | not | not $a | negation (unary) | ! | -| % | mod | $a mod $b | modulo | % | -| is \[not\] div by | | $a is not div by 4 | divisible by | $a % $b == 0 | -| is \[not\] even | | $a is not even | \[not\] an even number (unary) | $a % 2 == 0 | -| is \[not\] even by | | $a is not even by $b | grouping level \[not\] even | ($a / $b) % 2 == 0 | -| is \[not\] odd | | $a is not odd | \[not\] an odd number (unary) | $a % 2 != 0 | -| is \[not\] odd by | | $a is not odd by $b | \[not\] an odd grouping | ($a / $b) % 2 != 0 | - -## Examples -```smarty -{while $foo > 0} - {$foo--} -{/while} -``` - -The above example will count down the value of $foo until 1 is reached. - -See also [`{foreach}`](./language-function-foreach.md), -[`{for}`](./language-function-for.md) and -[`{section}`](./language-function-section.md). diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-combining-modifiers.md b/fp-includes/smarty-4.3.1/docs/designers/language-combining-modifiers.md deleted file mode 100644 index 97903c5..0000000 --- a/fp-includes/smarty-4.3.1/docs/designers/language-combining-modifiers.md +++ /dev/null @@ -1,32 +0,0 @@ -# Combining Modifiers - -You can apply any number of modifiers to a variable. They will be -applied in the order they are combined, from left to right. They must be -separated with a `|` (pipe) character. - -```php -assign('articleTitle', 'Smokers are Productive, but Death Cuts Efficiency.'); -``` - -where template is: - -```smarty -{$articleTitle} -{$articleTitle|upper|spacify} -{$articleTitle|lower|spacify|truncate} -{$articleTitle|lower|truncate:30|spacify} -{$articleTitle|lower|spacify|truncate:30:". . ."} -``` - - -The above example will output: - -``` -Smokers are Productive, but Death Cuts Efficiency. -S M O K E R S A R ....snip.... H C U T S E F F I C I E N C Y . -s m o k e r s a r ....snip.... b u t d e a t h c u t s... -s m o k e r s a r e p r o d u c t i v e , b u t . . . -s m o k e r s a r e p. . . -``` diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/index.md b/fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/index.md deleted file mode 100644 index 8197965..0000000 --- a/fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/index.md +++ /dev/null @@ -1,19 +0,0 @@ -# Custom Functions - -Smarty comes with several custom plugin functions that you can use in -the templates. - -- [{counter}](language-function-counter.md) -- [{cycle}](language-function-cycle.md) -- [{eval}](language-function-eval.md) -- [{fetch}](language-function-fetch.md) -- [{html_checkboxes}](language-function-html-checkboxes.md) -- [{html_image}](language-function-html-image.md) -- [{html_options}](language-function-html-options.md) -- [{html_radios}](language-function-html-radios.md) -- [{html_select_date}](language-function-html-select-date.md) -- [{html_select_time}](language-function-html-select-time.md) -- [{html_table}](language-function-html-table.md) -- [{mailto}](language-function-mailto.md) -- [{math}](language-function-math.md) -- [{textformat}](language-function-textformat.md) diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-counter.md b/fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-counter.md deleted file mode 100644 index de04c2f..0000000 --- a/fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-counter.md +++ /dev/null @@ -1,45 +0,0 @@ -# {counter} - -`{counter}` is used to print out a count. `{counter}` will remember the -count on each iteration. You can adjust the number, the interval and the -direction of the count, as well as determine whether to print the -value. You can run multiple counters concurrently by supplying a unique -name for each one. If you do not supply a name, the name "default" will -be used. - -## Attributes - -| Attribute Name | Required | Description | -|----------------|----------|-----------------------------------------------------------| -| name | No | The name of the counter | -| start | No | The initial number to start counting from (defaults to 1) | -| skip | No | The interval to count by (defaults to 1) | -| direction | No | The direction to count (up/down) (defaults to 'up') | -| print | No | Whether or not to print the value (defaults to true) | -| assign | No | the template variable the output will be assigned to | - -If you supply the `assign` attribute, the output of the `{counter}` -function will be assigned to this template variable instead of being -output to the template. - -## Examples - -```smarty - -{* initialize the count *} -{counter start=0 skip=2}
-{counter}
-{counter}
-{counter}
- -``` - -this will output: - -```html -0
-2
-4
-6
-``` - diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-cycle.md b/fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-cycle.md deleted file mode 100644 index 661e490..0000000 --- a/fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-cycle.md +++ /dev/null @@ -1,55 +0,0 @@ -# {cycle} - -`{cycle}` is used to alternate a set of values. This makes it easy to -for example, alternate between two or more colors in a table, or cycle -through an array of values. - -## Attributes - -| Attribute Name | Required | Description | -|----------------|----------|-------------------------------------------------------------------------------------------------------------| -| name | No | The name of the cycle | -| values | Yes | The values to cycle through, either a comma delimited list (see delimiter attribute), or an array of values | -| print | No | Whether to print the value or not (defaults to true) | -| advance | No | Whether or not to advance to the next value (defaults to true) | -| delimiter | No | The delimiter to use in the values attribute (defaults to ',') | -| assign | No | The template variable the output will be assigned to | -| reset | No | The cycle will be set to the first value and not advanced (defaults to false) | - -- You can `{cycle}` through more than one set of values in a template - by supplying a `name` attribute. Give each `{cycle}` a unique - `name`. - -- You can force the current value not to print with the `print` - attribute set to FALSE. This would be useful for silently skipping a - value. - -- The `advance` attribute is used to repeat a value. When set to - FALSE, the next call to `{cycle}` will print the same value. - -- If you supply the `assign` attribute, the output of the `{cycle}` - function will be assigned to a template variable instead of being - output to the template. - -## Examples -```smarty -{section name=rows loop=$data} - - {$data[rows]} - -{/section} -``` - -The above template would output: - -```html - - 1 - - - 2 - - - 3 - -``` diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-debug.md b/fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-debug.md deleted file mode 100644 index 7886145..0000000 --- a/fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-debug.md +++ /dev/null @@ -1,14 +0,0 @@ -# {debug} - -`{debug}` dumps the debug console to the page. This works regardless of -the [debug](../chapter-debugging-console.md) settings in the php script. -Since this gets executed at runtime, this is only able to show the -[assigned](../../programmers/api-functions/api-assign.md) variables; not the templates that are in use. -However, you can see all the currently available variables within the -scope of a template. - -| Attribute Name | Required | Description | -|----------------|----------|------------------------------------------------------------| -| output | No | output type, html or javascript (defaults to 'javascript') | - -See also the [debugging console page](../chapter-debugging-console.md). diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-eval.md b/fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-eval.md deleted file mode 100644 index 70c7a3d..0000000 --- a/fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-eval.md +++ /dev/null @@ -1,81 +0,0 @@ -# {eval} - -`{eval}` is used to evaluate a variable as a template. This can be used -for things like embedding template tags/variables into variables or -tags/variables into config file variables. - -## Attributes - -| Attribute Name | Required | Description | -|----------------|----------|------------------------------------------------------| -| var | Yes | Variable (or string) to evaluate | -| assign | No | The template variable the output will be assigned to | - -If you supply the `assign` attribute, the output of the `{eval}` -function will be assigned to this template variable instead of being -output to the template. - -> **Note** -> -> - Evaluated variables are treated the same as templates. They follow -> the same escapement and security features just as if they were -> templates. -> -> - Evaluated variables are compiled on every invocation, the compiled -> versions are not saved! However, if you have [caching](../../programmers/caching.md) -> enabled, the output will be cached with the rest of the template. -> -> - If the content to evaluate doesn't change often, or is used -> repeatedly, consider using -> `{include file="string:{$template_code}"}` instead. This may cache -> the compiled state and thus doesn't have to run the (comparably -> slow) compiler on every invocation. - -## Examples - -The contents of the config file, `setup.conf`. - -```ini -emphstart = -emphend = -title = Welcome to {$company}'s home page! -ErrorCity = You must supply a {#emphstart#}city{#emphend#}. -ErrorState = You must supply a {#emphstart#}state{#emphend#}. -``` - -Where the template is: - -```smarty -{config_load file='setup.conf'} - -{eval var=$foo} -{eval var=#title#} -{eval var=#ErrorCity#} -{eval var=#ErrorState# assign='state_error'} -{$state_error} -``` - -The above template will output: - -```html -This is the contents of foo. -Welcome to Foobar Pub & Grill's home page! -You must supply a city. -You must supply a state. -``` - -This outputs the server name (in uppercase) and IP. The assigned -variable `$str` could be from a database query. - -```php -assign('foo',$str); -``` - -Where the template is: - -```smarty -{eval var=$foo} -``` diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-fetch.md b/fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-fetch.md deleted file mode 100644 index 2ff494f..0000000 --- a/fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-fetch.md +++ /dev/null @@ -1,61 +0,0 @@ -# {fetch} - -`{fetch}` is used to retrieve files from the local file system, http, or -ftp and display the contents. - -## Attributes -| Attribute | Required | Description | -|-----------|----------|------------------------------------------------------| -| file | Yes | The file, http or ftp site to fetch | -| assign | No | The template variable the output will be assigned to | - -- If the file name begins with `http://`, the website page will be - fetched and displayed. - - > **Note** - > - > This will not support http redirects, be sure to include a - > trailing slash on your web page fetches where necessary. - -- If the file name begins with `ftp://`, the file will be downloaded - from the ftp server and displayed. - -- For local files, either a full system file path must be given, or a - path relative to the executed php script. - - > **Note** - > - > If security is enabled, and you are fetching a file from the local - > file system, `{fetch}` will only allow files from within the - > `$secure_dir` path of the security policy. See the - > [Security](../../programmers/advanced-features/advanced-features-security.md) section for details. - -- If the `assign` attribute is set, the output of the `{fetch}` - function will be assigned to this template variable instead of being - output to the template. - -## Examples - -```smarty -{* include some javascript in your template *} -{fetch file='/export/httpd/www.example.com/docs/navbar.js'} - -{* embed some weather text in your template from another web site *} -{fetch file='http://www.myweather.com/68502/'} - -{* fetch a news headline file via ftp *} -{fetch file='ftp://user:password@ftp.example.com/path/to/currentheadlines.txt'} -{* as above but with variables *} -{fetch file="ftp://`$user`:`$password`@`$server`/`$path`"} - -{* assign the fetched contents to a template variable *} -{fetch file='http://www.myweather.com/68502/' assign='weather'} -{if $weather ne ''} -
{$weather}
-{/if} -``` - - -See also [`{capture}`](../language-builtin-functions/language-function-capture.md), -[`{eval}`](language-function-eval.md), -[`{assign}`](../language-builtin-functions/language-function-assign.md) and [`fetch()`](../../programmers/api-functions/api-fetch.md). diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-html-checkboxes.md b/fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-html-checkboxes.md deleted file mode 100644 index 3ab3609..0000000 --- a/fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-html-checkboxes.md +++ /dev/null @@ -1,102 +0,0 @@ -# {html_checkboxes} - -`{html_checkboxes}` is a [custom function](index.md) -that creates an html checkbox group with provided data. It takes care of -which item(s) are selected by default as well. - -## Attributes - -| Attribute Name | Required | Description | -|----------------|-------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| name | No | Name of checkbox list (defaults to 'checkbox') | -| values | Yes, unless using options attribute | An array of values for checkbox buttons | -| output | Yes, unless using options attribute | An array of output for checkbox buttons | -| selected | No | The selected checkbox element(s) as a string or array | -| options | Yes, unless using values and output | An associative array of values and output | -| separator | No | String of text to separate each checkbox item | -| assign | No | Assign checkbox tags to an array instead of output | -| labels | No | Add -tags to the output (defaults to true) | -| label\_ids | No | Add id-attributes to and to the output (defaults to false) | -| escape | No | Escape the output / content (values are always escaped) (defaults to true) | -| strict | No | Will make the "extra" attributes *disabled* and *readonly* only be set, if they were supplied with either boolean *TRUE* or string *"disabled"* and *"readonly"* respectively (defaults to false) | - -- Required attributes are `values` and `output`, unless you use `options` instead. - -- All output is XHTML compliant. - -- All parameters that are not in the list above are printed as - name/value-pairs inside each of the created -tags. - -## Examples -```php -assign('cust_ids', array(1000,1001,1002,1003)); -$smarty->assign('cust_names', array( - 'Joe Schmoe', - 'Jack Smith', - 'Jane Johnson', - 'Charlie Brown') - ); -$smarty->assign('customer_id', 1001); -``` - -where template is - -```smarty -{html_checkboxes name='id' values=$cust_ids output=$cust_names selected=$customer_id separator='
'} -``` - -or where PHP code is: - -```php -assign( - 'cust_checkboxes', - [ - 1000 => 'Joe Schmoe', - 1001 => 'Jack Smith', - 1002 => 'Jane Johnson', - 1003 => 'Charlie Brown', - ] -); -$smarty->assign('customer_id', 1001); -``` - -and the template is - -```smarty -{html_checkboxes name='id' options=$cust_checkboxes selected=$customer_id separator='
'} -``` - -both examples will output: - -```html -
- -
-
-
-``` - - -```php -assign('contact_types',$db->getAssoc($sql)); - -$sql = 'select contact_id, contact_type_id, contact ' - .'from contacts where contact_id=12'; -$smarty->assign('contact',$db->getRow($sql)); -``` - -The results of the database queries above would be output with. - -```smarty -{html_checkboxes name='contact_type_id' options=$contact_types selected=$contact.contact_type_id separator='
'} -``` - -See also [`{html_radios}`](./language-function-html-radios.md) and -[`{html_options}`](./language-function-html-options.md) diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-html-image.md b/fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-html-image.md deleted file mode 100644 index 7ecde26..0000000 --- a/fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-html-image.md +++ /dev/null @@ -1,58 +0,0 @@ -# {html_image} - -`{html_image}` is a [custom function](index.md) that -generates an HTML `` tag. The `height` and `width` are -automatically calculated from the image file if they are not supplied. - -## Attributes - -| Attribute Name | Required | Description | -|----------------|----------|-------------------------------------------------------------------------| -| file | Yes | name/path to image | -| height | No | Height to display image (defaults to actual image height) | -| width | No | Width to display image (defaults to actual image width) | -| basedir | no | Directory to base relative paths from (defaults to web server doc root) | -| alt | no | Alternative description of the image | -| href | no | href value to link the image to | -| path\_prefix | no | Prefix for output path | - -- `basedir` is the base directory that relative image paths are based - from. If not given, the web server's document root - `$_ENV['DOCUMENT_ROOT']` is used as the base. If security is - enabled, then the image must be located in the `$secure_dir` path of - the security policy. See the [Security](../../programmers/advanced-features/advanced-features-security.md) - section for details. - -- `href` is the href value to link the image to. If link is supplied, - an `` tag is placed around the image tag. - -- `path_prefix` is an optional prefix string you can give the output - path. This is useful if you want to supply a different server name - for the image. - -- All parameters that are not in the list above are printed as - name/value-pairs inside the created `` tag. - -> **Note** -> -> `{html_image}` requires a hit to the disk to read the image and -> calculate the height and width. If you don't use template -> [caching](../../programmers/caching.md), it is generally better to avoid `{html_image}` -> and leave image tags static for optimal performance. - -## Examples - -```smarty -{html_image file='pumpkin.jpg'} -{html_image file='/path/from/docroot/pumpkin.jpg'} -{html_image file='../path/relative/to/currdir/pumpkin.jpg'} -``` - -Example output of the above template would be: - -```html - - - -``` - diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-html-options.md b/fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-html-options.md deleted file mode 100644 index a63ccc5..0000000 --- a/fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-html-options.md +++ /dev/null @@ -1,146 +0,0 @@ -# {html_options} - -`{html_options}` is a [custom function](index.md) that -creates the html `` - tags are created, otherwise ONLY the ``, and display the groups. Recursion is supported with - ``. - -- All parameters that are not in the list above are printed as - name/value-pairs inside the `` tags. - -```smarty -{html_options name=foo options=$myOptions selected=$mySelect} -``` - -Output of the above example would be: - -```html - -``` - -```php -assign('cust_ids', [56,92,13]); -$smarty->assign('cust_names', [ - 'Joe Schmoe', - 'Jane Johnson', - 'Charlie Brown']); -$smarty->assign('customer_id', 92); -``` - -The above arrays would be output with the following template (note the -use of the php [`count()`](https://www.php.net/function.count) function as a -modifier to set the select size). - -```smarty - -``` - -The above example would output: - -```html - -``` - -```php -assign('contact_types',$db->getAssoc($sql)); - -$sql = 'select contact_id, name, email, contact_type_id - from contacts where contact_id='.$contact_id; -$smarty->assign('contact',$db->getRow($sql)); - -``` - -Where a template could be as follows. Note the use of the -[`truncate`](../language-modifiers/language-modifier-truncate.md) modifier. - -```smarty - -``` - -```php - 'Golf', 9 => 'Cricket',7 => 'Swim'); -$arr['Rest'] = array(3 => 'Sauna',1 => 'Massage'); -$smarty->assign('lookups', $arr); -$smarty->assign('fav', 7); -``` - -The script above and the following template - -```smarty -{html_options name=foo options=$lookups selected=$fav} -``` - -would output: - -```html - -``` - -See also [`{html_checkboxes}`](./language-function-html-checkboxes.md) and -[`{html_radios}`](./language-function-html-radios.md) diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-html-radios.md b/fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-html-radios.md deleted file mode 100644 index af8ecda..0000000 --- a/fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-html-radios.md +++ /dev/null @@ -1,104 +0,0 @@ -# {html_radios} - -`{html_radios}` is a [custom function](index.md) that -creates an HTML radio button group. It also takes care of which item is -selected by default as well. - -## Attributes - -| Attribute Name | Required | Description | -|----------------|-------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| name | No | Name of radio list | -| values | Yes, unless using options attribute | An array of values for radio buttons | -| output | Yes, unless using options attribute | An array of output for radio buttons | -| selected | No | The selected radio element | -| options | Yes, unless using values and output | An associative array of values and output | -| separator | No | String of text to separate each radio item | -| assign | No | Assign radio tags to an array instead of output | -| labels | No | Add