Code

Updated smarty to 1.0.9
[gosa.git] / gosa-core / include / smarty / sysplugins / smarty_internal_compile_continue.php
index 4082a93b37d94fba4a0a3702c6ad3207cbf70499..7d79667328e9bdecce7704ffd2d2697918ccec3a 100644 (file)
@@ -1,78 +1,64 @@
 <?php\r
+\r
 /**\r
  * Smarty Internal Plugin Compile Continue\r
- *\r
+ * \r
  * Compiles the {continue} tag\r
- *\r
+ * \r
  * @package Smarty\r
  * @subpackage Compiler\r
- * @author Uwe Tews\r
+ * @author Uwe Tews \r
  */\r
-\r
 /**\r
  * Smarty Internal Plugin Compile Continue Class\r
- *\r
- * @package Smarty\r
- * @subpackage Compiler\r
  */\r
 class Smarty_Internal_Compile_Continue extends Smarty_Internal_CompileBase {\r
-\r
-    /**\r
-     * Attribute definition: Overwrites base class.\r
-     *\r
-     * @var array\r
-     * @see Smarty_Internal_CompileBase\r
-     */\r
-    public $optional_attributes = array('levels');\r
-    /**\r
-     * Attribute definition: Overwrites base class.\r
-     *\r
-     * @var array\r
-     * @see Smarty_Internal_CompileBase\r
-     */\r
+       // attribute definitions\r
+    public $optional_attributes = array('levels'); \r
     public $shorttag_order = array('levels');\r
 \r
     /**\r
      * Compiles code for the {continue} tag\r
-     *\r
-     * @param array  $args      array with attributes from parser\r
-     * @param object $compiler  compiler object\r
-     * @param array  $parameter array with compilation parameter\r
+     * \r
+     * @param array $args array with attributes from parser\r
+     * @param object $compiler compiler object\r
+     * @param array $parameter array with compilation parameter\r
      * @return string compiled code\r
      */\r
     public function compile($args, $compiler, $parameter)\r
     {\r
-        static $_is_loopy = array('for' => true, 'foreach' => true, 'while' => true, 'section' => true);\r
+        $this->compiler = $compiler;\r
+        $this->smarty = $compiler->smarty;\r
         // check and get attributes\r
-        $_attr = $this->getAttributes($compiler, $args);\r
+        $_attr = $this->_get_attributes($args);\r
 \r
         if ($_attr['nocache'] === true) {\r
-            $compiler->trigger_template_error('nocache option not allowed', $compiler->lex->taglineno);\r
+               $this->compiler->trigger_template_error('nocache option not allowed', $this->compiler->lex->taglineno);\r
         }\r
 \r
         if (isset($_attr['levels'])) {\r
             if (!is_numeric($_attr['levels'])) {\r
-                $compiler->trigger_template_error('level attribute must be a numeric constant', $compiler->lex->taglineno);\r
-            }\r
+                $this->compiler->trigger_template_error('level attribute must be a numeric constant', $this->compiler->lex->taglineno);\r
+            } \r
             $_levels = $_attr['levels'];\r
         } else {\r
             $_levels = 1;\r
-        }\r
+        } \r
         $level_count = $_levels;\r
         $stack_count = count($compiler->_tag_stack) - 1;\r
         while ($level_count > 0 && $stack_count >= 0) {\r
-            if (isset($_is_loopy[$compiler->_tag_stack[$stack_count][0]])) {\r
+            if (in_array($compiler->_tag_stack[$stack_count][0], array('for', 'foreach', 'while', 'section'))) {\r
                 $level_count--;\r
-            }\r
+            } \r
             $stack_count--;\r
-        }\r
+        } \r
         if ($level_count != 0) {\r
-            $compiler->trigger_template_error("cannot continue {$_levels} level(s)", $compiler->lex->taglineno);\r
-        }\r
-        $compiler->has_code = true;\r
+            $this->compiler->trigger_template_error("cannot continue {$_levels} level(s)", $this->compiler->lex->taglineno);\r
+        } \r
+        // this tag does not return compiled code\r
+        $this->compiler->has_code = true;\r
         return "<?php continue {$_levels}?>";\r
-    }\r
-\r
-}\r
+    } \r
+} \r
 \r
 ?>
\ No newline at end of file