diff options
Diffstat (limited to 'library/Smarty/libs/sysplugins/smarty_internal_compile_capture.php')
-rw-r--r-- | library/Smarty/libs/sysplugins/smarty_internal_compile_capture.php | 117 |
1 files changed, 0 insertions, 117 deletions
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_capture.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_capture.php deleted file mode 100644 index be45f3e94..000000000 --- a/library/Smarty/libs/sysplugins/smarty_internal_compile_capture.php +++ /dev/null @@ -1,117 +0,0 @@ -<?php -/** - * Smarty Internal Plugin Compile Capture - * Compiles the {capture} tag - * - * @package Smarty - * @subpackage Compiler - * @author Uwe Tews - */ - -/** - * Smarty Internal Plugin Compile Capture Class - * - * @package Smarty - * @subpackage Compiler - */ -class Smarty_Internal_Compile_Capture extends Smarty_Internal_CompileBase -{ - /** - * Attribute definition: Overwrites base class. - * - * @var array - * @see Smarty_Internal_CompileBase - */ - public $shorttag_order = array('name'); - - /** - * Attribute definition: Overwrites base class. - * - * @var array - * @see Smarty_Internal_CompileBase - */ - public $optional_attributes = array('name', 'assign', 'append'); - - /** - * Compiles code for the {capture} tag - * - * @param array $args array with attributes from parser - * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object - * - * @return string compiled code - */ - public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler) - { - // check and get attributes - $_attr = $this->getAttributes($compiler, $args); - - $buffer = isset($_attr['name']) ? $_attr['name'] : "'default'"; - $assign = isset($_attr['assign']) ? $_attr['assign'] : 'null'; - $append = isset($_attr['append']) ? $_attr['append'] : 'null'; - - $compiler->_capture_stack[0][] = array($buffer, $assign, $append, $compiler->nocache); - // maybe nocache because of nocache variables - $compiler->nocache = $compiler->nocache | $compiler->tag_nocache; - $_output = "<?php \$_smarty_tpl->_cache['capture_stack'][] = array($buffer, $assign, $append); ob_start(); ?>"; - - return $_output; - } - - /** - * Compiles code for the {$smarty.capture.xxx} - * - * @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 static function compileSpecialVariable($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter) - { - $tag = strtolower(trim($parameter[ 0 ], '"\'')); - $name = isset($parameter[ 1 ]) ? $compiler->getId($parameter[ 1 ]) : false; - if (!$name) { - $compiler->trigger_template_error("missing or illegal \$smarty.{$tag} name attribute", null, true); - } - return "(isset(\$_smarty_tpl->_cache['__smarty_capture']['{$name}']) ? \$_smarty_tpl->_cache['__smarty_capture']['{$name}'] : null)"; - } -} - -/** - * Smarty Internal Plugin Compile Captureclose Class - * - * @package Smarty - * @subpackage Compiler - */ -class Smarty_Internal_Compile_CaptureClose extends Smarty_Internal_CompileBase -{ - /** - * Compiles code for the {/capture} tag - * - * @param array $args array with attributes from parser - * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object - * - * @return string compiled code - */ - public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler) - { - // check and get attributes - $_attr = $this->getAttributes($compiler, $args); - // must endblock be nocache? - if ($compiler->nocache) { - $compiler->tag_nocache = true; - } - - list($buffer, $assign, $append, $compiler->nocache) = array_pop($compiler->_capture_stack[0]); - - $_output = "<?php list(\$_capture_buffer, \$_capture_assign, \$_capture_append) = array_pop(\$_smarty_tpl->_cache['capture_stack']);\n"; - $_output .= "if (!empty(\$_capture_buffer)) {\n"; - $_output .= " if (isset(\$_capture_assign)) \$_smarty_tpl->assign(\$_capture_assign, ob_get_contents());\n"; - $_output .= " if (isset( \$_capture_append)) \$_smarty_tpl->append( \$_capture_append, ob_get_contents());\n"; - $_output .= "\$_smarty_tpl->_cache['__smarty_capture'][\$_capture_buffer]=ob_get_clean();\n"; - $_output .= "} else \$_smarty_tpl->capture_error();?>"; - - return $_output; - } -} |