2013-07-14 22:15:45 +00:00
|
|
|
<?php
|
|
|
|
/**
|
|
|
|
* Smarty Internal Plugin Compile Continue
|
|
|
|
* Compiles the {continue} tag
|
|
|
|
*
|
2014-06-06 02:40:04 +00:00
|
|
|
* @package Smarty
|
2013-07-14 22:15:45 +00:00
|
|
|
* @subpackage Compiler
|
2014-06-06 02:40:04 +00:00
|
|
|
* @author Uwe Tews
|
2013-07-14 22:15:45 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Smarty Internal Plugin Compile Continue Class
|
|
|
|
*
|
2014-06-06 02:40:04 +00:00
|
|
|
* @package Smarty
|
2013-07-14 22:15:45 +00:00
|
|
|
* @subpackage Compiler
|
|
|
|
*/
|
2016-09-09 22:54:42 +02:00
|
|
|
class Smarty_Internal_Compile_Continue extends Smarty_Internal_Compile_Break
|
2013-07-14 22:15:45 +00:00
|
|
|
{
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Compiles code for the {continue} tag
|
|
|
|
*
|
2015-08-06 01:19:11 +02:00
|
|
|
* @param array $args array with attributes from parser
|
|
|
|
* @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object
|
|
|
|
* @param array $parameter array with compilation parameter
|
2014-06-06 02:40:04 +00:00
|
|
|
*
|
2013-07-14 22:15:45 +00:00
|
|
|
* @return string compiled code
|
2015-08-06 01:19:11 +02:00
|
|
|
* @throws \SmartyCompilerException
|
2013-07-14 22:15:45 +00:00
|
|
|
*/
|
2015-08-06 01:19:11 +02:00
|
|
|
public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter)
|
2013-07-14 22:15:45 +00:00
|
|
|
{
|
2016-09-09 22:54:42 +02:00
|
|
|
list($levels, $foreachLevels) = $this->checkLevels($args, $compiler, 'continue');
|
|
|
|
$output = "<?php\n";
|
|
|
|
if ($foreachLevels > 1) {
|
|
|
|
/* @var Smarty_Internal_Compile_Foreach $foreachCompiler */
|
|
|
|
$foreachCompiler = $compiler->getTagCompiler('foreach');
|
|
|
|
$output .= $foreachCompiler->compileRestore($foreachLevels - 1);
|
2013-07-14 22:15:45 +00:00
|
|
|
}
|
2016-09-09 22:54:42 +02:00
|
|
|
$output .= "continue {$levels};?>";
|
|
|
|
return $output;
|
2013-07-14 22:15:45 +00:00
|
|
|
}
|
|
|
|
}
|