From 779379480d770f02f40ed21385115d60b320faf6 Mon Sep 17 00:00:00 2001 From: Fraenkiman Date: Sun, 9 Apr 2023 23:51:23 +0200 Subject: [PATCH] This performs a Smarty update [4.3.1] - 2023-03-28 Fixes #227 --- defaults.php | 2 +- .../smarty-4.3.0/docs/appendixes/tips.md | 269 -------- .../docs/appendixes/troubleshooting.md | 120 ---- .../language-escaping.md | 84 --- .../language-syntax-functions.md | 40 -- .../language-syntax-quotes.md | 61 -- .../language-syntax-variables.md | 111 --- .../designers/language-builtin-functions.md | 38 -- .../language-function-append.md | 49 -- .../language-function-assign.md | 148 ---- .../language-function-capture.md | 82 --- .../language-function-config-load.md | 91 --- .../language-function-extends.md | 37 - .../language-function-for.md | 97 --- .../language-function-foreach.md | 407 ----------- .../language-function-if.md | 121 ---- .../language-function-include.md | 192 ------ .../language-function-ldelim.md | 55 -- .../language-function-literal.md | 36 - .../language-function-section.md | 644 ------------------ .../language-function-shortform-assign.md | 84 --- .../language-function-while.md | 43 -- .../designers/language-combining-modifiers.md | 35 - .../designers/language-custom-functions.md | 21 - .../language-function-counter.md | 41 -- .../language-function-cycle.md | 57 -- .../language-function-debug.md | 15 - .../language-function-eval.md | 84 --- .../language-function-fetch.md | 59 -- .../language-function-html-checkboxes.md | 113 --- .../language-function-html-image.md | 56 -- .../language-function-html-options.md | 155 ----- .../language-function-html-radios.md | 112 --- .../language-function-html-select-date.md | 119 ---- .../language-function-html-select-time.md | 98 --- .../language-function-html-table.md | 89 --- .../language-function-mailto.md | 56 -- .../language-function-math.md | 104 --- .../language-function-textformat.md | 190 ------ .../docs/designers/language-modifiers.md | 123 ---- .../language-modifier-capitalize.md | 41 -- .../language-modifier-cat.md | 31 - .../language-modifier-count-characters.md | 39 -- .../language-modifier-count-words.md | 33 - .../language-modifier-date-format.md | 175 ----- .../language-modifier-default.md | 41 -- .../language-modifier-escape.md | 74 -- .../language-modifier-from-charset.md | 19 - .../language-modifier-indent.md | 62 -- .../language-modifier-lower.md | 33 - .../language-modifier-nl2br.md | 35 - .../language-modifier-regex-replace.md | 51 -- .../language-modifier-replace.md | 40 -- .../language-modifier-spacify.md | 40 -- .../language-modifier-string-format.md | 39 -- .../language-modifier-strip-tags.md | 41 -- .../language-modifier-strip.md | 40 -- .../language-modifier-to-charset.md | 19 - .../language-modifier-truncate.md | 52 -- .../language-modifier-unescape.md | 39 -- .../language-modifier-upper.md | 31 - .../language-modifier-wordwrap.md | 69 -- .../docs/designers/language-variables.md | 37 - .../language-assigned-variables.md | 142 ---- .../language-config-variables.md | 83 --- .../language-variable-scopes.md | 61 -- .../language-variables-smarty.md | 176 ----- .../run-tests-for-all-php-versions.sh | 44 -- fp-includes/smarty-4.3.0/run-tests.sh | 13 - .../CHANGELOG.md | 15 +- .../{smarty-4.3.0 => smarty-4.3.1}/LICENSE | 0 .../{smarty-4.3.0 => smarty-4.3.1}/README.md | 0 .../SECURITY.md | 9 +- .../composer.json | 0 .../demo/configs/test.conf | 0 .../demo/index.php | 0 .../demo/plugins/cacheresource.apc.php | 0 .../demo/plugins/cacheresource.memcache.php | 0 .../demo/plugins/cacheresource.mysql.php | 0 .../demo/plugins/cacheresource.pdo.php | 0 .../demo/plugins/cacheresource.pdo_gzip.php | 0 .../demo/plugins/resource.extendsall.php | 0 .../demo/plugins/resource.mysql.php | 0 .../demo/plugins/resource.mysqls.php | 0 .../demo/templates/footer.tpl | 0 .../demo/templates/header.tpl | 0 .../demo/templates/index.tpl | 0 .../docs/_config.yml | 0 .../smarty-4.3.1/docs/appendixes/tips.md | 274 ++++++++ .../docs/appendixes/troubleshooting.md | 104 +++ .../designers/chapter-debugging-console.md | 3 +- .../docs/designers/config-files.md | 53 +- .../designers/language-basic-syntax/index.md} | 22 +- .../language-escaping.md | 79 +++ .../language-basic-syntax/language-math.md | 23 +- .../language-syntax-attributes.md | 39 +- .../language-syntax-comments.md | 28 +- .../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 | 122 ++-- .../language-function-call.md | 45 +- .../language-function-capture.md | 81 +++ .../language-function-config-load.md | 88 +++ .../language-function-debug.md | 9 +- .../language-function-extends.md | 37 + .../language-function-for.md | 91 +++ .../language-function-foreach.md | 389 +++++++++++ .../language-function-function.md | 95 +-- .../language-function-if.md | 120 ++++ .../language-function-include.md | 187 +++++ .../language-function-insert.md | 48 +- .../language-function-ldelim.md | 51 ++ .../language-function-literal.md | 34 + .../language-function-nocache.md | 21 +- .../language-function-section.md | 610 +++++++++++++++++ .../language-function-setfilter.md | 37 +- .../language-function-strip.md | 33 +- .../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 | 31 +- .../language-modifier-count-sentences.md | 32 +- .../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 +++++ .../docs/features.md | 0 .../docs/getting-started.md | 36 +- .../docs/index.md | 10 +- .../docs/philosophy.md | 3 +- .../docs/programmers/advanced-features.md | 0 .../advanced-features-objects.md | 2 +- .../advanced-features-outputfilters.md | 0 .../advanced-features-postfilters.md | 0 .../advanced-features-prefilters.md | 0 .../advanced-features-security.md | 0 .../advanced-features-static-classes.md | 0 .../advanced-features-streams.md | 0 .../advanced-features-template-inheritance.md | 0 .../advanced-features-template-settings.md | 0 .../docs/programmers/api-functions.md | 0 .../api-functions/api-add-config-dir.md | 2 +- .../api-functions/api-add-plugins-dir.md | 0 .../api-functions/api-add-template-dir.md | 0 .../api-functions/api-append-by-ref.md | 0 .../programmers/api-functions/api-append.md | 0 .../api-functions/api-assign-by-ref.md | 0 .../programmers/api-functions/api-assign.md | 0 .../api-functions/api-clear-all-assign.md | 0 .../api-functions/api-clear-all-cache.md | 0 .../api-functions/api-clear-assign.md | 0 .../api-functions/api-clear-cache.md | 0 .../api-functions/api-clear-compiled-tpl.md | 0 .../api-functions/api-clear-config.md | 0 .../api-functions/api-compile-all-config.md | 0 .../api-compile-all-templates.md | 0 .../api-functions/api-config-load.md | 0 .../api-functions/api-create-data.md | 0 .../api-functions/api-create-template.md | 0 .../api-functions/api-disable-security.md | 0 .../programmers/api-functions/api-display.md | 0 .../api-functions/api-enable-security.md | 0 .../programmers/api-functions/api-fetch.md | 2 +- .../api-functions/api-get-cache-dir.md | 0 .../api-functions/api-get-compile-dir.md | 0 .../api-functions/api-get-config-dir.md | 0 .../api-functions/api-get-config-vars.md | 0 .../api-functions/api-get-plugins-dir.md | 0 .../api-get-registered-object.md | 0 .../programmers/api-functions/api-get-tags.md | 0 .../api-functions/api-get-template-dir.md | 0 .../api-functions/api-get-template-vars.md | 0 .../api-functions/api-is-cached.md | 0 .../api-functions/api-load-filter.md | 0 .../api-functions/api-mute-expected-errors.md | 2 +- .../api-register-cacheresource.md | 0 .../api-functions/api-register-class.md | 0 .../api-register-default-plugin-handler.md | 0 .../api-functions/api-register-filter.md | 0 .../api-functions/api-register-object.md | 0 .../api-functions/api-register-plugin.md | 0 .../api-functions/api-register-resource.md | 0 .../api-functions/api-set-cache-dir.md | 0 .../api-functions/api-set-compile-dir.md | 0 .../api-functions/api-set-config-dir.md | 0 .../api-functions/api-set-plugins-dir.md | 0 .../api-functions/api-set-template-dir.md | 0 .../api-functions/api-template-exists.md | 0 .../api-functions/api-test-install.md | 0 .../api-unregister-cacheresource.md | 0 .../api-functions/api-unregister-filter.md | 0 .../api-functions/api-unregister-object.md | 0 .../api-functions/api-unregister-plugin.md | 0 .../api-functions/api-unregister-resource.md | 0 .../docs/programmers/api-variables.md | 0 .../variable-allow-php-templates.md | 0 .../api-variables/variable-auto-literal.md | 2 +- .../variable-autoload-filters.md | 0 .../api-variables/variable-cache-dir.md | 0 .../api-variables/variable-cache-id.md | 0 .../api-variables/variable-cache-lifetime.md | 0 .../api-variables/variable-cache-locking.md | 0 .../variable-cache-modified-check.md | 0 .../api-variables/variable-caching-type.md | 0 .../api-variables/variable-caching.md | 0 .../api-variables/variable-compile-check.md | 3 + .../api-variables/variable-compile-dir.md | 0 .../api-variables/variable-compile-id.md | 0 .../api-variables/variable-compile-locking.md | 0 .../api-variables/variable-compiler-class.md | 0 .../variable-config-booleanize.md | 0 .../api-variables/variable-config-dir.md | 0 .../variable-config-overwrite.md | 0 .../variable-config-read-hidden.md | 0 .../api-variables/variable-debug-template.md | 0 .../api-variables/variable-debugging-ctrl.md | 0 .../api-variables/variable-debugging.md | 0 .../variable-default-config-handler-func.md | 0 .../variable-default-config-type.md | 0 .../variable-default-modifiers.md | 0 .../variable-default-resource-type.md | 0 .../variable-default-template-handler-func.md | 0 .../variable-direct-access-security.md | 0 .../api-variables/variable-error-reporting.md | 2 +- .../api-variables/variable-escape-html.md | 0 .../api-variables/variable-force-cache.md | 0 .../api-variables/variable-force-compile.md | 0 .../api-variables/variable-left-delimiter.md | 0 .../api-variables/variable-locking-timeout.md | 0 .../variable-merge-compiled-includes.md | 0 .../api-variables/variable-plugins-dir.md | 0 .../api-variables/variable-right-delimiter.md | 0 .../api-variables/variable-smarty-debug-id.md | 0 .../api-variables/variable-template-dir.md | 2 +- .../api-variables/variable-trusted-dir.md | 0 .../variable-use-include-path.md | 6 +- .../api-variables/variable-use-sub-dirs.md | 2 +- .../docs/programmers/caching.md | 0 .../programmers/caching/caching-cacheable.md | 0 .../programmers/caching/caching-custom.md | 0 .../programmers/caching/caching-groups.md | 0 .../caching/caching-multiple-caches.md | 0 .../programmers/caching/caching-setting-up.md | 0 .../docs/programmers/charset.md | 0 .../docs/programmers/plugins.md | 0 .../plugins/plugins-block-functions.md | 2 +- .../plugins/plugins-compiler-functions.md | 0 .../programmers/plugins/plugins-functions.md | 0 .../docs/programmers/plugins/plugins-howto.md | 0 .../programmers/plugins/plugins-inserts.md | 0 .../programmers/plugins/plugins-modifiers.md | 2 +- .../plugins/plugins-naming-conventions.md | 2 +- .../plugins/plugins-outputfilters.md | 0 .../plugins/plugins-prefilters-postfilters.md | 0 .../programmers/plugins/plugins-resources.md | 0 .../programmers/plugins/plugins-writing.md | 0 .../docs/programmers/resources.md | 0 .../programmers/resources/resources-custom.md | 0 .../resources/resources-extends.md | 0 .../programmers/resources/resources-file.md | 2 +- .../resources/resources-streams.md | 0 .../programmers/resources/resources-string.md | 4 +- .../resources/template-resources.md | 0 .../docs/programmers/smarty-constants.md | 0 .../smarty_internal_configfilelexer.plex | 0 .../lexer/smarty_internal_configfileparser.y | 0 .../lexer/smarty_internal_templatelexer.plex | 0 .../lexer/smarty_internal_templateparser.y | 0 .../libs/Autoloader.php | 0 .../libs/Smarty.class.php | 7 +- .../libs/bootstrap.php | 0 .../libs/debug.tpl | 0 .../libs/functions.php | 0 .../libs/plugins/block.textformat.php | 0 .../libs/plugins/function.counter.php | 0 .../libs/plugins/function.cycle.php | 0 .../libs/plugins/function.fetch.php | 0 .../libs/plugins/function.html_checkboxes.php | 0 .../libs/plugins/function.html_image.php | 0 .../libs/plugins/function.html_options.php | 0 .../libs/plugins/function.html_radios.php | 0 .../plugins/function.html_select_date.php | 0 .../plugins/function.html_select_time.php | 0 .../libs/plugins/function.html_table.php | 0 .../libs/plugins/function.mailto.php | 0 .../libs/plugins/function.math.php | 0 .../libs/plugins/modifier.capitalize.php | 0 .../libs/plugins/modifier.count.php | 0 .../libs/plugins/modifier.date_format.php | 0 .../libs/plugins/modifier.debug_print_var.php | 0 .../libs/plugins/modifier.escape.php | 4 +- .../libs/plugins/modifier.explode.php | 0 .../libs/plugins/modifier.mb_wordwrap.php | 0 .../libs/plugins/modifier.number_format.php | 0 .../libs/plugins/modifier.regex_replace.php | 0 .../libs/plugins/modifier.replace.php | 0 .../libs/plugins/modifier.spacify.php | 0 .../libs/plugins/modifier.truncate.php | 2 +- .../libs/plugins/modifiercompiler.cat.php | 0 .../modifiercompiler.count_characters.php | 4 +- .../modifiercompiler.count_paragraphs.php | 0 .../modifiercompiler.count_sentences.php | 0 .../plugins/modifiercompiler.count_words.php | 2 +- .../libs/plugins/modifiercompiler.default.php | 0 .../libs/plugins/modifiercompiler.escape.php | 4 +- .../plugins/modifiercompiler.from_charset.php | 0 .../libs/plugins/modifiercompiler.indent.php | 0 .../libs/plugins/modifiercompiler.lower.php | 4 +- .../libs/plugins/modifiercompiler.nl2br.php | 0 .../libs/plugins/modifiercompiler.noprint.php | 0 .../libs/plugins/modifiercompiler.round.php | 0 .../plugins/modifiercompiler.str_repeat.php | 0 .../modifiercompiler.string_format.php | 0 .../libs/plugins/modifiercompiler.strip.php | 0 .../plugins/modifiercompiler.strip_tags.php | 0 .../libs/plugins/modifiercompiler.strlen.php | 0 .../plugins/modifiercompiler.to_charset.php | 0 .../plugins/modifiercompiler.unescape.php | 0 .../libs/plugins/modifiercompiler.upper.php | 4 +- .../plugins/modifiercompiler.wordwrap.php | 0 .../plugins/outputfilter.trimwhitespace.php | 2 +- .../plugins/shared.escape_special_chars.php | 2 +- .../plugins/shared.literal_compiler_param.php | 0 .../libs/plugins/shared.make_timestamp.php | 0 .../libs/plugins/shared.mb_str_replace.php | 0 .../libs/plugins/shared.mb_unicode.php | 0 .../variablefilter.htmlspecialchars.php | 2 +- .../libs/sysplugins/smarty_cacheresource.php | 0 .../smarty_cacheresource_custom.php | 0 .../smarty_cacheresource_keyvaluestore.php | 0 .../libs/sysplugins/smarty_data.php | 0 .../libs/sysplugins/smarty_internal_block.php | 0 .../smarty_internal_cacheresource_file.php | 0 .../smarty_internal_compile_append.php | 0 .../smarty_internal_compile_assign.php | 0 .../smarty_internal_compile_block.php | 0 .../smarty_internal_compile_block_child.php | 0 .../smarty_internal_compile_block_parent.php | 0 .../smarty_internal_compile_break.php | 0 .../smarty_internal_compile_call.php | 0 .../smarty_internal_compile_capture.php | 0 .../smarty_internal_compile_child.php | 0 .../smarty_internal_compile_config_load.php | 0 .../smarty_internal_compile_continue.php | 0 .../smarty_internal_compile_debug.php | 0 .../smarty_internal_compile_eval.php | 0 .../smarty_internal_compile_extends.php | 0 .../smarty_internal_compile_for.php | 0 .../smarty_internal_compile_foreach.php | 0 .../smarty_internal_compile_function.php | 0 .../sysplugins/smarty_internal_compile_if.php | 0 .../smarty_internal_compile_include.php | 0 .../smarty_internal_compile_insert.php | 0 .../smarty_internal_compile_ldelim.php | 0 .../smarty_internal_compile_make_nocache.php | 0 .../smarty_internal_compile_nocache.php | 0 .../smarty_internal_compile_parent.php | 0 ..._internal_compile_private_block_plugin.php | 0 ...nternal_compile_private_foreachsection.php | 0 ...ternal_compile_private_function_plugin.php | 0 ...arty_internal_compile_private_modifier.php | 0 ..._compile_private_object_block_function.php | 0 ...ternal_compile_private_object_function.php | 0 ...ernal_compile_private_print_expression.php | 0 ...ernal_compile_private_registered_block.php | 0 ...al_compile_private_registered_function.php | 0 ...ernal_compile_private_special_variable.php | 0 .../smarty_internal_compile_rdelim.php | 0 .../smarty_internal_compile_section.php | 0 .../smarty_internal_compile_setfilter.php | 0 ...ty_internal_compile_shared_inheritance.php | 0 .../smarty_internal_compile_while.php | 0 .../smarty_internal_compilebase.php | 0 .../smarty_internal_config_file_compiler.php | 0 .../smarty_internal_configfilelexer.php | 0 .../smarty_internal_configfileparser.php | 0 .../libs/sysplugins/smarty_internal_data.php | 0 .../libs/sysplugins/smarty_internal_debug.php | 0 .../smarty_internal_errorhandler.php | 21 +- .../smarty_internal_extension_handler.php | 0 ...rty_internal_method_addautoloadfilters.php | 0 ...ty_internal_method_adddefaultmodifiers.php | 0 .../smarty_internal_method_append.php | 0 .../smarty_internal_method_appendbyref.php | 0 .../smarty_internal_method_assignbyref.php | 0 .../smarty_internal_method_assignglobal.php | 0 .../smarty_internal_method_clearallassign.php | 0 .../smarty_internal_method_clearallcache.php | 0 .../smarty_internal_method_clearassign.php | 0 .../smarty_internal_method_clearcache.php | 0 ..._internal_method_clearcompiledtemplate.php | 0 .../smarty_internal_method_clearconfig.php | 0 ...marty_internal_method_compileallconfig.php | 0 ...ty_internal_method_compilealltemplates.php | 0 .../smarty_internal_method_configload.php | 0 .../smarty_internal_method_createdata.php | 0 ...rty_internal_method_getautoloadfilters.php | 0 ...arty_internal_method_getconfigvariable.php | 0 .../smarty_internal_method_getconfigvars.php | 0 ...marty_internal_method_getdebugtemplate.php | 0 ...ty_internal_method_getdefaultmodifiers.php | 0 .../smarty_internal_method_getglobal.php | 0 ...ty_internal_method_getregisteredobject.php | 0 ...arty_internal_method_getstreamvariable.php | 0 .../smarty_internal_method_gettags.php | 0 ...smarty_internal_method_gettemplatevars.php | 0 .../smarty_internal_method_literals.php | 0 .../smarty_internal_method_loadfilter.php | 0 .../smarty_internal_method_loadplugin.php | 0 .../smarty_internal_method_mustcompile.php | 0 ..._internal_method_registercacheresource.php | 0 .../smarty_internal_method_registerclass.php | 0 ...al_method_registerdefaultconfighandler.php | 0 ...al_method_registerdefaultpluginhandler.php | 0 ..._method_registerdefaulttemplatehandler.php | 0 .../smarty_internal_method_registerfilter.php | 0 .../smarty_internal_method_registerobject.php | 0 .../smarty_internal_method_registerplugin.php | 0 ...marty_internal_method_registerresource.php | 0 ...rty_internal_method_setautoloadfilters.php | 0 ...marty_internal_method_setdebugtemplate.php | 0 ...ty_internal_method_setdefaultmodifiers.php | 0 .../smarty_internal_method_unloadfilter.php | 0 ...nternal_method_unregistercacheresource.php | 0 ...marty_internal_method_unregisterfilter.php | 0 ...marty_internal_method_unregisterobject.php | 0 ...marty_internal_method_unregisterplugin.php | 0 ...rty_internal_method_unregisterresource.php | 0 .../smarty_internal_nocache_insert.php | 0 .../sysplugins/smarty_internal_parsetree.php | 0 .../smarty_internal_parsetree_code.php | 0 .../smarty_internal_parsetree_dq.php | 0 .../smarty_internal_parsetree_dqcontent.php | 0 .../smarty_internal_parsetree_tag.php | 0 .../smarty_internal_parsetree_template.php | 0 .../smarty_internal_parsetree_text.php | 0 .../smarty_internal_resource_eval.php | 0 .../smarty_internal_resource_extends.php | 0 .../smarty_internal_resource_file.php | 0 .../smarty_internal_resource_php.php | 0 .../smarty_internal_resource_stream.php | 0 .../smarty_internal_resource_string.php | 0 .../smarty_internal_runtime_cachemodify.php | 0 ...rty_internal_runtime_cacheresourcefile.php | 0 .../smarty_internal_runtime_capture.php | 0 .../smarty_internal_runtime_codeframe.php | 0 .../smarty_internal_runtime_filterhandler.php | 0 .../smarty_internal_runtime_foreach.php | 0 ...smarty_internal_runtime_getincludepath.php | 0 .../smarty_internal_runtime_inheritance.php | 0 .../smarty_internal_runtime_make_nocache.php | 0 .../smarty_internal_runtime_tplfunction.php | 0 .../smarty_internal_runtime_updatecache.php | 0 .../smarty_internal_runtime_updatescope.php | 0 .../smarty_internal_runtime_writefile.php | 0 ...smarty_internal_smartytemplatecompiler.php | 0 .../sysplugins/smarty_internal_template.php | 0 .../smarty_internal_templatebase.php | 0 .../smarty_internal_templatecompilerbase.php | 0 .../smarty_internal_templatelexer.php | 0 .../smarty_internal_templateparser.php | 0 .../smarty_internal_testinstall.php | 0 .../sysplugins/smarty_internal_undefined.php | 0 .../libs/sysplugins/smarty_resource.php | 0 .../sysplugins/smarty_resource_custom.php | 0 .../sysplugins/smarty_resource_recompiled.php | 0 .../sysplugins/smarty_resource_uncompiled.php | 0 .../libs/sysplugins/smarty_security.php | 0 .../sysplugins/smarty_template_cached.php | 0 .../sysplugins/smarty_template_compiled.php | 0 .../sysplugins/smarty_template_config.php | 0 .../smarty_template_resource_base.php | 0 .../sysplugins/smarty_template_source.php | 0 .../sysplugins/smarty_undefined_variable.php | 0 .../libs/sysplugins/smarty_variable.php | 0 .../sysplugins/smartycompilerexception.php | 0 .../libs/sysplugins/smartyexception.php | 0 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 + 523 files changed, 6230 insertions(+), 6324 deletions(-) delete mode 100644 fp-includes/smarty-4.3.0/docs/appendixes/tips.md delete mode 100644 fp-includes/smarty-4.3.0/docs/appendixes/troubleshooting.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-basic-syntax/language-escaping.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-basic-syntax/language-syntax-functions.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-basic-syntax/language-syntax-quotes.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-basic-syntax/language-syntax-variables.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-append.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-assign.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-capture.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-config-load.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-extends.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-for.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-foreach.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-if.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-include.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-ldelim.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-literal.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-section.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-shortform-assign.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-while.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-combining-modifiers.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-custom-functions.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-counter.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-cycle.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-debug.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-eval.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-fetch.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-html-checkboxes.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-html-image.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-html-options.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-html-radios.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-html-select-date.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-html-select-time.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-html-table.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-mailto.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-math.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-textformat.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-modifiers.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-capitalize.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-cat.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-count-characters.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-count-words.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-date-format.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-default.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-escape.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-from-charset.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-indent.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-lower.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-nl2br.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-regex-replace.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-replace.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-spacify.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-string-format.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-strip-tags.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-strip.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-to-charset.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-truncate.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-unescape.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-upper.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-wordwrap.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-variables.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-variables/language-assigned-variables.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-variables/language-config-variables.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-variables/language-variable-scopes.md delete mode 100644 fp-includes/smarty-4.3.0/docs/designers/language-variables/language-variables-smarty.md delete mode 100644 fp-includes/smarty-4.3.0/run-tests-for-all-php-versions.sh delete mode 100644 fp-includes/smarty-4.3.0/run-tests.sh rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/CHANGELOG.md (99%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/LICENSE (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/README.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/SECURITY.md (59%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/composer.json (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/demo/configs/test.conf (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/demo/index.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/demo/plugins/cacheresource.apc.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/demo/plugins/cacheresource.memcache.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/demo/plugins/cacheresource.mysql.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/demo/plugins/cacheresource.pdo.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/demo/plugins/cacheresource.pdo_gzip.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/demo/plugins/resource.extendsall.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/demo/plugins/resource.mysql.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/demo/plugins/resource.mysqls.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/demo/templates/footer.tpl (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/demo/templates/header.tpl (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/demo/templates/index.tpl (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/_config.yml (100%) create mode 100644 fp-includes/smarty-4.3.1/docs/appendixes/tips.md create mode 100644 fp-includes/smarty-4.3.1/docs/appendixes/troubleshooting.md rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/designers/chapter-debugging-console.md (96%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/designers/config-files.md (77%) rename fp-includes/{smarty-4.3.0/docs/designers/language-basic-syntax.md => smarty-4.3.1/docs/designers/language-basic-syntax/index.md} (56%) create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-basic-syntax/language-escaping.md rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/designers/language-basic-syntax/language-math.md (59%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/designers/language-basic-syntax/language-syntax-attributes.md (52%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/designers/language-basic-syntax/language-syntax-comments.md (83%) create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-basic-syntax/language-syntax-functions.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-basic-syntax/language-syntax-quotes.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-basic-syntax/language-syntax-variables.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/index.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-append.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-assign.md rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/designers/language-builtin-functions/language-function-block.md (52%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/designers/language-builtin-functions/language-function-call.md (53%) create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-capture.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-config-load.md rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/designers/language-builtin-functions/language-function-debug.md (66%) create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-extends.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-for.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-foreach.md rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/designers/language-builtin-functions/language-function-function.md (51%) create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-if.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-include.md rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/designers/language-builtin-functions/language-function-insert.md (59%) create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-ldelim.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-literal.md rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/designers/language-builtin-functions/language-function-nocache.md (64%) create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-section.md rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/designers/language-builtin-functions/language-function-setfilter.md (52%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/designers/language-builtin-functions/language-function-strip.md (64%) create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-while.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-combining-modifiers.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/index.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-counter.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-cycle.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-debug.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-eval.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-fetch.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-html-checkboxes.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-html-image.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-html-options.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-html-radios.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-html-select-date.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-html-select-time.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-html-table.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-mailto.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-math.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-textformat.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-modifiers/index.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-capitalize.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-cat.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-count-characters.md rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/designers/language-modifiers/language-modifier-count-paragraphs.md (64%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/designers/language-modifiers/language-modifier-count-sentences.md (62%) create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-count-words.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-date-format.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-default.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-escape.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-from-charset.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-indent.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-lower.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-nl2br.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-regex-replace.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-replace.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-spacify.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-string-format.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-strip-tags.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-strip.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-to-charset.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-truncate.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-unescape.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-upper.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-wordwrap.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-variables/index.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-variables/language-assigned-variables.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-variables/language-config-variables.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-variables/language-variable-scopes.md create mode 100644 fp-includes/smarty-4.3.1/docs/designers/language-variables/language-variables-smarty.md rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/features.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/getting-started.md (87%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/index.md (83%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/philosophy.md (99%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/advanced-features.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/advanced-features/advanced-features-objects.md (97%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/advanced-features/advanced-features-outputfilters.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/advanced-features/advanced-features-postfilters.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/advanced-features/advanced-features-prefilters.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/advanced-features/advanced-features-security.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/advanced-features/advanced-features-static-classes.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/advanced-features/advanced-features-streams.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/advanced-features/advanced-features-template-inheritance.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/advanced-features/advanced-features-template-settings.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-add-config-dir.md (95%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-add-plugins-dir.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-add-template-dir.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-append-by-ref.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-append.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-assign-by-ref.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-assign.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-clear-all-assign.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-clear-all-cache.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-clear-assign.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-clear-cache.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-clear-compiled-tpl.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-clear-config.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-compile-all-config.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-compile-all-templates.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-config-load.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-create-data.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-create-template.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-disable-security.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-display.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-enable-security.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-fetch.md (95%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-get-cache-dir.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-get-compile-dir.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-get-config-dir.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-get-config-vars.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-get-plugins-dir.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-get-registered-object.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-get-tags.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-get-template-dir.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-get-template-vars.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-is-cached.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-load-filter.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-mute-expected-errors.md (89%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-register-cacheresource.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-register-class.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-register-default-plugin-handler.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-register-filter.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-register-object.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-register-plugin.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-register-resource.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-set-cache-dir.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-set-compile-dir.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-set-config-dir.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-set-plugins-dir.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-set-template-dir.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-template-exists.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-test-install.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-unregister-cacheresource.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-unregister-filter.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-unregister-object.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-unregister-plugin.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-functions/api-unregister-resource.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-variables.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-variables/variable-allow-php-templates.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-variables/variable-auto-literal.md (84%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-variables/variable-autoload-filters.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-variables/variable-cache-dir.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-variables/variable-cache-id.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-variables/variable-cache-lifetime.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-variables/variable-cache-locking.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-variables/variable-cache-modified-check.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-variables/variable-caching-type.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-variables/variable-caching.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-variables/variable-compile-check.md (91%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-variables/variable-compile-dir.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-variables/variable-compile-id.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-variables/variable-compile-locking.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-variables/variable-compiler-class.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-variables/variable-config-booleanize.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-variables/variable-config-dir.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-variables/variable-config-overwrite.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-variables/variable-config-read-hidden.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-variables/variable-debug-template.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-variables/variable-debugging-ctrl.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-variables/variable-debugging.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-variables/variable-default-config-handler-func.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-variables/variable-default-config-type.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-variables/variable-default-modifiers.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-variables/variable-default-resource-type.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-variables/variable-default-template-handler-func.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-variables/variable-direct-access-security.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-variables/variable-error-reporting.md (90%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-variables/variable-escape-html.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-variables/variable-force-cache.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-variables/variable-force-compile.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-variables/variable-left-delimiter.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-variables/variable-locking-timeout.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-variables/variable-merge-compiled-includes.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-variables/variable-plugins-dir.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-variables/variable-right-delimiter.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-variables/variable-smarty-debug-id.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-variables/variable-template-dir.md (94%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-variables/variable-trusted-dir.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-variables/variable-use-include-path.md (87%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/api-variables/variable-use-sub-dirs.md (94%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/caching.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/caching/caching-cacheable.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/caching/caching-custom.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/caching/caching-groups.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/caching/caching-multiple-caches.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/caching/caching-setting-up.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/charset.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/plugins.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/plugins/plugins-block-functions.md (97%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/plugins/plugins-compiler-functions.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/plugins/plugins-functions.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/plugins/plugins-howto.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/plugins/plugins-inserts.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/plugins/plugins-modifiers.md (96%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/plugins/plugins-naming-conventions.md (94%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/plugins/plugins-outputfilters.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/plugins/plugins-prefilters-postfilters.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/plugins/plugins-resources.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/plugins/plugins-writing.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/resources.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/resources/resources-custom.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/resources/resources-extends.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/resources/resources-file.md (98%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/resources/resources-streams.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/resources/resources-string.md (95%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/resources/template-resources.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/docs/programmers/smarty-constants.md (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/lexer/smarty_internal_configfilelexer.plex (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/lexer/smarty_internal_configfileparser.y (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/lexer/smarty_internal_templatelexer.plex (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/lexer/smarty_internal_templateparser.y (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/Autoloader.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/Smarty.class.php (99%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/bootstrap.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/debug.tpl (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/functions.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/block.textformat.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/function.counter.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/function.cycle.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/function.fetch.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/function.html_checkboxes.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/function.html_image.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/function.html_options.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/function.html_radios.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/function.html_select_date.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/function.html_select_time.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/function.html_table.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/function.mailto.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/function.math.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/modifier.capitalize.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/modifier.count.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/modifier.date_format.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/modifier.debug_print_var.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/modifier.escape.php (98%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/modifier.explode.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/modifier.mb_wordwrap.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/modifier.number_format.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/modifier.regex_replace.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/modifier.replace.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/modifier.spacify.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/modifier.truncate.php (98%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/modifiercompiler.cat.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/modifiercompiler.count_characters.php (83%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/modifiercompiler.count_paragraphs.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/modifiercompiler.count_sentences.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/modifiercompiler.count_words.php (93%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/modifiercompiler.default.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/modifiercompiler.escape.php (94%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/modifiercompiler.from_charset.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/modifiercompiler.indent.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/modifiercompiler.lower.php (78%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/modifiercompiler.nl2br.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/modifiercompiler.noprint.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/modifiercompiler.round.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/modifiercompiler.str_repeat.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/modifiercompiler.string_format.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/modifiercompiler.strip.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/modifiercompiler.strip_tags.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/modifiercompiler.strlen.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/modifiercompiler.to_charset.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/modifiercompiler.unescape.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/modifiercompiler.upper.php (75%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/modifiercompiler.wordwrap.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/outputfilter.trimwhitespace.php (96%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/shared.escape_special_chars.php (85%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/shared.literal_compiler_param.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/shared.make_timestamp.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/shared.mb_str_replace.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/shared.mb_unicode.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/plugins/variablefilter.htmlspecialchars.php (83%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_cacheresource.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_cacheresource_custom.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_cacheresource_keyvaluestore.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_data.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_block.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_cacheresource_file.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_compile_append.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_compile_assign.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_compile_block.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_compile_block_child.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_compile_block_parent.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_compile_break.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_compile_call.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_compile_capture.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_compile_child.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_compile_config_load.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_compile_continue.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_compile_debug.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_compile_eval.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_compile_extends.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_compile_for.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_compile_foreach.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_compile_function.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_compile_if.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_compile_include.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_compile_insert.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_compile_ldelim.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_compile_make_nocache.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_compile_nocache.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_compile_parent.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_compile_private_block_plugin.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_compile_private_foreachsection.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_compile_private_function_plugin.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_compile_private_modifier.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_compile_private_object_block_function.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_compile_private_object_function.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_compile_private_print_expression.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_compile_private_registered_block.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_compile_private_registered_function.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_compile_private_special_variable.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_compile_rdelim.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_compile_section.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_compile_setfilter.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_compile_shared_inheritance.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_compile_while.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_compilebase.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_config_file_compiler.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_configfilelexer.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_configfileparser.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_data.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_debug.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_errorhandler.php (79%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_extension_handler.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_method_addautoloadfilters.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_method_adddefaultmodifiers.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_method_append.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_method_appendbyref.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_method_assignbyref.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_method_assignglobal.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_method_clearallassign.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_method_clearallcache.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_method_clearassign.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_method_clearcache.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_method_clearcompiledtemplate.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_method_clearconfig.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_method_compileallconfig.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_method_compilealltemplates.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_method_configload.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_method_createdata.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_method_getautoloadfilters.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_method_getconfigvariable.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_method_getconfigvars.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_method_getdebugtemplate.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_method_getdefaultmodifiers.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_method_getglobal.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_method_getregisteredobject.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_method_getstreamvariable.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_method_gettags.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_method_gettemplatevars.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_method_literals.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_method_loadfilter.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_method_loadplugin.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_method_mustcompile.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_method_registercacheresource.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_method_registerclass.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_method_registerdefaultconfighandler.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_method_registerdefaultpluginhandler.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_method_registerdefaulttemplatehandler.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_method_registerfilter.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_method_registerobject.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_method_registerplugin.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_method_registerresource.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_method_setautoloadfilters.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_method_setdebugtemplate.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_method_setdefaultmodifiers.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_method_unloadfilter.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_method_unregistercacheresource.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_method_unregisterfilter.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_method_unregisterobject.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_method_unregisterplugin.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_method_unregisterresource.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_nocache_insert.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_parsetree.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_parsetree_code.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_parsetree_dq.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_parsetree_dqcontent.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_parsetree_tag.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_parsetree_template.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_parsetree_text.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_resource_eval.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_resource_extends.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_resource_file.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_resource_php.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_resource_stream.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_resource_string.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_runtime_cachemodify.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_runtime_cacheresourcefile.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_runtime_capture.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_runtime_codeframe.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_runtime_filterhandler.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_runtime_foreach.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_runtime_getincludepath.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_runtime_inheritance.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_runtime_make_nocache.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_runtime_tplfunction.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_runtime_updatecache.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_runtime_updatescope.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_runtime_writefile.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_smartytemplatecompiler.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_template.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_templatebase.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_templatecompilerbase.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_templatelexer.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_templateparser.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_testinstall.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_internal_undefined.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_resource.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_resource_custom.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_resource_recompiled.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_resource_uncompiled.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_security.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_template_cached.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_template_compiled.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_template_config.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_template_resource_base.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_template_source.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_undefined_variable.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smarty_variable.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smartycompilerexception.php (100%) rename fp-includes/{smarty-4.3.0 => smarty-4.3.1}/libs/sysplugins/smartyexception.php (100%) create mode 100644 fp-includes/smarty-4.3.1/mkdocs.yml create mode 100644 fp-includes/smarty-4.3.1/run-tests-for-all-php-versions.sh create mode 100644 fp-includes/smarty-4.3.1/run-tests.sh diff --git a/defaults.php b/defaults.php index 439c1907..527f8075 100755 --- a/defaults.php +++ b/defaults.php @@ -62,7 +62,7 @@ // core include scripts define('INCLUDES_DIR', FP_INCLUDES . 'core/'); // smarty engine -define('SMARTY_DIR', ABS_PATH . FP_INCLUDES . 'smarty-4.3.0/libs/'); +define('SMARTY_DIR', ABS_PATH . FP_INCLUDES . 'smarty-4.3.1/libs/'); // FlatPress specific Smarty plugins define('FP_SMARTYPLUGINS_DIR', ABS_PATH . FP_INCLUDES . 'fp-smartyplugins/'); diff --git a/fp-includes/smarty-4.3.0/docs/appendixes/tips.md b/fp-includes/smarty-4.3.0/docs/appendixes/tips.md deleted file mode 100644 index cdcc56b1..00000000 --- a/fp-includes/smarty-4.3.0/docs/appendixes/tips.md +++ /dev/null @@ -1,269 +0,0 @@ -Tips & Tricks {#tips} -============= - -Blank Variable Handling {#tips.blank.var.handling} -======================= - -There may be times when you want to print a default value for an empty -variable instead of printing nothing, such as printing ` ` so that -html table backgrounds work properly. Many would use an -[`{if}`](#language.function.if) statement to handle this, but there is a -shorthand way with Smarty, using the -[`default`](#language.modifier.default) variable modifier. - -> **Note** -> -> "Undefined variable" errors will show an E\_NOTICE if not disabled in -> PHP\'s [`error_reporting()`](&url.php-manual;error_reporting) level or -> Smarty\'s [`$error_reporting`](#variable.error.reporting) property and -> a variable had not been assigned to Smarty. - - - {* the long way *} - {if $title eq ''} -   - {else} - {$title} - {/if} - - {* the short way *} - {$title|default:' '} - - - -See also [`default`](#language.modifier.default) modifier and [default -variable handling](#tips.default.var.handling). - -Default Variable Handling {#tips.default.var.handling} -========================= - -If a variable is used frequently throughout your templates, applying the -[`default`](#language.modifier.default) modifier every time it is -mentioned can get a bit ugly. You can remedy this by assigning the -variable its default value with the -[`{assign}`](#language.function.assign) function. - - - {* do this somewhere at the top of your template *} - {assign var='title' value=$title|default:'no title'} - - {* if $title was empty, it now contains the value "no title" when you use it *} - {$title} - - - -See also [`default`](#language.modifier.default) modifier and [blank -variable handling](#tips.blank.var.handling). - -Passing variable title to header template {#tips.passing.vars} -========================================= - -When the majority of your templates use the same headers and footers, it -is common to split those out into their own templates and -[`{include}`](#language.function.include) them. But what if the header -needs to have a different title, depending on what page you are coming -from? You can pass the title to the header as an -[attribute](#language.syntax.attributes) when it is included. - -`mainpage.tpl` - When the main page is drawn, the title of "Main Page" -is passed to the `header.tpl`, and will subsequently be used as the -title. - - - {include file='header.tpl' title='Main Page'} - {* template body goes here *} - {include file='footer.tpl'} - - - -`archives.tpl` - When the archives page is drawn, the title will be -"Archives". Notice in the archive example, we are using a variable from -the `archives_page.conf` file instead of a hard coded variable. - - - {config_load file='archive_page.conf'} - - {include file='header.tpl' title=#archivePageTitle#} - {* template body goes here *} - {include file='footer.tpl'} - - - -`header.tpl` - Notice that "Smarty News" is printed if the `$title` -variable is not set, using the [`default`](#language.modifier.default) -variable modifier. - - - - - {$title|default:'Smarty News'} - - - - - -`footer.tpl` - - - - - - - -Dates {#tips.dates} -===== - -As a rule of thumb, always pass dates to Smarty as -[timestamps](&url.php-manual;time). This allows template designers to -use the [`date_format`](#language.modifier.date.format) modifier for -full control over date formatting, and also makes it easy to compare -dates if necessary. - - - {$startDate|date_format} - - - -This will output: - - - Jan 4, 2009 - - - - - {$startDate|date_format:"%Y/%m/%d"} - - - -This will output: - - - 2009/01/04 - - - -Dates can be compared in the template by timestamps with: - - - {if $order_date < $invoice_date} - ...do something.. - {/if} - - - -When using [`{html_select_date}`](#language.function.html.select.date) -in a template, the programmer will most likely want to convert the -output from the form back into timestamp format. Here is a function to -help you with that. - - - - - - -See also [`{html_select_date}`](#language.function.html.select.date), -[`{html_select_time}`](#language.function.html.select.time), -[`date_format`](#language.modifier.date.format) and -[`$smarty.now`](#language.variables.smarty.now), - -Componentized Templates {#tips.componentized.templates} -======================= - -Traditionally, programming templates into your applications goes as -follows: First, you accumulate your variables within your PHP -application, (maybe with database queries.) Then, you instantiate your -Smarty object, [`assign()`](#api.assign) the variables and -[`display()`](#api.display) the template. So lets say for example we -have a stock ticker on our template. We would collect the stock data in -our application, then assign these variables in the template and display -it. Now wouldn't it be nice if you could add this stock ticker to any -application by merely including the template, and not worry about -fetching the data up front? - -You can do this by writing a custom plugin for fetching the content and -assigning it to a template variable. - -`function.load_ticker.php` - drop file in -[`$plugins directory`](#variable.plugins.dir) - - - assign($params['assign'], $ticker_info); - } - ?> - - - -`index.tpl` - - - {load_ticker symbol='SMARTY' assign='ticker'} - - Stock Name: {$ticker.name} Stock Price: {$ticker.price} - - - -See also: [`{include}`](#language.function.include). - -Obfuscating E-mail Addresses {#tips.obfuscating.email} -============================ - -Do you ever wonder how your email address gets on so many spam mailing -lists? One way spammers collect email addresses is from web pages. To -help combat this problem, you can make your email address show up in -scrambled javascript in the HTML source, yet it it will look and work -correctly in the browser. This is done with the -[`{mailto}`](#language.function.mailto) plugin. - - -
Send inquiries to - {mailto address=$EmailAddress encode='javascript' subject='Hello'} -
- - - -> **Note** -> -> This method isn\'t 100% foolproof. A spammer could conceivably program -> his e-mail collector to decode these values, but not likely\.... -> hopefully..yet \... wheres that quantum computer :-?. - -See also [`escape`](#language.modifier.escape) modifier and -[`{mailto}`](#language.function.mailto). diff --git a/fp-includes/smarty-4.3.0/docs/appendixes/troubleshooting.md b/fp-includes/smarty-4.3.0/docs/appendixes/troubleshooting.md deleted file mode 100644 index d605dd2b..00000000 --- a/fp-includes/smarty-4.3.0/docs/appendixes/troubleshooting.md +++ /dev/null @@ -1,120 +0,0 @@ -Troubleshooting -=============== - -Smarty/PHP errors {#smarty.php.errors} -================= - -Smarty can catch many errors such as missing tag attributes or malformed -variable names. If this happens, you will see an error similar to the -following: - - - Warning: Smarty: [in index.tpl line 4]: syntax error: unknown tag - '%blah' - in /path/to/smarty/Smarty.class.php on line 1041 - - Fatal error: Smarty: [in index.tpl line 28]: syntax error: missing section name - in /path/to/smarty/Smarty.class.php on line 1041 - - - -Smarty shows you the template name, the line number and the error. After -that, the error consists of the actual line number in the Smarty class -that the error occurred. - -There are certain errors that Smarty cannot catch, such as missing close -tags. These types of errors usually end up in PHP compile-time parsing -errors. - - - Parse error: parse error in /path/to/smarty/templates_c/index.tpl.php on line 75 - - - -When you encounter a PHP parsing error, the error line number will -correspond to the compiled PHP script, NOT the template itself. Usually -you can look at the template and spot the syntax error. Here are some -common things to look for: missing close tags for -[`{if}{/if}`](#language.function.if) or -[`{section}{/section}`](#language.function.if), or syntax of logic -within an `{if}` tag. If you can\'t find the error, you might have to -open the compiled PHP file and go to the line number to figure out where -the corresponding error is in the template. - - - Warning: Smarty error: unable to read resource: "index.tpl" in... - or - Warning: Smarty error: unable to read resource: "site.conf" in... - -- The [`$template_dir`](#variable.template.dir) is incorrect, doesn\'t - exist or the file `index.tpl` is not in the `templates/` directory - -- A [`{config_load}`](#language.function.config.load) function is - within a template (or [`configLoad()`](#api.config.load) has been - called) and either [`$config_dir`](#variable.config.dir) is - incorrect, does not exist or `site.conf` is not in the directory. - - - - - Fatal error: Smarty error: the $compile_dir 'templates_c' does not exist, - or is not a directory... - - - -- Either the [`$compile_dir`](#variable.compile.dir)is incorrectly - set, the directory does not exist, or `templates_c` is a file and - not a directory. - - - - - Fatal error: Smarty error: unable to write to $compile_dir '.... - - - -- The [`$compile_dir`](#variable.compile.dir) is not writable by the - web server. See the bottom of the [installing - smarty](#installing.smarty.basic) page for more about permissions. - - - - - Fatal error: Smarty error: the $cache_dir 'cache' does not exist, - or is not a directory. in /.. - - - -- This means that [`$caching`](#variable.caching) is enabled and - either; the [`$cache_dir`](#variable.cache.dir) is incorrectly set, - the directory does not exist, or `cache/` is a file and not a - directory. - - - - - Fatal error: Smarty error: unable to write to $cache_dir '/... - - - -- This means that [`$caching`](#variable.caching) is enabled and the - [`$cache_dir`](#variable.cache.dir) is not writable by the web - server. See the bottom of the [installing - smarty](#installing.smarty.basic) page for permissions. - - - - - Warning: filemtime(): stat failed for /path/to/smarty/cache/3ab50a623e65185c49bf17c63c90cc56070ea85c.one.tpl.php - in /path/to/smarty/libs/sysplugins/smarty_resource.php - - - -- This means that your application registered a custom error handler - (using [set\_error\_handler()](&url.php-manual;set_error_handler)) - which is not respecting the given `$errno` as it should. If, for - whatever reason, this is the desired behaviour of your custom error - handler, please call - [`muteExpectedErrors()`](#api.mute.expected.errors) after you\'ve - registered your custom error handler. - -See also [debugging](#chapter.debugging.console). diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-basic-syntax/language-escaping.md b/fp-includes/smarty-4.3.0/docs/designers/language-basic-syntax/language-escaping.md deleted file mode 100644 index a62e7de8..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-basic-syntax/language-escaping.md +++ /dev/null @@ -1,84 +0,0 @@ -Escaping Smarty Parsing {#language.escaping} -======================= - -It is sometimes desirable or even necessary to have Smarty ignore -sections it would otherwise parse. A classic example is embedding -Javascript or CSS code in a template. The problem arises as those -languages use the { and } characters which are also the default -[delimiters](#language.function.ldelim) for Smarty. - -> **Note** -> -> A good practice for avoiding escapement altogether is by separating -> your Javascript/CSS into their own files and use standard HTML methods -> to access them. This will also take advantage of browser script -> caching. When you need to embed Smarty variables/functions into your -> Javascript/CSS, then the following applies. - -In Smarty templates, the { and } braces will be ignored so long as they -are surrounded by white space. This behavior can be disabled by setting -the Smarty class variable [`$auto_literal`](#variable.auto.literal) to -false. - - - - - - -[`{literal}..{/literal}`](#language.function.literal) blocks are used -for escaping blocks of template logic. You can also escape the braces -individually with -[`{ldelim}`](#language.function.ldelim),[`{rdelim}`](#language.function.ldelim) -tags or -[`{$smarty.ldelim}`,`{$smarty.rdelim}`](#language.variables.smarty.ldelim) -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`](#variable.left.delimiter) and -[`$right_delimiter`](#variable.right.delimiter) 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. - - - left_delimiter = ''; - - $smarty->assign('foo', 'bar'); - $smarty->assign('name', 'Albert'); - $smarty->display('example.tpl'); - - ?> - - - -Where the template is: - - - Welcome to Smarty - - - diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-basic-syntax/language-syntax-functions.md b/fp-includes/smarty-4.3.0/docs/designers/language-basic-syntax/language-syntax-functions.md deleted file mode 100644 index 9c8c9404..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-basic-syntax/language-syntax-functions.md +++ /dev/null @@ -1,40 +0,0 @@ -Functions {#language.syntax.functions} -========= - -Every Smarty tag either prints a [variable](#language.variables) or -invokes some sort of function. These are processed and displayed by -enclosing the function and its [attributes](#language.syntax.attributes) -within delimiters like so: `{funcname attr1="val1" attr2="val2"}`. - - - {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) and [custom - functions](#language.custom.functions) have the same syntax within - templates. - -- Built-in functions are the **inner** workings of Smarty, such as - [`{if}`](#language.function.if), - [`{section}`](#language.function.section) and - [`{strip}`](#language.function.strip). There should be no need to - change or modify them. - -- Custom functions are **additional** functions implemented via - [plugins](#plugins). They can be modified to your liking, or you can - create new ones. [`{html_options}`](#language.function.html.options) - is an example of a custom function. - -See also [`registerPlugin()`](#api.register.plugin) diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-basic-syntax/language-syntax-quotes.md b/fp-includes/smarty-4.3.0/docs/designers/language-basic-syntax/language-syntax-quotes.md deleted file mode 100644 index 6fe185c9..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-basic-syntax/language-syntax-quotes.md +++ /dev/null @@ -1,61 +0,0 @@ -Embedding Vars in Double Quotes {#language.syntax.quotes} -=============================== - -- Smarty will recognize [assigned](#api.assign) - [variables](#language.syntax.variables) embedded in \"double - quotes\" so long as the variable name contains only numbers, letters - and under\_scores. See [naming](&url.php-manual;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 Smarty3 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. - - - - - {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.modifier.escape). diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-basic-syntax/language-syntax-variables.md b/fp-includes/smarty-4.3.0/docs/designers/language-basic-syntax/language-syntax-variables.md deleted file mode 100644 index 671ad8bb..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-basic-syntax/language-syntax-variables.md +++ /dev/null @@ -1,111 +0,0 @@ -Variables {#language.syntax.variables} -========= - -Template variables start with the \$dollar sign. They can contain -numbers, letters and underscores, much like a [PHP -variable](&url.php-manual;language.variables). You can reference arrays -by index numerically or non-numerically. Also reference object -properties and methods. - -[Config file variables](#language.config.variables) are an exception to -the \$dollar syntax and are instead referenced with surrounding -\#hashmarks\#, or via the -[`$smarty.config`](#language.variables.smarty.config) variable. - - - {$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.smarty) variable. - -See also [`$smarty`](#language.variables.smarty), [config -variables](#language.config.variables) -[`{assign}`](#language.function.assign) and [`assign()`](#api.assign). diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions.md b/fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions.md deleted file mode 100644 index fa615555..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions.md +++ /dev/null @@ -1,38 +0,0 @@ -Built-in Functions {#language.builtin.functions} -================== - -## Table of contents -- [{$var=...}](./language-builtin-functions/language-function-shortform-assign.md) -- [{append}](./language-builtin-functions/language-function-append.md) -- [{assign}](./language-builtin-functions/language-function-assign.md) -- [{block}](./language-builtin-functions/language-function-block.md) -- [{call}](./language-builtin-functions/language-function-call.md) -- [{capture}](./language-builtin-functions/language-function-capture.md) -- [{config_load}](./language-builtin-functions/language-function-config.load) -- [{debug}](./language-builtin-functions/language-function-debug.md) -- [{extends}](./language-builtin-functions/language-function-extends.md) -- [{for}](./language-builtin-functions/language-function-for.md) -- [{foreach},{foreachelse}](./language-builtin-functions/language-function-foreach.md) -- [{function}](./language-builtin-functions/language-function-function.md) -- [{if},{elseif},{else}](./language-builtin-functions/language-function-if.md) -- [{include}](./language-builtin-functions/language-function-include.md) -- [{insert}](./language-builtin-functions/language-function-insert.md) -- [{ldelim},{rdelim}](./language-builtin-functions/language-function-ldelim.md) -- [{literal}](./language-builtin-functions/language-function-literal.md) -- [{nocache}](./language-builtin-functions/language-function-nocache.md) -- [{section},{sectionelse}](./language-builtin-functions/language-function-section.md) -- [{setfilter}](./language-builtin-functions/language-function-setfilter.md) -- [{strip}](./language-builtin-functions/language-function-strip.md) -- [{while}](./language-builtin-functions/language-function-while.md) - -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.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-builtin-functions/language-function-assign.md) function. diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-append.md b/fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-append.md deleted file mode 100644 index 62f2c7e1..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-append.md +++ /dev/null @@ -1,49 +0,0 @@ -{append} {#language.function.append} -======== - -`{append}` is used for creating or appending template variable arrays -**during the execution of a template**. - -> **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. - -**Attributes:** - - Attribute Name Type Required Default Description - ---------------- -------- ---------- --------- ---------------------------------------------------------------------------------------------------- - var string Yes *n/a* The name of the variable being assigned - value string Yes *n/a* The value being assigned - index string No *n/a* The index for the new array element. If not specified the value is append to the end of the array. - scope string No *n/a* The scope of the assigned variable: \'parent\',\'root\' or \'global\' - -**Option Flags:** - - Name Description - --------- ----------------------------------------------------- - nocache Assigns the variable with the \'nocache\' attribute - - - {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.0/docs/designers/language-builtin-functions/language-function-assign.md b/fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-assign.md deleted file mode 100644 index e4d50d30..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-assign.md +++ /dev/null @@ -1,148 +0,0 @@ -{assign} {#language.function.assign} -======== - -`{assign}` is used for assigning template variables **during the -execution of a template**. - -> **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. - -> **Note** -> -> See also the [`short-form`](#language.function.shortform.assign) -> method of assigning template vars. - -**Attributes:** - - Attribute Name Type Required Default Description - ---------------- -------- ---------- --------- ----------------------------------------------------------------------- - var string Yes *n/a* The name of the variable being assigned - value string Yes *n/a* The value being assigned - scope string No *n/a* The scope of the assigned variable: \'parent\',\'root\' or \'global\' - -**Option Flags:** - - Name Description - --------- ----------------------------------------------------- - nocache Assigns the variable with the \'nocache\' attribute - - - {assign var="name" value="Bob"} - {assign "name" "Bob"} {* short-hand *} - - The value of $name is {$name}. - - - -The above example will output: - - - The value of $name is Bob. - - - - - {assign var="name" value="Bob" nocache} - {assign "name" "Bob" nocache} {* short-hand *} - - The value of $name is {$name}. - - - -The above example will output: - - - The value of $name is Bob. - - - - - {assign var=running_total value=$running_total+$some_array[$row].some_value} - - - -Variables assigned in the included template will be seen in the -including template. - - - {include file="sub_template.tpl"} - ... - {* display variable assigned in sub_template *} - {$foo}
- ... - - - -The template above includes the example `sub_template.tpl` below - - - ... - {* foo will be known also in the including template *} - {assign var="foo" value="something" scope=parent} - {* bar is assigned only local in the including template *} - {assign var="bar" value="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. - - - {assign var=foo value="bar" scope="root"} - - - -A global variable is seen by all templates. - - - {assign var=foo value="bar" scope="global"} - {assign "foo" "bar" scope="global"} {* short-hand *} - - - -To access `{assign}` variables from a php script use -[`getTemplateVars()`](#api.get.template.vars). Here\'s the template that -creates the variable `$foo`. - - - {assign var="foo" value="Smarty"} - -The template variables are only available after/during template -execution as in the following script. - - - 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), -[`{textformat}`](#language.function.textformat) - -See also [`{$var=...}`](#language.function.shortform.assign), -[`assign()`](#api.assign) and -[`getTemplateVars()`](#api.get.template.vars). diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-capture.md b/fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-capture.md deleted file mode 100644 index 9121b287..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-capture.md +++ /dev/null @@ -1,82 +0,0 @@ -{capture} {#language.function.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.smarty.capture) 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 Type Required Default Description - ---------------- -------- ---------- --------- ---------------------------------------------------------------------- - name string Yes *n/a* The name of the captured block - assign string No *n/a* The variable name where to assign the captured output to - append string No *n/a* 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. - - - {* 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. - - - {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. - - - {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.smarty.capture), -[`{eval}`](#language.function.eval), -[`{fetch}`](#language.function.fetch), [`fetch()`](#api.fetch) and -[`{assign}`](#language.function.assign). diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-config-load.md b/fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-config-load.md deleted file mode 100644 index 750f337c..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-config-load.md +++ /dev/null @@ -1,91 +0,0 @@ -{config\_load} {#language.function.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 Type Required Default Description - ---------------- -------- ---------- --------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - file string Yes *n/a* The name of the config file to include - section string No *n/a* The name of the section to load - scope string no *local* 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. - -The `example.conf` file. - - - #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 - - - {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.function.section) have nothing to do with each -> other, they just happen to share a common naming convention. - - - {config_load file='example.conf' section='Customer'} - {config_load 'example.conf' 'Customer'} {* short-hand *} - - - {#pageTitle#} - - - - - - - -
FirstLastAddress
- - - - - -See [`$config_overwrite`](#variable.config.overwrite) to create arrays -of config file variables. - -See also the [config files](#config.files) page, [config -variables](#language.config.variables) page, -[`$config_dir`](#variable.config.dir), -[`getConfigVars()`](#api.get.config.vars) and -[`configLoad()`](#api.config.load). diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-extends.md b/fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-extends.md deleted file mode 100644 index 59f24645..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-extends.md +++ /dev/null @@ -1,37 +0,0 @@ -{extends} {#language.function.extends} -========= - -`{extends}` tags are used in child templates in template inheritance for -extending parent templates. For details see section of [Template -Inheritance](#advanced.features.template.inheritance). - -- 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](#resources) to extend files - outside of the [`$template_dir`](#variable.template.dir) directory. - -> **Note** -> -> When extending a variable parent like `{extends file=$parent_file}`, -> make sure you include `$parent_file` in the -> [`$compile_id`](#variable.compile.id). Otherwise Smarty cannot -> distinguish between different `$parent_file`s. - -**Attributes:** - - Attribute Name Type Required Default Description - ---------------- -------- ---------- --------- ------------------------------------------------- - file string Yes *n/a* The name of the template file which is extended - - - {extends file='parent.tpl'} - {extends 'parent.tpl'} {* short-hand *} - - - -See also [Template Inheritance](#advanced.features.template.inheritance) -and [`{block}`](#language.function.block). diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-for.md b/fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-for.md deleted file mode 100644 index 5445f6f3..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-for.md +++ /dev/null @@ -1,97 +0,0 @@ -{for} {#language.function.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 Name Shorthand Type Required Default Description - ---------------- ----------- --------- ---------- --------- -------------------------------- - max n/a integer No *n/a* Limit the number of iterations - -**Option Flags:** - - Name Description - --------- -------------------------------------- - nocache Disables caching of the `{for}` loop - - - - - - -The above example will output: - - - - - - - - $smarty->assign('to',10); - - - - - - - - -The above example will output: - - - - - - - - $smarty->assign('start',10); - $smarty->assign('to',5); - - - - - - - - -The above example will output: - - - no iteration - - - -See also [`{foreach}`](#language.function.foreach), -[`{section}`](#language.function.section) and -[`{while}`](#language.function.while) diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-foreach.md b/fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-foreach.md deleted file mode 100644 index fdd74014..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-foreach.md +++ /dev/null @@ -1,407 +0,0 @@ -{foreach},{foreachelse} {#language.function.foreach} -======================= - -`{foreach}` is used for looping over arrays of data. `{foreach}` has a -simpler and cleaner syntax than the -[`{section}`](#language.function.section) loop, and can also loop over -associative arrays. - -`{foreach $arrayvar as $itemvar}` - -`{foreach $arrayvar as $keyvar=>$itemvar}` - -> **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`](#foreach.property.index), - [`@iteration`](#foreach.property.iteration), - [`@first`](#foreach.property.first), - [`@last`](#foreach.property.last), - [`@show`](#foreach.property.show), - [`@total`](#foreach.property.total). - -- `{foreach}` constructs are [`{break}`](#foreach.construct.break), - [`{continue}`](#foreach.construct.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. - -**Option Flags:** - - Name Description - --------- ------------------------------------------ - nocache Disables caching of the `{foreach}` loop - - - assign('myColors', $arr); - ?> - - - -Template to output `$myColors` in an un-ordered list - - - - - - -The above example will output: - - - - - - - - 'John', 'lname' => 'Doe', 'email' => 'j.doe@example.com'); - $smarty->assign('myPeople', $people); - ?> - - - -Template to output `$myArray` as key/value pairs. - - - - - - -The above example will output: - - - - - - -Assign an array to Smarty, the key contains the key for each looped -value. - - - assign('contacts', array( - array('phone' => '555-555-1234', - 'fax' => '555-555-5678', - 'cell' => '555-555-0357'), - array('phone' => '800-555-4444', - 'fax' => '800-555-3333', - 'cell' => '800-555-2222') - )); - ?> - - - -The template to output `$contact`. - - - {* 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(). - - - 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');?> - ?> - - - - - {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 {#foreach.property.index} -------- - -`index` contains the current array index, starting with zero. - - - {* 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 {#foreach.property.iteration} ------------ - -`iteration` contains the current loop iteration and always starts at -one, unlike [`index`](#foreach.property.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. - - - {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. - - - {foreach $myNames as $name} - {if $name@iteration is even by 3} - {$name} - {else} - {$name} - {/if} - {/foreach} - - - -This will output something similar to this: - - - ... - ... - ... - ... - ... - ... - ... - ... - ... - ... - ... - ... - ... - - - -\@first {#foreach.property.first} -------- - -`first` is TRUE if the current `{foreach}` iteration is the initial one. -Here we display a table header row on the first iteration. - - - {* show table header at first iteration *} - - {foreach $items as $i} - {if $i@first} - - - {/if} - - - - - {/foreach} -
key - name -
{$i@key}{$i.name}
- - - -\@last {#foreach.property.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. - - - {* 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 {#foreach.property.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. - - - - {if $name@show} do something here if the array contained data {/if} - -\@total {#foreach.property.total} -------- - -`total` contains the number of iterations that this `{foreach}` will -loop. This can be used inside or after the `{foreach}`. - - - {* 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), -[`{for}`](#language.function.for) and -[`{while}`](#language.function.while) - -{break} {#foreach.construct.break} -------- - -`{break}` aborts the iteration of the array - - - {$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} {#foreach.construct.continue} ----------- - -`{continue}` leaves the current iteration and begins with the next -iteration. - - - {$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.0/docs/designers/language-builtin-functions/language-function-if.md b/fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-if.md deleted file mode 100644 index 2c1d68ee..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-if.md +++ /dev/null @@ -1,121 +0,0 @@ -{if},{elseif},{else} {#language.function.if} -==================== - -`{if}` statements in Smarty have much the same flexibility as PHP -[if](&url.php-manual;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 securty is enabled, only PHP functions from `$php_functions` property -of the securty policy are allowed. See the -[Security](#advanced.features.security) 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. - - 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 modulous \% - 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 - - - {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.0/docs/designers/language-builtin-functions/language-function-include.md b/fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-include.md deleted file mode 100644 index bda2d802..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-include.md +++ /dev/null @@ -1,192 +0,0 @@ -{include} {#language.function.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. - -- 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). - -- Variables can be passed to included templates as - [attributes](#language.syntax.attributes). 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) statement. The later - is useful to return values from the included template to the - including template. - -- Use the syntax for [template resources](#resources) to `{include}` - files outside of the [`$template_dir`](#variable.template.dir) - directory. - -**Attributes:** - - Attribute Name Type Required Default Description - ----------------- ---------------- ---------- --------- -------------------------------------------------------------------------------------------------- - file string Yes *n/a* The name of the template file to include - assign string No *n/a* The name of the variable that the output of include will be assigned to - cache\_lifetime integer No *n/a* Enable caching of this subtemplate with an individual cache lifetime - compile\_id string/integer No *n/a* Compile this subtemplate with an individual compile\_id - cache\_id string/integer No *n/a* Enable caching of this subtemplate with an individual cache\_id - scope string No *n/a* Define the scope of all in the subtemplate assigned variables: \'parent\',\'root\' or \'global\' - \[var \...\] \[var type\] No *n/a* variable to pass local to template - -**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 - - - - - {$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'} - - - - - - - {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 - - -
-

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

- -Variables assigned in the included template will be seen in the -including template. - - - {include 'sub_template.tpl' scope=parent} - ... - {* display variables assigned in sub_template *} - {$foo}
- {$bar}
- ... - - - -The template above includes the example `sub_template.tpl` below - - - ... - {assign var=foo value='something'} - {assign var=bar value='value'} - ... - -The included template will not be cached. - - - {include 'sub_template.tpl' nocache} - ... - - - -In this example included template will be cached with an individual -cache lifetime of 500 seconds. - - - {include 'sub_template.tpl' cache_lifetime=500} - ... - - - -In this example included template will be cached independent of the -global caching setting. - - - {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. - - - - {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. - - - {include 'template-in-a-template_dir-directory.tpl'} - {include './template-in-same-directory.tpl'} - {include '../template-in-parent-directory.tpl'} - - - - - {* 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), [template resources](#resources) and -[componentized templates](#tips.componentized.templates). diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-ldelim.md b/fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-ldelim.md deleted file mode 100644 index 2afda031..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-ldelim.md +++ /dev/null @@ -1,55 +0,0 @@ -{ldelim},{rdelim} {#language.function.ldelim} -================= - -`{ldelim}` and `{rdelim}` are used for [escaping](#language.escaping) -template delimiters, by default **{** and **}**. You can also use -[`{literal}{/literal}`](#language.function.literal) to escape blocks of -text eg Javascript or CSS. See also the complementary -[`{$smarty.ldelim}`](#language.variables.smarty.ldelim). - - - {* 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 - - - - - - -will output - - - - - - - - - Click here for Server Info - -See also [`{literal}`](#language.function.literal) and [escaping Smarty -parsing](#language.escaping). diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-literal.md b/fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-literal.md deleted file mode 100644 index 27ebb3ff..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-literal.md +++ /dev/null @@ -1,36 +0,0 @@ -{literal} {#language.function.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](#variable.left.delimiter) 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) 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. - - - - - - -See also [`{ldelim} {rdelim}`](#language.function.ldelim) and the -[escaping Smarty parsing](#language.escaping) page. diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-section.md b/fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-section.md deleted file mode 100644 index b28bb924..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-section.md +++ /dev/null @@ -1,644 +0,0 @@ -{section},{sectionelse} {#language.function.section} -======================= - -A `{section}` is for looping over **sequentially indexed arrays of -data**, unlike [`{foreach}`](#language.function.foreach) 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) 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) loop. - - Attribute Name Type Required Default Description - ---------------- --------- ---------- --------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - name string Yes *n/a* The name of the section - loop mixed Yes *n/a* Value to determine the number of loop iterations - start integer No *0* 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. - step integer No *1* 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. - max integer No *n/a* Sets the maximum number of times the section will loop. - show boolean No *TRUE* Determines whether or not to show this section - -**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](&url.php-manual;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.smarty.loops) - where "name" is the attribute `name`. - -- `{section}` properties are [`index`](#section.property.index), - [`index_prev`](#section.property.index.prev), - [`index_next`](#section.property.index.next), - [`iteration`](#section.property.iteration), - [`first`](#section.property.first), - [`last`](#section.property.last), - [`rownum`](#section.property.rownum), - [`loop`](#section.property.loop), [`show`](#section.property.show), - [`total`](#section.property.total). - -[`assign()`](#api.assign) an array to Smarty - - - assign('custid',$data); - ?> - -The template that outputs the array - - - {* 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: - - - id: 1000
- id: 1001
- id: 1002
-
- id: 1002
- id: 1001
- id: 1000
- - - - - {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: - - - 10 12 14 16 18 -
- 20 18 16 14 12 10 - - - -The `name` of the `{section}` can be anything you like, see [PHP -variables](&url.php-manual;language.variables). It is used to reference -the data within the `{section}`. - - - {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. - - - 'John Smith', 'home' => '555-555-5555', - 'cell' => '666-555-5555', 'email' => 'john@myexample.com'), - array('name' => 'Jack Jones', 'home' => '777-555-5555', - 'cell' => '888-555-5555', 'email' => 'jack@myexample.com'), - array('name' => 'Jane Munson', 'home' => '000-555-5555', - 'cell' => '123456', 'email' => 'jane@myexample.com') - ); - $smarty->assign('contacts',$data); - ?> - - - -The template to output `$contacts` - - - {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: - - -

- 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. - - - assign('custid',$id); - - $fullnames = array('John Smith','Jack Jones','Jane Munson'); - $smarty->assign('name',$fullnames); - - $addr = array('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. - - - {section name=customer loop=$custid} -

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

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

- 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 -multi-dimensional arrays. This is an example `.php` script that -assigns the arrays. - - - assign('custid',$id); - - $fullnames = array('John Smith','Jack Jones','Jane Munson'); - $smarty->assign('name',$fullnames); - - $addr = array('253 N 45th', '417 Mulberry ln', '5605 apple st'); - $smarty->assign('address',$addr); - - $types = array( - array( 'home phone', 'cell phone', 'e-mail'), - array( 'home phone', 'web'), - array( 'cell phone') - ); - $smarty->assign('contact_type', $types); - - $info = array( - array('555-555-5555', '666-555-5555', 'john@myexample.com'), - array( '123-456-4', 'www.example.com'), - array( '0457878') - ); - $smarty->assign('contact_info', $info); - - ?> - - -In this template, *\$contact\_type\[customer\]* is an array of contact -types for the current customer. - - - {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: - - -
- 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 - - - assign('contacts', $db->getAll($sql)); - ?> - -The template to output the database result in a HTML table - - - - - {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 {#section.property.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`](#section.property.iteration) property, -> except it starts at zero instead of one. - -> **Note** -> -> `$custid[customer.index]` and `$custid[customer]` are identical. - - - {section name=customer loop=$custid} - {$smarty.section.customer.index} id: {$custid[customer]}
- {/section} - - - -The above example will output: - - - 0 id: 1000
- 1 id: 1001
- 2 id: 1002
- - - -.index\_prev {#section.property.index.prev} ------------- - -`index_prev` is the previous loop index. On the first loop, this is set -to -1. - -.index\_next {#section.property.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. - - - assign('rows',$data); - ?> - -Template to output the above array in a table - - - {* $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 {#section.property.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`](#section.property.index) property. -> `iteration` also starts with one instead of zero unlike `index`. -> [`rownum`](#section.property.rownum) is an alias to `iteration`, they -> are identical. - - - assign('arr',$id); - ?> - -Template to output every other element of the `$arr` array as `step=2` - - - {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: - - - 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. - - - - {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 that uses the `iteration` property to alternate a text color every -third row. - - - - {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 {#section.property.first} ------- - -`first` is set to TRUE if the current `{section}` iteration is the -initial one. - -.last {#section.property.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`](#section.property.total) property. - - - {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 {#section.property.rownum} -------- - -`rownum` contains the current loop iteration, starting with one. It is -an alias to [`iteration`](#section.property.iteration), they work -identically. - -.loop {#section.property.loop} ------ - -`loop` contains the last index number that this {section} looped. This -can be used inside or after the `{section}`. - - - {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: - - - 0 id: 1000
- 1 id: 1001
- 2 id: 1002
- There are 3 customers shown above. - - - -.show {#section.property.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 or not this section shows. - - - {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: - - - 1 id: 1000
- 2 id: 1001
- 3 id: 1002
- - the section was shown. - - - -.total {#section.property.total} ------- - -`total` contains the number of iterations that this `{section}` will -loop. This can be used inside or after a `{section}`. - - - {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), -[`{for}`](#language.function.for), [`{while}`](#language.function.while) -and [`$smarty.section`](#language.variables.smarty.loops). diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-shortform-assign.md b/fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-shortform-assign.md deleted file mode 100644 index d6a9e979..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-shortform-assign.md +++ /dev/null @@ -1,84 +0,0 @@ -{\$var=\...} {#language.function.shortform.assign} -============ - -This is a short-hand version of the {assign} function. You can assign -values directly to the template, or assign values to array elements too. - -> **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. - -The following attributes can be added to the tag: - -**Attributes:** - - Attribute Name Shorthand Type Required Default Description - ---------------- ----------- -------- ---------- --------- ----------------------------------------------------------------------- - scope n/a string No *n/a* The scope of the assigned variable: \'parent\',\'root\' or \'global\' - -**Option Flags:** - - Name Description - --------- ----------------------------------------------------- - nocache Assigns the variable with the \'nocache\' attribute - - - {$name='Bob'} - - The value of $name is {$name}. - - - -The above example will output: - - - The value of $name is Bob. - - - - - {$running_total=$running_total+$some_array[row].some_value} - - - - - {$user.name="Bob"} - - - - - {$user.name.first="Bob"} - - - - - {$users[]="Bob"} - - - -Variables assigned in the included template will be seen in the -including template. - - - {include file="sub_template.tpl"} - ... - {* display variable assigned in sub_template *} - {$foo}
- ... - - - -The template above includes the example `sub_template.tpl` below - - - ... - {* foo will be known also in the including template *} - {$foo="something" scope=parent} - {* bar is assigned only local in the including template *} - {$bar="value"} - ... - -See also [`{assign}`](#language.function.assign) and -[`{append}`](#language.function.append) diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-while.md b/fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-while.md deleted file mode 100644 index 755c091f..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-while.md +++ /dev/null @@ -1,43 +0,0 @@ -{while} {#language.function.while} -======= - -`{while}` loops in Smarty have much the same flexibility as PHP -[while](&url.php-manual;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. - - 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 modulous \% - 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 - - - - {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), -[`{for}`](#language.function.for) and -[`{section}`](#language.function.section). diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-combining-modifiers.md b/fp-includes/smarty-4.3.0/docs/designers/language-combining-modifiers.md deleted file mode 100644 index edf1a83e..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-combining-modifiers.md +++ /dev/null @@ -1,35 +0,0 @@ -Combining Modifiers {#language.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. - - - assign('articleTitle', 'Smokers are Productive, but Death Cuts Efficiency.'); - - ?> - -where template is: - - - {$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.0/docs/designers/language-custom-functions.md b/fp-includes/smarty-4.3.0/docs/designers/language-custom-functions.md deleted file mode 100644 index 20ad54e9..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-custom-functions.md +++ /dev/null @@ -1,21 +0,0 @@ -Custom Functions {#language.custom.functions} -================ - -Smarty comes with several custom plugin functions that you can use in -the templates. - -## Table of contents -- [{counter}](./language-custom-functions/language-function-counter.md) -- [{cycle}](./language-custom-functions/language-function-cycle.md) -- [{eval}](./language-custom-functions/language-function-eval.md) -- [{fetch}](./language-custom-functions/language-function-fetch.md) -- [{html_checkboxes}](./language-custom-functions/language-function-html-checkboxes.md) -- [{html_image}](./language-custom-functions/language-function-html-image.md) -- [{html_options}](./language-custom-functions/language-function-html-options.md) -- [{html_radios}](./language-custom-functions/language-function-html-radios.md) -- [{html_select_date}](./language-custom-functions/language-function-html-select-date.md) -- [{html_select_time}](./language-custom-functions/language-function-html-select-time.md) -- [{html_table}](./language-custom-functions/language-function-html-table.md) -- [{mailto}](./language-custom-functions/language-function-mailto.md) -- [{math}](./language-custom-functions/language-function-math.md) -- [{textformat}](./language-custom-functions/language-function-textformat.md) diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-counter.md b/fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-counter.md deleted file mode 100644 index cc1ac08f..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-counter.md +++ /dev/null @@ -1,41 +0,0 @@ -{counter} {#language.function.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 or not 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. - -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. - - Attribute Name Type Required Default Description - ---------------- --------- ---------- ----------- ------------------------------------------------------ - name string No *default* The name of the counter - start number No *1* The initial number to start counting from - skip number No *1* The interval to count by - direction string No *up* The direction to count (up/down) - print boolean No *TRUE* Whether or not to print the value - assign string No *n/a* the template variable the output will be assigned to - - - {* initialize the count *} - {counter start=0 skip=2}
- {counter}
- {counter}
- {counter}
- - - -this will output: - - - 0
- 2
- 4
- 6
- - diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-cycle.md b/fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-cycle.md deleted file mode 100644 index 5986e632..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-cycle.md +++ /dev/null @@ -1,57 +0,0 @@ -{cycle} {#language.function.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. - - Attribute Name Type Required Default Description - ---------------- --------- ---------- ----------- ------------------------------------------------------------------------------------------------------------- - name string No *default* The name of the cycle - values mixed Yes *N/A* The values to cycle through, either a comma delimited list (see delimiter attribute), or an array of values - print boolean No *TRUE* Whether to print the value or not - advance boolean No *TRUE* Whether or not to advance to the next value - delimiter string No *,* The delimiter to use in the values attribute - assign string No *n/a* The template variable the output will be assigned to - reset boolean No *FALSE* The cycle will be set to the first value and not advanced - -- You can `{cycle}` through more than one set of values in a template - by supplying a `name` attribute. Give each `{cycle}` an 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. - - - - - {section name=rows loop=$data} - - {$data[rows]} - - {/section} - - - -The above template would output: - - - - 1 - - - 2 - - - 3 - - - diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-debug.md b/fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-debug.md deleted file mode 100644 index 79b3477c..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-debug.md +++ /dev/null @@ -1,15 +0,0 @@ -{debug} {#language.function.debug} -======= - -`{debug}` dumps the debug console to the page. This works regardless of -the [debug](#chapter.debugging.console) settings in the php script. -Since this gets executed at runtime, this is only able to show the -[assigned](#api.assign) 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 Type Required Default Description - ---------------- -------- ---------- -------------- --------------------------------- - output string No *javascript* output type, html or javascript - -See also the [debugging console page](#chapter.debugging.console). diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-eval.md b/fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-eval.md deleted file mode 100644 index e11f57e3..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-eval.md +++ /dev/null @@ -1,84 +0,0 @@ -{eval} {#language.function.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. - -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. - - Attribute Name Type Required Default Description - ---------------- -------- ---------- --------- ------------------------------------------------------ - var mixed Yes *n/a* Variable (or string) to evaluate - assign string No *n/a* The template variable the output will be assigned to - -> **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](#caching) -> 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. -> -The contents of the config file, `setup.conf`. - - - 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: - - - {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: - - - 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. - - - assign('foo',$str); - ?> - - - -Where the template is: - - - {eval var=$foo} - - diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-fetch.md b/fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-fetch.md deleted file mode 100644 index 3dbc5610..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-fetch.md +++ /dev/null @@ -1,59 +0,0 @@ -{fetch} {#language.function.fetch} -======= - -`{fetch}` is used to retrieve files from the local file system, http, or -ftp and display the contents. - -- If the file name begins with `http://`, the web site 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](#advanced.features.security) 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. - - Attribute Name Type Required Default Description - ---------------- -------- ---------- --------- ------------------------------------------------------ - file string Yes *n/a* The file, http or ftp site to fetch - assign string No *n/a* The template variable the output will be assigned to - - - {* 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.function.capture), -[`{eval}`](#language.function.eval), -[`{assign}`](#language.function.assign) and [`fetch()`](#api.fetch). diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-html-checkboxes.md b/fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-html-checkboxes.md deleted file mode 100644 index 23af713b..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-html-checkboxes.md +++ /dev/null @@ -1,113 +0,0 @@ -{html\_checkboxes} {#language.function.html.checkboxes} -================== - -`{html_checkboxes}` is a [custom function](#language.custom.functions) -that creates an html checkbox group with provided data. It takes care of -which item(s) are selected by default as well. - - Attribute Name Type Required Default Description - ---------------- ------------------- ------------------------------------- ------------ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - name string No *checkbox* Name of checkbox list - values array Yes, unless using options attribute *n/a* An array of values for checkbox buttons - output array Yes, unless using options attribute *n/a* An array of output for checkbox buttons - selected string/array No *empty* The selected checkbox element(s) - options associative array Yes, unless using values and output *n/a* An associative array of values and output - separator string No *empty* String of text to separate each checkbox item - assign string No *empty* Assign checkbox tags to an array instead of output - labels boolean No *TRUE* Add \-tags to the output - label\_ids boolean No *FALSE* Add id-attributes to \ and \ to the output - escape boolean No *TRUE* Escape the output / content (values are always escaped) - strict boolean No *FALSE* 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 - -- 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. - - - - - 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 - - - {html_checkboxes name='id' values=$cust_ids output=$cust_names - selected=$customer_id separator='
'} - - - -or where PHP code is: - - - assign('cust_checkboxes', array( - 1000 => 'Joe Schmoe', - 1001 => 'Jack Smith', - 1002 => 'Jane Johnson', - 1003 => 'Charlie Brown') - ); - $smarty->assign('customer_id', 1001); - - ?> - - - -and the template is - - - {html_checkboxes name='id' options=$cust_checkboxes - selected=$customer_id separator='
'} - - - -both examples will output: - - -
- -
-
-
- - - - - 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. - - - {html_checkboxes name='contact_type_id' options=$contact_types - selected=$contact.contact_type_id separator='
'} - -See also [`{html_radios}`](#language.function.html.radios) and -[`{html_options}`](#language.function.html.options) diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-html-image.md b/fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-html-image.md deleted file mode 100644 index e21f2a12..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-html-image.md +++ /dev/null @@ -1,56 +0,0 @@ -{html\_image} {#language.function.html.image} -============= - -`{html_image}` is a [custom function](#language.custom.functions) that -generates an HTML `` tag. The `height` and `width` are -automatically calculated from the image file if they are not supplied. - - Attribute Name Type Required Default Description - ---------------- -------- ---------- ----------------------- --------------------------------------- - file string Yes *n/a* name/path to image - height string No *actual image height* Height to display image - width string No *actual image width* Width to display image - basedir string no *web server doc root* Directory to base relative paths from - alt string no *""* Alternative description of the image - href string no *n/a* href value to link the image to - path\_prefix string no *n/a* 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](#advanced.features.security) - 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](#caching), it is generally better to avoid `{html_image}` -> and leave image tags static for optimal performance. - - - {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: - - - - - - - diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-html-options.md b/fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-html-options.md deleted file mode 100644 index b7c04e94..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-html-options.md +++ /dev/null @@ -1,155 +0,0 @@ -{html\_options} {#language.function.html.options} -=============== - -`{html_options}` is a [custom function](#language.custom.functions) 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. - - - {html_options name=foo options=$myOptions selected=$mySelect} - - - -Output of the above example would be: - - - - - - assign('cust_ids', array(56,92,13)); - $smarty->assign('cust_names', array( - '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()`](&url.php-manual;function.count) function as a -modifier to set the select size). - - - - - - -The above example would output: - - - - - - - - - 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.modifier.truncate) modifier. - - - - - - - - '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 - - - {html_options name=foo options=$lookups selected=$fav} - - - -would output: - - - - -See also [`{html_checkboxes}`](#language.function.html.checkboxes) and -[`{html_radios}`](#language.function.html.radios) diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-html-radios.md b/fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-html-radios.md deleted file mode 100644 index 992adaea..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-html-radios.md +++ /dev/null @@ -1,112 +0,0 @@ -{html\_radios} {#language.function.html.radios} -============== - -`{html_radios}` is a [custom function](#language.custom.functions) that -creates a HTML radio button group. It also takes care of which item is -selected by default as well. - - Attribute Name Type Required Default Description - ---------------- ------------------- ------------------------------------- --------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - name string No *radio* Name of radio list - values array Yes, unless using options attribute *n/a* An array of values for radio buttons - output array Yes, unless using options attribute *n/a* An array of output for radio buttons - selected string No *empty* The selected radio element - options associative array Yes, unless using values and output *n/a* An associative array of values and output - separator string No *empty* String of text to separate each radio item - assign string No *empty* Assign radio tags to an array instead of output - labels boolean No *TRUE* Add \-tags to the output - label\_ids boolean No *FALSE* Add id-attributes to \ and \ to the output - escape boolean No *TRUE* Escape the output / content (values are always escaped) - strict boolean No *FALSE* 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 - -- 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 output as - name/value-pairs inside each of the created ``-tags. - - - - - 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: - - - {html_radios name='id' values=$cust_ids output=$cust_names - selected=$customer_id separator='
'} - - - - - assign('cust_radios', array( - 1000 => 'Joe Schmoe', - 1001 => 'Jack Smith', - 1002 => 'Jane Johnson', - 1003 => 'Charlie Brown')); - $smarty->assign('customer_id', 1001); - - ?> - - - -Where template is: - - - {html_radios name='id' options=$cust_radios - selected=$customer_id separator='
'} - - - -Both examples will output: - - -
-
-
-
- - - - - 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)); - - ?> - - - -The variable assigned from the database above would be output with the -template: - - - {html_radios name='contact_type_id' options=$contact_types - selected=$contact.contact_type_id separator='
'} - - - -See also [`{html_checkboxes}`](#language.function.html.checkboxes) and -[`{html_options}`](#language.function.html.options) diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-html-select-date.md b/fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-html-select-date.md deleted file mode 100644 index b46eb041..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-html-select-date.md +++ /dev/null @@ -1,119 +0,0 @@ -{html\_select\_date} {#language.function.html.select.date} -==================== - -`{html_select_date}` is a [custom function](#language.custom.functions) -that creates date dropdowns. It can display any or all of year, month, -and day. All parameters that are not in the list below are printed as -name/value-pairs inside the ` - - - - ..... snipped ..... - - - - - - - - - - - {* start and end year can be relative to current year *} - {html_select_date prefix='StartDate' time=$time start_year='-5' - end_year='+1' display_days=false} - - - -With 2000 as the current year the output: - - - - - - - -See also [`{html_select_time}`](#language.function.html.select.time), -[`date_format`](#language.modifier.date.format), -[`$smarty.now`](#language.variables.smarty.now) and the [date tips -page](#tips.dates). diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-html-select-time.md b/fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-html-select-time.md deleted file mode 100644 index 6ccc5990..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-html-select-time.md +++ /dev/null @@ -1,98 +0,0 @@ -{html\_select\_time} {#language.function.html.select.time} -==================== - -`{html_select_time}` is a [custom function](#language.custom.functions) -that creates time dropdowns for you. It can display any or all of hour, -minute, second and meridian. - -The `time` attribute can have different formats. It can be a unique -timestamp, a string of the format `YYYYMMDDHHMMSS` or a string that is -parseable by PHP\'s [`strtotime()`](&url.php-manual;strtotime). - - Attribute Name Type Required Default Description - ----------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------- ---------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - prefix string No Time\_ What to prefix the var name with - time [timestamp](&url.php-manual;function.time), [DateTime](&url.php-manual;class.DateTime), mysql timestamp or any string parsable by [`strtotime()`](&url.php-manual;strtotime), arrays as produced by this function if field\_array is set. No current [timestamp](&url.php-manual;function.time) What date/time to pre-select. If an array is given, the attributes field\_array and prefix are used to identify the array elements to extract hour, minute, second and meridian from. - display\_hours boolean No TRUE Whether or not to display hours - display\_minutes boolean No TRUE Whether or not to display minutes - display\_seconds boolean No TRUE Whether or not to display seconds - display\_meridian boolean No TRUE Whether or not to display meridian (am/pm) - use\_24\_hours boolean No TRUE Whether or not to use 24 hour clock - minute\_interval integer No 1 Number interval in minute dropdown - second\_interval integer No 1 Number interval in second dropdown - hour\_format string No \%02d What format the hour label should be in (sprintf) - hour\_value\_format string No \%20d What format the hour value should be in (sprintf) - minute\_format string No \%02d What format the minute label should be in (sprintf) - minute\_value\_format string No \%20d What format the minute value should be in (sprintf) - second\_format string No \%02d What format the second label should be in (sprintf) - second\_value\_format string No \%20d What format the second value should be in (sprintf) - field\_array string No n/a Outputs values to array of this name - all\_extra string No null Adds extra attributes to select/input tags if given - hour\_extra string No null Adds extra attributes to select/input tags if given - minute\_extra string No null Adds extra attributes to select/input tags if given - second\_extra string No null Adds extra attributes to select/input tags if given - meridian\_extra string No null Adds extra attributes to select/input tags if given - field\_separator string No \\n String printed between different fields - option\_separator string No \\n String printed between different options of a field - all\_id string No null Adds id-attribute to all select/input tags if given - hour\_id string No null Adds id-attribute to select/input tags if given - minute\_id string No null Adds id-attribute to select/input tags if given - second\_id string No null Adds id-attribute to select/input tags if given - meridian\_id string No null Adds id-attribute to select/input tags if given - all\_empty string No null If supplied then the first element of any select-box has this value as it\'s label and "" as it\'s value. This is useful to make the select-boxes read "Please select" for example. - hour\_empty string No null If supplied then the first element of the hour\'s select-box has this value as it\'s label and "" as it\'s value. This is useful to make the select-box read "Please select an hour" for example. - minute\_empty string No null If supplied then the first element of the minute\'s select-box has this value as it\'s label and "" as it\'s value. This is useful to make the select-box read "Please select an minute" for example. - second\_empty string No null If supplied then the first element of the second\'s select-box has this value as it\'s label and "" as it\'s value. This is useful to make the select-box read "Please select an second" for example. - meridian\_empty string No null If supplied then the first element of the meridian\'s select-box has this value as it\'s label and "" as it\'s value. This is useful to make the select-box read "Please select an meridian" for example. - - - {html_select_time use_24_hours=true} - - - -At 9:20 and 23 seconds in the morning the template above would output: - - - - - - - - - -See also [`$smarty.now`](#language.variables.smarty.now), -[`{html_select_date}`](#language.function.html.select.date) and the -[date tips page](#tips.dates). diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-html-table.md b/fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-html-table.md deleted file mode 100644 index fed4ae4d..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-html-table.md +++ /dev/null @@ -1,89 +0,0 @@ -{html\_table} {#language.function.html.table} -============= - -`{html_table}` is a [custom function](#language.custom.functions) that -dumps an array of data into an HTML ``. - - Attribute Name Type Required Default Description - ---------------- --------- ---------- ---------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - loop array Yes *n/a* Array of data to loop through - cols mixed No *3* Number of columns in the table or a comma-separated list of column heading names or an array of column heading names.if the cols-attribute is empty, but rows are given, then the number of cols is computed by the number of rows and the number of elements to display to be just enough cols to display all elements. If both, rows and cols, are omitted cols defaults to 3. if given as a list or array, the number of columns is computed from the number of elements in the list or array. - rows integer No *empty* Number of rows in the table. if the rows-attribute is empty, but cols are given, then the number of rows is computed by the number of cols and the number of elements to display to be just enough rows to display all elements. - inner string No *cols* Direction of consecutive elements in the loop-array to be rendered. *cols* means elements are displayed col-by-col. *rows* means elements are displayed row-by-row. - caption string No *empty* Text to be used for the `
` element of the table - table\_attr string No *border=\"1\"* Attributes for `` tag - th\_attr string No *empty* Attributes for `` tag (arrays are cycled) - td\_attr string No *empty* Attributes for `
` tag (arrays are cycled) - tr\_attr string No *empty* attributes for `
` tag (arrays are cycled) - trailpad string No * * Value to pad the trailing cells on last row with (if any) - hdir string No *right* Direction of each row to be rendered. possible values: *right* (left-to-right), and *left* (right-to-left) - vdir string No *down* Direction of each column to be rendered. possible values: *down* (top-to-bottom), *up* (bottom-to-top) - -- The `cols` attribute determines how many columns will be in the - table. - -- The `table_attr`, `tr_attr` and `td_attr` values determine the - attributes given to the ``, `` and ` + + +{/section} +``` + +The above template would output: + +```html + + + + + + + + + +``` 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 new file mode 100644 index 00000000..78861453 --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-debug.md @@ -0,0 +1,14 @@ +# {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 new file mode 100644 index 00000000..70c7a3d1 --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-eval.md @@ -0,0 +1,81 @@ +# {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 new file mode 100644 index 00000000..2ff494fd --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-fetch.md @@ -0,0 +1,61 @@ +# {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 new file mode 100644 index 00000000..3ab36096 --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-html-checkboxes.md @@ -0,0 +1,102 @@ +# {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 new file mode 100644 index 00000000..7ecde265 --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-html-image.md @@ -0,0 +1,58 @@ +# {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 new file mode 100644 index 00000000..a63ccc56 --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-html-options.md @@ -0,0 +1,146 @@ +# {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 new file mode 100644 index 00000000..af8ecda6 --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-html-radios.md @@ -0,0 +1,104 @@ +# {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
` tags. - -- If `tr_attr` or `td_attr` are arrays, they will be cycled through. - -- `trailpad` is the value put into the trailing cells on the last - table row if there are any present. - - - - - assign( 'data', array(1,2,3,4,5,6,7,8,9) ); - $smarty->assign( 'tr', array('bgcolor="#eeeeee"','bgcolor="#dddddd"') ); - $smarty->display('index.tpl'); - ?> - - - -The variables assigned from php could be displayed as these three -examples demonstrate. Each example shows the template followed by -output. - - - {**** Example One ****} - {html_table loop=$data} - - - - - - - -
123
456
789
- - - {**** Example Two ****} - {html_table loop=$data cols=4 table_attr='border="0"'} - - - - - - - -
1234
5678
9   
- - - {**** Example Three ****} - {html_table loop=$data cols="first,second,third,fourth" tr_attr=$tr} - - - - - - - - - - - - -
firstsecondthirdfourth
1234
5678
9   
- - diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-mailto.md b/fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-mailto.md deleted file mode 100644 index cc5bf696..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-mailto.md +++ /dev/null @@ -1,56 +0,0 @@ -{mailto} {#language.function.mailto} -======== - -`{mailto}` automates the creation of a `mailto:` anchor links and -optionally encodes them. Encoding emails makes it more difficult for web -spiders to lift email addresses off of a site. - -> **Note** -> -> Javascript is probably the most thorough form of encoding, although -> you can use hex encoding too. - - Attribute Name Type Required Default Description - ---------------- -------- ---------- --------- ----------------------------------------------------------------------------------------------- - address string Yes *n/a* The e-mail address - text string No *n/a* The text to display, default is the e-mail address - encode string No *none* How to encode the e-mail. Can be one of `none`, `hex`, `javascript` or `javascript_charcode`. - cc string No *n/a* Email addresses to carbon copy, separate entries by a comma. - bcc string No *n/a* Email addresses to blind carbon copy, separate entries by a comma - subject string No *n/a* Email subject - newsgroups string No *n/a* Newsgroups to post to, separate entries by a comma. - followupto string No *n/a* Addresses to follow up to, separate entries by a comma. - extra string No *n/a* Any extra information you want passed to the link, such as style sheet classes - - - {mailto address="me@example.com"} - me@example.com - - {mailto address="me@example.com" text="send me some mail"} - send me some mail - - {mailto address="me@example.com" encode="javascript"} - - - {mailto address="me@example.com" encode="hex"} - m&..snipped...#x6f;m - - {mailto address="me@example.com" subject="Hello to you!"} - me@example.com - - {mailto address="me@example.com" cc="you@example.com,they@example.com"} - me@example.com - - {mailto address="me@example.com" extra='class="email"'} - - - {mailto address="me@example.com" encode="javascript_charcode"} - - -See also [`escape`](#language.modifier.escape), -[`{textformat}`](#language.function.textformat) and [obfuscating email -addresses](#tips.obfuscating.email). diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-math.md b/fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-math.md deleted file mode 100644 index 9adfd1c5..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-math.md +++ /dev/null @@ -1,104 +0,0 @@ -{math} {#language.function.math} -====== - -`{math}` allows the template designer to do math equations in the -template. - -- Any numeric template variables may be used in the equations, and the - result is printed in place of the tag. - -- The variables used in the equation are passed as parameters, which - can be template variables or static values. - -- +, -, /, \*, abs, ceil, cos, exp, floor, log, log10, max, min, pi, - pow, rand, round, sin, sqrt, srans and tan are all valid operators. - Check the PHP documentation for further information on these - [math](&url.php-manual;eval) functions. - -- If you supply the `assign` attribute, the output of the `{math}` - function will be assigned to this template variable instead of being - output to the template. - -> **Note** -> -> `{math}` is an expensive function in performance due to its use of the -> php [`eval()`](&url.php-manual;eval) function. Doing the math in PHP -> is much more efficient, so whenever possible do the math calculations -> in the script and [`assign()`](#api.assign) the results to the -> template. Definitely avoid repetitive `{math}` function calls, eg -> within [`{section}`](#language.function.section) loops. - - Attribute Name Type Required Default Description - ---------------- --------- ---------- --------- -------------------------------------------------- - equation string Yes *n/a* The equation to execute - format string No *n/a* The format of the result (sprintf) - var numeric Yes *n/a* Equation variable value - assign string No *n/a* Template variable the output will be assigned to - \[var \...\] numeric Yes *n/a* Equation variable value - -**Example a:** - - - {* $height=4, $width=5 *} - - {math equation="x + y" x=$height y=$width} - - - -The above example will output: - - - 9 - - - -**Example b:** - - - {* $row_height = 10, $row_width = 20, #col_div# = 2, assigned in template *} - - {math equation="height * width / division" - height=$row_height - width=$row_width - division=#col_div#} - - - -The above example will output: - - - 100 - - - -**Example c:** - - - {* you can use parenthesis *} - - {math equation="(( x + y ) / z )" x=2 y=10 z=2} - - - -The above example will output: - - - 6 - - - -**Example d:** - - - {* you can supply a format parameter in sprintf format *} - - {math equation="x + y" x=4.4444 y=5.0000 format="%.2f"} - - - -The above example will output: - - - 9.44 - - diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-textformat.md b/fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-textformat.md deleted file mode 100644 index d0cd4cfc..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-custom-functions/language-function-textformat.md +++ /dev/null @@ -1,190 +0,0 @@ -{textformat} {#language.function.textformat} -============ - -`{textformat}` is a [block function](#plugins.block.functions) used to -format text. It basically cleans up spaces and special characters, and -formats paragraphs by wrapping at a boundary and indenting lines. - -You can set the parameters explicitly, or use a preset style. Currently -"email" is the only available style. - - Attribute Name Type Required Default Description - ---------------- --------- ---------- ------------------ ---------------------------------------------------------------------------------------- - style string No *n/a* Preset style - indent number No *0* The number of chars to indent every line - indent\_first number No *0* The number of chars to indent the first line - indent\_char string No *(single space)* The character (or string of chars) to indent with - wrap number No *80* How many characters to wrap each line to - wrap\_char string No *\\n* The character (or string of chars) to break each line with - wrap\_cut boolean No *FALSE* If TRUE, wrap will break the line at the exact character instead of at a word boundary - assign string No *n/a* The template variable the output will be assigned to - - - {textformat wrap=40} - - This is foo. - This is foo. - This is foo. - This is foo. - This is foo. - This is foo. - - This is bar. - - bar foo bar foo foo. - bar foo bar foo foo. - bar foo bar foo foo. - bar foo bar foo foo. - bar foo bar foo foo. - bar foo bar foo foo. - bar foo bar foo foo. - - {/textformat} - - - - -The above example will output: - - - - This is foo. This is foo. This is foo. - This is foo. This is foo. This is foo. - - This is bar. - - bar foo bar foo foo. bar foo bar foo - foo. bar foo bar foo foo. bar foo bar - foo foo. bar foo bar foo foo. bar foo - bar foo foo. bar foo bar foo foo. - - - - - {textformat wrap=40 indent=4} - - This is foo. - This is foo. - This is foo. - This is foo. - This is foo. - This is foo. - - This is bar. - - bar foo bar foo foo. - bar foo bar foo foo. - bar foo bar foo foo. - bar foo bar foo foo. - bar foo bar foo foo. - bar foo bar foo foo. - bar foo bar foo foo. - - {/textformat} - - - - -The above example will output: - - - - This is foo. This is foo. This is - foo. This is foo. This is foo. This - is foo. - - This is bar. - - bar foo bar foo foo. bar foo bar foo - foo. bar foo bar foo foo. bar foo - bar foo foo. bar foo bar foo foo. - bar foo bar foo foo. bar foo bar - foo foo. - - - - - {textformat wrap=40 indent=4 indent_first=4} - - This is foo. - This is foo. - This is foo. - This is foo. - This is foo. - This is foo. - - This is bar. - - bar foo bar foo foo. - bar foo bar foo foo. - bar foo bar foo foo. - bar foo bar foo foo. - bar foo bar foo foo. - bar foo bar foo foo. - bar foo bar foo foo. - - {/textformat} - - - -The above example will output: - - - - This is foo. This is foo. This - is foo. This is foo. This is foo. - This is foo. - - This is bar. - - bar foo bar foo foo. bar foo bar - foo foo. bar foo bar foo foo. bar - foo bar foo foo. bar foo bar foo - foo. bar foo bar foo foo. bar foo - bar foo foo. - - - - - {textformat style="email"} - - This is foo. - This is foo. - This is foo. - This is foo. - This is foo. - This is foo. - - This is bar. - - bar foo bar foo foo. - bar foo bar foo foo. - bar foo bar foo foo. - bar foo bar foo foo. - bar foo bar foo foo. - bar foo bar foo foo. - bar foo bar foo foo. - - {/textformat} - - - - -The above example will output: - - - - This is foo. This is foo. This is foo. This is foo. This is foo. This is - foo. - - This is bar. - - bar foo bar foo foo. bar foo bar foo foo. bar foo bar foo foo. bar foo - bar foo foo. bar foo bar foo foo. bar foo bar foo foo. bar foo bar foo - foo. - - - - -See also [`{strip}`](#language.function.strip) and -[`wordwrap`](#language.modifier.wordwrap). diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers.md b/fp-includes/smarty-4.3.0/docs/designers/language-modifiers.md deleted file mode 100644 index 4626dbe5..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers.md +++ /dev/null @@ -1,123 +0,0 @@ -Variable Modifiers {#language.modifiers} -================== - -## Table of contents -- [capitalize](./language-modifiers/language-modifier-capitalize.md) -- [cat](./language-modifiers/language-modifier-cat.md) -- [count_characters](./language-modifiers/language-modifier-count-characters.md) -- [count_paragraphs](./language-modifiers/language-modifier-count-paragraphs.md) -- [count_sentences](./language-modifiers/language-modifier-count-sentences.md) -- [count_words](./language-modifiers/language-modifier-count-words.md) -- [date_format](./language-modifiers/language-modifier-date-format.md) -- [default](./language-modifiers/language-modifier-default.md) -- [escape](./language-modifiers/language-modifier-escape.md) -- [from_charset](./language-modifiers/language-modifier-from-charset.md) -- [indent](./language-modifiers/language-modifier-indent.md) -- [lower](./language-modifiers/language-modifier-lower.md) -- [nl2br](./language-modifiers/language-modifier-nl2br.md) -- [regex_replace](./language-modifiers/language-modifier-regex-replace.md) -- [replace](./language-modifiers/language-modifier-replace.md) -- [spacify](./language-modifiers/language-modifier-spacify.md) -- [string_format](./language-modifiers/language-modifier-string-format.md) -- [strip](./language-modifiers/language-modifier-strip.md) -- [strip_tags](./language-modifiers/language-modifier-strip-tags.md) -- [to_charset](./language-modifiers/language-modifier-to-charset.md) -- [truncate](./language-modifiers/language-modifier-truncate.md) -- [unescape](./language-modifiers/language-modifier-unescape.md) -- [upper](./language-modifiers/language-modifier-upper.md) -- [wordwrap](./language-modifiers/language-modifier-wordwrap.md) - -Variable modifiers can be applied to -[variables](./language-variables.md), [custom -functions](./language-custom-functions.md) or strings. To apply a modifier, -specify the value followed by a `|` (pipe) and the modifier name. A -modifier may accept additional parameters that affect its behavior. -These parameters follow the modifier name and are separated by a `:` -(colon). Also, *all php-functions can be used as modifiers implicitly* -(more below) and modifiers can be -[combined](./language-combining-modifiers.md). - - - {* apply modifier to a variable *} - {$title|upper} - - {* modifier with parameters *} - {$title|truncate:40:"..."} - - {* apply modifier to a function parameter *} - {html_table loop=$myvar|upper} - - {* with parameters *} - {html_table loop=$myvar|truncate:40:"..."} - - {* apply modifier to literal string *} - {"foobar"|upper} - - {* using date_format to format the current date *} - {$smarty.now|date_format:"%Y/%m/%d"} - - {* apply modifier to a custom function *} - {mailto|upper address="smarty@example.com"} - - {* using php's str_repeat *} - {"="|str_repeat:80} - - {* php's count *} - {$myArray|@count} - - {* this will uppercase and truncate the whole array *} - - - - -- Modifiers can be applied to any type of variables, including arrays - and objects. - - > **Note** - > - > The default behavior was changed with Smarty 3. In Smarty 2.x, you - > had to use an \"`@`\" symbol to apply a modifier to an array, such - > as `{$articleTitle|@count}`. With Smarty 3, the \"`@`\" is no - > longer necessary, and is ignored. - > - > If you want a modifier to apply to each individual item of an - > array, you will either need to loop the array in the template, or - > provide for this functionality inside your modifier function. - - > **Note** - > - > Second, in Smarty 2.x, modifiers were applied to the result of - > math expressions like `{8+2}`, meaning that - > `{8+2|count_characters}` would give `2`, as 8+2=10 and 10 is two - > characters long. With Smarty 3, modifiers are applied to the - > variables or atomic expressions before executing the calculations, - > so since 2 is one character long, `{8+2|count_characters}` - > gives 9. To get the old result use parentheses like - > `{(8+2)|count_characters}`. - -- Modifiers are autoloaded from the - [`$plugins_dir`](../programmers/api-variables/variable-plugins-dir.md) or can be registered - explicitly with the [`registerPlugin()`](../programmers/api-functions/api-register-plugin.md) - function. The later is useful for sharing a function between php - scripts and smarty templates. - -- All php-functions can be used as modifiers implicitly, as - demonstrated in the example above. However, using php-functions as - modifiers has two little pitfalls: - - - First - sometimes the order of the function-parameters is not - the desirable one. Formatting `$foo` with - `{"%2.f"|sprintf:$foo}` actually works, but asks for the more - intuitive, like `{$foo|string_format:"%2.f"}` that is provided - by the Smarty distribution. - - - Secondly - if security is enabled, all php-functions that are to - be used as modifiers have to be declared trusted in the - `$modifiers` property of the security policy. See the - [Security](../programmers/advanced-features/advanced-features-security.md) section for details. - -See also [`registerPlugin()`](../programmers/api-functions/api-register-plugin.md), [combining -modifiers](./language-combining-modifiers.md). and [extending smarty with -plugins](../programmers/plugins.md) diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-capitalize.md b/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-capitalize.md deleted file mode 100644 index 015bb3bc..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-capitalize.md +++ /dev/null @@ -1,41 +0,0 @@ -capitalize {#language.modifier.capitalize} -========== - -This is used to capitalize the first letter of all words in a variable. -This is similar to the PHP [`ucwords()`](&url.php-manual;ucwords) -function. - - Parameter Position Type Required Default Description - -------------------- --------- ---------- --------- ----------------------------------------------------------------------------------------------------------- - 1 boolean No FALSE This determines whether or not words with digits will be uppercased - 2 boolean No FALSE This determines whether or not Capital letters within words should be lowercased, e.g. \"aAa\" to \"Aaa\" - - - assign('articleTitle', 'next x-men film, x3, delayed.'); - - ?> - - - -Where the template is: - - - {$articleTitle} - {$articleTitle|capitalize} - {$articleTitle|capitalize:true} - - - -Will output: - - - next x-men film, x3, delayed. - Next X-Men Film, x3, Delayed. - Next X-Men Film, X3, Delayed. - - - -See also [`lower`](#language.modifier.lower) and -[`upper`](#language.modifier.upper) diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-cat.md b/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-cat.md deleted file mode 100644 index 1f43ae17..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-cat.md +++ /dev/null @@ -1,31 +0,0 @@ -cat {#language.modifier.cat} -=== - -This value is concatenated to the given variable. - - Parameter Position Type Required Default Description - -------------------- -------- ---------- --------- ----------------------------------------------- - 1 string No *empty* This value to catenate to the given variable. - - - assign('articleTitle', "Psychics predict world didn't end"); - - ?> - - - -Where template is: - - - {$articleTitle|cat:' yesterday.'} - - - -Will output: - - - Psychics predict world didn't end yesterday. - - diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-count-characters.md b/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-count-characters.md deleted file mode 100644 index 23bc00d5..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-count-characters.md +++ /dev/null @@ -1,39 +0,0 @@ -count\_characters {#language.modifier.count.characters} -================= - -This is used to count the number of characters in a variable. - - Parameter Position Type Required Default Description - -------------------- --------- ---------- --------- ------------------------------------------------------------------------------- - 1 boolean No FALSE This determines whether or not to include whitespace characters in the count. - - - assign('articleTitle', 'Cold Wave Linked to Temperatures.'); - - ?> - - - -Where template is: - - - {$articleTitle} - {$articleTitle|count_characters} - {$articleTitle|count_characters:true} - - - -Will output: - - - Cold Wave Linked to Temperatures. - 29 - 33 - - - -See also [`count_words`](#language.modifier.count.words), -[`count_sentences`](#language.modifier.count.sentences) and -[`count_paragraphs`](#language.modifier.count.paragraphs). diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-count-words.md b/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-count-words.md deleted file mode 100644 index d25fbd5b..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-count-words.md +++ /dev/null @@ -1,33 +0,0 @@ -count\_words {#language.modifier.count.words} -============ - -This is used to count the number of words in a variable. - - - assign('articleTitle', 'Dealers Will Hear Car Talk at Noon.'); - - ?> - - - -Where template is: - - - {$articleTitle} - {$articleTitle|count_words} - - - -This will output: - - - Dealers Will Hear Car Talk at Noon. - 7 - - - -See also [`count_characters`](#language.modifier.count.characters), -[`count_paragraphs`](#language.modifier.count.paragraphs) and -[`count_sentences`](#language.modifier.count.sentences). diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-date-format.md b/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-date-format.md deleted file mode 100644 index edd81937..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-date-format.md +++ /dev/null @@ -1,175 +0,0 @@ -date\_format {#language.modifier.date.format} -============ - -This formats a date and time into the given -[`strftime()`](&url.php-manual;strftime) format. Dates can be passed to -Smarty as unix [timestamps](&url.php-manual;function.time), [DateTime -objects](&url.php-manual;class.DateTime), mysql timestamps or any string -made up of month day year, parsable by php\'s -[`strtotime()`](&url.php-manual;strtotime). Designers can then use -`date_format` to have complete control of the formatting of the date. If -the date passed to `date_format` is empty and a second parameter is -passed, that will be used as the date to format. - - Parameter Position Type Required Default Description - -------------------- -------- ---------- ------------ ------------------------------------------------- - 1 string No \%b %e, %Y This is the format for the outputted date. - 2 string No n/a This is the default date if the input is empty. - -> **Note** -> -> Since Smarty-2.6.10 numeric values passed to `date_format` are -> *always* (except for mysql timestamps, see below) interpreted as a -> unix timestamp. -> -> Before Smarty-2.6.10 numeric strings that where also parsable by -> `strtotime()` in php (like `YYYYMMDD`) where sometimes (depending on -> the underlying implementation of `strtotime()`) interpreted as date -> strings and NOT as timestamps. -> -> The only exception are mysql timestamps: They are also numeric only -> and 14 characters long (`YYYYMMDDHHMMSS`), mysql timestamps have -> precedence over unix timestamps. - -> **Note** -> -> `date_format` is essentially a wrapper to PHP\'s -> [`strftime()`](&url.php-manual;strftime) function. You may have more -> or less conversion specifiers available depending on your system\'s -> [`strftime()`](&url.php-manual;strftime) function where PHP was -> compiled. Check your system\'s manpage for a full list of valid -> specifiers. However, a few of the specifiers are emulated on Windows. -> These are: %D, %e, %h, %l, %n, %r, %R, %t, %T. - - - assign('config', $config); - $smarty->assign('yesterday', strtotime('-1 day')); - - ?> - - - -This template uses [`$smarty.now`](#language.variables.smarty.now) to -get the current time: - - - {$smarty.now|date_format} - {$smarty.now|date_format:"%D"} - {$smarty.now|date_format:$config.date} - {$yesterday|date_format} - {$yesterday|date_format:"%A, %B %e, %Y"} - {$yesterday|date_format:$config.time} - - - -This above will output: - - - Jan 1, 2022 - 01/01/22 - 02:33 pm - Dec 31, 2021 - Monday, December 1, 2021 - 14:33:00 - - - -`date_format` conversion specifiers: - -- \%a - abbreviated weekday name according to the current locale - -- \%A - full weekday name according to the current locale - -- \%b - abbreviated month name according to the current locale - -- \%B - full month name according to the current locale - -- \%c - preferred date and time representation for the current locale - -- \%C - century number (the year divided by 100 and truncated to an - integer, range 00 to 99) - -- \%d - day of the month as a decimal number (range 01 to 31) - -- \%D - same as %m/%d/%y - -- \%e - day of the month as a decimal number, a single digit is - preceded by a space (range 1 to 31) - -- \%g - Week-based year within century \[00,99\] - -- \%G - Week-based year, including the century \[0000,9999\] - -- \%h - same as %b - -- \%H - hour as a decimal number using a 24-hour clock (range 00 - to 23) - -- \%I - hour as a decimal number using a 12-hour clock (range 01 - to 12) - -- \%j - day of the year as a decimal number (range 001 to 366) - -- \%k - Hour (24-hour clock) single digits are preceded by a blank. - (range 0 to 23) - -- \%l - hour as a decimal number using a 12-hour clock, single digits - preceded by a space (range 1 to 12) - -- \%m - month as a decimal number (range 01 to 12) - -- \%M - minute as a decimal number - -- \%n - newline character - -- \%p - either \`am\' or \`pm\' according to the given time value, or - the corresponding strings for the current locale - -- \%r - time in a.m. and p.m. notation - -- \%R - time in 24 hour notation - -- \%S - second as a decimal number - -- \%t - tab character - -- \%T - current time, equal to %H:%M:%S - -- \%u - weekday as a decimal number \[1,7\], with 1 representing - Monday - -- \%U - week number of the current year as a decimal number, starting - with the first Sunday as the first day of the first week - -- \%V - The ISO 8601:1988 week number of the current year as a decimal - number, range 01 to 53, where week 1 is the first week that has at - least 4 days in the current year, and with Monday as the first day - of the week. - -- \%w - day of the week as a decimal, Sunday being 0 - -- \%W - week number of the current year as a decimal number, starting - with the first Monday as the first day of the first week - -- \%x - preferred date representation for the current locale without - the time - -- \%X - preferred time representation for the current locale without - the date - -- \%y - year as a decimal number without a century (range 00 to 99) - -- \%Y - year as a decimal number including the century - -- \%Z - time zone or name or abbreviation - -- \%% - a literal \`%\' character - -See also [`$smarty.now`](#language.variables.smarty.now), -[`strftime()`](&url.php-manual;strftime), -[`{html_select_date}`](#language.function.html.select.date) and the -[date tips](#tips.dates) page. diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-default.md b/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-default.md deleted file mode 100644 index ce08e96e..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-default.md +++ /dev/null @@ -1,41 +0,0 @@ -default {#language.modifier.default} -======= - -This is used to set a default value for a variable. If the variable is -unset or an empty string, the given default value is printed instead. -Default takes the one argument. - - Parameter Position Type Required Default Description - -------------------- -------- ---------- --------- --------------------------------------------------------------- - 1 string No *empty* This is the default value to output if the variable is empty. - - - assign('articleTitle', 'Dealers Will Hear Car Talk at Noon.'); - $smarty->assign('email', ''); - - ?> - - - -Where template is: - - - {$articleTitle|default:'no title'} - {$myTitle|default:'no title'} - {$email|default:'No email address available'} - - - -Will output: - - - Dealers Will Hear Car Talk at Noon. - no title - No email address available - - - -See also the [default variable handling](#tips.default.var.handling) and -the [blank variable handling](#tips.blank.var.handling) pages. diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-escape.md b/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-escape.md deleted file mode 100644 index 37c71dde..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-escape.md +++ /dev/null @@ -1,74 +0,0 @@ -escape {#language.modifier.escape} -====== - -`escape` is used to encode or escape a variable to `html`, `url`, -`single quotes`, `hex`, `hexentity`, `javascript` and `mail`. By default -its `html`. - - Parameter Position Type Required Possible Values Default Description - -------------------- --------- ---------- ------------------------------------------------------------------------------------------------------------ --------- ------------------------------------------------------------------------------------- - 1 string No `html`, `htmlall`, `url`, `urlpathinfo`, `quotes`, `hex`, `hexentity`, `javascript`, `mail` `html` This is the escape format to use. - 2 string No `ISO-8859-1`, `UTF-8`, and any character set supported by [`htmlentities()`](&url.php-manual;htmlentities) `UTF-8` The character set encoding passed to htmlentities() et. al. - 3 boolean No FALSE TRUE Double encode entites from & to &amp; (applys to `html` and `htmlall` only) - - - assign('articleTitle', - "'Stiff Opposition Expected to Casketless Funeral Plan'" - ); - $smarty->assign('EmailAddress','smarty@example.com'); - - ?> - - - -These are example `escape` template lines followed by the output - - - {$articleTitle} - 'Stiff Opposition Expected to Casketless Funeral Plan' - - {$articleTitle|escape} - 'Stiff Opposition Expected to Casketless Funeral Plan' - - {$articleTitle|escape:'html'} {* escapes & " ' < > *} - 'Stiff Opposition Expected to Casketless Funeral Plan' - - {$articleTitle|escape:'htmlall'} {* escapes ALL html entities *} - 'Stiff Opposition Expected to Casketless Funeral Plan' - - click here - click here - - {$articleTitle|escape:'quotes'} - \'Stiff Opposition Expected to Casketless Funeral Plan\' - - {$EmailAddress|escape:"hexentity"} - {$EmailAddress|escape:'mail'} {* this converts to email to text *} - bob..snip..et - - {'mail@example.com'|escape:'mail'} - smarty [AT] example [DOT] com - - - - - {* the "rewind" parameter registers the current location *} - click here - - - -This snippet is useful for emails, but see also -[`{mailto}`](#language.function.mailto) - - - {* email address mangled *} - {$EmailAddress|escape:'mail'} - - - -See also [escaping smarty parsing](#language.escaping), -[`{mailto}`](#language.function.mailto) and the [obfuscating email -addresses](#tips.obfuscating.email) page. diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-from-charset.md b/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-from-charset.md deleted file mode 100644 index 1c301c3b..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-from-charset.md +++ /dev/null @@ -1,19 +0,0 @@ -from\_charset {#language.modifier.from_charset} -============= - -`from_charset` is used to transcode a string from a given charset to the -internal charset. This is the exact opposite of the [to\_charset -modifier](#language.modifier.to_charset). - - Parameter Position Type Required Possible Values Default Description - -------------------- -------- ---------- -------------------------------------------------------------------------------------------------------------------------- -------------- --------------------------------------------------------------- - 1 string No `ISO-8859-1`, `UTF-8`, and any character set supported by [`mb_convert_encoding()`](&url.php-manual;mb_convert_encoding) `ISO-8859-1` The charset encoding the value is supposed to be decoded from - -> **Note** -> -> Charset encoding should be handled by the application itself. This -> modifier should only be used in cases where the application cannot -> anticipate that a certain string is required in another encoding. - -See also [Charset Encoding](#charset), [from\_charset -modifier](#language.modifier.from_charset). diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-indent.md b/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-indent.md deleted file mode 100644 index d0264dca..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-indent.md +++ /dev/null @@ -1,62 +0,0 @@ -indent {#language.modifier.indent} -====== - -This indents a string on each line, default is 4. As an optional -parameter, you can specify the number of characters to indent. As an -optional second parameter, you can specify the character to use to -indent with eg use `"\t"` for a tab. - - Parameter Position Type Required Default Description - -------------------- --------- ---------- ------------- --------------------------------------------------- - 1 integer No 4 This determines how many characters to indent to. - 2 string No (one space) This is the character used to indent with. - - - assign('articleTitle', - 'NJ judge to rule on nude beach. - Sun or rain expected today, dark tonight. - Statistics show that teen pregnancy drops off significantly after 25.' - ); - ?> - - - -Where template is: - - - {$articleTitle} - - {$articleTitle|indent} - - {$articleTitle|indent:10} - - {$articleTitle|indent:1:"\t"} - - - -Will output: - - - NJ judge to rule on nude beach. - Sun or rain expected today, dark tonight. - Statistics show that teen pregnancy drops off significantly after 25. - - NJ judge to rule on nude beach. - Sun or rain expected today, dark tonight. - Statistics show that teen pregnancy drops off significantly after 25. - - NJ judge to rule on nude beach. - Sun or rain expected today, dark tonight. - Statistics show that teen pregnancy drops off significantly after 25. - - NJ judge to rule on nude beach. - Sun or rain expected today, dark tonight. - Statistics show that teen pregnancy drops off significantly after 25. - - - -See also [`strip`](#language.modifier.strip), -[`wordwrap`](#language.modifier.wordwrap) and -[`spacify`](#language.modifier.spacify). diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-lower.md b/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-lower.md deleted file mode 100644 index 90122e9e..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-lower.md +++ /dev/null @@ -1,33 +0,0 @@ -lower {#language.modifier.lower} -===== - -This is used to lowercase a variable. This is equivalent to the PHP -[`strtolower()`](&url.php-manual;strtolower) function. - - - assign('articleTitle', 'Two Convicts Evade Noose, Jury Hung.'); - - ?> - - - -Where template is: - - - {$articleTitle} - {$articleTitle|lower} - - - -This will output: - - - Two Convicts Evade Noose, Jury Hung. - two convicts evade noose, jury hung. - - - -See also [`upper`](#language.modifier.upper) and -[`capitalize`](#language.modifier.capitalize). diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-nl2br.md b/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-nl2br.md deleted file mode 100644 index 541233c8..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-nl2br.md +++ /dev/null @@ -1,35 +0,0 @@ -nl2br {#language.modifier.nl2br} -===== - -All `"\n"` line breaks will be converted to html `
` tags in the -given variable. This is equivalent to the PHP\'s -[`nl2br()`](&url.php-manual;nl2br) function. - - - assign('articleTitle', - "Sun or rain expected\ntoday, dark tonight" - ); - - ?> - - - -Where the template is: - - - {$articleTitle|nl2br} - - - -Will output: - - - Sun or rain expected
today, dark tonight - - - -See also [`word_wrap`](#language.modifier.wordwrap), -[`count_paragraphs`](#language.modifier.count.paragraphs) and -[`count_sentences`](#language.modifier.count.sentences). diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-regex-replace.md b/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-regex-replace.md deleted file mode 100644 index 6fcb33fa..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-regex-replace.md +++ /dev/null @@ -1,51 +0,0 @@ -regex\_replace {#language.modifier.regex.replace} -============== - -A regular expression search and replace on a variable. Use the -[`preg_replace()`](&url.php-manual;preg_replace) syntax from the PHP -manual. - -> **Note** -> -> Although Smarty supplies this regex convenience modifier, it is -> usually better to apply regular expressions in PHP, either via custom -> functions or modifiers. Regular expressions are considered application -> code and are not part of presentation logic. - -Parameters - - Parameter Position Type Required Default Description - -------------------- -------- ---------- --------- ------------------------------------------------ - 1 string Yes *n/a* This is the regular expression to be replaced. - 2 string Yes *n/a* This is the string of text to replace with. - - - assign('articleTitle', "Infertility unlikely to\nbe passed on, experts say."); - - ?> - - - -Where template is: - - - {* replace each carriage return, tab and new line with a space *} - - {$articleTitle} - {$articleTitle|regex_replace:"/[\r\t\n]/":" "} - - - -Will output: - - - Infertility unlikely to - be passed on, experts say. - Infertility unlikely to be passed on, experts say. - - - -See also [`replace`](#language.modifier.replace) and -[`escape`](#language.modifier.escape). diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-replace.md b/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-replace.md deleted file mode 100644 index c7c2903e..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-replace.md +++ /dev/null @@ -1,40 +0,0 @@ -replace {#language.modifier.replace} -======= - -A simple search and replace on a variable. This is equivalent to the -PHP\'s [`str_replace()`](&url.php-manual;str_replace) function. - - Parameter Position Type Required Default Description - -------------------- -------- ---------- --------- --------------------------------------------- - 1 string Yes *n/a* This is the string of text to be replaced. - 2 string Yes *n/a* This is the string of text to replace with. - - - assign('articleTitle', "Child's Stool Great for Use in Garden."); - - ?> - - - -Where template is: - - - {$articleTitle} - {$articleTitle|replace:'Garden':'Vineyard'} - {$articleTitle|replace:' ':' '} - - - -Will output: - - - Child's Stool Great for Use in Garden. - Child's Stool Great for Use in Vineyard. - Child's Stool Great for Use in Garden. - - - -See also [`regex_replace`](#language.modifier.regex.replace) and -[`escape`](#language.modifier.escape). diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-spacify.md b/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-spacify.md deleted file mode 100644 index 8856dab4..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-spacify.md +++ /dev/null @@ -1,40 +0,0 @@ -spacify {#language.modifier.spacify} -======= - -`spacify` is a way to insert a space between every character of a -variable. You can optionally pass a different character or string to -insert. - - Parameter Position Type Required Default Description - -------------------- -------- ---------- ------------- ----------------------------------------------------------------- - 1 string No *one space* This what gets inserted between each character of the variable. - - - assign('articleTitle', 'Something Went Wrong in Jet Crash, Experts Say.'); - - ?> - - - -Where template is: - - - {$articleTitle} - {$articleTitle|spacify} - {$articleTitle|spacify:"^^"} - - - -Will output: - - - Something Went Wrong in Jet Crash, Experts Say. - S o m e t h i n g W .... snip .... s h , E x p e r t s S a y . - S^^o^^m^^e^^t^^h^^i^^n^^g^^ .... snip .... ^^e^^r^^t^^s^^ ^^S^^a^^y^^. - - - -See also [`wordwrap`](#language.modifier.wordwrap) and -[`nl2br`](#language.modifier.nl2br). diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-string-format.md b/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-string-format.md deleted file mode 100644 index 754014e2..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-string-format.md +++ /dev/null @@ -1,39 +0,0 @@ -string\_format {#language.modifier.string.format} -============== - -This is a way to format strings, such as decimal numbers and such. Use -the syntax for [`sprintf()`](&url.php-manual;sprintf) for the -formatting. - - Parameter Position Type Required Default Description - -------------------- -------- ---------- --------- --------------------------------------- - 1 string Yes *n/a* This is what format to use. (sprintf) - - - assign('number', 23.5787446); - - ?> - - - -Where template is: - - - {$number} - {$number|string_format:"%.2f"} - {$number|string_format:"%d"} - - - -Will output: - - - 23.5787446 - 23.58 - 23 - - - -See also [`date_format`](#language.modifier.date.format). diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-strip-tags.md b/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-strip-tags.md deleted file mode 100644 index 4a019767..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-strip-tags.md +++ /dev/null @@ -1,41 +0,0 @@ -strip\_tags {#language.modifier.strip.tags} -=========== - -This strips out markup tags, basically anything between `<` and `>`. - - Parameter Position Type Required Default Description - -------------------- ------ ---------- --------- ---------------------------------------------------------------- - 1 bool No TRUE This determines whether the tags are replaced by \' \' or \'\' - - - assign('articleTitle', - "Blind Woman Gets New - Kidney from Dad she Hasn't Seen in years." - ); - - ?> - - - -Where template is: - - - {$articleTitle} - {$articleTitle|strip_tags} {* same as {$articleTitle|strip_tags:true} *} - {$articleTitle|strip_tags:false} - - - -Will output: - - - Blind Woman Gets New Kidney from Dad she Hasn't Seen in years. - Blind Woman Gets New Kidney from Dad she Hasn't Seen in years . - Blind Woman Gets New Kidney from Dad she Hasn't Seen in years. - - - -See also [`replace`](#language.modifier.replace) and -[`regex_replace`](#language.modifier.regex.replace). diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-strip.md b/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-strip.md deleted file mode 100644 index 7027e031..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-strip.md +++ /dev/null @@ -1,40 +0,0 @@ -strip {#language.modifier.strip} -===== - -This replaces all spaces, newlines and tabs with a single space, or with -the supplied string. - -> **Note** -> -> If you want to strip blocks of template text, use the built-in -> [`{strip}`](#language.function.strip) function. - - - assign('articleTitle', "Grandmother of\neight makes\t hole in one."); - $smarty->display('index.tpl'); - ?> - - - -Where template is: - - - {$articleTitle} - {$articleTitle|strip} - {$articleTitle|strip:' '} - - - -Will output: - - - Grandmother of - eight makes hole in one. - Grandmother of eight makes hole in one. - Grandmother of eight makes hole in one. - - - -See also [`{strip}`](#language.function.strip) and -[`truncate`](#language.modifier.truncate). diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-to-charset.md b/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-to-charset.md deleted file mode 100644 index a0d95f53..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-to-charset.md +++ /dev/null @@ -1,19 +0,0 @@ -to\_charset {#language.modifier.to_charset} -=========== - -`to_charset` is used to transcode a string from the internal charset to -a given charset. This is the exact opposite of the [from\_charset -modifier](#language.modifier.from_charset). - - Parameter Position Type Required Possible Values Default Description - -------------------- -------- ---------- -------------------------------------------------------------------------------------------------------------------------- -------------- ------------------------------------------------------------- - 1 string No `ISO-8859-1`, `UTF-8`, and any character set supported by [`mb_convert_encoding()`](&url.php-manual;mb_convert_encoding) `ISO-8859-1` The charset encoding the value is supposed to be encoded to - -> **Note** -> -> Charset encoding should be handled by the application itself. This -> modifier should only be used in cases where the application cannot -> anticipate that a certain string is required in another encoding. - -See also [Charset Encoding](#charset), [from\_charset -modifier](#language.modifier.from_charset). diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-truncate.md b/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-truncate.md deleted file mode 100644 index 2303a543..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-truncate.md +++ /dev/null @@ -1,52 +0,0 @@ -truncate {#language.modifier.truncate} -======== - -This truncates a variable to a character length, the default is 80. As -an optional second parameter, you can specify a string of text to -display at the end if the variable was truncated. The characters in the -string are included with the original truncation length. By default, -`truncate` will attempt to cut off at a word boundary. If you want to -cut off at the exact character length, pass the optional third parameter -of TRUE. - - Parameter Position Type Required Default Description - -------------------- --------- ---------- --------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - 1 integer No 80 This determines how many characters to truncate to. - 2 string No \... This is a text string that replaces the truncated text. Its length is included in the truncation length setting. - 3 boolean No FALSE This determines whether or not to truncate at a word boundary with FALSE, or at the exact character with TRUE. - 4 boolean No FALSE This determines whether the truncation happens at the end of the string with FALSE, or in the middle of the string with TRUE. Note that if this setting is TRUE, then word boundaries are ignored. - - - assign('articleTitle', 'Two Sisters Reunite after Eighteen Years at Checkout Counter.'); - ?> - - - -where template is: - - - {$articleTitle} - {$articleTitle|truncate} - {$articleTitle|truncate:30} - {$articleTitle|truncate:30:""} - {$articleTitle|truncate:30:"---"} - {$articleTitle|truncate:30:"":true} - {$articleTitle|truncate:30:"...":true} - {$articleTitle|truncate:30:'..':true:true} - - - -This will output: - - - Two Sisters Reunite after Eighteen Years at Checkout Counter. - Two Sisters Reunite after Eighteen Years at Checkout Counter. - Two Sisters Reunite after... - Two Sisters Reunite after - Two Sisters Reunite after--- - Two Sisters Reunite after Eigh - Two Sisters Reunite after E... - Two Sisters Re..ckout Counter. - - diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-unescape.md b/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-unescape.md deleted file mode 100644 index 58d0b3f7..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-unescape.md +++ /dev/null @@ -1,39 +0,0 @@ -unescape {#language.modifier.unescape} -======== - -`unescape` is used to decode `entity`, `html` and `htmlall`. It counters -the effects of the [escape modifier](#language.modifier.escape) for the -given types. - - Parameter Position Type Required Possible Values Default Description - -------------------- -------- ---------- ------------------------------------------------------------------------------------------------------------ --------- ------------------------------------------------------------------------------------------------------------------------------ - 1 string No `html`, `htmlall`, `entity`, `html` This is the escape format to use. - 2 string No `ISO-8859-1`, `UTF-8`, and any character set supported by [`htmlentities()`](&url.php-manual;htmlentities) `UTF-8` The character set encoding passed to html\_entity\_decode() or htmlspecialchars\_decode() or mb\_convert\_encoding() et. al. - - - assign('articleTitle', - "Germans use "Ümlauts" and pay in €uro" - ); - - ?> - - - -These are example `unescape` template lines followed by the output - - - {$articleTitle} - Germans use "Ümlauts" and pay in €uro - - {$articleTitle|unescape:"html"} - Germans use "Ümlauts" and pay in €uro - - {$articleTitle|unescape:"htmlall"} - Germans use "Ãœmlauts" and pay in €uro - - - -See also [escaping smarty parsing](#language.escaping), [escape -modifier](#language.modifier.escape). diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-upper.md b/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-upper.md deleted file mode 100644 index 9240f42d..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-upper.md +++ /dev/null @@ -1,31 +0,0 @@ -upper {#language.modifier.upper} -===== - -This is used to uppercase a variable. This is equivalent to the PHP -[`strtoupper()`](&url.php-manual;strtoupper) function. - - - assign('articleTitle', "If Strike isn't Settled Quickly it may Last a While."); - ?> - - - -Where template is: - - - {$articleTitle} - {$articleTitle|upper} - - - -Will output: - - - If Strike isn't Settled Quickly it may Last a While. - IF STRIKE ISN'T SETTLED QUICKLY IT MAY LAST A WHILE. - - - -See also [`lower`](#language.modifier.lower) and -[`capitalize`](#language.modifier.capitalize). diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-wordwrap.md b/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-wordwrap.md deleted file mode 100644 index 97cd774f..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-wordwrap.md +++ /dev/null @@ -1,69 +0,0 @@ -wordwrap {#language.modifier.wordwrap} -======== - -Wraps a string to a column width, the default is 80. As an optional -second parameter, you can specify a string of text to wrap the text to -the next line, the default is a carriage return `"\n"`. By default, -`wordwrap` will attempt to wrap at a word boundary. If you want to cut -off at the exact character length, pass the optional third parameter as -TRUE. This is equivalent to the PHP -[`wordwrap()`](&url.php-manual;wordwrap) function. - - Parameter Position Type Required Default Description - -------------------- --------- ---------- --------- ------------------------------------------------------------------------------------------------------ - 1 integer No 80 This determines how many columns to wrap to. - 2 string No \\n This is the string used to wrap words with. - 3 boolean No FALSE This determines whether or not to wrap at a word boundary (FALSE), or at the exact character (TRUE). - - - assign('articleTitle', - "Blind woman gets new kidney from dad she hasn't seen in years." - ); - - ?> - - - -Where template is - - - {$articleTitle} - - {$articleTitle|wordwrap:30} - - {$articleTitle|wordwrap:20} - - {$articleTitle|wordwrap:30:"
\n"} - - {$articleTitle|wordwrap:26:"\n":true} - - - -Will output: - - - Blind woman gets new kidney from dad she hasn't seen in years. - - Blind woman gets new kidney - from dad she hasn't seen in - years. - - Blind woman gets new - kidney from dad she - hasn't seen in - years. - - Blind woman gets new kidney
- from dad she hasn't seen in
- years. - - Blind woman gets new kidn - ey from dad she hasn't se - en in years. - - - -See also [`nl2br`](#language.modifier.nl2br) and -[`{textformat}`](#language.function.textformat). diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-variables.md b/fp-includes/smarty-4.3.0/docs/designers/language-variables.md deleted file mode 100644 index 3950d0ba..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-variables.md +++ /dev/null @@ -1,37 +0,0 @@ -Variables -========= - -## Table of contents -- [Variables assigned from PHP](./language-variables/language-assigned-variables.md) -- [Variable scopes](./language-variables/language-variable-scopes.md) -- [Variables loaded from config files](./language-variables/language-config-variables.md) -- [{$smarty} reserved variable](./language-variables/language-variables-smarty.md) - - -Smarty has several different types of variables. The type of the -variable depends on what symbol it is prefixed or enclosed within. - -Variables in Smarty can be either displayed directly or used as -arguments for [functions](./language-basic-syntax/language-syntax-functions.md), -[attributes](./language-basic-syntax/language-syntax-attributes.md) and -[modifiers](./language-modifiers.md), inside conditional expressions, etc. -To print a variable, simply enclose it in the -[delimiters](../programmers/api-variables/variable-left-delimiter.md) so that it is the only thing -contained between them. - - - {$Name} - - {$product.part_no} {$product.description} - - {$Contacts[row].Phone} - - - - - -> **Note** -> -> An easy way to examine assigned Smarty variables is with the -> [debugging console](./chapter-debugging-console.md). - diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-variables/language-assigned-variables.md b/fp-includes/smarty-4.3.0/docs/designers/language-variables/language-assigned-variables.md deleted file mode 100644 index 005dea4a..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-variables/language-assigned-variables.md +++ /dev/null @@ -1,142 +0,0 @@ -Variables assigned from PHP {#language.assigned.variables} -=========================== - -Assigned variables that are referenced by preceding them with a dollar -(`$`) sign. - -PHP code - - - assign('firstname', 'Doug'); - $smarty->assign('lastname', 'Evans'); - $smarty->assign('meetingPlace', 'New York'); - - $smarty->display('index.tpl'); - - ?> - -`index.tpl` source: - - - Hello {$firstname} {$lastname}, glad to see you can make it. -
- {* this will not work as $variables are case sensitive *} - This weeks meeting is in {$meetingplace}. - {* this will work *} - This weeks meeting is in {$meetingPlace}. - - - -This above would output: - - - Hello Doug Evans, glad to see you can make it. -
- This weeks meeting is in . - This weeks meeting is in New York. - - - -Associative arrays {#language.variables.assoc.arrays} ------------------- - -You can also reference associative array variables by specifying the key -after a dot \".\" symbol. - - - assign('Contacts', - array('fax' => '555-222-9876', - 'email' => 'zaphod@slartibartfast.example.com', - 'phone' => array('home' => '555-444-3333', - 'cell' => '555-111-1234') - ) - ); - $smarty->display('index.tpl'); - ?> - - - -`index.tpl` source: - - - {$Contacts.fax}
- {$Contacts.email}
- {* you can print arrays of arrays as well *} - {$Contacts.phone.home}
- {$Contacts.phone.cell}
- - - -this will output: - - - 555-222-9876
- zaphod@slartibartfast.example.com
- 555-444-3333
- 555-111-1234
- - - -Array indexes {#language.variables.array.indexes} -------------- - -You can reference arrays by their index, much like native PHP syntax. - - - assign('Contacts', array( - '555-222-9876', - 'zaphod@slartibartfast.example.com', - array('555-444-3333', - '555-111-1234') - )); - $smarty->display('index.tpl'); - ?> - - - -`index.tpl` source: - - - {$Contacts[0]}
- {$Contacts[1]}
- {* you can print arrays of arrays as well *} - {$Contacts[2][0]}
- {$Contacts[2][1]}
- - - -This will output: - - - 555-222-9876
- zaphod@slartibartfast.example.com
- 555-444-3333
- 555-111-1234
- - - -Objects {#language.variables.objects} -------- - -Properties of [objects](#advanced.features.objects) assigned from PHP -can be referenced by specifying the property name after the `->` symbol. - - - name: {$person->name}
- email: {$person->email}
- - - -this will output: - - - name: Zaphod Beeblebrox
- email: zaphod@slartibartfast.example.com
- - diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-variables/language-config-variables.md b/fp-includes/smarty-4.3.0/docs/designers/language-variables/language-config-variables.md deleted file mode 100644 index a3683d99..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-variables/language-config-variables.md +++ /dev/null @@ -1,83 +0,0 @@ -Variables loaded from config files {#language.config.variables} -================================== - -Variables that are loaded from the [config files](#config.files) are -referenced by enclosing them within `#hash_marks#`, or with the smarty -variable [`$smarty.config`](#language.variables.smarty.config). The -later syntax is useful for embedding into quoted attribute values, or -accessing variable values such as \$smarty.config.\$foo. - -Example config file - `foo.conf`: - - - pageTitle = "This is mine" - bodyBgColor = '#eeeeee' - tableBorderSize = 3 - tableBgColor = "#bbbbbb" - rowBgColor = "#cccccc" - - - -A template demonstrating the `#hash#` method: - - - {config_load file='foo.conf'} - - {#pageTitle#} - - - - - - - -
FirstLastAddress
- - - - - -A template demonstrating the -[`$smarty.config`](#language.variables.smarty.config) method: - - - {config_load file='foo.conf'} - - {$smarty.config.pageTitle} - - - - - - - -
FirstLastAddress
- - - - - -Both examples would output: - - - - This is mine - - - - - - - -
FirstLastAddress
- - - - - -Config file variables cannot be used until after they are loaded in from -a config file. This procedure is explained later in this document under -[`{config_load}`](#language.function.config.load). - -See also [variables](#language.syntax.variables) and [\$smarty reserved -variables](#language.variables.smarty) diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-variables/language-variable-scopes.md b/fp-includes/smarty-4.3.0/docs/designers/language-variables/language-variable-scopes.md deleted file mode 100644 index 2ba3f026..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-variables/language-variable-scopes.md +++ /dev/null @@ -1,61 +0,0 @@ -Variable scopes {#language.variable.scopes} -=============== - -You have the choice to assign variables to the scope of the main Smarty -object, data objects created with [`createData()`](#api.create.data), -and template objects created with -[`createTemplate()`](#api.create.template). These objects can be -chained. A template sees all the variables of its own object and all -variables assigned to the objects in its chain of parent objects. - -By default templates which are rendered by -[`$smarty->display(...)`](#api.display) or -[`$smarty->fetch(...)`](#api.fetch) calls are automatically linked to -the Smarty object variable scope. - -By assigning variables to individual data or template objects you have -full control which variables can be seen by a template. - - - - // assign variable to Smarty object scope - $smarty->assign('foo','smarty'); - - // assign variables to data object scope - $data = $smarty->createData(); - $data->assign('foo','data'); - $data->assign('bar','bar-data'); - - // assign variables to other data object scope - $data2 = $smarty->createData($data); - $data2->assign('bar','bar-data2'); - - // assign variable to template object scope - $tpl = $smarty->createTemplate('index.tpl'); - $tpl->assign('bar','bar-template'); - - // assign variable to template object scope with link to Smarty object - $tpl2 = $smarty->createTemplate('index.tpl',$smarty); - $tpl2->assign('bar','bar-template2'); - - // This display() does see $foo='smarty' from the $smarty object - $smarty->display('index.tpl'); - - // This display() does see $foo='data' and $bar='bar-data' from the data object $data - $smarty->display('index.tpl',$data); - - // This display() does see $foo='data' from the data object $data - // and $bar='bar-data2' from the data object $data2 - $smarty->display('index.tpl',$data2); - - // This display() does see $bar='bar-template' from the template object $tpl - $tpl->display(); // or $smarty->display($tpl); - - // This display() does see $bar='bar-template2' from the template object $tpl2 - // and $foo='smarty' form the Smarty object $foo - $tpl2->display(); // or $smarty->display($tpl2); - - - -See also [`assign()`](#api.assign), [`createData()`](#api.create.data) -and [`createTemplate()`](#api.create.template). diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-variables/language-variables-smarty.md b/fp-includes/smarty-4.3.0/docs/designers/language-variables/language-variables-smarty.md deleted file mode 100644 index e2949e0e..00000000 --- a/fp-includes/smarty-4.3.0/docs/designers/language-variables/language-variables-smarty.md +++ /dev/null @@ -1,176 +0,0 @@ -{\$smarty} reserved variable {#language.variables.smarty} -============================ - -The PHP reserved `{$smarty}` variable can be used to access several -environment and request variables. The full list of them follows. - -Request variables {#language.variables.smarty.request} ------------------ - -The [request variables](&url.php-manual;reserved.variables) such as -`$_GET`, `$_POST`, `$_COOKIE`, `$_SERVER`, `$_ENV` and `$_SESSION` can -be accessed as demonstrated in the examples below: - - - {* display value of page from URL ($_GET) http://www.example.com/index.php?page=foo *} - {$smarty.get.page} - - {* display the variable "page" from a form ($_POST['page']) *} - {$smarty.post.page} - - {* display the value of the cookie "username" ($_COOKIE['username']) *} - {$smarty.cookies.username} - - {* display the server variable "SERVER_NAME" ($_SERVER['SERVER_NAME'])*} - {$smarty.server.SERVER_NAME} - - {* display the system environment variable "PATH" *} - {$smarty.env.PATH} - - {* display the php session variable "id" ($_SESSION['id']) *} - {$smarty.session.id} - - {* display the variable "username" from merged get/post/cookies/server/env *} - {$smarty.request.username} - - - -> **Note** -> -> For historical reasons `{$SCRIPT_NAME}` is short-hand for -> `{$smarty.server.SCRIPT_NAME}`. -> -> -> click me -> click me - -> **Note** -> -> Although Smarty provides direct access to PHP super globals for -> convenience, it should be used with caution. Directly accessing super -> globals mixes underlying application code structure with templates. A -> good practice is to assign specific needed values to template vars. - -{\$smarty.now} {#language.variables.smarty.now} --------------- - -The current [timestamp](&url.php-manual;function.time) can be accessed -with `{$smarty.now}`. The value reflects the number of seconds passed -since the so-called Epoch on January 1, 1970, and can be passed directly -to the [`date_format`](#language.modifier.date.format) modifier for -display. Note that [`time()`](&url.php-manual;function.time) is called -on each invocation; eg a script that takes three seconds to execute with -a call to `$smarty.now` at start and end will show the three second -difference. - -::: {.informalexample} - - {* use the date_format modifier to show current date and time *} - {$smarty.now|date_format:'%Y-%m-%d %H:%M:%S'} - - -::: - -{\$smarty.const} {#language.variables.smarty.const} ----------------- - -You can access PHP constant values directly. See also [smarty -constants](#smarty.constants). - -::: {.informalexample} - - -::: - -Output the constant in a template with - -::: {.informalexample} - - {$smarty.const.MY_CONST_VAL} -::: - -> **Note** -> -> Although Smarty provides direct access to PHP constants for -> convenience, it is typically avoided as this is mixing underlying -> application code structure into the templates. A good practice is to -> assign specific needed values to template vars. - -{\$smarty.capture} {#language.variables.smarty.capture} ------------------- - -Template output captured via the built-in -[`{capture}..{/capture}`](#language.function.capture) function can be -accessed using the `{$smarty.capture}` variable. See the -[`{capture}`](#language.function.capture) page for more information. - -{\$smarty.config} {#language.variables.smarty.config} ------------------ - -`{$smarty.config}` variable can be used to refer to loaded [config -variables](#language.config.variables). `{$smarty.config.foo}` is a -synonym for `{#foo#}`. See the -[{config\_load}](#language.function.config.load) page for more info. - -{\$smarty.section} {#language.variables.smarty.loops} ------------------- - -The `{$smarty.section}` variables can be used to refer to -[`{section}`](#language.function.section) loop properties. These have -some very useful values such as `.first`, `.index`, etc. - -> **Note** -> -> The `{$smarty.foreach}` variable is no longer used with the new -> [`{foreach}`](#language.function.foreach) syntax, but is still -> supported with Smarty 2.x style foreach syntax. - -{\$smarty.template} {#language.variables.smarty.template} -------------------- - -Returns the name of the current template being processed (without the -directory). - -{\$smarty.template\_object} {#language.variables.smarty.template_object} ---------------------------- - -Returns the template object of the current template being processed. - -{\$smarty.current\_dir} {#language.variables.smarty.current_dir} ------------------------ - -Returns the name of the directory for the current template being -processed. - -{\$smarty.version} {#language.variables.smarty.version} ------------------- - -Returns the version of Smarty the template was compiled with. - - - - -{\$smarty.block.child} {#language.variables.smarty.block.child} ----------------------- - -Returns block text from child template. See [Template -inheritance](#advanced.features.template.inheritance). - -{\$smarty.block.parent} {#language.variables.smarty.block.parent} ------------------------ - -Returns block text from parent template. See [Template -inheritance](#advanced.features.template.inheritance) - -{\$smarty.ldelim}, {\$smarty.rdelim} {#language.variables.smarty.ldelim} ------------------------------------- - -These variables are used for printing the left-delimiter and -right-delimiter value literally, the same as -[`{ldelim},{rdelim}`](#language.function.ldelim). - -See also [assigned variables](#language.assigned.variables) and [config -variables](#language.config.variables) diff --git a/fp-includes/smarty-4.3.0/run-tests-for-all-php-versions.sh b/fp-includes/smarty-4.3.0/run-tests-for-all-php-versions.sh deleted file mode 100644 index 6ecd9afb..00000000 --- a/fp-includes/smarty-4.3.0/run-tests-for-all-php-versions.sh +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/bash -Help() -{ - # Display Help - echo "Runs PHPUnit tests for all PHP versions supported by this version of Smarty." - echo - echo "Syntax: $0 [-e|h]" - echo "options:" - echo "e Exclude a group of unit tests, e.g. -e 'slow'" - echo "h Print this Help." - echo -} - -Exclude="" - -# Get the options -while getopts ":he:" option; do - case $option in - e) # Exclude - echo $OPTARG - Exclude=$OPTARG;; - h) # display Help - Help - exit;; - \?) # Invalid option - echo "Error: Invalid option" - exit;; - esac -done - -if [ -z $Exclude ]; -then - Entrypoint="./run-tests.sh" -else - Entrypoint="./run-tests.sh $Exclude" -fi - -# Runs tests for all supported PHP versions -docker-compose run --entrypoint "$Entrypoint" php71 && \ -docker-compose run --entrypoint "$Entrypoint" php72 && \ -docker-compose run --entrypoint "$Entrypoint" php73 && \ -docker-compose run --entrypoint "$Entrypoint" php74 && \ -docker-compose run --entrypoint "$Entrypoint" php80 && \ -docker-compose run --entrypoint "$Entrypoint" php81 diff --git a/fp-includes/smarty-4.3.0/run-tests.sh b/fp-includes/smarty-4.3.0/run-tests.sh deleted file mode 100644 index ddcad01b..00000000 --- a/fp-includes/smarty-4.3.0/run-tests.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh -composer update - -php -r 'echo "\nPHP version " . phpversion() . ". ";'; - -if [ -z $1 ]; -then - echo "Running all unit tests.\n" - php ./vendor/phpunit/phpunit/phpunit -else - echo "Running all unit tests, except tests marked with @group $1.\n" - php ./vendor/phpunit/phpunit/phpunit --exclude-group $1 -fi \ No newline at end of file diff --git a/fp-includes/smarty-4.3.0/CHANGELOG.md b/fp-includes/smarty-4.3.1/CHANGELOG.md similarity index 99% rename from fp-includes/smarty-4.3.0/CHANGELOG.md rename to fp-includes/smarty-4.3.1/CHANGELOG.md index e036ce69..899cfd7e 100644 --- a/fp-includes/smarty-4.3.0/CHANGELOG.md +++ b/fp-includes/smarty-4.3.1/CHANGELOG.md @@ -6,6 +6,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [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 @@ -14,7 +26,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### 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) +- 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 @@ -27,7 +39,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - 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 diff --git a/fp-includes/smarty-4.3.0/LICENSE b/fp-includes/smarty-4.3.1/LICENSE similarity index 100% rename from fp-includes/smarty-4.3.0/LICENSE rename to fp-includes/smarty-4.3.1/LICENSE diff --git a/fp-includes/smarty-4.3.0/README.md b/fp-includes/smarty-4.3.1/README.md similarity index 100% rename from fp-includes/smarty-4.3.0/README.md rename to fp-includes/smarty-4.3.1/README.md diff --git a/fp-includes/smarty-4.3.0/SECURITY.md b/fp-includes/smarty-4.3.1/SECURITY.md similarity index 59% rename from fp-includes/smarty-4.3.0/SECURITY.md rename to fp-includes/smarty-4.3.1/SECURITY.md index ae9d5dc8..80b5ef5c 100644 --- a/fp-includes/smarty-4.3.0/SECURITY.md +++ b/fp-includes/smarty-4.3.1/SECURITY.md @@ -5,15 +5,16 @@ Smarty currently supports the latest minor version of Smarty 3 and Smarty 4. | Version | Supported | -| ------- | ------------------ | -| 4.0.x | :white_check_mark: | +|---------|--------------------| +| 4.3.x | :white_check_mark: | | 3.1.x | :white_check_mark: | | < 3.1 | :x: | ## Reporting a Vulnerability - If you have discovered a security issue with Smarty, please contact us at mail [at] simonwisselink.nl. Do not - disclose your findings publicly and PLEASE PLEASE do not file an Issue. +If you have discovered a security issue with Smarty, please contact us at mail [at] simonwisselink.nl. Do not +disclose your findings publicly and **PLEASE** do not file an Issue (because that would disclose your findings +publicly.) We will try to confirm the vulnerability and develop a fix if appropriate. When we release the fix, we will publish a security release. Please let us know if you want to be credited. diff --git a/fp-includes/smarty-4.3.0/composer.json b/fp-includes/smarty-4.3.1/composer.json similarity index 100% rename from fp-includes/smarty-4.3.0/composer.json rename to fp-includes/smarty-4.3.1/composer.json diff --git a/fp-includes/smarty-4.3.0/demo/configs/test.conf b/fp-includes/smarty-4.3.1/demo/configs/test.conf similarity index 100% rename from fp-includes/smarty-4.3.0/demo/configs/test.conf rename to fp-includes/smarty-4.3.1/demo/configs/test.conf diff --git a/fp-includes/smarty-4.3.0/demo/index.php b/fp-includes/smarty-4.3.1/demo/index.php similarity index 100% rename from fp-includes/smarty-4.3.0/demo/index.php rename to fp-includes/smarty-4.3.1/demo/index.php diff --git a/fp-includes/smarty-4.3.0/demo/plugins/cacheresource.apc.php b/fp-includes/smarty-4.3.1/demo/plugins/cacheresource.apc.php similarity index 100% rename from fp-includes/smarty-4.3.0/demo/plugins/cacheresource.apc.php rename to fp-includes/smarty-4.3.1/demo/plugins/cacheresource.apc.php diff --git a/fp-includes/smarty-4.3.0/demo/plugins/cacheresource.memcache.php b/fp-includes/smarty-4.3.1/demo/plugins/cacheresource.memcache.php similarity index 100% rename from fp-includes/smarty-4.3.0/demo/plugins/cacheresource.memcache.php rename to fp-includes/smarty-4.3.1/demo/plugins/cacheresource.memcache.php diff --git a/fp-includes/smarty-4.3.0/demo/plugins/cacheresource.mysql.php b/fp-includes/smarty-4.3.1/demo/plugins/cacheresource.mysql.php similarity index 100% rename from fp-includes/smarty-4.3.0/demo/plugins/cacheresource.mysql.php rename to fp-includes/smarty-4.3.1/demo/plugins/cacheresource.mysql.php diff --git a/fp-includes/smarty-4.3.0/demo/plugins/cacheresource.pdo.php b/fp-includes/smarty-4.3.1/demo/plugins/cacheresource.pdo.php similarity index 100% rename from fp-includes/smarty-4.3.0/demo/plugins/cacheresource.pdo.php rename to fp-includes/smarty-4.3.1/demo/plugins/cacheresource.pdo.php diff --git a/fp-includes/smarty-4.3.0/demo/plugins/cacheresource.pdo_gzip.php b/fp-includes/smarty-4.3.1/demo/plugins/cacheresource.pdo_gzip.php similarity index 100% rename from fp-includes/smarty-4.3.0/demo/plugins/cacheresource.pdo_gzip.php rename to fp-includes/smarty-4.3.1/demo/plugins/cacheresource.pdo_gzip.php diff --git a/fp-includes/smarty-4.3.0/demo/plugins/resource.extendsall.php b/fp-includes/smarty-4.3.1/demo/plugins/resource.extendsall.php similarity index 100% rename from fp-includes/smarty-4.3.0/demo/plugins/resource.extendsall.php rename to fp-includes/smarty-4.3.1/demo/plugins/resource.extendsall.php diff --git a/fp-includes/smarty-4.3.0/demo/plugins/resource.mysql.php b/fp-includes/smarty-4.3.1/demo/plugins/resource.mysql.php similarity index 100% rename from fp-includes/smarty-4.3.0/demo/plugins/resource.mysql.php rename to fp-includes/smarty-4.3.1/demo/plugins/resource.mysql.php diff --git a/fp-includes/smarty-4.3.0/demo/plugins/resource.mysqls.php b/fp-includes/smarty-4.3.1/demo/plugins/resource.mysqls.php similarity index 100% rename from fp-includes/smarty-4.3.0/demo/plugins/resource.mysqls.php rename to fp-includes/smarty-4.3.1/demo/plugins/resource.mysqls.php diff --git a/fp-includes/smarty-4.3.0/demo/templates/footer.tpl b/fp-includes/smarty-4.3.1/demo/templates/footer.tpl similarity index 100% rename from fp-includes/smarty-4.3.0/demo/templates/footer.tpl rename to fp-includes/smarty-4.3.1/demo/templates/footer.tpl diff --git a/fp-includes/smarty-4.3.0/demo/templates/header.tpl b/fp-includes/smarty-4.3.1/demo/templates/header.tpl similarity index 100% rename from fp-includes/smarty-4.3.0/demo/templates/header.tpl rename to fp-includes/smarty-4.3.1/demo/templates/header.tpl diff --git a/fp-includes/smarty-4.3.0/demo/templates/index.tpl b/fp-includes/smarty-4.3.1/demo/templates/index.tpl similarity index 100% rename from fp-includes/smarty-4.3.0/demo/templates/index.tpl rename to fp-includes/smarty-4.3.1/demo/templates/index.tpl diff --git a/fp-includes/smarty-4.3.0/docs/_config.yml b/fp-includes/smarty-4.3.1/docs/_config.yml similarity index 100% rename from fp-includes/smarty-4.3.0/docs/_config.yml rename to fp-includes/smarty-4.3.1/docs/_config.yml diff --git a/fp-includes/smarty-4.3.1/docs/appendixes/tips.md b/fp-includes/smarty-4.3.1/docs/appendixes/tips.md new file mode 100644 index 00000000..3c6e6b96 --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/appendixes/tips.md @@ -0,0 +1,274 @@ +# Tips & Tricks + +## Blank Variable Handling + +There may be times when you want to print a default value for an empty +variable instead of printing nothing, such as printing ` ` so that +html table backgrounds work properly. Many would use an +[`{if}`](../designers/language-builtin-functions/language-function-if.md) statement to handle this, but there is a +shorthand way with Smarty, using the +[`default`](../designers/language-modifiers/language-modifier-default.md) variable modifier. + +> **Note** +> +> "Undefined variable" errors will show an E\_NOTICE if not disabled in +> PHP's [`error_reporting()`](https://www.php.net/error_reporting) level or +> Smarty's [`$error_reporting`](../programmers/api-variables/variable-error-reporting.md) property and +> a variable had not been assigned to Smarty. + +```smarty + + {* the long way *} + {if $title eq ''} +   + {else} + {$title} + {/if} + + {* the short way *} + {$title|default:' '} + +``` + +See also [`default`](../designers/language-modifiers/language-modifier-default.md) modifier and [default +variable handling](#default-variable-handling). + +## Default Variable Handling + +If a variable is used frequently throughout your templates, applying the +[`default`](../designers/language-modifiers/language-modifier-default.md) modifier every time it is +mentioned can get a bit ugly. You can remedy this by assigning the +variable its default value with the +[`{assign}`](../designers/language-builtin-functions/language-function-assign.md) function. + + + {* do this somewhere at the top of your template *} + {assign var='title' value=$title|default:'no title'} + + {* if $title was empty, it now contains the value "no title" when you use it *} + {$title} + + + +See also [`default`](../designers/language-modifiers/language-modifier-default.md) modifier and [blank +variable handling](#blank-variable-handling). + +## Passing variable title to header template + +When the majority of your templates use the same headers and footers, it +is common to split those out into their own templates and +[`{include}`](../designers/language-builtin-functions/language-function-include.md) them. But what if the header +needs to have a different title, depending on what page you are coming +from? You can pass the title to the header as an +[attribute](../designers/language-basic-syntax/language-syntax-attributes.md) when it is included. + +`mainpage.tpl` - When the main page is drawn, the title of "Main Page" +is passed to the `header.tpl`, and will subsequently be used as the +title. + +```smarty + +{include file='header.tpl' title='Main Page'} +{* template body goes here *} +{include file='footer.tpl'} + +``` + +`archives.tpl` - When the archives page is drawn, the title will be +"Archives". Notice in the archive example, we are using a variable from +the `archives_page.conf` file instead of a hard coded variable. + +```smarty + +{config_load file='archive_page.conf'} + +{include file='header.tpl' title=#archivePageTitle#} +{* template body goes here *} +{include file='footer.tpl'} + +``` + + +`header.tpl` - Notice that "Smarty News" is printed if the `$title` +variable is not set, using the [`default`](../designers/language-modifiers/language-modifier-default.md) +variable modifier. + +```smarty + + + + {$title|default:'Smarty News'} + + + +``` + + +`footer.tpl` + +```smarty + + + + +``` + + +## Dates + +As a rule of thumb, always pass dates to Smarty as +[timestamps](https://www.php.net/time). This allows template designers to +use the [`date_format`](../designers/language-modifiers/language-modifier-date-format.md) modifier for +full control over date formatting, and also makes it easy to compare +dates if necessary. + +```smarty +{$startDate|date_format} +``` + + +This will output: + +``` +Jan 4, 2009 +``` + +```smarty + +{$startDate|date_format:"%Y/%m/%d"} + +``` + + +This will output: + +``` +2009/01/04 +``` + +Dates can be compared in the template by timestamps with: + +```smarty + +{if $order_date < $invoice_date} + ...do something.. +{/if} + +``` + +When using [`{html_select_date}`](../designers/language-custom-functions/language-function-html-select-date.md) +in a template, the programmer will most likely want to convert the +output from the form back into timestamp format. Here is a function to +help you with that. + +```php + +assign($params['assign'], $ticker_info); +} + +``` + +`index.tpl` + +```smarty + +{load_ticker symbol='SMARTY' assign='ticker'} + +Stock Name: {$ticker.name} Stock Price: {$ticker.price} + +``` + +See also: [`{include}`](../designers/language-builtin-functions/language-function-include.md). + +## Obfuscating E-mail Addresses + +Do you ever wonder how your email address gets on so many spam mailing +lists? One way spammers collect email addresses is from web pages. To +help combat this problem, you can make your email address show up in +scrambled javascript in the HTML source, yet it it will look and work +correctly in the browser. This is done with the +[`{mailto}`](../designers/language-custom-functions/language-function-mailto.md) plugin. + +```smarty + +
Send inquiries to +{mailto address=$EmailAddress encode='javascript' subject='Hello'} +
+ +``` + +> **Note** +> +> This method isn\'t 100% foolproof. A spammer could conceivably program +> his e-mail collector to decode these values, but not likely\.... +> hopefully..yet \... wheres that quantum computer :-?. + +See also [`escape`](../designers/language-modifiers/language-modifier-escape.md) modifier and +[`{mailto}`](../designers/language-custom-functions/language-function-mailto.md). diff --git a/fp-includes/smarty-4.3.1/docs/appendixes/troubleshooting.md b/fp-includes/smarty-4.3.1/docs/appendixes/troubleshooting.md new file mode 100644 index 00000000..8364534a --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/appendixes/troubleshooting.md @@ -0,0 +1,104 @@ +# Troubleshooting + +## Smarty/PHP errors + +Smarty can catch many errors such as missing tag attributes or malformed +variable names. If this happens, you will see an error similar to the +following: + +``` +Warning: Smarty: [in index.tpl line 4]: syntax error: unknown tag - '%blah' + in /path/to/smarty/Smarty.class.php on line 1041 + +Fatal error: Smarty: [in index.tpl line 28]: syntax error: missing section name + in /path/to/smarty/Smarty.class.php on line 1041 +``` + + +Smarty shows you the template name, the line number and the error. After +that, the error consists of the actual line number in the Smarty class +that the error occurred. + +There are certain errors that Smarty cannot catch, such as missing close +tags. These types of errors usually end up in PHP compile-time parsing +errors. + +`Parse error: parse error in /path/to/smarty/templates_c/index.tpl.php on line 75` + +When you encounter a PHP parsing error, the error line number will +correspond to the compiled PHP script, NOT the template itself. Usually +you can look at the template and spot the syntax error. Here are some +common things to look for: missing close tags for +[`{if}{/if}`](../designers/language-builtin-functions/language-function-if.md) or +[`{section}{/section}`](../designers/language-builtin-functions/language-function-section.md), +or syntax of logic within an `{if}` tag. If you can\'t find the error, you might have to +open the compiled PHP file and go to the line number to figure out where +the corresponding error is in the template. + +``` +Warning: Smarty error: unable to read resource: "index.tpl" in... +``` +or +``` +Warning: Smarty error: unable to read resource: "site.conf" in... +``` + +- The [`$template_dir`](../programmers/api-variables/variable-template-dir.md) is incorrect, doesn't + exist or the file `index.tpl` is not in the `templates/` directory + +- A [`{config_load}`](../designers/language-builtin-functions/language-function-config-load.md) function is + within a template (or [`configLoad()`](../programmers/api-functions/api-config-load.md) has been + called) and either [`$config_dir`](../programmers/api-variables/variable-config-dir.md) is + incorrect, does not exist or `site.conf` is not in the directory. + +``` +Fatal error: Smarty error: the $compile_dir 'templates_c' does not exist, +or is not a directory... +``` + +- Either the [`$compile_dir`](../programmers/api-variables/variable-compile-dir.md)is incorrectly + set, the directory does not exist, or `templates_c` is a file and + not a directory. + +``` +Fatal error: Smarty error: unable to write to $compile_dir '.... +``` + + +- The [`$compile_dir`](../programmers/api-variables/variable-compile-dir.md) is not writable by the + web server. See the bottom of the [installing + smarty](../getting-started.md#installation) page for more about permissions. + +``` +Fatal error: Smarty error: the $cache_dir 'cache' does not exist, +or is not a directory. in /.. +``` + +- This means that [`$caching`](../programmers/api-variables/variable-caching.md) is enabled and + either; the [`$cache_dir`](../programmers/api-variables/variable-cache-dir.md) is incorrectly set, + the directory does not exist, or `cache/` is a file and not a + directory. + +``` +Fatal error: Smarty error: unable to write to $cache_dir '/... +``` + +- This means that [`$caching`](../programmers/api-variables/variable-caching.md) is enabled and the + [`$cache_dir`](../programmers/api-variables/variable-cache-dir.md) is not writable by the web + server. See the bottom of the [installing + smarty](../getting-started.md#installation) page for permissions. + +``` +Warning: filemtime(): stat failed for /path/to/smarty/cache/3ab50a623e65185c49bf17c63c90cc56070ea85c.one.tpl.php +in /path/to/smarty/libs/sysplugins/smarty_resource.php +``` + +- This means that your application registered a custom error handler + (using [set_error_handler()](https://www.php.net/set_error_handler)) + which is not respecting the given `$errno` as it should. If, for + whatever reason, this is the desired behaviour of your custom error + handler, please call + [`muteExpectedErrors()`](../programmers/api-functions/api-mute-expected-errors.md) after you've + registered your custom error handler. + +See also [debugging](../designers/chapter-debugging-console.md). diff --git a/fp-includes/smarty-4.3.0/docs/designers/chapter-debugging-console.md b/fp-includes/smarty-4.3.1/docs/designers/chapter-debugging-console.md similarity index 96% rename from fp-includes/smarty-4.3.0/docs/designers/chapter-debugging-console.md rename to fp-includes/smarty-4.3.1/docs/designers/chapter-debugging-console.md index 6429b487..6704fce2 100644 --- a/fp-includes/smarty-4.3.0/docs/designers/chapter-debugging-console.md +++ b/fp-includes/smarty-4.3.1/docs/designers/chapter-debugging-console.md @@ -1,5 +1,4 @@ -Debugging Console {#chapter.debugging.console} -================= +# Debugging Console There is a debugging console included with Smarty. The console informs you of all the [included](./language-builtin-functions/language-function-include.md) templates, diff --git a/fp-includes/smarty-4.3.0/docs/designers/config-files.md b/fp-includes/smarty-4.3.1/docs/designers/config-files.md similarity index 77% rename from fp-includes/smarty-4.3.0/docs/designers/config-files.md rename to fp-includes/smarty-4.3.1/docs/designers/config-files.md index c840e3a6..1e1db2d5 100644 --- a/fp-includes/smarty-4.3.0/docs/designers/config-files.md +++ b/fp-includes/smarty-4.3.1/docs/designers/config-files.md @@ -1,5 +1,4 @@ -Config Files {#config.files} -============ +# Config Files Config files are handy for designers to manage global template variables from one file. One example is template colors. Normally if you wanted to @@ -8,39 +7,38 @@ each and every template file and change the colors. With a config file, the colors can be kept in one place, and only one file needs to be updated. +```ini +# global variables +pageTitle = "Main Menu" +bodyBgColor = #000000 +tableBgColor = #000000 +rowBgColor = #00ff00 - # global variables - pageTitle = "Main Menu" - bodyBgColor = #000000 - tableBgColor = #000000 - rowBgColor = #00ff00 +[Customer] +pageTitle = "Customer Info" - [Customer] - pageTitle = "Customer Info" - - [Login] - pageTitle = "Login" - focus = "username" - Intro = """This is a value that spans more - than one line. you must enclose - it in triple quotes.""" - - # hidden section - [.Database] - host=my.example.com - db=ADDRESSBOOK - user=php-user - pass=foobar +[Login] +pageTitle = "Login" +focus = "username" +Intro = """This is a value that spans more + than one line. you must enclose + it in triple quotes.""" +# hidden section +[.Database] +host=my.example.com +db=ADDRESSBOOK +user=php-user +pass=foobar +``` Values of [config file variables](./language-variables/language-config-variables.md) can be in quotes, but not necessary. You can use either single or double quotes. If you have a value that spans more than one line, enclose the entire -value with triple quotes (\"\"\"). You can put comments into config +value with triple quotes \("""\). You can put comments into config files by any syntax that is not a valid config file syntax. We recommend -using a ` - #` (hash) at the beginning of the line. +using a `#` (hash) at the beginning of the line. The example config file above has two sections. Section names are enclosed in \[brackets\]. Section names can be arbitrary strings not @@ -54,8 +52,7 @@ the last one will be used unless [`$config_overwrite`](../programmers/api-variables/variable-config-overwrite.md) is disabled. Config files are loaded into templates with the built-in template -function [` - {config_load}`](./language-builtin-functions/language-function-config-load.md) or the API +function [`{config_load}`](./language-builtin-functions/language-function-config-load.md) or the API [`configLoad()`](../programmers/api-functions/api-config-load.md) function. You can hide variables or entire sections by prepending the variable diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-basic-syntax.md b/fp-includes/smarty-4.3.1/docs/designers/language-basic-syntax/index.md similarity index 56% rename from fp-includes/smarty-4.3.0/docs/designers/language-basic-syntax.md rename to fp-includes/smarty-4.3.1/docs/designers/language-basic-syntax/index.md index 2509857c..c0a12a9b 100644 --- a/fp-includes/smarty-4.3.0/docs/designers/language-basic-syntax.md +++ b/fp-includes/smarty-4.3.1/docs/designers/language-basic-syntax/index.md @@ -1,8 +1,7 @@ -Basic Syntax -============ +# Basic Syntax A simple Smarty template could look like this: -```html +```smarty

{$title|escape}

    {foreach $cities as $city} @@ -15,7 +14,7 @@ A simple Smarty template could look like this: All Smarty template tags are enclosed within delimiters. By default these are `{` and `}`, but they can be -[changed](../programmers/api-variables/variable-left-delimiter.md). +[changed](../../programmers/api-variables/variable-left-delimiter.md). For the examples in this manual, we will assume that you are using the default delimiters. In Smarty, all content outside of delimiters is @@ -24,10 +23,11 @@ template tags, it attempts to interpret them, and displays the appropriate output in their place. The basis components of the Smarty syntax are: -- [Comments](./language-basic-syntax/language-syntax-comments.md) -- [Variables](./language-basic-syntax/language-syntax-variables.md) -- [Functions](./language-basic-syntax/language-syntax-functions.md) -- [Attributes](./language-basic-syntax/language-syntax-attributes.md) -- [Quotes](./language-basic-syntax/language-syntax-quotes.md) -- [Math](./language-basic-syntax/language-math.md) -- [Escaping](./language-basic-syntax/language-escaping.md) + +- [Comments](language-syntax-comments.md) +- [Variables](language-syntax-variables.md) +- [Functions](language-syntax-functions.md) +- [Attributes](language-syntax-attributes.md) +- [Quotes](language-syntax-quotes.md) +- [Math](language-math.md) +- [Escaping](language-escaping.md) diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-basic-syntax/language-escaping.md b/fp-includes/smarty-4.3.1/docs/designers/language-basic-syntax/language-escaping.md new file mode 100644 index 00000000..4c75e09e --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-basic-syntax/language-escaping.md @@ -0,0 +1,79 @@ +# Escaping Smarty parsing + +It is sometimes desirable or even necessary to have Smarty ignore +sections it would otherwise parse. A classic example is embedding +Javascript or CSS code in a template. The problem arises as those +languages use the { and } characters which are also the default +[delimiters](../language-builtin-functions/language-function-ldelim.md) for Smarty. + +> **Note** +> +> A good practice for avoiding escapement altogether is by separating +> your Javascript/CSS into their own files and use standard HTML methods +> to access them. This will also take advantage of browser script +> caching. When you need to embed Smarty variables/functions into your +> Javascript/CSS, then the following applies. + +In Smarty templates, the { and } braces will be ignored so long as they +are surrounded by white space. This behavior can be disabled by setting +the Smarty class variable [`$auto_literal`](../../programmers/api-variables/variable-auto-literal.md) to +false. + +## Examples + +```smarty + +``` + +[`{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.0/docs/designers/language-basic-syntax/language-math.md b/fp-includes/smarty-4.3.1/docs/designers/language-basic-syntax/language-math.md similarity index 59% rename from fp-includes/smarty-4.3.0/docs/designers/language-basic-syntax/language-math.md rename to fp-includes/smarty-4.3.1/docs/designers/language-basic-syntax/language-math.md index dc78a351..a9a43efd 100644 --- a/fp-includes/smarty-4.3.0/docs/designers/language-basic-syntax/language-math.md +++ b/fp-includes/smarty-4.3.1/docs/designers/language-basic-syntax/language-math.md @@ -1,25 +1,24 @@ -Math {#language.math} -==== +# Math Math can be applied directly to variable values. +## Examples +```smarty +{$foo+1} - {$foo+1} +{$foo*$bar} - {$foo*$bar} +{* some more complicated examples *} - {* some more complicated examples *} +{$foo->bar-$bar[1]*$baz->foo->bar()-3*7} - {$foo->bar-$bar[1]*$baz->foo->bar()-3*7} +{if ($foo+$bar.test%$baz*134232+10+$b+10)} - {if ($foo+$bar.test%$baz*134232+10+$b+10)} - - {$foo|truncate:"`$fooTruncCount/$barTruncFactor-1`"} - - {assign var="foo" value="`$foo+$bar`"} +{$foo|truncate:"`$fooTruncCount/$barTruncFactor-1`"} +{assign var="foo" value="`$foo+$bar`"} +``` - > **Note** > > Although Smarty can handle some very complex expressions and syntax, diff --git a/fp-includes/smarty-4.3.0/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 similarity index 52% rename from fp-includes/smarty-4.3.0/docs/designers/language-basic-syntax/language-syntax-attributes.md rename to fp-includes/smarty-4.3.1/docs/designers/language-basic-syntax/language-syntax-attributes.md index 417ac972..41f6c458 100644 --- a/fp-includes/smarty-4.3.0/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 @@ -1,7 +1,6 @@ -Attributes {#language.syntax.attributes} -========== +# Attributes -Most of the [functions](#language.syntax.functions) take attributes that +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 @@ -12,35 +11,35 @@ 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"} +{include file="header.tpl" nocache} // is equivalent to nocache=true - {include file="header.tpl" nocache} // is equivalent to nocache=true +{include file="header.tpl" attrib_name="attrib value"} - {include file="header.tpl" attrib_name="attrib value"} +{include file=$includeFile} - {include file=$includeFile} +{include file=#includeFile# title="My Title"} - {include file=#includeFile# title="My Title"} +{assign var=foo value={counter}} // plugin result - {assign var=foo value={counter}} // plugin result +{assign var=foo value=substr($bar,2,5)} // PHP function result - {assign var=foo value=substr($bar,2,5)} // PHP function result +{assign var=foo value=$bar|strlen} // using modifier - {assign var=foo value=$bar|strlen} // using modifier +{assign var=foo value=$buh+$bar|strlen} // more complex expression - {assign var=foo value=$buh+$bar|strlen} // more complex expression +{html_select_date display_days=true} - {html_select_date display_days=true} - - {mailto address="smarty@example.com"} - - +{mailto address="smarty@example.com"} + +``` - > **Note** > > Although Smarty can handle some very complex expressions and syntax, diff --git a/fp-includes/smarty-4.3.0/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 similarity index 83% rename from fp-includes/smarty-4.3.0/docs/designers/language-basic-syntax/language-syntax-comments.md rename to fp-includes/smarty-4.3.1/docs/designers/language-basic-syntax/language-syntax-comments.md index 43104dbb..7052c20e 100644 --- a/fp-includes/smarty-4.3.0/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 @@ -1,27 +1,25 @@ -Comments {#language.syntax.comments} -======== +# Comments Template comments are surrounded by asterisks, and that is surrounded by -the [delimiter](#variable.left.delimiter) tags like so: +the [delimiter](../../programmers/api-variables/variable-left-delimiter.md) tags like so: -::: {.informalexample} +## Examples - {* this is a comment *} - - -::: +```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 ;-) - - {* I am a Smarty comment, I don't exist in the compiled output *} - +```smarty +{* I am a Smarty comment, I don't exist in the compiled output *} + - {$title} + {$title} - + {* another single line smarty comment *} @@ -66,6 +64,6 @@ notes in the templates which no one will see ;-) *} - - + +``` 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 new file mode 100644 index 00000000..c3c8c21c --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-basic-syntax/language-syntax-functions.md @@ -0,0 +1,40 @@ +# 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 new file mode 100644 index 00000000..e04e6da7 --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-basic-syntax/language-syntax-quotes.md @@ -0,0 +1,54 @@ +# 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 new file mode 100644 index 00000000..c0285d07 --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-basic-syntax/language-syntax-variables.md @@ -0,0 +1,109 @@ +# 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 new file mode 100644 index 00000000..10dc3a6f --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/index.md @@ -0,0 +1,35 @@ +# 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 new file mode 100644 index 00000000..37e1b81e --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-append.md @@ -0,0 +1,49 @@ +# {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 new file mode 100644 index 00000000..f5faa46d --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-assign.md @@ -0,0 +1,147 @@ +# {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.0/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 similarity index 52% rename from fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-block.md rename to fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-block.md index 82659852..c2acd197 100644 --- a/fp-includes/smarty-4.3.0/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 @@ -1,9 +1,8 @@ -{block} {#language.function.block} -======= +# {block} `{block}` is used to define a named area of template source for template inheritance. For details see section of [Template -Inheritance](#advanced.features.template.inheritance). +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). @@ -11,181 +10,192 @@ 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 the {\$smarty.block.parent} the `{block}` content of +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 +`{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:** +## Attributes - Attribute Name Type Required Default Description - ---------------- -------- ---------- --------- --------------------------------------- - name string Yes *n/a* The name of the template source block +| 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. | -**Option Flags (in child templates only):** +> **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. - Name Description - --------- ------------------------------------------------------------------------------------------- - append The `{block}` content will be 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 -parent.tpl +## 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" prepend} - Page Title + {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" append} + {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 + 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 + 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](#advanced.features.template.inheritance), -[`$smarty.block.parent`](#language.variables.smarty.block.parent), -[`$smarty.block.child`](#language.variables.smarty.block.child), and -[`{extends}`](#language.function.extends) +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.0/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 similarity index 53% rename from fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-call.md rename to fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-call.md index 786f0c10..c07fb49b 100644 --- a/fp-includes/smarty-4.3.0/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 @@ -1,39 +1,41 @@ -{call} {#language.function.call} -====== +# {call} `{call}` is used to call a template function defined by the -[`{function}`](#language.function.function) tag just like a plugin +[`{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}`](#language.function.call) tag must +> 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 - the name of the template function. + name of the template function. - Values for variables can be passed to the template function as - [attributes](#language.syntax.attributes). + [attributes](../language-basic-syntax/language-syntax-attributes.md). -**Attributes:** +## Attributes - Attribute Name Type Required Default Description - ---------------- -------------- ---------- --------- ------------------------------------------------------------------------------------------ - name string Yes *n/a* The name of the template function - assign string No *n/a* The name of the variable that the output of called template function will be assigned to - \[var \...\] \[var type\] No *n/a* variable to pass local to template function +| 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:** +## Option Flags - Name Description - --------- -------------------------------------------- - nocache Call the template function in nocache mode +| Name | Description | +|---------|--------------------------------------------| +| nocache | Call the template function in nocache mode | +## Examples + +```smarty {* define the function *} {function name=menu level=0}
      @@ -55,12 +57,12 @@ function. {* 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 @@ -70,7 +72,6 @@ Will generate the following output + item3-3-1 + item3-3-2 * item4 +``` - - -See also [`{function}`](#language.function.function) +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 new file mode 100644 index 00000000..657f077c --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-capture.md @@ -0,0 +1,81 @@ +# {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 new file mode 100644 index 00000000..e13c3083 --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-config-load.md @@ -0,0 +1,88 @@ +# {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.0/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 similarity index 66% rename from fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-debug.md rename to fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-debug.md index fbaae194..29485d54 100644 --- a/fp-includes/smarty-4.3.0/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 @@ -1,10 +1,9 @@ -{debug} {#language.function.debug} -======= +# {debug} `{debug}` dumps the debug console to the page. This works regardless of -the [debug](#chapter.debugging.console) settings in the php script. +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](#api.assign) variables; not the templates that are in use. +[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. @@ -15,4 +14,4 @@ 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). +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 new file mode 100644 index 00000000..eba17b9b --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-extends.md @@ -0,0 +1,37 @@ +# {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 new file mode 100644 index 00000000..619b61ef --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-for.md @@ -0,0 +1,91 @@ +# {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 +
        + {for $foo=1 to 3} +
      • {$foo}
      • + {/for} +
      +``` + +The above example will output: + +```html +
        +
      • 1
      • +
      • 2
      • +
      • 3
      • +
      +``` + +```php +assign('to',10); +``` + +```smarty +
        + {for $foo=3 to $to max=3} +
      • {$foo}
      • + {/for} +
      +``` + +The above example will output: + +```html +
        +
      • 3
      • +
      • 4
      • +
      • 5
      • +
      +``` + +```php +assign('start',10); +$smarty->assign('to',5); +``` + +```smarty +
        + {for $foo=$start to $to} +
      • {$foo}
      • + {forelse} + no iteration + {/for} +
      +``` + +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 new file mode 100644 index 00000000..645d6c52 --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-foreach.md @@ -0,0 +1,389 @@ +# {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 +
        + {foreach $myColors as $color} +
      • {$color}
      • + {/foreach} +
      +``` + +The above example will output: + +```html +
        +
      • red
      • +
      • green
      • +
      • blue
      • +
      +``` + +```php + 'John', 'lname' => 'Doe', 'email' => 'j.doe@example.com'); +$smarty->assign('myPeople', $people); +``` + +Template to output `$myArray` as key/value pairs. + +```smarty +
        + {foreach $myPeople as $value} +
      • {$value@key}: {$value}
      • + {/foreach} +
      +``` + +The above example will output: + +```html +
        +
      • fname: John
      • +
      • lname: Doe
      • +
      • email: j.doe@example.com
      • +
      +``` + +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 +
        + {foreach $myArray as $name} +
      • {$name}
      • + {/foreach} +
      +{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.0/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 similarity index 51% rename from fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-function.md rename to fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-function.md index 647e4bfc..cee6762c 100644 --- a/fp-includes/smarty-4.3.0/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 @@ -1,5 +1,4 @@ -{function} {#language.function.function} -========== +# {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 @@ -12,15 +11,22 @@ nested menus. > 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 +> 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 the name of the template function. A tag with this name can be + 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.syntax.attributes). Like in PHP 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. @@ -30,12 +36,7 @@ nested menus. inside the template function have local scope and are not visible inside the calling template after the template function is executed. -**Attributes:** - Attribute Name Type Required Default Description - ---------------- -------------- ---------- --------- --------------------------------------------------------------- - name string Yes *n/a* The name of the template function - \[var \...\] \[var type\] No *n/a* default variable value to pass local to the template function > **Note** > @@ -45,44 +46,44 @@ nested menus. > values must be scalar and can not be variable. Variables must be > passed when the template is called. - - {* define the function *} - {function name=menu level=0} - {function menu level=0} {* short-hand *} -
        - {foreach $data as $entry} - {if is_array($entry)} -
      • {$entry@key}
      • - {menu data=$entry level=$level+1} - {else} -
      • {$entry}
      • - {/if} - {/foreach} -
      - {/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} - - +## Examples + +```smarty +{* define the function *} +{function name=menu level=0} +{function menu level=0} {* short-hand *} +
        + {foreach $data as $entry} + {if is_array($entry)} +
      • {$entry@key}
      • + {menu data=$entry level=$level+1} + {else} +
      • {$entry}
      • + {/if} + {/foreach} +
      +{/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 - +``` +* 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) +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 new file mode 100644 index 00000000..c7be37a2 --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-if.md @@ -0,0 +1,120 @@ +# {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 new file mode 100644 index 00000000..d12a817e --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-include.md @@ -0,0 +1,187 @@ +# {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.0/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 similarity index 59% rename from fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-insert.md rename to fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-insert.md index e5bc7dcb..54f0729d 100644 --- a/fp-includes/smarty-4.3.0/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 @@ -1,51 +1,51 @@ -{insert} {#language.function.insert} -======== +# {insert} > **Note** > > `{insert}` tags are deprecated from Smarty, and should not be used. > Put your PHP logic in PHP scripts or plugin functions instead. - -> **Note** -> > As of Smarty 3.1 the `{insert}` tags are only available from > [SmartyBC](#bc). -`{insert}` tags work much like [`{include}`](#language.function.include) +`{insert}` tags work much like [`{include}`](./language-function-include.md) tags, except that `{insert}` tags are NOT cached when template -[caching](#caching) is enabled. They will be executed on every +[caching](../../programmers/caching.md) is enabled. They will be executed on every invocation of the template. - Attribute Name Type Required Default Description - ---------------- -------------- ---------- --------- ---------------------------------------------------------------------------------- - name string Yes *n/a* The name of the insert function (insert\_`name`) or insert plugin - assign string No *n/a* The name of the template variable the output will be assigned to - script string No *n/a* The name of the php script that is included before the insert function is called - \[var \...\] \[var type\] No *n/a* variable to pass to insert function +| 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 +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 +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)), and needs to call a function to get the +[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 +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\")); +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}` @@ -54,8 +54,8 @@ and display the returned results in place of the {insert} tag. > **Note** > - > Assigning the output to a template variable isn\'t too useful with - > [caching](#variable.caching) enabled. + > 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. @@ -63,9 +63,9 @@ and display the returned results in place of the {insert} tag. php script must be included first to make it work. The path can be either absolute, or relative to - [`$trusted_dir`](#variable.trusted.dir). If security is enabled, + [`$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](#advanced.features.security) + 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 @@ -78,9 +78,9 @@ insert plugin. > **Note** > > It is possible to have portions of the template not cached. If you -> have [caching](#caching) turned on, `{insert}` tags will not be +> 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) +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 new file mode 100644 index 00000000..c9f73c30 --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-ldelim.md @@ -0,0 +1,51 @@ +# {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 new file mode 100644 index 00000000..4bc12f9d --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-literal.md @@ -0,0 +1,34 @@ +# {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.0/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 similarity index 64% rename from fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-nocache.md rename to fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-nocache.md index a5922f83..e6d8453f 100644 --- a/fp-includes/smarty-4.3.0/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 @@ -1,5 +1,4 @@ -{nocache} {#language.function.nocache} -========= +# {nocache} `{nocache}` is used to disable caching of a template section. Every `{nocache}` must be paired with a matching `{/nocache}`. @@ -9,15 +8,13 @@ > Be sure any variables used within a non-cached section are also > assigned from PHP when the page is loaded from the cache. - - - Today's date is - {nocache} - {$smarty.now|date_format} - {/nocache} - - - +```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](#caching). +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 new file mode 100644 index 00000000..ba17224c --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-section.md @@ -0,0 +1,610 @@ +# {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.0/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 similarity index 52% rename from fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-setfilter.md rename to fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-setfilter.md index c7f99e78..eb11cbf1 100644 --- a/fp-includes/smarty-4.3.0/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 @@ -1,29 +1,35 @@ -{setfilter} {#language.function.setfilter} -=========== +# {setfilter} The `{setfilter}...{/setfilter}` block tag allows the definition of -template instance\'s variable filters. +template instance's variable filters. -SYNTAX: {setfilter filter1\|filter2\|filter3\....}\...{/setfilter} +SYNTAX: `{setfilter filter1\|filter2\|filter3\....}\...{/setfilter}` The filter can be: -- A variable filter plugin specified by it\'s name. +- A variable filter plugin specified by it's name. -- A modifier specified by it\'s name and optional additional +- 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. +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 - + +``` - - -> **Note** -> -> The setting of template instance filters does not effect the output of -> included subtemplates. diff --git a/fp-includes/smarty-4.3.0/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 similarity index 64% rename from fp-includes/smarty-4.3.0/docs/designers/language-builtin-functions/language-function-strip.md rename to fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-strip.md index d40646e5..800de84b 100644 --- a/fp-includes/smarty-4.3.0/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 @@ -1,9 +1,8 @@ -{strip} {#language.function.strip} -======= +# {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 +"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. @@ -15,34 +14,32 @@ worry about extra white space causing problems. > **Note** > > `{strip}{/strip}` does not affect the contents of template variables, -> see the [strip modifier](#language.modifier.strip) instead. +> see the [strip modifier](../language-modifiers/language-modifier-strip.md) instead. - - {* the following will be all run into one line upon output *} - {strip} - +```smarty +{* the following will be all run into one line upon output *} +{strip} +
      - - This is a test + + This is a test
      - {/strip} - +{/strip} +``` - The above example will output: - -
      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.modifier.strip) modifier. +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 new file mode 100644 index 00000000..13eaef9b --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-builtin-functions/language-function-while.md @@ -0,0 +1,43 @@ +# {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 new file mode 100644 index 00000000..97903c53 --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-combining-modifiers.md @@ -0,0 +1,32 @@ +# 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 new file mode 100644 index 00000000..81979654 --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/index.md @@ -0,0 +1,19 @@ +# 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 new file mode 100644 index 00000000..de04c2fe --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-counter.md @@ -0,0 +1,45 @@ +# {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 new file mode 100644 index 00000000..661e490d --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-cycle.md @@ -0,0 +1,55 @@ +# {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]}
1
2
3
`. + +## Attributes + +| Attribute Name | Required | Description | +|----------------|----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| loop | Yes | Array of data to loop through | +| cols | No | Number of columns in the table or a comma-separated list of column heading names or an array of column heading names.if the cols-attribute is empty, but rows are given, then the number of cols is computed by the number of rows and the number of elements to display to be just enough cols to display all elements. If both, rows and cols, are omitted cols defaults to 3. if given as a list or array, the number of columns is computed from the number of elements in the list or array. | +| rows | No | Number of rows in the table. if the rows-attribute is empty, but cols are given, then the number of rows is computed by the number of cols and the number of elements to display to be just enough rows to display all elements. | +| inner | No | Direction of consecutive elements in the loop-array to be rendered. *cols* means elements are displayed col-by-col. *rows* means elements are displayed row-by-row. | +| caption | No | Text to be used for the `
` element of the table | +| table\_attr | No | Attributes for `` tag (defaults to 'border="1"') | +| th\_attr | No | Attributes for `` tag (arrays are cycled) | +| td\_attr | No | Attributes for `
` tag (arrays are cycled) | +| tr\_attr | No | attributes for `
` tag (arrays are cycled) | +| trailpad | No | Value to pad the trailing cells on last row with (if any) (defaults to ' ') | +| hdir | No | Direction of each row to be rendered. possible values: *right* (left-to-right), and *left* (right-to-left) (defaults to 'right') | +| vdir | No | Direction of each column to be rendered. possible values: *down* (top-to-bottom), *up* (bottom-to-top) (defaults to 'down') | + +- The `cols` attribute determines how many columns will be in the + table. + +- The `table_attr`, `tr_attr` and `td_attr` values determine the + attributes given to the ``, `` and `
` tags. + +- If `tr_attr` or `td_attr` are arrays, they will be cycled through. + +- `trailpad` is the value put into the trailing cells on the last + table row if there are any present. + +## Examples + +```php +assign( 'data', array(1,2,3,4,5,6,7,8,9) ); +$smarty->assign( 'tr', array('bgcolor="#eeeeee"','bgcolor="#dddddd"') ); +$smarty->display('index.tpl'); +``` + +The variables assigned from php could be displayed as these three +examples demonstrate. Each example shows the template followed by +output. + +** Example 1 ** +```smarty +{html_table loop=$data} +``` +```html + + + + + + +
123
456
789
+``` + +** Example 2 ** +```smarty +{html_table loop=$data cols=4 table_attr='border="0"'} +``` +```html + + + + + + +
1234
5678
9   
+``` + +** Example 3 ** +```smarty +{html_table loop=$data cols="first,second,third,fourth" tr_attr=$tr} +``` +```html + + + + + + + + + + + +
firstsecondthirdfourth
1234
5678
9   
+``` + diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-mailto.md b/fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-mailto.md new file mode 100644 index 00000000..bcb8b7d4 --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-mailto.md @@ -0,0 +1,61 @@ +# {mailto} + +`{mailto}` automates the creation of a `mailto:` anchor links and +optionally encodes them. Encoding emails makes it more difficult for web +spiders to lift email addresses off of a site. + +## Attributes + +| Attribute Name | Required | Description | +|----------------|----------|-----------------------------------------------------------------------------------------------| +| address | Yes | The e-mail address | +| text | No | The text to display, default is the e-mail address | +| encode | No | How to encode the e-mail. Can be one of `none`, `hex`, `javascript` or `javascript_charcode`. | +| cc | No | Email addresses to carbon copy, separate entries by a comma. | +| bcc | No | Email addresses to blind carbon copy, separate entries by a comma | +| subject | No | Email subject | +| newsgroups | No | Newsgroups to post to, separate entries by a comma. | +| followupto | No | Addresses to follow up to, separate entries by a comma. | +| extra | No | Any extra information you want passed to the link, such as style sheet classes | + +> **Note** +> +> Javascript is probably the most thorough form of encoding, although +> you can use hex encoding too. + + +## Examples + +```smarty +{mailto address="me@example.com"} +me@example.com + +{mailto address="me@example.com" text="send me some mail"} +send me some mail + +{mailto address="me@example.com" encode="javascript"} + + +{mailto address="me@example.com" encode="hex"} +m&..snipped...#x6f;m + +{mailto address="me@example.com" subject="Hello to you!"} +me@example.com + +{mailto address="me@example.com" cc="you@example.com,they@example.com"} +me@example.com + +{mailto address="me@example.com" extra='class="email"'} + + +{mailto address="me@example.com" encode="javascript_charcode"} + +``` + +See also [`escape`](../language-modifiers/language-modifier-escape.md), +[`{textformat}`](../language-custom-functions/language-function-textformat.md) and [obfuscating email +addresses](../../appendixes/tips.md#obfuscating-e-mail-addresses). diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-math.md b/fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-math.md new file mode 100644 index 00000000..7b34fccf --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-math.md @@ -0,0 +1,99 @@ +# {math} + +`{math}` allows the template designer to do math equations in the +template. + +## Attributes + +| Attribute Name | Required | Description | +|----------------|----------|--------------------------------------------------| +| equation | Yes | The equation to execute | +| format | No | The format of the result (sprintf) | +| var | Yes | Equation variable value | +| assign | No | Template variable the output will be assigned to | +| \[var \...\] | Yes | Equation variable value | + +- Any numeric template variables may be used in the equations, and the + result is printed in place of the tag. + +- The variables used in the equation are passed as parameters, which + can be template variables or static values. + +- +, -, /, \*, abs, ceil, cos, exp, floor, log, log10, max, min, pi, + pow, rand, round, sin, sqrt, srans and tan are all valid operators. + Check the PHP documentation for further information on these + [math](https://www.php.net/eval) functions. + +- If you supply the `assign` attribute, the output of the `{math}` + function will be assigned to this template variable instead of being + output to the template. + +> **Note** +> +> `{math}` is an expensive function in performance due to its use of the +> php [`eval()`](https://www.php.net/eval) function. Doing the math in PHP +> is much more efficient, so whenever possible do the math calculations +> in the script and [`assign()`](../../programmers/api-functions/api-assign.md) the results to the +> template. Definitely avoid repetitive `{math}` function calls, eg +> within [`{section}`](../language-builtin-functions/language-function-section.md) loops. + +## Examples + +**Example 1** +```smarty + +{* $height=4, $width=5 *} + +{math equation="x + y" x=$height y=$width} +``` + +The above example will output: + +``` +9 +``` + + +**Example 2** + +```smarty +{* $row_height = 10, $row_width = 20, #col_div# = 2, assigned in template *} + +{math equation="height * width / division" + height=$row_height + width=$row_width + division=#col_div#} +``` + +The above example will output: + +``` +100 +``` + +**Example 3** + +```smarty +{* you can use parenthesis *} + +{math equation="(( x + y ) / z )" x=2 y=10 z=2} +``` + +The above example will output: + +``` +6 +``` + +**Example 4** + +```smarty +{* you can supply a format parameter in sprintf format *} + +{math equation="x + y" x=4.4444 y=5.0000 format="%.2f"} +``` + +The above example will output: +``` +9.44 +``` diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-textformat.md b/fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-textformat.md new file mode 100644 index 00000000..4089fdb3 --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-custom-functions/language-function-textformat.md @@ -0,0 +1,182 @@ +# {textformat} + +`{textformat}` is a [block function](../../programmers/plugins/plugins-block-functions.md) used to +format text. It basically cleans up spaces and special characters, and +formats paragraphs by wrapping at a boundary and indenting lines. + +You can set the parameters explicitly, or use a preset style. Currently, +"email" is the only available style. + +## Attributes + +| Attribute Name | Default | Description | +|----------------|------------------|----------------------------------------------------------------------------------------| +| style | *n/a* | Preset style | +| indent | *0* | The number of chars to indent every line | +| indent\_first | *0* | The number of chars to indent the first line | +| indent\_char | *(single space)* | The character (or string of chars) to indent with | +| wrap | *80* | How many characters to wrap each line to | +| wrap\_char | *\\n* | The character (or string of chars) to break each line with | +| wrap\_cut | *FALSE* | If TRUE, wrap will break the line at the exact character instead of at a word boundary | +| assign | *n/a* | The template variable the output will be assigned to | + +## Examples + +```smarty +{textformat wrap=40} + +This is foo. +This is foo. +This is foo. +This is foo. +This is foo. +This is foo. + +This is bar. + +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. + +{/textformat} +``` + +The above example will output: + +``` +This is foo. This is foo. This is foo. +This is foo. This is foo. This is foo. + +This is bar. + +bar foo bar foo foo. bar foo bar foo +foo. bar foo bar foo foo. bar foo bar +foo foo. bar foo bar foo foo. bar foo +bar foo foo. bar foo bar foo foo. +``` + +```smarty +{textformat wrap=40 indent=4} + +This is foo. +This is foo. +This is foo. +This is foo. +This is foo. +This is foo. + +This is bar. + +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. + +{/textformat} +``` + +The above example will output: + +``` + This is foo. This is foo. This is + foo. This is foo. This is foo. This + is foo. + + This is bar. + + bar foo bar foo foo. bar foo bar foo + foo. bar foo bar foo foo. bar foo + bar foo foo. bar foo bar foo foo. + bar foo bar foo foo. bar foo bar + foo foo. +``` + + +```smarty +{textformat wrap=40 indent=4 indent_first=4} + +This is foo. +This is foo. +This is foo. +This is foo. +This is foo. +This is foo. + +This is bar. + +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. + +{/textformat} +``` + +The above example will output: + + +``` + This is foo. This is foo. This + is foo. This is foo. This is foo. + This is foo. + + This is bar. + + bar foo bar foo foo. bar foo bar + foo foo. bar foo bar foo foo. bar + foo bar foo foo. bar foo bar foo + foo. bar foo bar foo foo. bar foo + bar foo foo. +``` + + +```smarty +{textformat style="email"} + +This is foo. +This is foo. +This is foo. +This is foo. +This is foo. +This is foo. + +This is bar. + +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. + +{/textformat} +``` + +The above example will output: + + +``` +This is foo. This is foo. This is foo. This is foo. This is foo. This is +foo. + +This is bar. + +bar foo bar foo foo. bar foo bar foo foo. bar foo bar foo foo. bar foo +bar foo foo. bar foo bar foo foo. bar foo bar foo foo. bar foo bar foo +foo. +``` + + +See also [`{strip}`](../language-builtin-functions/language-function-strip.md) and +[`wordwrap`](../language-modifiers/language-modifier-wordwrap.md). diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/index.md b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/index.md new file mode 100644 index 00000000..c9aeef88 --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/index.md @@ -0,0 +1,122 @@ +# Variable Modifiers + +Variable modifiers can be applied to +[variables](../language-variables/index.md), [custom functions](../language-custom-functions/index.md) +or strings. To apply a modifier, +specify the value followed by a `|` (pipe) and the modifier name. A +modifier may accept additional parameters that affect its behavior. +These parameters follow the modifier name and are separated by a `:` +(colon). Also, *all php-functions can be used as modifiers implicitly* +(more below) and modifiers can be +[combined](../language-combining-modifiers.md). + +- [capitalize](language-modifier-capitalize.md) +- [cat](language-modifier-cat.md) +- [count_characters](language-modifier-count-characters.md) +- [count_paragraphs](language-modifier-count-paragraphs.md) +- [count_sentences](language-modifier-count-sentences.md) +- [count_words](language-modifier-count-words.md) +- [date_format](language-modifier-date-format.md) +- [default](language-modifier-default.md) +- [escape](language-modifier-escape.md) +- [from_charset](language-modifier-from-charset.md) +- [indent](language-modifier-indent.md) +- [lower](language-modifier-lower.md) +- [nl2br](language-modifier-nl2br.md) +- [regex_replace](language-modifier-regex-replace.md) +- [replace](language-modifier-replace.md) +- [spacify](language-modifier-spacify.md) +- [string_format](language-modifier-string-format.md) +- [strip](language-modifier-strip.md) +- [strip_tags](language-modifier-strip-tags.md) +- [to_charset](language-modifier-to-charset.md) +- [truncate](language-modifier-truncate.md) +- [unescape](language-modifier-unescape.md) +- [upper](language-modifier-upper.md) +- [wordwrap](language-modifier-wordwrap.md) + +## Examples + +```smarty +{* apply modifier to a variable *} +{$title|upper} + +{* modifier with parameters *} +{$title|truncate:40:"..."} + +{* apply modifier to a function parameter *} +{html_table loop=$myvar|upper} + +{* with parameters *} +{html_table loop=$myvar|truncate:40:"..."} + +{* apply modifier to literal string *} +{"foobar"|upper} + +{* using date_format to format the current date *} +{$smarty.now|date_format:"%Y/%m/%d"} + +{* apply modifier to a custom function *} +{mailto|upper address="smarty@example.com"} + +{* using php's str_repeat *} +{"="|str_repeat:80} + +{* php's count *} +{$myArray|@count} + +{* this will uppercase and truncate the whole array *} + +``` + +- Modifiers can be applied to any type of variables, including arrays + and objects. + + > **Note** + > + > The default behavior was changed with Smarty 3. In Smarty 2.x, you + > had to use an "`@`" symbol to apply a modifier to an array, such + > as `{$articleTitle|@count}`. With Smarty 3, the "`@`" is no + > longer necessary, and is ignored. + > + > If you want a modifier to apply to each individual item of an + > array, you will either need to loop the array in the template, or + > provide for this functionality inside your modifier function. + + > **Note** + > + > Second, in Smarty 2.x, modifiers were applied to the result of + > math expressions like `{8+2}`, meaning that + > `{8+2|count_characters}` would give `2`, as 8+2=10 and 10 is two + > characters long. With Smarty 3, modifiers are applied to the + > variables or atomic expressions before executing the calculations, + > so since 2 is one character long, `{8+2|count_characters}` + > gives 9. To get the old result use parentheses like + > `{(8+2)|count_characters}`. + +- Modifiers are autoloaded from the + [`$plugins_dir`](../../programmers/api-variables/variable-plugins-dir.md) or can be registered + explicitly with the [`registerPlugin()`](../../programmers/api-functions/api-register-plugin.md) + function. The later is useful for sharing a function between php + scripts and smarty templates. + +- All php-functions can be used as modifiers implicitly, as + demonstrated in the example above. However, using php-functions as + modifiers has two little pitfalls: + + - First - sometimes the order of the function-parameters is not + the desirable one. Formatting `$foo` with + `{"%2.f"|sprintf:$foo}` actually works, but asks for the more + intuitive, like `{$foo|string_format:"%2.f"}` that is provided + by the Smarty distribution. + + - Secondly - if security is enabled, all php-functions that are to + be used as modifiers have to be declared trusted in the + `$modifiers` property of the security policy. See the + [Security](../../programmers/advanced-features/advanced-features-security.md) section for details. + +See also [`registerPlugin()`](../../programmers/api-functions/api-register-plugin.md), [combining +modifiers](../language-combining-modifiers.md). and [extending smarty with +plugins](../../programmers/plugins.md) diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-capitalize.md b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-capitalize.md new file mode 100644 index 00000000..0368c7b3 --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-capitalize.md @@ -0,0 +1,49 @@ +# capitalize + +This is used to capitalize the first letter of all words in a variable. +This is similar to the PHP [`ucwords()`](https://www.php.net/ucwords) +function. + +## Basic usage +```smarty +{$myVar|capitalize} +``` + +## Parameters + +| Parameter | Type | Required | Description | +|-----------|---------|----------|-------------------------------------------------------------------------------------------------------| +| 1 | boolean | No | This determines whether or not words with digits will be uppercased | +| 2 | boolean | No | This determines whether or not Capital letters within words should be lowercased, e.g. "aAa" to "Aaa" | + + +## Examples + +```php +assign('articleTitle', 'next x-men film, x3, delayed.'); + +``` + + +Where the template is: + +```smarty + {$articleTitle} + {$articleTitle|capitalize} + {$articleTitle|capitalize:true} +``` + + +Will output: + +``` + next x-men film, x3, delayed. + Next X-Men Film, x3, Delayed. + Next X-Men Film, X3, Delayed. +``` + + +See also [`lower`](language-modifier-lower.md) and +[`upper`](language-modifier-upper.md) diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-cat.md b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-cat.md new file mode 100644 index 00000000..97dda4b3 --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-cat.md @@ -0,0 +1,36 @@ +# cat + +This value is concatenated to the given variable. + +## Basic usage +```smarty +{$myVar|cat:' units'} +``` + +## Parameters + +| Parameter | Type | Required | Description | +|-----------|--------|----------|--------------------------------------------------| +| 1 | string | No | This value to concatenate to the given variable. | + +## Examples + +```php +assign('articleTitle', "Psychics predict world didn't end"); + +``` + +Where template is: + +```smarty + {$articleTitle|cat:' yesterday.'} +``` + +Will output: + +``` + Psychics predict world didn't end yesterday. +``` + diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-count-characters.md b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-count-characters.md new file mode 100644 index 00000000..8fc37d7a --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-count-characters.md @@ -0,0 +1,43 @@ +# count_characters + +This is used to count the number of characters in a variable. + +## Basic usage +```smarty +{$myVar|count_characters} +``` + +## Parameters + +| Parameter | Type | Required | Description | +|-----------|---------|----------|------------------------------------------------------------------------| +| 1 | boolean | No | This determines whether to include whitespace characters in the count. | + +## Examples + +```php +assign('articleTitle', 'Cold Wave Linked to Temperatures.'); + +``` + +Where template is: + +```smarty + {$articleTitle} + {$articleTitle|count_characters} + {$articleTitle|count_characters:true} +``` + +Will output: + +``` + Cold Wave Linked to Temperatures. + 29 + 33 +``` + +See also [`count_words`](language-modifier-count-words.md), +[`count_sentences`](language-modifier-count-sentences.md) and +[`count_paragraphs`](language-modifier-count-paragraphs.md). diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-count-paragraphs.md b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-count-paragraphs.md similarity index 64% rename from fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-count-paragraphs.md rename to fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-count-paragraphs.md index 02c474e6..060cb98a 100644 --- a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-count-paragraphs.md +++ b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-count-paragraphs.md @@ -1,38 +1,41 @@ -count\_paragraphs {#language.modifier.count.paragraphs} -================= +# count_paragraphs This is used to count the number of paragraphs in a variable. +## Basic usage +```smarty +{$myVar|count_paragraphs} +``` - assign('articleTitle', "War Dims Hope for Peace. Child's Death Ruins Couple's Holiday.\n\n Man is Fatally Slain. Death Causes Loneliness, Feeling of Isolation." ); - ?> - - +``` Where template is: - +```smarty {$articleTitle} {$articleTitle|count_paragraphs} - +``` Will output: - +``` War Dims Hope for Peace. Child's Death Ruins Couple's Holiday. Man is Fatally Slain. Death Causes Loneliness, Feeling of Isolation. 2 +``` - - -See also [`count_characters`](#language.modifier.count.characters), -[`count_sentences`](#language.modifier.count.sentences) and -[`count_words`](#language.modifier.count.words). +See also [`count_characters`](language-modifier-count-characters.md), +[`count_sentences`](language-modifier-count-sentences.md) and +[`count_words`](language-modifier-count-words.md). diff --git a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-count-sentences.md b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-count-sentences.md similarity index 62% rename from fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-count-sentences.md rename to fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-count-sentences.md index 0a77ab82..dd2f69c6 100644 --- a/fp-includes/smarty-4.3.0/docs/designers/language-modifiers/language-modifier-count-sentences.md +++ b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-count-sentences.md @@ -1,37 +1,39 @@ -count\_sentences {#language.modifier.count.sentences} -================ +# count_sentences This is used to count the number of sentences in a variable. A sentence being delimited by a dot, question- or exclamation-mark (.?!). +## Basic usage +```smarty +{$myVar|count_sentences} +``` - assign('articleTitle', 'Two Soviet Ships Collide - One Dies. Enraged Cow Injures Farmer with Axe.' ); - ?> - - +``` Where template is: - +```smarty {$articleTitle} {$articleTitle|count_sentences} - - +``` Will output: - +``` Two Soviet Ships Collide - One Dies. Enraged Cow Injures Farmer with Axe. 2 - +``` - -See also [`count_characters`](#language.modifier.count.characters), -[`count_paragraphs`](#language.modifier.count.paragraphs) and -[`count_words`](#language.modifier.count.words). +See also [`count_characters`](language-modifier-count-characters.md), +[`count_paragraphs`](language-modifier-count-paragraphs.md) and +[`count_words`](language-modifier-count-words.md). diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-count-words.md b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-count-words.md new file mode 100644 index 00000000..1ab0d1d4 --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-count-words.md @@ -0,0 +1,35 @@ +# count_words + +This is used to count the number of words in a variable. + +## Basic usage +```smarty +{$myVar|count_words} +``` + +## Examples + +```php +assign('articleTitle', 'Dealers Will Hear Car Talk at Noon.'); + +``` + +Where template is: + +```smarty + {$articleTitle} + {$articleTitle|count_words} +``` + +This will output: + +``` + Dealers Will Hear Car Talk at Noon. + 7 +``` + +See also [`count_characters`](language-modifier-count-characters.md), +[`count_paragraphs`](language-modifier-count-paragraphs.md) and +[`count_sentences`](language-modifier-count-sentences.md). diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-date-format.md b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-date-format.md new file mode 100644 index 00000000..620d085b --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-date-format.md @@ -0,0 +1,145 @@ +# date_format + +This formats a date and time into the given +[`strftime()`](https://www.php.net/strftime) format. Dates can be passed to +Smarty as unix [timestamps](https://www.php.net/function.time), [DateTime +objects](https://www.php.net/class.DateTime), mysql timestamps or any string +made up of month day year, parsable by php\'s +[`strtotime()`](https://www.php.net/strtotime). Designers can then use +`date_format` to have complete control of the formatting of the date. If +the date passed to `date_format` is empty and a second parameter is +passed, that will be used as the date to format. + +## Basic usage +```smarty +{$myVar|date_format:"%Y-%m-%d"} +``` + +## Parameters + +| Parameter Position | Type | Required | Default | Description | +|--------------------|--------|----------|-----------|-------------------------------------------------| +| 1 | string | No | %b %e, %Y | This is the format for the outputted date. | +| 2 | string | No | n/a | This is the default date if the input is empty. | + +> **Note** +> +> Since Smarty-2.6.10 numeric values passed to `date_format` are +> *always* (except for mysql timestamps, see below) interpreted as a +> unix timestamp. +> +> Before Smarty-2.6.10 numeric strings that where also parsable by +> `strtotime()` in php (like `YYYYMMDD`) where sometimes (depending on +> the underlying implementation of `strtotime()`) interpreted as date +> strings and NOT as timestamps. +> +> The only exception are mysql timestamps: They are also numeric only +> and 14 characters long (`YYYYMMDDHHMMSS`), mysql timestamps have +> precedence over unix timestamps. + +> **Note** +> +> `date_format` is essentially a wrapper to PHP's +> [`strftime()`](https://www.php.net/strftime) function. You may have more +> or less conversion specifiers available depending on your system's +> [`strftime()`](https://www.php.net/strftime) function where PHP was +> compiled. Check your system\'s manpage for a full list of valid +> specifiers. However, a few of the specifiers are emulated on Windows. +> These are: %D, %e, %h, %l, %n, %r, %R, %t, %T. + +## Examples + +```php +assign('config', $config); +$smarty->assign('yesterday', strtotime('-1 day')); + +``` + +This template uses [`$smarty.now`](../language-variables/language-variables-smarty.md#smartynow-languagevariablessmartynow) to +get the current time: + +```smarty +{$smarty.now|date_format} +{$smarty.now|date_format:"%D"} +{$smarty.now|date_format:$config.date} +{$yesterday|date_format} +{$yesterday|date_format:"%A, %B %e, %Y"} +{$yesterday|date_format:$config.time} +``` + +This above will output: + +``` +Jan 1, 2022 +01/01/22 +02:33 pm +Dec 31, 2021 +Monday, December 1, 2021 +14:33:00 +``` + +## Conversion specifiers + +`date_format` conversion specifiers: + +- %a - abbreviated weekday name according to the current locale +- %A - full weekday name according to the current locale +- %b - abbreviated month name according to the current locale +- %B - full month name according to the current locale +- %c - preferred date and time representation for the current locale +- %C - century number (the year divided by 100 and truncated to an + integer, range 00 to 99) +- %d - day of the month as a decimal number (range 01 to 31) +- %D - same as %m/%d/%y +- %e - day of the month as a decimal number, a single digit is + preceded by a space (range 1 to 31) +- %g - Week-based year within century \[00,99\] +- %G - Week-based year, including the century \[0000,9999\] +- %h - same as %b +- %H - hour as a decimal number using a 24-hour clock (range 00 + to 23) +- %I - hour as a decimal number using a 12-hour clock (range 01 + to 12) +- %j - day of the year as a decimal number (range 001 to 366) +- %k - Hour (24-hour clock) single digits are preceded by a blank. + (range 0 to 23) +- %l - hour as a decimal number using a 12-hour clock, single digits + preceded by a space (range 1 to 12) +- %m - month as a decimal number (range 01 to 12) +- %M - minute as a decimal number +- %n - newline character +- %p - either 'am' or 'pm' according to the given time value, or + the corresponding strings for the current locale +- %r - time in a.m. and p.m. notation +- %R - time in 24 hour notation +- %S - second as a decimal number +- %t - tab character +- %T - current time, equal to %H:%M:%S +- %u - weekday as a decimal number \[1,7\], with 1 representing + Monday +- %U - week number of the current year as a decimal number, starting + with the first Sunday as the first day of the first week +- %V - The ISO 8601:1988 week number of the current year as a decimal + number, range 01 to 53, where week 1 is the first week that has at + least 4 days in the current year, and with Monday as the first day + of the week. +- %w - day of the week as a decimal, Sunday being 0 +- %W - week number of the current year as a decimal number, starting + with the first Monday as the first day of the first week +- %x - preferred date representation for the current locale without + the time +- %X - preferred time representation for the current locale without + the date +- %y - year as a decimal number without a century (range 00 to 99) +- %Y - year as a decimal number including the century +- %Z - time zone or name or abbreviation +- %% - a literal '%' character + +See also [`$smarty.now`](../language-variables/language-variables-smarty.md#smartynow-languagevariablessmartynow), +[`strftime()`](https://www.php.net/strftime), +[`{html_select_date}`](../language-custom-functions/language-function-html-select-date.md) and the +[date tips](../../appendixes/tips.md#dates) page. diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-default.md b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-default.md new file mode 100644 index 00000000..b8697a0d --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-default.md @@ -0,0 +1,45 @@ +# default + +This is used to set a default value for a variable. If the variable is +unset or an empty string, the given default value is printed instead. +Default takes the one argument. + +## Basic usage +```smarty +{$myVar|default:"(none)"} +``` + +## Parameters + +| Parameter | Type | Required | Default | Description | +|-----------|--------|----------|---------|---------------------------------------------------------------| +| 1 | string | No | *empty* | This is the default value to output if the variable is empty. | + +## Examples + +```php +assign('articleTitle', 'Dealers Will Hear Car Talk at Noon.'); + $smarty->assign('email', ''); + +``` + +Where template is: + +```smarty +{$articleTitle|default:'no title'} +{$myTitle|default:'no title'} +{$email|default:'No email address available'} +``` + +Will output: + +``` +Dealers Will Hear Car Talk at Noon. +no title +No email address available +``` + +See also the [default variable handling](../../appendixes/tips.md#default-variable-handling) and +the [blank variable handling](../../appendixes/tips.md#blank-variable-handling) pages. diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-escape.md b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-escape.md new file mode 100644 index 00000000..6fd5dd2b --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-escape.md @@ -0,0 +1,78 @@ +# escape + +`escape` is used to encode or escape a variable to `html`, `url`, +`single quotes`, `hex`, `hexentity`, `javascript` and `mail`. By default +its `html`. + +## Basic usage +```smarty +{$myVar|escape} +``` + +## Parameters + +| Parameter Position | Type | Required | Possible Values | Default | Description | +|--------------------|---------|----------|----------------------------------------------------------------------------------------------------------------|---------|--------------------------------------------------------------------------------------| +| 1 | string | No | `html`, `htmlall`, `url`, `urlpathinfo`, `quotes`, `hex`, `hexentity`, `javascript`, `mail` | `html` | This is the escape format to use. | +| 2 | string | No | `ISO-8859-1`, `UTF-8`, and any character set supported by [`htmlentities()`](https://www.php.net/htmlentities) | `UTF-8` | The character set encoding passed to htmlentities() et. al. | +| 3 | boolean | No | FALSE | TRUE | Double encode entities from & to &amp; (applies to `html` and `htmlall` only) | + + +## Examples + +```php +assign('articleTitle', + "'Stiff Opposition Expected to Casketless Funeral Plan'" + ); +$smarty->assign('EmailAddress','smarty@example.com'); + +``` + + +These are example `escape` template lines followed by the output + +```smarty +{$articleTitle} +'Stiff Opposition Expected to Casketless Funeral Plan' + +{$articleTitle|escape} +'Stiff Opposition Expected to Casketless Funeral Plan' + +{$articleTitle|escape:'html'} {* escapes & " ' < > *} +'Stiff Opposition Expected to Casketless Funeral Plan' + +{$articleTitle|escape:'htmlall'} {* escapes ALL html entities *} +'Stiff Opposition Expected to Casketless Funeral Plan' + +click here +click here + +{$articleTitle|escape:'quotes'} +\'Stiff Opposition Expected to Casketless Funeral Plan\' + +{$EmailAddress|escape:"hexentity"} +{$EmailAddress|escape:'mail'} {* this converts to email to text *} +bob..snip..et + +{'mail@example.com'|escape:'mail'} +smarty [AT] example [DOT] com + +{* the "rewind" parameter registers the current location *} +click here + +``` + +This snippet is useful for emails, but see also +[`{mailto}`](../language-custom-functions/language-function-mailto.md) + +```smarty +{* email address mangled *} +{$EmailAddress|escape:'mail'} +``` + +See also [escaping smarty parsing](../language-basic-syntax/language-escaping.md), +[`{mailto}`](../language-custom-functions/language-function-mailto.md) and the [obfuscating email +addresses](../../appendixes/tips.md#obfuscating-e-mail-addresses) page. diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-from-charset.md b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-from-charset.md new file mode 100644 index 00000000..bf4b4769 --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-from-charset.md @@ -0,0 +1,20 @@ +# from_charset + +`from_charset` is used to transcode a string from a given charset to the +internal charset. This is the exact opposite of the [to_charset +modifier](language-modifier-to-charset.md). + +## Parameters + +| Parameter Position | Type | Required | Possible Values | Default | Description | +|--------------------|--------|----------|------------------------------------------------------------------------------------------------------------------------------|--------------|---------------------------------------------------------------| +| 1 | string | No | `ISO-8859-1`, `UTF-8`, and any character set supported by [`mb_convert_encoding()`](https://www.php.net/mb_convert_encoding) | `ISO-8859-1` | The charset encoding the value is supposed to be decoded from | + +> **Note** +> +> Charset encoding should be handled by the application itself. This +> modifier should only be used in cases where the application cannot +> anticipate that a certain string is required in another encoding. + +See also [Charset Encoding](../../programmers/charset.md), [to_charset +modifier](language-modifier-to-charset.md). diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-indent.md b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-indent.md new file mode 100644 index 00000000..9fa3540a --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-indent.md @@ -0,0 +1,67 @@ +# indent + +This indents a string on each line, default is 4. As an optional +parameter, you can specify the number of characters to indent. As an +optional second parameter, you can specify the character to use to +indent with. For example: use `"\t"` for a tab. + +## Basic usage +```smarty +{$myVar|indent:4} +``` + +## Parameters + +| Parameter Position | Type | Required | Default | Description | +|--------------------|---------|----------|-------------|---------------------------------------------------| +| 1 | integer | No | 4 | This determines how many characters to indent to. | +| 2 | string | No | (one space) | This is the character used to indent with. | + +## Examples + +```php +assign('articleTitle', + 'NJ judge to rule on nude beach. +Sun or rain expected today, dark tonight. +Statistics show that teen pregnancy drops off significantly after 25.' + ); +``` + +Where template is: + +```smarty +{$articleTitle} + +{$articleTitle|indent} + +{$articleTitle|indent:10} + +{$articleTitle|indent:1:"\t"} +``` + +Will output: + +``` +NJ judge to rule on nude beach. +Sun or rain expected today, dark tonight. +Statistics show that teen pregnancy drops off significantly after 25. + + NJ judge to rule on nude beach. + Sun or rain expected today, dark tonight. + Statistics show that teen pregnancy drops off significantly after 25. + + NJ judge to rule on nude beach. + Sun or rain expected today, dark tonight. + Statistics show that teen pregnancy drops off significantly after 25. + + NJ judge to rule on nude beach. + Sun or rain expected today, dark tonight. + Statistics show that teen pregnancy drops off significantly after 25. +``` + + +See also [`strip`](language-modifier-strip.md), +[`wordwrap`](language-modifier-wordwrap.md) and +[`spacify`](language-modifier-spacify.md). diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-lower.md b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-lower.md new file mode 100644 index 00000000..e5e6886f --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-lower.md @@ -0,0 +1,34 @@ +# lower + +This is used to lowercase a variable. This is equivalent to the PHP +[`strtolower()`](https://www.php.net/strtolower) function. + +## Basic usage +```smarty +{$myVar|lower} +``` + +## Examples + +```php +assign('articleTitle', 'Two Convicts Evade Noose, Jury Hung.'); +``` + +Where template is: + +```smarty +{$articleTitle} +{$articleTitle|lower} +``` + +This will output: + +``` +Two Convicts Evade Noose, Jury Hung. +two convicts evade noose, jury hung. +``` + +See also [`upper`](language-modifier-upper.md) and +[`capitalize`](language-modifier-capitalize.md). diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-nl2br.md b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-nl2br.md new file mode 100644 index 00000000..2808716f --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-nl2br.md @@ -0,0 +1,37 @@ +# nl2br + +All `"\n"` line breaks will be converted to html `
` tags in the +given variable. This is equivalent to the PHP\'s +[`nl2br()`](https://www.php.net/nl2br) function. + +## Basic usage +```smarty +{$myVar|nl2br} +``` + +## Examples + +```php +assign('articleTitle', + "Sun or rain expected\ntoday, dark tonight" + ); + +``` + +Where the template is: + +```smarty +{$articleTitle|nl2br} +``` + +Will output: + +``` +Sun or rain expected
today, dark tonight +``` + +See also [`word_wrap`](language-modifier-wordwrap.md), +[`count_paragraphs`](language-modifier-count-paragraphs.md) and +[`count_sentences`](language-modifier-count-sentences.md). diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-regex-replace.md b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-regex-replace.md new file mode 100644 index 00000000..033d2a43 --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-regex-replace.md @@ -0,0 +1,55 @@ +# regex_replace + +A regular expression search and replace on a variable. Use the +[`preg_replace()`](https://www.php.net/preg_replace) syntax from the PHP +manual. + +## Basic usage +```smarty +{$myVar|regex_replace:"/foo/":"bar"} +``` + +> **Note** +> +> Although Smarty supplies this regex convenience modifier, it is +> usually better to apply regular expressions in PHP, either via custom +> functions or modifiers. Regular expressions are considered application +> code and are not part of presentation logic. + +## Parameters + +| Parameter Position | Type | Required | Description | +|--------------------|--------|----------|------------------------------------------------| +| 1 | string | Yes | This is the regular expression to be replaced. | +| 2 | string | Yes | This is the string of text to replace with. | + + +## Examples + +```php +assign('articleTitle', "Infertility unlikely to\nbe passed on, experts say."); + +``` + +Where template is: + +```smarty +{* replace each carriage return, tab and new line with a space *} + +{$articleTitle} +{$articleTitle|regex_replace:"/[\r\t\n]/":" "} +``` + +Will output: + +``` +Infertility unlikely to +be passed on, experts say. +Infertility unlikely to be passed on, experts say. +``` + + +See also [`replace`](language-modifier-replace.md) and +[`escape`](language-modifier-escape.md). diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-replace.md b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-replace.md new file mode 100644 index 00000000..0e01ab46 --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-replace.md @@ -0,0 +1,45 @@ +# replace + +A simple search and replace on a variable. This is equivalent to the +PHP's [`str_replace()`](https://www.php.net/str_replace) function. + +## Basic usage +```smarty +{$myVar|replace:"foo":"bar"} +``` + +## Parameters + +| Parameter Position | Type | Required | Description | +|--------------------|--------|----------|---------------------------------------------| +| 1 | string | Yes | This is the string of text to be replaced. | +| 2 | string | Yes | This is the string of text to replace with. | + + +## Examples + +```php +assign('articleTitle', "Child's Stool Great for Use in Garden."); + +``` + +Where template is: + +```smarty +{$articleTitle} +{$articleTitle|replace:'Garden':'Vineyard'} +{$articleTitle|replace:' ':' '} +``` + +Will output: + +``` +Child's Stool Great for Use in Garden. +Child's Stool Great for Use in Vineyard. +Child's Stool Great for Use in Garden. +``` + +See also [`regex_replace`](language-modifier-regex-replace.md) and +[`escape`](language-modifier-escape.md). diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-spacify.md b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-spacify.md new file mode 100644 index 00000000..229e2d22 --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-spacify.md @@ -0,0 +1,44 @@ +# spacify + +`spacify` is a way to insert a space between every character of a +variable. You can optionally pass a different character or string to +insert. + +## Basic usage +```smarty +{$myVar|spacify} +``` + +## Parameters + +| Parameter Position | Type | Required | Default | Description | +|--------------------|--------|----------|-------------|-----------------------------------------------------------------| +| 1 | string | No | *one space* | This what gets inserted between each character of the variable. | + +## Examples + +```php +assign('articleTitle', 'Something Went Wrong in Jet Crash, Experts Say.'); + +``` + +Where template is: + +```smarty +{$articleTitle} +{$articleTitle|spacify} +{$articleTitle|spacify:"^^"} +``` + +Will output: + +``` +Something Went Wrong in Jet Crash, Experts Say. +S o m e t h i n g W .... snip .... s h , E x p e r t s S a y . +S^^o^^m^^e^^t^^h^^i^^n^^g^^ .... snip .... ^^e^^r^^t^^s^^ ^^S^^a^^y^^. +``` + +See also [`wordwrap`](language-modifier-wordwrap.md) and +[`nl2br`](language-modifier-nl2br.md). diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-string-format.md b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-string-format.md new file mode 100644 index 00000000..6163a078 --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-string-format.md @@ -0,0 +1,43 @@ +# string_format + +This is a way to format strings, such as decimal numbers and such. Use +the syntax for [`sprintf()`](https://www.php.net/sprintf) for the +formatting. + +## Basic usage +```smarty +{$myVar|string_format:"%d"} +``` + +## Parameters + +| Parameter Position | Type | Required | Description | +|--------------------|--------|----------|---------------------------------------| +| 1 | string | Yes | This is what format to use. (sprintf) | + +## Examples + +```php +assign('number', 23.5787446); + +``` + +Where template is: + +```smarty +{$number} +{$number|string_format:"%.2f"} +{$number|string_format:"%d"} +``` + +Will output: + +``` +23.5787446 +23.58 +23 +``` + +See also [`date_format`](language-modifier-date-format.md). diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-strip-tags.md b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-strip-tags.md new file mode 100644 index 00000000..7d94fdd0 --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-strip-tags.md @@ -0,0 +1,46 @@ +# strip_tags + +This strips out HTML markup tags, basically anything between `<` and `>`. + +## Basic usage +```smarty +{$myVar|strip_tags} +``` + +## Parameters + +| Parameter Position | Type | Required | Default | Description | +|--------------------|------|----------|---------|------------------------------------------------------------| +| 1 | bool | No | TRUE | This determines whether the tags are replaced by ' ' or '' | + +## Examples + +```php +assign('articleTitle', + "Blind Woman Gets New +Kidney from Dad she Hasn't Seen in years." + ); + +``` + + +Where template is: + +```smarty +{$articleTitle} +{$articleTitle|strip_tags} {* same as {$articleTitle|strip_tags:true} *} +{$articleTitle|strip_tags:false} +``` + +Will output: + +```html +Blind Woman Gets New Kidney from Dad she Hasn't Seen in years. +Blind Woman Gets New Kidney from Dad she Hasn't Seen in years . +Blind Woman Gets New Kidney from Dad she Hasn't Seen in years. +``` + +See also [`replace`](language-modifier-replace.md) and +[`regex_replace`](language-modifier-regex-replace.md). diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-strip.md b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-strip.md new file mode 100644 index 00000000..b7bdc282 --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-strip.md @@ -0,0 +1,42 @@ +# strip + +This replaces all spaces, newlines and tabs with a single space, or with +the supplied string. + +## Basic usage +```smarty +{$myVar|strip} +``` + +> **Note** +> +> If you want to strip blocks of template text, use the built-in +> [`{strip}`](../language-builtin-functions/language-function-strip.md) function. + +## Examples + +```php +assign('articleTitle', "Grandmother of\neight makes\t hole in one."); +$smarty->display('index.tpl'); +``` + +Where template is: + +```smarty +{$articleTitle} +{$articleTitle|strip} +{$articleTitle|strip:' '} +``` + +Will output: + +```html +Grandmother of +eight makes hole in one. +Grandmother of eight makes hole in one. +Grandmother of eight makes hole in one. +``` + +See also [`{strip}`](../language-builtin-functions/language-function-strip.md) and +[`truncate`](language-modifier-truncate.md). diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-to-charset.md b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-to-charset.md new file mode 100644 index 00000000..c0b00384 --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-to-charset.md @@ -0,0 +1,20 @@ +# to_charset + +`to_charset` is used to transcode a string from the internal charset to +a given charset. This is the exact opposite of the [from_charset +modifier](#language.modifier.from_charset). + +## Parameters + +| Parameter Position | Type | Required | Possible Values | Default | Description | +|--------------------|--------|----------|------------------------------------------------------------------------------------------------------------------------------|--------------|-------------------------------------------------------------| +| 1 | string | No | `ISO-8859-1`, `UTF-8`, and any character set supported by [`mb_convert_encoding()`](https://www.php.net/mb_convert_encoding) | `ISO-8859-1` | The charset encoding the value is supposed to be encoded to | + +> **Note** +> +> Charset encoding should be handled by the application itself. This +> modifier should only be used in cases where the application cannot +> anticipate that a certain string is required in another encoding. + +See also [Charset Encoding](../../programmers/charset.md), [from_charset +modifier](language-modifier-from-charset.md). diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-truncate.md b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-truncate.md new file mode 100644 index 00000000..1cbb7abc --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-truncate.md @@ -0,0 +1,57 @@ +# truncate + +This truncates a variable to a character length, the default is 80. As +an optional second parameter, you can specify a string of text to +display at the end if the variable was truncated. The characters in the +string are included with the original truncation length. By default, +`truncate` will attempt to cut off at a word boundary. If you want to +cut off at the exact character length, pass the optional third parameter +of TRUE. + +## Basic usage +```smarty +{$myVar|truncate:40:"..."} +``` + +## Parameters + +| Parameter Position | Type | Required | Default | Description | +|--------------------|---------|----------|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| 1 | integer | No | 80 | This determines how many characters to truncate to. | +| 2 | string | No | \... | This is a text string that replaces the truncated text. Its length is included in the truncation length setting. | +| 3 | boolean | No | FALSE | This determines whether or not to truncate at a word boundary with FALSE, or at the exact character with TRUE. | +| 4 | boolean | No | FALSE | This determines whether the truncation happens at the end of the string with FALSE, or in the middle of the string with TRUE. Note that if this setting is TRUE, then word boundaries are ignored. | + +## Examples + +```php +assign('articleTitle', 'Two Sisters Reunite after Eighteen Years at Checkout Counter.'); +``` + +where template is: + +```smarty +{$articleTitle} +{$articleTitle|truncate} +{$articleTitle|truncate:30} +{$articleTitle|truncate:30:""} +{$articleTitle|truncate:30:"---"} +{$articleTitle|truncate:30:"":true} +{$articleTitle|truncate:30:"...":true} +{$articleTitle|truncate:30:'..':true:true} +``` + +This will output: + +``` +Two Sisters Reunite after Eighteen Years at Checkout Counter. +Two Sisters Reunite after Eighteen Years at Checkout Counter. +Two Sisters Reunite after... +Two Sisters Reunite after +Two Sisters Reunite after--- +Two Sisters Reunite after Eigh +Two Sisters Reunite after E... +Two Sisters Re..ckout Counter. +``` + diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-unescape.md b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-unescape.md new file mode 100644 index 00000000..8e860305 --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-unescape.md @@ -0,0 +1,43 @@ +# unescape + +`unescape` is used to decode `entity`, `html` and `htmlall`. It counters +the effects of the [escape modifier](language-modifier-escape.md) for the +given types. + +## Basic usage +```smarty +{$myVar|unescape} +``` + +## Parameters + +| Parameter Position | Type | Required | Possible Values | Default | Description | +|--------------------|--------|----------|----------------------------------------------------------------------------------------------------------------|---------|------------------------------------------------------------------------------------------------------------------------------| +| 1 | string | No | `html`, `htmlall`, `entity`, | `html` | This is the escape format to use. | +| 2 | string | No | `ISO-8859-1`, `UTF-8`, and any character set supported by [`htmlentities()`](https://www.php.net/htmlentities) | `UTF-8` | The character set encoding passed to html\_entity\_decode() or htmlspecialchars\_decode() or mb\_convert\_encoding() et. al. | + +## Examples + +```php +assign('articleTitle', + "Germans use "Ümlauts" and pay in €uro" + ); +``` + +These are example `unescape` template lines followed by the output + +```smarty +{$articleTitle} +Germans use "Ümlauts" and pay in €uro + +{$articleTitle|unescape:"html"} +Germans use "Ümlauts" and pay in €uro + +{$articleTitle|unescape:"htmlall"} +Germans use "Ãœmlauts" and pay in €uro +``` + +See also [escaping smarty parsing](../language-basic-syntax/language-escaping.md), [escape +modifier](language-modifier-escape.md). diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-upper.md b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-upper.md new file mode 100644 index 00000000..3173059c --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-upper.md @@ -0,0 +1,33 @@ +# upper + +This is used to uppercase a variable. This is equivalent to the PHP +[`strtoupper()`](https://www.php.net/strtoupper) function. + +## Basic usage +```smarty +{$myVar|upper} +``` + +## Examples + +```php +assign('articleTitle', "If Strike isn't Settled Quickly it may Last a While."); +``` + +Where template is: + +```smarty +{$articleTitle} +{$articleTitle|upper} +``` + +Will output: + +``` +If Strike isn't Settled Quickly it may Last a While. +IF STRIKE ISN'T SETTLED QUICKLY IT MAY LAST A WHILE. +``` + +See also [`lower`](lower) and +[`capitalize`](language-modifier-capitalize.md). diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-wordwrap.md b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-wordwrap.md new file mode 100644 index 00000000..f3348fd7 --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-modifiers/language-modifier-wordwrap.md @@ -0,0 +1,73 @@ +# wordwrap + +Wraps a string to a column width, the default is 80. As an optional +second parameter, you can specify a string of text to wrap the text to +the next line, the default is a carriage return `"\n"`. By default, +`wordwrap` will attempt to wrap at a word boundary. If you want to cut +off at the exact character length, pass the optional third parameter as +TRUE. This is equivalent to the PHP +[`wordwrap()`](https://www.php.net/wordwrap) function. + +## Basic usage +```smarty +{$myVar|wordwrap:30} +``` + +## Parameters + +| Parameter Position | Type | Required | Default | Description | +|--------------------|---------|----------|---------|-----------------------------------------------------------------------------------------------| +| 1 | integer | No | 80 | This determines how many columns to wrap to. | +| 2 | string | No | \\n | This is the string used to wrap words with. | +| 3 | boolean | No | FALSE | This determines whether to wrap at a word boundary (FALSE), or at the exact character (TRUE). | + +## Examples + +```php +assign('articleTitle', + "Blind woman gets new kidney from dad she hasn't seen in years." + ); + +``` + +Where template is + +```smarty +{$articleTitle} + +{$articleTitle|wordwrap:30} + +{$articleTitle|wordwrap:20} + +{$articleTitle|wordwrap:30:"
\n"} + +{$articleTitle|wordwrap:26:"\n":true} +``` + +Will output: + +```html +Blind woman gets new kidney from dad she hasn't seen in years. + +Blind woman gets new kidney +from dad she hasn't seen in +years. + +Blind woman gets new +kidney from dad she +hasn't seen in +years. + +Blind woman gets new kidney
+from dad she hasn't seen in
+years. + +Blind woman gets new kidn +ey from dad she hasn't se +en in years. +``` + +See also [`nl2br`](language-modifier-nl2br.md) and +[`{textformat}`](../language-custom-functions/language-function-textformat.md). diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-variables/index.md b/fp-includes/smarty-4.3.1/docs/designers/language-variables/index.md new file mode 100644 index 00000000..58ae6eb9 --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-variables/index.md @@ -0,0 +1,36 @@ +# Variables + +Smarty has several types of variables. The type of the +variable depends on what symbol it is prefixed or enclosed within. + +- [Variables assigned from PHP](language-assigned-variables.md) +- [Variables loaded from config files](language-config-variables.md) +- [{$smarty} reserved variable](language-variables-smarty.md) + +Variables in Smarty can be either displayed directly or used as +arguments for [functions](../language-basic-syntax/language-syntax-functions.md), +[attributes](../language-basic-syntax/language-syntax-attributes.md) and +[modifiers](../language-modifiers/index.md), inside conditional expressions, etc. +To print a variable, simply enclose it in the +[delimiters](../../programmers/api-variables/variable-left-delimiter.md) so that it is the only thing +contained between them. + +```smarty +{$Name} + +{$product.part_no} {$product.description} + +{$Contacts[row].Phone} + + +``` + +## Scopes +You can assign variables to specific [variable scopes](language-variable-scopes.md). + + +> **Note** +> +> An easy way to examine assigned Smarty variables is with the +> [debugging console](../chapter-debugging-console.md). + diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-variables/language-assigned-variables.md b/fp-includes/smarty-4.3.1/docs/designers/language-variables/language-assigned-variables.md new file mode 100644 index 00000000..bd356a2b --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-variables/language-assigned-variables.md @@ -0,0 +1,126 @@ +# Variables assigned from PHP + +Variables assigned from PHP are referenced by preceding them with a dollar +(`$`) sign. + +## Examples + +```php +assign('firstname', 'Doug'); +$smarty->assign('lastname', 'Evans'); +$smarty->assign('meetingPlace', 'New York'); + +$smarty->display('index.tpl'); + +``` + +`index.tpl` source: + +```smarty +Hello {$firstname} {$lastname}, glad to see you can make it. +
+{* this will not work as $variables are case sensitive *} +This weeks meeting is in {$meetingplace}. +{* this will work *} +This weeks meeting is in {$meetingPlace}. +``` + +This above would output: + +```html +Hello Doug Evans, glad to see you can make it. +
+This weeks meeting is in . +This weeks meeting is in New York. +``` + +## Associative arrays + +You can also reference associative array variables by specifying the key +after a dot "." symbol. + +```php +assign('Contacts', + array('fax' => '555-222-9876', + 'email' => 'zaphod@slartibartfast.example.com', + 'phone' => array('home' => '555-444-3333', + 'cell' => '555-111-1234') + ) + ); +$smarty->display('index.tpl'); +``` + +`index.tpl` source: + +```smarty +{$Contacts.fax}
+{$Contacts.email}
+{* you can print arrays of arrays as well *} +{$Contacts.phone.home}
+{$Contacts.phone.cell}
+``` + +this will output: + +```html +555-222-9876
+zaphod@slartibartfast.example.com
+555-444-3333
+555-111-1234
+``` + +## Array indexes + +You can reference arrays by their index, much like native PHP syntax. + +```php +assign('Contacts', array( + '555-222-9876', + 'zaphod@slartibartfast.example.com', + array('555-444-3333', + '555-111-1234') + )); +$smarty->display('index.tpl'); +``` + +`index.tpl` source: + +```smarty +{$Contacts[0]}
+{$Contacts[1]}
+{* you can print arrays of arrays as well *} +{$Contacts[2][0]}
+{$Contacts[2][1]}
+``` + +This will output: + +```html +555-222-9876
+zaphod@slartibartfast.example.com
+555-444-3333
+555-111-1234
+``` + +## Objects + +Properties of [objects](../../programmers/advanced-features/advanced-features-objects.md) assigned from PHP +can be referenced by specifying the property name after the `->` symbol. + +```smarty +name: {$person->name}
+email: {$person->email}
+``` + +this will output: + +```html +name: Zaphod Beeblebrox
+email: zaphod@slartibartfast.example.com
+``` \ No newline at end of file diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-variables/language-config-variables.md b/fp-includes/smarty-4.3.1/docs/designers/language-variables/language-config-variables.md new file mode 100644 index 00000000..89a90ce1 --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-variables/language-config-variables.md @@ -0,0 +1,79 @@ +# Variables loaded from config files + +Variables that are loaded from the [config files](../config-files.md) are +referenced by enclosing them within `#hash_marks#`, or with the smarty +variable [`$smarty.config`](language-variables-smarty.md#smartyconfig-languagevariablessmartyconfig). The +later syntax is useful for embedding into quoted attribute values, or +accessing variable values such as `$smarty.config.$foo`. + +## Examples + +Example config file - `foo.conf`: +```ini +pageTitle = "This is mine" +bodyBgColor = '#eeeeee' +tableBorderSize = 3 +tableBgColor = "#bbbbbb" +rowBgColor = "#cccccc" +``` + +A template demonstrating the `#hash#` method: + +```smarty +{config_load file='foo.conf'} + + {#pageTitle#} + + + + + + + +
FirstLastAddress
+ + +``` + +A template demonstrating the +[`$smarty.config`](language-variables-smarty.md#smartyconfig-languagevariablessmartyconfig) method: + +```smarty +{config_load file='foo.conf'} + +{$smarty.config.pageTitle} + + + + + + + +
FirstLastAddress
+ + +``` + +Both examples would output: + +```html + + This is mine + + + + + + + +
FirstLastAddress
+ + +``` + +Config file variables cannot be used until after they are loaded in from +a config file. This procedure is explained later in this document under +[`{config_load}`](../language-builtin-functions/language-function-config-load.md). + +See also [variables](../language-basic-syntax/language-syntax-variables.md) and [$smarty reserved +variables](language-variables-smarty.md). diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-variables/language-variable-scopes.md b/fp-includes/smarty-4.3.1/docs/designers/language-variables/language-variable-scopes.md new file mode 100644 index 00000000..e2b24466 --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-variables/language-variable-scopes.md @@ -0,0 +1,60 @@ +# Variable scopes + +You have the choice to assign variables to the scope of the main Smarty +object, data objects created with [`createData()`](../../programmers/api-functions/api-create-data.md), +and template objects created with +[`createTemplate()`](../../programmers/api-functions/api-create-template.md). These objects can be +chained. A template sees all the variables of its own object and all +variables assigned to the objects in its chain of parent objects. + +By default, templates which are rendered by +[`$smarty->display(...)`](../../programmers/api-functions/api-display.md) or +[`$smarty->fetch(...)`](../../programmers/api-functions/api-fetch.md) calls are automatically linked to +the Smarty object variable scope. + +By assigning variables to individual data or template objects you have +full control which variables can be seen by a template. + +```php +assign('foo','smarty'); + +// assign variables to data object scope +$data = $smarty->createData(); +$data->assign('foo','data'); +$data->assign('bar','bar-data'); + +// assign variables to other data object scope +$data2 = $smarty->createData($data); +$data2->assign('bar','bar-data2'); + +// assign variable to template object scope +$tpl = $smarty->createTemplate('index.tpl'); +$tpl->assign('bar','bar-template'); + +// assign variable to template object scope with link to Smarty object +$tpl2 = $smarty->createTemplate('index.tpl',$smarty); +$tpl2->assign('bar','bar-template2'); + +// This display() does see $foo='smarty' from the $smarty object +$smarty->display('index.tpl'); + +// This display() does see $foo='data' and $bar='bar-data' from the data object $data +$smarty->display('index.tpl',$data); + +// This display() does see $foo='data' from the data object $data +// and $bar='bar-data2' from the data object $data2 +$smarty->display('index.tpl',$data2); + +// This display() does see $bar='bar-template' from the template object $tpl +$tpl->display(); // or $smarty->display($tpl); + +// This display() does see $bar='bar-template2' from the template object $tpl2 +// and $foo='smarty' form the Smarty object $foo +$tpl2->display(); // or $smarty->display($tpl2); +``` + +See also [`assign()`](../../programmers/api-functions/api-assign.md), +[`createData()`](../../programmers/api-functions/api-create-data.md) +and [`createTemplate()`](../../programmers/api-functions/api-create-template.md). diff --git a/fp-includes/smarty-4.3.1/docs/designers/language-variables/language-variables-smarty.md b/fp-includes/smarty-4.3.1/docs/designers/language-variables/language-variables-smarty.md new file mode 100644 index 00000000..da543fb6 --- /dev/null +++ b/fp-includes/smarty-4.3.1/docs/designers/language-variables/language-variables-smarty.md @@ -0,0 +1,156 @@ +# {$smarty} reserved variable + +The PHP reserved `{$smarty}` variable can be used to access several +environment and request variables. The full list of them follows. + +## Request variables + +The [request variables](https://www.php.net/reserved.variables) such as +`$_GET`, `$_POST`, `$_COOKIE`, `$_SERVER`, `$_ENV` and `$_SESSION` can +be accessed as demonstrated in the examples below: + +```smarty +{* display value of page from URL ($_GET) http://www.example.com/index.php?page=foo *} +{$smarty.get.page} + +{* display the variable "page" from a form ($_POST['page']) *} +{$smarty.post.page} + +{* display the value of the cookie "username" ($_COOKIE['username']) *} +{$smarty.cookies.username} + +{* display the server variable "SERVER_NAME" ($_SERVER['SERVER_NAME'])*} +{$smarty.server.SERVER_NAME} + +{* display the system environment variable "PATH" *} +{$smarty.env.PATH} + +{* display the php session variable "id" ($_SESSION['id']) *} +{$smarty.session.id} + +{* display the variable "username" from merged get/post/cookies/server/env *} +{$smarty.request.username} +``` + +> **Note** +> +> For historical reasons `{$SCRIPT_NAME}` is shorthand for +> `{$smarty.server.SCRIPT_NAME}`. +> +> +> click me +> click me + +> **Note** +> +> Although Smarty provides direct access to PHP super globals for +> convenience, it should be used with caution. Directly accessing super +> globals mixes underlying application code structure with templates. A +> good practice is to assign specific needed values to template vars. + +## {$smarty.now} + +The current [timestamp](https://www.php.net/function.time) can be accessed +with `{$smarty.now}`. The value reflects the number of seconds passed +since the so-called Epoch on January 1, 1970, and can be passed directly +to the [`date_format`](../language-modifiers/language-modifier-date-format.md) modifier for +display. Note that [`time()`](https://www.php.net/function.time) is called +on each invocation; eg a script that takes three seconds to execute with +a call to `$smarty.now` at start and end will show the three-second +difference. + +```smarty +{* use the date_format modifier to show current date and time *} +{$smarty.now|date_format:'%Y-%m-%d %H:%M:%S'} +``` + +## {$smarty.const} + +You can access PHP constant values directly. See also [smarty +constants](../../programmers/smarty-constants.md). + +```php + **Note** +> +> Although Smarty provides direct access to PHP constants for +> convenience, it is typically avoided as this is mixing underlying +> application code structure into the templates. A good practice is to +> assign specific needed values to template vars. + +## {$smarty.capture} + +Template output captured via the built-in +[`{capture}..{/capture}`](../language-builtin-functions/language-function-capture.md) function can be +accessed using the `{$smarty.capture}` variable. See the +[`{capture}`](../language-builtin-functions/language-function-capture.md) page for more information. + +## {$smarty.config} + +`{$smarty.config}` variable can be used to refer to loaded [config +variables](language-config-variables.md). `{$smarty.config.foo}` is a +synonym for `{#foo#}`. See the +[{config_load}](../language-builtin-functions/language-function-config-load.md) page for more info. + +## {$smarty.section} + +The `{$smarty.section}` variables can be used to refer to +[`{section}`](../language-builtin-functions/language-function-section.md) loop properties. These have +some very useful values such as `.first`, `.index`, etc. + +> **Note** +> +> The `{$smarty.foreach}` variable is no longer used with the new +> [`{foreach}`](../language-builtin-functions/language-function-foreach.md) syntax, but is still +> supported with Smarty 2.x style foreach syntax. + +## {$smarty.template} + +Returns the name of the current template being processed (without the +directory). + +## {$smarty.template_object} + +Returns the template object of the current template being processed. + +## {$smarty.current_dir} + +Returns the name of the directory for the current template being +processed if it is loaded from the filesystem (the default). + +## {$smarty.version} + +Returns the version of Smarty the template was compiled with. + +```smarty + +``` + +## {$smarty.block.child} + +Returns block text from child template. See [Template +inheritance](../../programmers/advanced-features/advanced-features-template-inheritance.md). + +## {$smarty.block.parent} + +Returns block text from parent template. See [Template +inheritance](../../programmers/advanced-features/advanced-features-template-inheritance.md) + +## {$smarty.ldelim}, {$smarty.rdelim} + +These variables are used for printing the left-delimiter and +right-delimiter value literally, the same as +[`{ldelim},{rdelim}`](../language-builtin-functions/language-function-ldelim.md). + +See also [assigned variables](language-assigned-variables.md) and [config +variables](language-config-variables.md) diff --git a/fp-includes/smarty-4.3.0/docs/features.md b/fp-includes/smarty-4.3.1/docs/features.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/features.md rename to fp-includes/smarty-4.3.1/docs/features.md diff --git a/fp-includes/smarty-4.3.0/docs/getting-started.md b/fp-includes/smarty-4.3.1/docs/getting-started.md similarity index 87% rename from fp-includes/smarty-4.3.0/docs/getting-started.md rename to fp-includes/smarty-4.3.1/docs/getting-started.md index 2a1391f4..2ffbbd11 100644 --- a/fp-includes/smarty-4.3.0/docs/getting-started.md +++ b/fp-includes/smarty-4.3.1/docs/getting-started.md @@ -1,26 +1,25 @@ -What is Smarty? -============== +# Getting started ## Requirements Smarty can be run with PHP 7.1 to PHP 8.2. ## Installation -Smarty versions 3.1.11 or later can be installed with [Composer](https://getcomposer.org/). +Smarty can be installed with [Composer](https://getcomposer.org/). To get the latest stable version of Smarty use: -```bash +```shell composer require smarty/smarty -```` +``` To get the latest, unreleased version, use: -```bash +```shell composer require smarty/smarty:dev-master -```` +``` To get the previous stable version of Smarty, Smarty 3, use: -```bash +```shell composer require smarty/smarty:^3 -```` +``` Here's how you create an instance of Smarty in your PHP scripts: ```php @@ -30,7 +29,7 @@ require 'vendor/autoload.php'; $smarty = new Smarty(); ``` -Now that the library files are in place, it's time to setup the Smarty +Now that the library files are in place, it's time to set up the Smarty directories for your application. Smarty requires four directories which are by default named @@ -82,7 +81,7 @@ $smarty->testInstall(); Now, let's create the `index.tpl` file that Smarty will display. This needs to be located in the [`$template_dir`](./programmers/api-variables/variable-template-dir.md). -```html +```smarty {* Smarty *} Hello {$name}, welcome to Smarty! ``` @@ -118,24 +117,22 @@ $smarty->display('index.tpl'); > **Note** > -> In our example, we are setting absolute paths to all of the Smarty +> In our example, we are setting absolute paths to all the Smarty > directories. If `/web/www.example.com/guestbook/` is within your PHP > include\_path, then these settings are not necessary. However, it is > more efficient and (from experience) less error-prone to set them to > absolute paths. This ensures that Smarty is getting files from the > directories you intended. -Now, run your PHP file. You should see *\"Hello Ned, welcome to Smarty!\"* +Now, run your PHP file. You should see *"Hello Ned, welcome to Smarty!"* You have completed the basic setup for Smarty! -## Extended Setup {#installing.smarty.extended} -============== +## Extended Setup -This is a continuation of the [basic -installation](#installing.smarty.basic), please read that first! +This is a continuation of the [basic installation](#installation), please read that first! -A slightly more flexible way to setup Smarty is to extend the Smarty +A slightly more flexible way to set up Smarty is to extend the Smarty class and initialize your Smarty environment. So instead of repeatedly setting directory paths, assigning the same vars, etc., we can do that in one place. @@ -163,7 +160,8 @@ class Smarty_GuestBook extends Smarty { Now, we can use `Smarty_GuestBook` instead of `Smarty` in our scripts: ```php +assign('name','Ned'); +$smarty->assign('name', 'Ned'); $smarty->display('index.tpl'); ``` diff --git a/fp-includes/smarty-4.3.0/docs/index.md b/fp-includes/smarty-4.3.1/docs/index.md similarity index 83% rename from fp-includes/smarty-4.3.0/docs/index.md rename to fp-includes/smarty-4.3.1/docs/index.md index cf2b2ddc..cff5e490 100644 --- a/fp-includes/smarty-4.3.0/docs/index.md +++ b/fp-includes/smarty-4.3.1/docs/index.md @@ -26,12 +26,12 @@ and 480 for $height, the result is: - [Getting Started](./getting-started.md) ## Smarty for template designers -- [Basic Syntax](./designers/language-basic-syntax.md) -- [Variables](./designers/language-variables.md) -- [Variable Modifiers](./designers/language-modifiers.md) +- [Basic Syntax](designers/language-basic-syntax/index.md) +- [Variables](designers/language-variables/index.md) +- [Variable Modifiers](designers/language-modifiers/index.md) - [Combining Modifiers](./designers/language-combining-modifiers.md) -- [Built-in Functions](./designers/language-builtin-functions.md) -- [Custom Functions](./designers/language-custom-functions.md) +- [Built-in Functions](designers/language-builtin-functions/index.md) +- [Custom Functions](designers/language-custom-functions/index.md) - [Config Files](./designers/config-files.md) - [Debugging Console](./designers/chapter-debugging-console.md) diff --git a/fp-includes/smarty-4.3.0/docs/philosophy.md b/fp-includes/smarty-4.3.1/docs/philosophy.md similarity index 99% rename from fp-includes/smarty-4.3.0/docs/philosophy.md rename to fp-includes/smarty-4.3.1/docs/philosophy.md index 86f6c46e..34555c28 100644 --- a/fp-includes/smarty-4.3.0/docs/philosophy.md +++ b/fp-includes/smarty-4.3.1/docs/philosophy.md @@ -1,5 +1,4 @@ -Philosophy -======= +# Philosophy ## What is Smarty? diff --git a/fp-includes/smarty-4.3.0/docs/programmers/advanced-features.md b/fp-includes/smarty-4.3.1/docs/programmers/advanced-features.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/advanced-features.md rename to fp-includes/smarty-4.3.1/docs/programmers/advanced-features.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/advanced-features/advanced-features-objects.md b/fp-includes/smarty-4.3.1/docs/programmers/advanced-features/advanced-features-objects.md similarity index 97% rename from fp-includes/smarty-4.3.0/docs/programmers/advanced-features/advanced-features-objects.md rename to fp-includes/smarty-4.3.1/docs/programmers/advanced-features/advanced-features-objects.md index 88bd647a..b681945e 100644 --- a/fp-includes/smarty-4.3.0/docs/programmers/advanced-features/advanced-features-objects.md +++ b/fp-includes/smarty-4.3.1/docs/programmers/advanced-features/advanced-features-objects.md @@ -1,7 +1,7 @@ Objects {#advanced.features.objects} ======= -Smarty allows access to PHP [objects](&url.php-manual;object) through +Smarty allows access to PHP [objects](https://www.php.net/object) through the templates. > **Note** diff --git a/fp-includes/smarty-4.3.0/docs/programmers/advanced-features/advanced-features-outputfilters.md b/fp-includes/smarty-4.3.1/docs/programmers/advanced-features/advanced-features-outputfilters.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/advanced-features/advanced-features-outputfilters.md rename to fp-includes/smarty-4.3.1/docs/programmers/advanced-features/advanced-features-outputfilters.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/advanced-features/advanced-features-postfilters.md b/fp-includes/smarty-4.3.1/docs/programmers/advanced-features/advanced-features-postfilters.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/advanced-features/advanced-features-postfilters.md rename to fp-includes/smarty-4.3.1/docs/programmers/advanced-features/advanced-features-postfilters.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/advanced-features/advanced-features-prefilters.md b/fp-includes/smarty-4.3.1/docs/programmers/advanced-features/advanced-features-prefilters.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/advanced-features/advanced-features-prefilters.md rename to fp-includes/smarty-4.3.1/docs/programmers/advanced-features/advanced-features-prefilters.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/advanced-features/advanced-features-security.md b/fp-includes/smarty-4.3.1/docs/programmers/advanced-features/advanced-features-security.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/advanced-features/advanced-features-security.md rename to fp-includes/smarty-4.3.1/docs/programmers/advanced-features/advanced-features-security.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/advanced-features/advanced-features-static-classes.md b/fp-includes/smarty-4.3.1/docs/programmers/advanced-features/advanced-features-static-classes.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/advanced-features/advanced-features-static-classes.md rename to fp-includes/smarty-4.3.1/docs/programmers/advanced-features/advanced-features-static-classes.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/advanced-features/advanced-features-streams.md b/fp-includes/smarty-4.3.1/docs/programmers/advanced-features/advanced-features-streams.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/advanced-features/advanced-features-streams.md rename to fp-includes/smarty-4.3.1/docs/programmers/advanced-features/advanced-features-streams.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/advanced-features/advanced-features-template-inheritance.md b/fp-includes/smarty-4.3.1/docs/programmers/advanced-features/advanced-features-template-inheritance.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/advanced-features/advanced-features-template-inheritance.md rename to fp-includes/smarty-4.3.1/docs/programmers/advanced-features/advanced-features-template-inheritance.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/advanced-features/advanced-features-template-settings.md b/fp-includes/smarty-4.3.1/docs/programmers/advanced-features/advanced-features-template-settings.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/advanced-features/advanced-features-template-settings.md rename to fp-includes/smarty-4.3.1/docs/programmers/advanced-features/advanced-features-template-settings.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-add-config-dir.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-add-config-dir.md similarity index 95% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-add-config-dir.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-add-config-dir.md index 6c8b54e4..c3a05228 100644 --- a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-add-config-dir.md +++ b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-add-config-dir.md @@ -21,7 +21,7 @@ key addConigDir('./config_1'); + $smarty->addConfigDir('./config_1'); // add directory where config files are stored and specify array-key $smarty->addConfigDir('./config_1', 'one'); diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-add-plugins-dir.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-add-plugins-dir.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-add-plugins-dir.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-add-plugins-dir.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-add-template-dir.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-add-template-dir.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-add-template-dir.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-add-template-dir.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-append-by-ref.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-append-by-ref.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-append-by-ref.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-append-by-ref.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-append.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-append.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-append.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-append.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-assign-by-ref.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-assign-by-ref.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-assign-by-ref.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-assign-by-ref.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-assign.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-assign.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-assign.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-assign.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-clear-all-assign.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-clear-all-assign.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-clear-all-assign.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-clear-all-assign.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-clear-all-cache.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-clear-all-cache.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-clear-all-cache.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-clear-all-cache.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-clear-assign.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-clear-assign.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-clear-assign.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-clear-assign.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-clear-cache.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-clear-cache.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-clear-cache.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-clear-cache.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-clear-compiled-tpl.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-clear-compiled-tpl.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-clear-compiled-tpl.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-clear-compiled-tpl.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-clear-config.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-clear-config.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-clear-config.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-clear-config.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-compile-all-config.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-compile-all-config.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-compile-all-config.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-compile-all-config.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-compile-all-templates.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-compile-all-templates.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-compile-all-templates.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-compile-all-templates.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-config-load.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-config-load.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-config-load.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-config-load.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-create-data.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-create-data.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-create-data.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-create-data.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-create-template.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-create-template.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-create-template.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-create-template.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-disable-security.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-disable-security.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-disable-security.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-disable-security.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-display.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-display.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-display.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-display.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-enable-security.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-enable-security.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-enable-security.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-enable-security.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-fetch.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-fetch.md similarity index 95% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-fetch.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-fetch.md index a0c1676a..6da05bd0 100644 --- a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-fetch.md +++ b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-fetch.md @@ -69,7 +69,7 @@ The `email_body.tpl` template -The php script using the PHP [`mail()`](&url.php-manual;function.mail) +The php script using the PHP [`mail()`](https://www.php.net/function.mail) function diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-get-cache-dir.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-get-cache-dir.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-get-cache-dir.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-get-cache-dir.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-get-compile-dir.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-get-compile-dir.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-get-compile-dir.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-get-compile-dir.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-get-config-dir.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-get-config-dir.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-get-config-dir.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-get-config-dir.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-get-config-vars.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-get-config-vars.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-get-config-vars.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-get-config-vars.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-get-plugins-dir.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-get-plugins-dir.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-get-plugins-dir.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-get-plugins-dir.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-get-registered-object.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-get-registered-object.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-get-registered-object.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-get-registered-object.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-get-tags.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-get-tags.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-get-tags.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-get-tags.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-get-template-dir.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-get-template-dir.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-get-template-dir.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-get-template-dir.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-get-template-vars.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-get-template-vars.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-get-template-vars.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-get-template-vars.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-is-cached.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-is-cached.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-is-cached.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-is-cached.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-load-filter.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-load-filter.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-load-filter.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-load-filter.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-mute-expected-errors.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-mute-expected-errors.md similarity index 89% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-mute-expected-errors.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-mute-expected-errors.md index c0c29c06..626288ea 100644 --- a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-mute-expected-errors.md +++ b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-mute-expected-errors.md @@ -10,7 +10,7 @@ string muteExpectedErrors muteExpectedErrors() registers a custom error handler using -[set\_error\_handler()](&url.php-manual;set_error_handler). The error +[set\_error\_handler()](https://www.php.net/set_error_handler). The error handler merely inspects `$errno` and `$errfile` to determine if the given error was produced deliberately and must be ignored, or should be passed on to the next error handler. diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-register-cacheresource.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-register-cacheresource.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-register-cacheresource.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-register-cacheresource.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-register-class.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-register-class.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-register-class.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-register-class.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-register-default-plugin-handler.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-register-default-plugin-handler.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-register-default-plugin-handler.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-register-default-plugin-handler.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-register-filter.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-register-filter.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-register-filter.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-register-filter.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-register-object.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-register-object.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-register-object.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-register-object.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-register-plugin.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-register-plugin.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-register-plugin.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-register-plugin.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-register-resource.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-register-resource.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-register-resource.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-register-resource.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-set-cache-dir.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-set-cache-dir.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-set-cache-dir.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-set-cache-dir.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-set-compile-dir.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-set-compile-dir.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-set-compile-dir.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-set-compile-dir.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-set-config-dir.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-set-config-dir.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-set-config-dir.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-set-config-dir.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-set-plugins-dir.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-set-plugins-dir.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-set-plugins-dir.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-set-plugins-dir.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-set-template-dir.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-set-template-dir.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-set-template-dir.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-set-template-dir.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-template-exists.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-template-exists.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-template-exists.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-template-exists.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-test-install.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-test-install.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-test-install.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-test-install.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-unregister-cacheresource.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-unregister-cacheresource.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-unregister-cacheresource.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-unregister-cacheresource.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-unregister-filter.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-unregister-filter.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-unregister-filter.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-unregister-filter.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-unregister-object.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-unregister-object.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-unregister-object.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-unregister-object.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-unregister-plugin.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-unregister-plugin.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-unregister-plugin.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-unregister-plugin.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-unregister-resource.md b/fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-unregister-resource.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-functions/api-unregister-resource.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-functions/api-unregister-resource.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-variables.md b/fp-includes/smarty-4.3.1/docs/programmers/api-variables.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-variables.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-variables.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-allow-php-templates.md b/fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-allow-php-templates.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-allow-php-templates.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-allow-php-templates.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-auto-literal.md b/fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-auto-literal.md similarity index 84% rename from fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-auto-literal.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-auto-literal.md index e5ddb34f..8d068502 100644 --- a/fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-auto-literal.md +++ b/fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-auto-literal.md @@ -14,4 +14,4 @@ auto\_literal to false. ::: -See also [Escaping Smarty Parsing](#language.escaping), +See also [Escaping Smarty parsing](#language.escaping), diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-autoload-filters.md b/fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-autoload-filters.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-autoload-filters.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-autoload-filters.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-cache-dir.md b/fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-cache-dir.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-cache-dir.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-cache-dir.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-cache-id.md b/fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-cache-id.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-cache-id.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-cache-id.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-cache-lifetime.md b/fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-cache-lifetime.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-cache-lifetime.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-cache-lifetime.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-cache-locking.md b/fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-cache-locking.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-cache-locking.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-cache-locking.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-cache-modified-check.md b/fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-cache-modified-check.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-cache-modified-check.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-cache-modified-check.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-caching-type.md b/fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-caching-type.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-caching-type.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-caching-type.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-caching.md b/fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-caching.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-caching.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-caching.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-compile-check.md b/fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-compile-check.md similarity index 91% rename from fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-compile-check.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-compile-check.md index c0582d4d..075e7f17 100644 --- a/fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-compile-check.md +++ b/fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-compile-check.md @@ -13,6 +13,9 @@ changing), the compile check step is no longer needed. Be sure to set change this to FALSE and a template file is changed, you will \*not\* see the change since the template will not get recompiled. +Note that up to Smarty 4.x, Smarty will check for the existence of +the source template even if `$compile_check` is disabled. + If [`$caching`](#variable.caching) is enabled and `$compile_check` is enabled, then the cache files will get regenerated if an involved template file or config file was updated. diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-compile-dir.md b/fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-compile-dir.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-compile-dir.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-compile-dir.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-compile-id.md b/fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-compile-id.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-compile-id.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-compile-id.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-compile-locking.md b/fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-compile-locking.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-compile-locking.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-compile-locking.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-compiler-class.md b/fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-compiler-class.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-compiler-class.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-compiler-class.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-config-booleanize.md b/fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-config-booleanize.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-config-booleanize.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-config-booleanize.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-config-dir.md b/fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-config-dir.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-config-dir.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-config-dir.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-config-overwrite.md b/fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-config-overwrite.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-config-overwrite.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-config-overwrite.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-config-read-hidden.md b/fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-config-read-hidden.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-config-read-hidden.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-config-read-hidden.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-debug-template.md b/fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-debug-template.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-debug-template.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-debug-template.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-debugging-ctrl.md b/fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-debugging-ctrl.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-debugging-ctrl.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-debugging-ctrl.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-debugging.md b/fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-debugging.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-debugging.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-debugging.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-default-config-handler-func.md b/fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-default-config-handler-func.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-default-config-handler-func.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-default-config-handler-func.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-default-config-type.md b/fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-default-config-type.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-default-config-type.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-default-config-type.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-default-modifiers.md b/fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-default-modifiers.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-default-modifiers.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-default-modifiers.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-default-resource-type.md b/fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-default-resource-type.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-default-resource-type.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-default-resource-type.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-default-template-handler-func.md b/fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-default-template-handler-func.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-default-template-handler-func.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-default-template-handler-func.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-direct-access-security.md b/fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-direct-access-security.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-direct-access-security.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-direct-access-security.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-error-reporting.md b/fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-error-reporting.md similarity index 90% rename from fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-error-reporting.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-error-reporting.md index eec7894d..c0aa9ced 100644 --- a/fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-error-reporting.md +++ b/fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-error-reporting.md @@ -2,7 +2,7 @@ ================== When this value is set to a non-null-value it\'s value is used as php\'s -[`error_reporting`](&url.php-manual;error_reporting) level inside of +[`error_reporting`](https://www.php.net/error_reporting) level inside of [`display()`](#api.display) and [`fetch()`](#api.fetch). Smarty 3.1.2 introduced the diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-escape-html.md b/fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-escape-html.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-escape-html.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-escape-html.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-force-cache.md b/fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-force-cache.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-force-cache.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-force-cache.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-force-compile.md b/fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-force-compile.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-force-compile.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-force-compile.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-left-delimiter.md b/fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-left-delimiter.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-left-delimiter.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-left-delimiter.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-locking-timeout.md b/fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-locking-timeout.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-locking-timeout.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-locking-timeout.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-merge-compiled-includes.md b/fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-merge-compiled-includes.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-merge-compiled-includes.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-merge-compiled-includes.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-plugins-dir.md b/fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-plugins-dir.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-plugins-dir.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-plugins-dir.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-right-delimiter.md b/fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-right-delimiter.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-right-delimiter.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-right-delimiter.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-smarty-debug-id.md b/fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-smarty-debug-id.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-smarty-debug-id.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-smarty-debug-id.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-template-dir.md b/fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-template-dir.md similarity index 94% rename from fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-template-dir.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-template-dir.md index e49578b1..1db9c413 100644 --- a/fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-template-dir.md +++ b/fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-template-dir.md @@ -18,7 +18,7 @@ found. > > If the directories known to `$template_dir` are relative to > directories known to the -> [include\_path](&url.php-manual;ini.core.php#ini.include-path) you +> [include\_path](https://www.php.net/ini.core.php#ini.include-path) you > need to activate the [`$use_include_path`](#variable.use.include.path) > option. diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-trusted-dir.md b/fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-trusted-dir.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-trusted-dir.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-trusted-dir.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-use-include-path.md b/fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-use-include-path.md similarity index 87% rename from fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-use-include-path.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-use-include-path.md index 103a9767..90f55f07 100644 --- a/fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-use-include-path.md +++ b/fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-use-include-path.md @@ -2,7 +2,7 @@ ==================== This tells smarty to respect the -[include\_path](&url.php-manual;ini.core.php#ini.include-path) within +[include\_path](https://www.php.net/ini.core.php#ini.include-path) within the [`File Template Resource`](#resources.file) handler and the plugin loader to resolve the directories known to [`$template_dir`](#variable.template.dir). The flag also makes the @@ -23,14 +23,14 @@ If use\_include\_path is enabled, file discovery for \$plugins\_dir) do - Test if requested file is in `$directory` relative to the [current - working directory](&url.php-manual;function.getcwd.php). If file + working directory](https://www.php.net/function.getcwd.php). If file found, return it. - For each `$path` in include\_path do - Test if requested file is in `$directory` relative to the `$path` (possibly relative to the [current working - directory](&url.php-manual;function.getcwd.php)). If file found, + directory](https://www.php.net/function.getcwd.php)). If file found, return it. - Try default\_handler or fail. diff --git a/fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-use-sub-dirs.md b/fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-use-sub-dirs.md similarity index 94% rename from fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-use-sub-dirs.md rename to fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-use-sub-dirs.md index d973c240..dcda3f2d 100644 --- a/fp-includes/smarty-4.3.0/docs/programmers/api-variables/variable-use-sub-dirs.md +++ b/fp-includes/smarty-4.3.1/docs/programmers/api-variables/variable-use-sub-dirs.md @@ -19,7 +19,7 @@ almost nothing. > **Note** > > - `$use_sub_dirs=true` doesn\'t work with -> [safe\_mode=On](&url.php-manual;features.safe-mode), that\'s why +> [safe\_mode=On](https://www.php.net/features.safe-mode), that\'s why > it\'s switchable and why it\'s off by default. > > - `$use_sub_dirs=true` on Windows can cause problems. diff --git a/fp-includes/smarty-4.3.0/docs/programmers/caching.md b/fp-includes/smarty-4.3.1/docs/programmers/caching.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/caching.md rename to fp-includes/smarty-4.3.1/docs/programmers/caching.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/caching/caching-cacheable.md b/fp-includes/smarty-4.3.1/docs/programmers/caching/caching-cacheable.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/caching/caching-cacheable.md rename to fp-includes/smarty-4.3.1/docs/programmers/caching/caching-cacheable.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/caching/caching-custom.md b/fp-includes/smarty-4.3.1/docs/programmers/caching/caching-custom.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/caching/caching-custom.md rename to fp-includes/smarty-4.3.1/docs/programmers/caching/caching-custom.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/caching/caching-groups.md b/fp-includes/smarty-4.3.1/docs/programmers/caching/caching-groups.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/caching/caching-groups.md rename to fp-includes/smarty-4.3.1/docs/programmers/caching/caching-groups.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/caching/caching-multiple-caches.md b/fp-includes/smarty-4.3.1/docs/programmers/caching/caching-multiple-caches.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/caching/caching-multiple-caches.md rename to fp-includes/smarty-4.3.1/docs/programmers/caching/caching-multiple-caches.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/caching/caching-setting-up.md b/fp-includes/smarty-4.3.1/docs/programmers/caching/caching-setting-up.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/caching/caching-setting-up.md rename to fp-includes/smarty-4.3.1/docs/programmers/caching/caching-setting-up.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/charset.md b/fp-includes/smarty-4.3.1/docs/programmers/charset.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/charset.md rename to fp-includes/smarty-4.3.1/docs/programmers/charset.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/plugins.md b/fp-includes/smarty-4.3.1/docs/programmers/plugins.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/plugins.md rename to fp-includes/smarty-4.3.1/docs/programmers/plugins.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/plugins/plugins-block-functions.md b/fp-includes/smarty-4.3.1/docs/programmers/plugins/plugins-block-functions.md similarity index 97% rename from fp-includes/smarty-4.3.0/docs/programmers/plugins/plugins-block-functions.md rename to fp-includes/smarty-4.3.1/docs/programmers/plugins/plugins-block-functions.md index 47281fef..0e11c078 100644 --- a/fp-includes/smarty-4.3.0/docs/programmers/plugins/plugins-block-functions.md +++ b/fp-includes/smarty-4.3.1/docs/programmers/plugins/plugins-block-functions.md @@ -62,7 +62,7 @@ cannot have both custom function `{func}` and block function If you have nested block functions, it\'s possible to find out what the parent block function is by accessing `$smarty->_tag_stack` variable. -Just do a [`var_dump()`](&url.php-manual;var_dump) on it and the +Just do a [`var_dump()`](https://www.php.net/var_dump) on it and the structure should be apparent. diff --git a/fp-includes/smarty-4.3.0/docs/programmers/plugins/plugins-compiler-functions.md b/fp-includes/smarty-4.3.1/docs/programmers/plugins/plugins-compiler-functions.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/plugins/plugins-compiler-functions.md rename to fp-includes/smarty-4.3.1/docs/programmers/plugins/plugins-compiler-functions.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/plugins/plugins-functions.md b/fp-includes/smarty-4.3.1/docs/programmers/plugins/plugins-functions.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/plugins/plugins-functions.md rename to fp-includes/smarty-4.3.1/docs/programmers/plugins/plugins-functions.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/plugins/plugins-howto.md b/fp-includes/smarty-4.3.1/docs/programmers/plugins/plugins-howto.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/plugins/plugins-howto.md rename to fp-includes/smarty-4.3.1/docs/programmers/plugins/plugins-howto.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/plugins/plugins-inserts.md b/fp-includes/smarty-4.3.1/docs/programmers/plugins/plugins-inserts.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/plugins/plugins-inserts.md rename to fp-includes/smarty-4.3.1/docs/programmers/plugins/plugins-inserts.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/plugins/plugins-modifiers.md b/fp-includes/smarty-4.3.1/docs/programmers/plugins/plugins-modifiers.md similarity index 96% rename from fp-includes/smarty-4.3.0/docs/programmers/plugins/plugins-modifiers.md rename to fp-includes/smarty-4.3.1/docs/programmers/plugins/plugins-modifiers.md index b089821a..a4e99daa 100644 --- a/fp-includes/smarty-4.3.0/docs/programmers/plugins/plugins-modifiers.md +++ b/fp-includes/smarty-4.3.1/docs/programmers/plugins/plugins-modifiers.md @@ -25,7 +25,7 @@ The first parameter to the modifier plugin is the value on which the modifier is to operate. The rest of the parameters are optional, depending on what kind of operation is to be performed. -The modifier has to [return](&url.php-manual;return) the result of its +The modifier has to [return](https://www.php.net/return) the result of its processing. This plugin basically aliases one of the built-in PHP functions. It does diff --git a/fp-includes/smarty-4.3.0/docs/programmers/plugins/plugins-naming-conventions.md b/fp-includes/smarty-4.3.1/docs/programmers/plugins/plugins-naming-conventions.md similarity index 94% rename from fp-includes/smarty-4.3.0/docs/programmers/plugins/plugins-naming-conventions.md rename to fp-includes/smarty-4.3.1/docs/programmers/plugins/plugins-naming-conventions.md index 28bbcfde..15bc2601 100644 --- a/fp-includes/smarty-4.3.0/docs/programmers/plugins/plugins-naming-conventions.md +++ b/fp-includes/smarty-4.3.1/docs/programmers/plugins/plugins-naming-conventions.md @@ -32,7 +32,7 @@ in order to be located by Smarty. - And `name` should be a valid identifier; letters, numbers, and underscores only, see [php - variables](&url.php-manual;language.variables). + variables](https://www.php.net/language.variables). - Some examples: `function.html_select_date.php`, `resource.db.php`, `modifier.spacify.php`. diff --git a/fp-includes/smarty-4.3.0/docs/programmers/plugins/plugins-outputfilters.md b/fp-includes/smarty-4.3.1/docs/programmers/plugins/plugins-outputfilters.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/plugins/plugins-outputfilters.md rename to fp-includes/smarty-4.3.1/docs/programmers/plugins/plugins-outputfilters.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/plugins/plugins-prefilters-postfilters.md b/fp-includes/smarty-4.3.1/docs/programmers/plugins/plugins-prefilters-postfilters.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/plugins/plugins-prefilters-postfilters.md rename to fp-includes/smarty-4.3.1/docs/programmers/plugins/plugins-prefilters-postfilters.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/plugins/plugins-resources.md b/fp-includes/smarty-4.3.1/docs/programmers/plugins/plugins-resources.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/plugins/plugins-resources.md rename to fp-includes/smarty-4.3.1/docs/programmers/plugins/plugins-resources.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/plugins/plugins-writing.md b/fp-includes/smarty-4.3.1/docs/programmers/plugins/plugins-writing.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/plugins/plugins-writing.md rename to fp-includes/smarty-4.3.1/docs/programmers/plugins/plugins-writing.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/resources.md b/fp-includes/smarty-4.3.1/docs/programmers/resources.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/resources.md rename to fp-includes/smarty-4.3.1/docs/programmers/resources.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/resources/resources-custom.md b/fp-includes/smarty-4.3.1/docs/programmers/resources/resources-custom.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/resources/resources-custom.md rename to fp-includes/smarty-4.3.1/docs/programmers/resources/resources-custom.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/resources/resources-extends.md b/fp-includes/smarty-4.3.1/docs/programmers/resources/resources-extends.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/resources/resources-extends.md rename to fp-includes/smarty-4.3.1/docs/programmers/resources/resources-extends.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/resources/resources-file.md b/fp-includes/smarty-4.3.1/docs/programmers/resources/resources-file.md similarity index 98% rename from fp-includes/smarty-4.3.0/docs/programmers/resources/resources-file.md rename to fp-includes/smarty-4.3.1/docs/programmers/resources/resources-file.md index e49f4737..9a89af18 100644 --- a/fp-includes/smarty-4.3.0/docs/programmers/resources/resources-file.md +++ b/fp-includes/smarty-4.3.1/docs/programmers/resources/resources-file.md @@ -14,7 +14,7 @@ is invoked. > **Note** > > As of Smarty 3.1 the file resource no longer walks through the -> [include\_path](&url.php-manual;ini.core.php#ini.include-path) unless +> [include\_path](https://www.php.net/ini.core.php#ini.include-path) unless > [`$use_include_path` is activated](#variable.use.include.path) Templates from \$template\_dir {#templates.from.template.dir} diff --git a/fp-includes/smarty-4.3.0/docs/programmers/resources/resources-streams.md b/fp-includes/smarty-4.3.1/docs/programmers/resources/resources-streams.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/resources/resources-streams.md rename to fp-includes/smarty-4.3.1/docs/programmers/resources/resources-streams.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/resources/resources-string.md b/fp-includes/smarty-4.3.1/docs/programmers/resources/resources-string.md similarity index 95% rename from fp-includes/smarty-4.3.0/docs/programmers/resources/resources-string.md rename to fp-includes/smarty-4.3.1/docs/programmers/resources/resources-string.md index 4b19d8e3..d3f6d415 100644 --- a/fp-includes/smarty-4.3.0/docs/programmers/resources/resources-string.md +++ b/fp-includes/smarty-4.3.1/docs/programmers/resources/resources-string.md @@ -46,8 +46,8 @@ From within a Smarty template Both `string:` and `eval:` resources may be encoded with -[`urlencode()`](&url.php-manual;urlencode) or -[`base64_encode()`](&url.php-manual;urlencode). This is not necessary +[`urlencode()`](https://www.php.net/urlencode) or +[`base64_encode()`](https://www.php.net/urlencode). This is not necessary for the usual use of `string:` and `eval:`, but is required when using either of them in conjunction with [`Extends Template Resource`](#resources.extends) diff --git a/fp-includes/smarty-4.3.0/docs/programmers/resources/template-resources.md b/fp-includes/smarty-4.3.1/docs/programmers/resources/template-resources.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/resources/template-resources.md rename to fp-includes/smarty-4.3.1/docs/programmers/resources/template-resources.md diff --git a/fp-includes/smarty-4.3.0/docs/programmers/smarty-constants.md b/fp-includes/smarty-4.3.1/docs/programmers/smarty-constants.md similarity index 100% rename from fp-includes/smarty-4.3.0/docs/programmers/smarty-constants.md rename to fp-includes/smarty-4.3.1/docs/programmers/smarty-constants.md diff --git a/fp-includes/smarty-4.3.0/lexer/smarty_internal_configfilelexer.plex b/fp-includes/smarty-4.3.1/lexer/smarty_internal_configfilelexer.plex similarity index 100% rename from fp-includes/smarty-4.3.0/lexer/smarty_internal_configfilelexer.plex rename to fp-includes/smarty-4.3.1/lexer/smarty_internal_configfilelexer.plex diff --git a/fp-includes/smarty-4.3.0/lexer/smarty_internal_configfileparser.y b/fp-includes/smarty-4.3.1/lexer/smarty_internal_configfileparser.y similarity index 100% rename from fp-includes/smarty-4.3.0/lexer/smarty_internal_configfileparser.y rename to fp-includes/smarty-4.3.1/lexer/smarty_internal_configfileparser.y diff --git a/fp-includes/smarty-4.3.0/lexer/smarty_internal_templatelexer.plex b/fp-includes/smarty-4.3.1/lexer/smarty_internal_templatelexer.plex similarity index 100% rename from fp-includes/smarty-4.3.0/lexer/smarty_internal_templatelexer.plex rename to fp-includes/smarty-4.3.1/lexer/smarty_internal_templatelexer.plex diff --git a/fp-includes/smarty-4.3.0/lexer/smarty_internal_templateparser.y b/fp-includes/smarty-4.3.1/lexer/smarty_internal_templateparser.y similarity index 100% rename from fp-includes/smarty-4.3.0/lexer/smarty_internal_templateparser.y rename to fp-includes/smarty-4.3.1/lexer/smarty_internal_templateparser.y diff --git a/fp-includes/smarty-4.3.0/libs/Autoloader.php b/fp-includes/smarty-4.3.1/libs/Autoloader.php similarity index 100% rename from fp-includes/smarty-4.3.0/libs/Autoloader.php rename to fp-includes/smarty-4.3.1/libs/Autoloader.php diff --git a/fp-includes/smarty-4.3.0/libs/Smarty.class.php b/fp-includes/smarty-4.3.1/libs/Smarty.class.php similarity index 99% rename from fp-includes/smarty-4.3.0/libs/Smarty.class.php rename to fp-includes/smarty-4.3.1/libs/Smarty.class.php index 5d2e3a4b..81dc6ab5 100644 --- a/fp-includes/smarty-4.3.0/libs/Smarty.class.php +++ b/fp-includes/smarty-4.3.1/libs/Smarty.class.php @@ -107,7 +107,7 @@ class Smarty extends Smarty_Internal_TemplateBase /** * smarty version */ - const SMARTY_VERSION = '4.3.0'; + const SMARTY_VERSION = '4.3.1'; /** * define variable scopes */ @@ -1386,8 +1386,7 @@ private function _normalizeTemplateConfig($isConfig) } /** - * Activates PHP7 compatibility mode: - * - converts E_WARNINGS for "undefined array key" and "trying to read property of null" errors to E_NOTICE + * Mutes errors for "undefined index", "undefined array key" and "trying to read property of null". * * @void */ @@ -1396,7 +1395,7 @@ public function muteUndefinedOrNullWarnings(): void { } /** - * Indicates if PHP7 compatibility mode is set. + * Indicates if Smarty will mute errors for "undefined index", "undefined array key" and "trying to read property of null". * @bool */ public function isMutingUndefinedOrNullWarnings(): bool { diff --git a/fp-includes/smarty-4.3.0/libs/bootstrap.php b/fp-includes/smarty-4.3.1/libs/bootstrap.php similarity index 100% rename from fp-includes/smarty-4.3.0/libs/bootstrap.php rename to fp-includes/smarty-4.3.1/libs/bootstrap.php diff --git a/fp-includes/smarty-4.3.0/libs/debug.tpl b/fp-includes/smarty-4.3.1/libs/debug.tpl similarity index 100% rename from fp-includes/smarty-4.3.0/libs/debug.tpl rename to fp-includes/smarty-4.3.1/libs/debug.tpl diff --git a/fp-includes/smarty-4.3.0/libs/functions.php b/fp-includes/smarty-4.3.1/libs/functions.php similarity index 100% rename from fp-includes/smarty-4.3.0/libs/functions.php rename to fp-includes/smarty-4.3.1/libs/functions.php diff --git a/fp-includes/smarty-4.3.0/libs/plugins/block.textformat.php b/fp-includes/smarty-4.3.1/libs/plugins/block.textformat.php similarity index 100% rename from fp-includes/smarty-4.3.0/libs/plugins/block.textformat.php rename to fp-includes/smarty-4.3.1/libs/plugins/block.textformat.php diff --git a/fp-includes/smarty-4.3.0/libs/plugins/function.counter.php b/fp-includes/smarty-4.3.1/libs/plugins/function.counter.php similarity index 100% rename from fp-includes/smarty-4.3.0/libs/plugins/function.counter.php rename to fp-includes/smarty-4.3.1/libs/plugins/function.counter.php diff --git a/fp-includes/smarty-4.3.0/libs/plugins/function.cycle.php b/fp-includes/smarty-4.3.1/libs/plugins/function.cycle.php similarity index 100% rename from fp-includes/smarty-4.3.0/libs/plugins/function.cycle.php rename to fp-includes/smarty-4.3.1/libs/plugins/function.cycle.php diff --git a/fp-includes/smarty-4.3.0/libs/plugins/function.fetch.php b/fp-includes/smarty-4.3.1/libs/plugins/function.fetch.php similarity index 100% rename from fp-includes/smarty-4.3.0/libs/plugins/function.fetch.php rename to fp-includes/smarty-4.3.1/libs/plugins/function.fetch.php diff --git a/fp-includes/smarty-4.3.0/libs/plugins/function.html_checkboxes.php b/fp-includes/smarty-4.3.1/libs/plugins/function.html_checkboxes.php similarity index 100% rename from fp-includes/smarty-4.3.0/libs/plugins/function.html_checkboxes.php rename to fp-includes/smarty-4.3.1/libs/plugins/function.html_checkboxes.php diff --git a/fp-includes/smarty-4.3.0/libs/plugins/function.html_image.php b/fp-includes/smarty-4.3.1/libs/plugins/function.html_image.php similarity index 100% rename from fp-includes/smarty-4.3.0/libs/plugins/function.html_image.php rename to fp-includes/smarty-4.3.1/libs/plugins/function.html_image.php diff --git a/fp-includes/smarty-4.3.0/libs/plugins/function.html_options.php b/fp-includes/smarty-4.3.1/libs/plugins/function.html_options.php similarity index 100% rename from fp-includes/smarty-4.3.0/libs/plugins/function.html_options.php rename to fp-includes/smarty-4.3.1/libs/plugins/function.html_options.php diff --git a/fp-includes/smarty-4.3.0/libs/plugins/function.html_radios.php b/fp-includes/smarty-4.3.1/libs/plugins/function.html_radios.php similarity index 100% rename from fp-includes/smarty-4.3.0/libs/plugins/function.html_radios.php rename to fp-includes/smarty-4.3.1/libs/plugins/function.html_radios.php diff --git a/fp-includes/smarty-4.3.0/libs/plugins/function.html_select_date.php b/fp-includes/smarty-4.3.1/libs/plugins/function.html_select_date.php similarity index 100% rename from fp-includes/smarty-4.3.0/libs/plugins/function.html_select_date.php rename to fp-includes/smarty-4.3.1/libs/plugins/function.html_select_date.php diff --git a/fp-includes/smarty-4.3.0/libs/plugins/function.html_select_time.php b/fp-includes/smarty-4.3.1/libs/plugins/function.html_select_time.php similarity index 100% rename from fp-includes/smarty-4.3.0/libs/plugins/function.html_select_time.php rename to fp-includes/smarty-4.3.1/libs/plugins/function.html_select_time.php diff --git a/fp-includes/smarty-4.3.0/libs/plugins/function.html_table.php b/fp-includes/smarty-4.3.1/libs/plugins/function.html_table.php similarity index 100% rename from fp-includes/smarty-4.3.0/libs/plugins/function.html_table.php rename to fp-includes/smarty-4.3.1/libs/plugins/function.html_table.php diff --git a/fp-includes/smarty-4.3.0/libs/plugins/function.mailto.php b/fp-includes/smarty-4.3.1/libs/plugins/function.mailto.php similarity index 100% rename from fp-includes/smarty-4.3.0/libs/plugins/function.mailto.php rename to fp-includes/smarty-4.3.1/libs/plugins/function.mailto.php diff --git a/fp-includes/smarty-4.3.0/libs/plugins/function.math.php b/fp-includes/smarty-4.3.1/libs/plugins/function.math.php similarity index 100% rename from fp-includes/smarty-4.3.0/libs/plugins/function.math.php rename to fp-includes/smarty-4.3.1/libs/plugins/function.math.php diff --git a/fp-includes/smarty-4.3.0/libs/plugins/modifier.capitalize.php b/fp-includes/smarty-4.3.1/libs/plugins/modifier.capitalize.php similarity index 100% rename from fp-includes/smarty-4.3.0/libs/plugins/modifier.capitalize.php rename to fp-includes/smarty-4.3.1/libs/plugins/modifier.capitalize.php diff --git a/fp-includes/smarty-4.3.0/libs/plugins/modifier.count.php b/fp-includes/smarty-4.3.1/libs/plugins/modifier.count.php similarity index 100% rename from fp-includes/smarty-4.3.0/libs/plugins/modifier.count.php rename to fp-includes/smarty-4.3.1/libs/plugins/modifier.count.php diff --git a/fp-includes/smarty-4.3.0/libs/plugins/modifier.date_format.php b/fp-includes/smarty-4.3.1/libs/plugins/modifier.date_format.php similarity index 100% rename from fp-includes/smarty-4.3.0/libs/plugins/modifier.date_format.php rename to fp-includes/smarty-4.3.1/libs/plugins/modifier.date_format.php diff --git a/fp-includes/smarty-4.3.0/libs/plugins/modifier.debug_print_var.php b/fp-includes/smarty-4.3.1/libs/plugins/modifier.debug_print_var.php similarity index 100% rename from fp-includes/smarty-4.3.0/libs/plugins/modifier.debug_print_var.php rename to fp-includes/smarty-4.3.1/libs/plugins/modifier.debug_print_var.php diff --git a/fp-includes/smarty-4.3.0/libs/plugins/modifier.escape.php b/fp-includes/smarty-4.3.1/libs/plugins/modifier.escape.php similarity index 98% rename from fp-includes/smarty-4.3.0/libs/plugins/modifier.escape.php rename to fp-includes/smarty-4.3.1/libs/plugins/modifier.escape.php index 11e44682..e168679c 100644 --- a/fp-includes/smarty-4.3.0/libs/plugins/modifier.escape.php +++ b/fp-includes/smarty-4.3.1/libs/plugins/modifier.escape.php @@ -115,7 +115,9 @@ function smarty_modifier_escape($string, $esc_type = 'html', $char_set = null, $ // see https://html.spec.whatwg.org/multipage/scripting.html#restrictions-for-contents-of-script-elements '