Code

Updated smarty to 1.0.9
[gosa.git] / gosa-core / include / smarty / sysplugins / smarty_internal_compile_capture.php
index fe54b36b8d063642176a9d583f742880e633768b..74ade6804288aebfcfe1ed4e64b4eb0f5359577e 100644 (file)
@@ -1,98 +1,81 @@
 <?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