diff options
| author | uwetews <uwe.tews@googlemail.com> | 2016-02-14 02:54:38 +0100 |
|---|---|---|
| committer | uwetews <uwe.tews@googlemail.com> | 2016-02-14 02:54:38 +0100 |
| commit | 0f7f0d87b6d7e41255018fbbad4b0e06301b51fb (patch) | |
| tree | f7915e5979c2abdb4e3899f61f98e28a10ed8193 /libs/sysplugins/smarty_internal_compile_make_nocache.php | |
| parent | 3756588858acfe0f3f64c2fd47f5ff3a58728592 (diff) | |
| download | smarty-0f7f0d87b6d7e41255018fbbad4b0e06301b51fb.tar.gz smarty-0f7f0d87b6d7e41255018fbbad4b0e06301b51fb.tar.bz2 smarty-0f7f0d87b6d7e41255018fbbad4b0e06301b51fb.zip | |
- new tag {make_nocache} read NEW_FEATURES.txt https://github.com/smarty-php/smarty/issues/110
Diffstat (limited to 'libs/sysplugins/smarty_internal_compile_make_nocache.php')
| -rw-r--r-- | libs/sysplugins/smarty_internal_compile_make_nocache.php | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/libs/sysplugins/smarty_internal_compile_make_nocache.php b/libs/sysplugins/smarty_internal_compile_make_nocache.php new file mode 100644 index 00000000..720dd68b --- /dev/null +++ b/libs/sysplugins/smarty_internal_compile_make_nocache.php @@ -0,0 +1,64 @@ +<?php +/** + * Smarty Internal Plugin Compile Make_Nocache + * Compiles the {make_nocache} tag + * + * @package Smarty + * @subpackage Compiler + * @author Uwe Tews + */ + +/** + * Smarty Internal Plugin Compile Make_Nocache Class + * + * @package Smarty + * @subpackage Compiler + */ +class Smarty_Internal_Compile_Make_Nocache extends Smarty_Internal_CompileBase +{ + /** + * Attribute definition: Overwrites base class. + * + * @var array + * @see Smarty_Internal_CompileBase + */ + public $option_flags = array(); + + /** + * Array of names of required attribute required by tag + * + * @var array + */ + public $required_attributes = array('var'); + + /** + * Shorttag attribute order defined by its names + * + * @var array + */ + public $shorttag_order = array('var'); + + /** + * Compiles code for the {make_nocache} tag + * + * @param array $args array with attributes from parser + * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object + * @param array $parameter array with compilation parameter + * + * @return string compiled code + * @throws \SmartyCompilerException + */ + public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter) + { + // check and get attributes + $_attr = $this->getAttributes($compiler, $args); + if ($compiler->template->caching) { + $output = "<?php \$_smarty_tpl->smarty->ext->_make_nocache->save(\$_smarty_tpl, {$_attr[ 'var' ]});\n?>\n"; + $compiler->has_code = true; + $compiler->suppressNocacheProcessing = true; + return $output; + } else { + return true; + } + } +} |
