summaryrefslogtreecommitdiff
path: root/libs/sysplugins/smarty_internal_compile_while.php
diff options
context:
space:
mode:
Diffstat (limited to 'libs/sysplugins/smarty_internal_compile_while.php')
-rw-r--r--libs/sysplugins/smarty_internal_compile_while.php100
1 files changed, 0 insertions, 100 deletions
diff --git a/libs/sysplugins/smarty_internal_compile_while.php b/libs/sysplugins/smarty_internal_compile_while.php
deleted file mode 100644
index 5aa3a733..00000000
--- a/libs/sysplugins/smarty_internal_compile_while.php
+++ /dev/null
@@ -1,100 +0,0 @@
-<?php
-/**
- * Smarty Internal Plugin Compile While
- * Compiles the {while} tag
- *
- * @package Smarty
- * @subpackage Compiler
- * @author Uwe Tews
- */
-
-/**
- * Smarty Internal Plugin Compile While Class
- *
- * @package Smarty
- * @subpackage Compiler
- */
-class Smarty_Internal_Compile_While extends Smarty_Internal_CompileBase
-{
- /**
- * Compiles code for the {while} tag
- *
- * @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 function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter)
- {
- $compiler->loopNesting++;
- // check and get attributes
- $_attr = $this->getAttributes($compiler, $args);
- $this->openTag($compiler, 'while', $compiler->nocache);
- if (!array_key_exists('if condition', $parameter)) {
- $compiler->trigger_template_error('missing while condition', null, true);
- }
- // maybe nocache because of nocache variables
- $compiler->nocache = $compiler->nocache | $compiler->tag_nocache;
- if (is_array($parameter[ 'if condition' ])) {
- if ($compiler->nocache) {
- // create nocache var to make it know for further compiling
- if (is_array($parameter[ 'if condition' ][ 'var' ])) {
- $var = $parameter[ 'if condition' ][ 'var' ][ 'var' ];
- } else {
- $var = $parameter[ 'if condition' ][ 'var' ];
- }
- $compiler->setNocacheInVariable($var);
- }
- $prefixVar = $compiler->getNewPrefixVariable();
- $assignCompiler = new Smarty_Internal_Compile_Assign();
- $assignAttr = array();
- $assignAttr[][ 'value' ] = $prefixVar;
- if (is_array($parameter[ 'if condition' ][ 'var' ])) {
- $assignAttr[][ 'var' ] = $parameter[ 'if condition' ][ 'var' ][ 'var' ];
- $_output = "<?php while ({$prefixVar} = {$parameter[ 'if condition' ][ 'value' ]}) {?>";
- $_output .= $assignCompiler->compile(
- $assignAttr,
- $compiler,
- array('smarty_internal_index' => $parameter[ 'if condition' ][ 'var' ][ 'smarty_internal_index' ])
- );
- } else {
- $assignAttr[][ 'var' ] = $parameter[ 'if condition' ][ 'var' ];
- $_output = "<?php while ({$prefixVar} = {$parameter[ 'if condition' ][ 'value' ]}) {?>";
- $_output .= $assignCompiler->compile($assignAttr, $compiler, array());
- }
- return $_output;
- } else {
- return "<?php\n while ({$parameter['if condition']}) {?>";
- }
- }
-}
-
-/**
- * Smarty Internal Plugin Compile Whileclose Class
- *
- * @package Smarty
- * @subpackage Compiler
- */
-class Smarty_Internal_Compile_Whileclose extends Smarty_Internal_CompileBase
-{
- /**
- * Compiles code for the {/while} 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)
- {
- $compiler->loopNesting--;
- // must endblock be nocache?
- if ($compiler->nocache) {
- $compiler->tag_nocache = true;
- }
- $compiler->nocache = $this->closeTag($compiler, array('while'));
- return "<?php }?>\n";
- }
-}