diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_continue.php b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_continue.php
index 4082a93b37d94fba4a0a3702c6ad3207cbf70499..7d79667328e9bdecce7704ffd2d2697918ccec3a 100644 (file)
<?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