diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_capture.php b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_capture.php
index fe54b36b8d063642176a9d583f742880e633768b..74ade6804288aebfcfe1ed4e64b4eb0f5359577e 100644 (file)
<?php
/**
* Smarty Internal Plugin Compile Capture
- *
+ *
* Compiles the {capture} tag
- *
+ *
* @package Smarty
* @subpackage Compiler
- * @author Uwe Tews
+ * @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
- */
+ // attribute definitions
public $shorttag_order = array('name');
- /**
- * Attribute definition: Overwrites base class.
- *
- * @var array
- * @see Smarty_Internal_CompileBase
- */
- public $optional_attributes = array('name', 'assign', 'append');
+ public $optional_attributes = array('name', 'assign', 'append');
/**
* Compiles code for the {capture} tag
- *
- * @param array $args array with attributes from parser
+ *
+ * @param array $args array with attributes from parser
* @param object $compiler compiler object
* @return string compiled code
*/
public function compile($args, $compiler)
{
+ $this->compiler = $compiler;
// check and get attributes
- $_attr = $this->getAttributes($compiler, $args);
+ $_attr = $this->_get_attributes($args);
$buffer = isset($_attr['name']) ? $_attr['name'] : "'default'";
- $assign = isset($_attr['assign']) ? $_attr['assign'] : 'null';
- $append = isset($_attr['append']) ? $_attr['append'] : 'null';
+ $assign = isset($_attr['assign']) ? $_attr['assign'] : null;
+ $append = isset($_attr['append']) ? $_attr['append'] : null;
- $compiler->_capture_stack[] = array($buffer, $assign, $append, $compiler->nocache);
+ $this->compiler->_capture_stack[] = array($buffer, $assign, $append, $this->compiler->nocache);
// maybe nocache because of nocache variables
- $compiler->nocache = $compiler->nocache | $compiler->tag_nocache;
- $_output = "<?php \$_smarty_tpl->_capture_stack[] = array($buffer, $assign, $append); ob_start(); ?>";
+ $this->compiler->nocache = $this->compiler->nocache | $this->compiler->tag_nocache;
+ $_output = "<?php ob_start(); ?>";
return $_output;
- }
-
-}
+ }
+}
/**
* 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 array $args array with attributes from parser
* @param object $compiler compiler object
* @return string compiled code
*/
public function compile($args, $compiler)
{
+ $this->compiler = $compiler;
// check and get attributes
- $_attr = $this->getAttributes($compiler, $args);
+ $_attr = $this->_get_attributes($args);
// must endblock be nocache?
- if ($compiler->nocache) {
- $compiler->tag_nocache = true;
- }
+ if ($this->compiler->nocache) {
+ $this->compiler->tag_nocache = true;
+ }
- list($buffer, $assign, $append, $compiler->nocache) = array_pop($compiler->_capture_stack);
+ list($buffer, $assign, $append, $this->compiler->nocache) = array_pop($this->compiler->_capture_stack);
- $_output = "<?php list(\$_capture_buffer, \$_capture_assign, \$_capture_append) = array_pop(\$_smarty_tpl->_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::\$_smarty_vars['capture'][\$_capture_buffer]=ob_get_clean();\n";
- $_output .= "} else \$_smarty_tpl->capture_error();?>";
+ $_output = "<?php ";
+ if (isset($assign)) {
+ $_output .= " \$_smarty_tpl->assign($assign, ob_get_contents());";
+ }
+ if (isset($append)) {
+ $_output .= " \$_smarty_tpl->append($append, ob_get_contents());";
+ }
+ $_output .= " Smarty::\$_smarty_vars['capture'][$buffer]=ob_get_clean();?>";
return $_output;
- }
-
-}
+ }
+}
?>
\ No newline at end of file