diff --git a/change_log.txt b/change_log.txt index 7bf61976..8b49e071 100644 --- a/change_log.txt +++ b/change_log.txt @@ -1,3 +1,7 @@ +10/03/2009 +- internal changes to improve performance +- fix registering of filters for classes + 10/01/2009 - removed default timezone setting - reactivated PHP resource for simple PHP templates. Must set allow_php_templates = true to enable diff --git a/libs/Smarty.class.php b/libs/Smarty.class.php index ff54eaf1..13240348 100644 --- a/libs/Smarty.class.php +++ b/libs/Smarty.class.php @@ -178,6 +178,8 @@ class Smarty extends Smarty_Internal_TemplateBase { public $template_objects = null; // check If-Modified-Since headers public $cache_modified_check = false; + // cached objects + public $resource_objects = array(); // registered plugins public $registered_plugins = array(); // plugin search order diff --git a/libs/sysplugins/internal.resource_extend.php b/libs/sysplugins/internal.resource_extend.php index a911ea45..6e6b2639 100644 --- a/libs/sysplugins/internal.resource_extend.php +++ b/libs/sysplugins/internal.resource_extend.php @@ -25,7 +25,8 @@ class Smarty_Internal_Resource_Extend { /** * Return flag if template source is existing * - * @return boolean true + * @param object $template template object + * @return boolean result */ public function isExisting($template) { @@ -38,16 +39,16 @@ class Smarty_Internal_Resource_Extend { /** * Get filepath to template source * - * @param object $_template template object + * @param object $template template object * @return string filepath to template source file */ - public function getTemplateFilepath($_template) + public function getTemplateFilepath($template) { - $_files = explode('|', $_template->resource_name); - $_filepath = $_template->buildTemplateFilepath ($_files[count($_files)-1]); + $_files = explode('|', $template->resource_name); + $_filepath = $template->buildTemplateFilepath ($_files[count($_files)-1]); if ($_filepath !== false) { - if ($_template->security) { - $_template->smarty->security_handler->isTrustedResourceDir($_filepath); + if ($template->security) { + $template->smarty->security_handler->isTrustedResourceDir($_filepath); } } return $_filepath; @@ -56,48 +57,48 @@ class Smarty_Internal_Resource_Extend { /** * Get timestamp to template source * - * @param object $_template template object + * @param object $template template object * @return integer timestamp of template source file */ - public function getTemplateTimestamp($_template) + public function getTemplateTimestamp($template) { - return filemtime($_template->getTemplateFilepath()); + return filemtime($template->getTemplateFilepath()); } /** * Read template source from file * - * @param object $_template template object + * @param object $template template object * @return string content of template source file */ - public function getTemplateSource($_template) + public function getTemplateSource($template) { - $this->template = $_template; - $_files = explode('|', $_template->resource_name); + $this->template = $template; + $_files = explode('|', $template->resource_name); $_files = array_reverse($_files); foreach ($_files as $_file) { - $_filepath = $_template->buildTemplateFilepath ($_file); + $_filepath = $template->buildTemplateFilepath ($_file); // read template file if ($_filepath === false) { throw new Exception("Unable to load template \"file : {$_file}\""); } if ($_file != $_files[0]) { - $_template->properties['file_dependency']['F' . abs(crc32($_filepath))] = array($_filepath, filemtime($_filepath)); + $template->properties['file_dependency']['F' . abs(crc32($_filepath))] = array($_filepath, filemtime($_filepath)); } $_content = file_get_contents($_filepath); if ($_file != $_files[count($_files)-1]) { - if (preg_match_all('/(' . $this->smarty->left_delimiter . 'block(.+?)' . $this->smarty->right_delimiter . ')/', $_content, $s, PREG_OFFSET_CAPTURE) != - preg_match_all('/(' . $this->smarty->left_delimiter . '\/block(.*?)' . $this->smarty->right_delimiter . ')/', $_content, $c, PREG_OFFSET_CAPTURE)) { + if (preg_match_all('/(' . $this->smarty->left_delimiter . 'block(.+?)' . $this->smarty->right_delimiter . ')/', $_content, $_open, PREG_OFFSET_CAPTURE) != + preg_match_all('/(' . $this->smarty->left_delimiter . '\/block(.*?)' . $this->smarty->right_delimiter . ')/', $_content, $_close, PREG_OFFSET_CAPTURE)) { $this->smarty->trigger_error(" unmatched {block} {/block} pairs"); } - $block_count = count($s[0]); - for ($i = 0; $i < $block_count; $i++) { - $block_content = str_replace($this->smarty->left_delimiter . '$smarty.parent' . $this->smarty->right_delimiter, '%%%%SMARTY_PARENT%%%%', - substr($_content, $s[0][$i][1] + strlen($s[0][$i][0]), $c[0][$i][1] - $s[0][$i][1] - strlen($s[0][$i][0]))); - $this->saveBlockData($block_content, $s[0][$i][0]); + $_block_count = count($_open[0]); + for ($_i = 0; $_i < $_block_count; $_i++) { + $_block_content = str_replace($this->smarty->left_delimiter . '$smarty.parent' . $this->smarty->right_delimiter, '%%%%SMARTY_PARENT%%%%', + substr($_content, $_open[0][$_i][1] + strlen($_open[0][$_i][0]), $_close[0][$_i][1] - $_open[0][$_i][1] - strlen($_open[0][$_i][0]))); + $this->saveBlockData($_block_content, $_open[0][$_i][0]); } } else { - $_template->template_source = $_content; + $template->template_source = $_content; return true; } } @@ -161,34 +162,34 @@ class Smarty_Internal_Resource_Extend { /** * Get filepath to compiled template * - * @param object $_template template object + * @param object $template template object * @return string return path to compiled template */ - public function getCompiledFilepath($_template) + public function getCompiledFilepath($template) { - $_files = explode('|', $_template->resource_name); - $_filepath = (string)abs(crc32($_template->resource_name)); + $_files = explode('|', $template->resource_name); + $_filepath = (string)abs(crc32($template->resource_name)); // if use_sub_dirs, break file into directories - if ($_template->smarty->use_sub_dirs) { + if ($template->smarty->use_sub_dirs) { $_filepath = substr($_filepath, 0, 3) . DS . substr($_filepath, 0, 2) . DS . substr($_filepath, 0, 1) . DS . $_filepath; } - $_compile_dir_sep = $_template->smarty->use_sub_dirs ? DS : '^'; - if (isset($_template->compile_id)) { - $_filepath = $_template->compile_id . $_compile_dir_sep . $_filepath; + $_compile_dir_sep = $template->smarty->use_sub_dirs ? DS : '^'; + if (isset($template->compile_id)) { + $_filepath = $template->compile_id . $_compile_dir_sep . $_filepath; } - if ($_template->caching) { + if ($template->caching) { $_cache = '.cache'; } else { $_cache = ''; } - $_compile_dir = $_template->smarty->compile_dir; + $_compile_dir = $template->smarty->compile_dir; if (substr($_compile_dir, -1) != DS) { $_compile_dir .= DS; } - return $_compile_dir . $_filepath . '.' . basename($_files[count($_files)-1]) . $_cache . $_template->smarty->php_ext; + return $_compile_dir . $_filepath . '.' . basename($_files[count($_files)-1]) . $_cache . $template->smarty->php_ext; } } diff --git a/libs/sysplugins/internal.resource_file.php b/libs/sysplugins/internal.resource_file.php index 0f43635c..0cc197a0 100644 --- a/libs/sysplugins/internal.resource_file.php +++ b/libs/sysplugins/internal.resource_file.php @@ -133,7 +133,7 @@ class Smarty_Internal_Resource_File { if (strpos('/\\', substr($_compile_dir, -1)) === false) { $_compile_dir .= DS; } - return $_compile_dir . $_filepath . '.' . basename($_template->resource_name) . $_cache . $_template->smarty->php_ext; + return $_compile_dir . $_filepath . '.' . $_template->resource_type . '.' . basename($_template->resource_name). $_cache . $_template->smarty->php_ext; } } diff --git a/libs/sysplugins/internal.resource_registered.php b/libs/sysplugins/internal.resource_registered.php index 172ab8c5..355e7de3 100644 --- a/libs/sysplugins/internal.resource_registered.php +++ b/libs/sysplugins/internal.resource_registered.php @@ -124,7 +124,7 @@ class Smarty_Internal_Resource_Registered { public function getCompiledFilepath($_template) { // $_filepath = md5($_template->resource_name); - $_filepath = (string)abs(crc32($_template->resource_name)); + $_filepath = (string)abs(crc32($_template->template_resource)); // if use_sub_dirs, break file into directories if ($_template->smarty->use_sub_dirs) { $_filepath = substr($_filepath, 0, 3) . DS @@ -145,7 +145,7 @@ class Smarty_Internal_Resource_Registered { if (strpos('/\\', substr($_compile_dir, -1)) === false) { $_compile_dir .= DS; } - return $_compile_dir . $_filepath . '.' . basename($_template->resource_name) . '.' . $_template->resource_type . $_cache . $_template->smarty->php_ext; + return $_compile_dir . $_filepath . '.' . $_template->resource_type . '.' . basename($_template->resource_name) . $_cache . $_template->smarty->php_ext; } } diff --git a/libs/sysplugins/internal.resource_stream.php b/libs/sysplugins/internal.resource_stream.php index bfcf9167..16e5a417 100644 --- a/libs/sysplugins/internal.resource_stream.php +++ b/libs/sysplugins/internal.resource_stream.php @@ -46,7 +46,7 @@ class Smarty_Internal_Resource_Stream { { // no filepath for strings // return resource name for compiler error messages - return $_template->resource_name; + return str_replace(':', '://', $_template->template_resource); } /** @@ -71,7 +71,7 @@ class Smarty_Internal_Resource_Stream { { // return template string $_template->template_source = ''; - $fp = fopen($_template->resource_name,'r+'); + $fp = fopen(str_replace(':', '://', $_template->template_resource),'r+'); while (!feof($fp)) { $_template->template_source .= fgets($fp); } diff --git a/libs/sysplugins/internal.template.php b/libs/sysplugins/internal.template.php index c00b9d63..bbde7f80 100644 --- a/libs/sysplugins/internal.template.php +++ b/libs/sysplugins/internal.template.php @@ -15,7 +15,6 @@ */ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase { // object cache - public $resource_objects = array(); public $compiler_object = null; public $cacher_object = null; // Smarty parameter @@ -106,11 +105,6 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase { $this->smarty->loadPlugin($this->cache_resource_class); $this->smarty->cache_resource_objects[$this->caching_type] = new $this->cache_resource_class($this->smarty); } - if ($this->smarty->direct_access_security) { - $this->dir_acc_sec_string = "\n"; - } else { - $this->dir_acc_sec_string = ''; - } } /** @@ -123,7 +117,7 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase { public function getTemplateFilepath () { return $this->template_filepath === null ? - $this->template_filepath = $this->resource_objects[$this->resource_type]->getTemplateFilepath($this) : + $this->template_filepath = $this->smarty->resource_objects[$this->resource_type]->getTemplateFilepath($this) : $this->template_filepath; } @@ -137,7 +131,7 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase { public function getTemplateTimestamp () { return $this->template_timestamp === null ? - $this->template_timestamp = $this->resource_objects[$this->resource_type]->getTemplateTimestamp($this) : + $this->template_timestamp = $this->smarty->resource_objects[$this->resource_type]->getTemplateTimestamp($this) : $this->template_timestamp; } @@ -151,7 +145,7 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase { public function getTemplateSource () { if ($this->template_source === null) { - if (!$this->resource_objects[$this->resource_type]->getTemplateSource($this)) { + if (!$this->smarty->resource_objects[$this->resource_type]->getTemplateSource($this)) { throw new Exception("Unable to read template '{$this->resource_name}'"); } } @@ -165,11 +159,15 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase { * * @return boolean true if the template exists */ - public function isExisting () + public function isExisting ($error= false) { - return $this->isExisting === null ? - $this->isExisting = $this->resource_objects[$this->resource_type]->isExisting($this) : - $this->isExisting; + if ($this->isExisting === null) { + $this->isExisting = $this->smarty->resource_objects[$this->resource_type]->isExisting($this); + } + if (!$this->isExisting && $error) { + throw new Exception("Unable to load template \"{$this->resource_type} : {$this->resource_name}\""); + } + return $this->isExisting; } /** * Returns if the template resource uses the Smarty compiler @@ -181,7 +179,7 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase { public function usesCompiler () { return $this->usesCompiler === null ? - $this->usesCompiler = $this->resource_objects[$this->resource_type]->usesCompiler() : + $this->usesCompiler = $this->smarty->resource_objects[$this->resource_type]->usesCompiler() : $this->usesCompiler; } @@ -195,7 +193,7 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase { public function isEvaluated () { return $this->isEvaluated === null ? - $this->isEvaluated = $this->resource_objects[$this->resource_type]->isEvaluated() : + $this->isEvaluated = $this->smarty->resource_objects[$this->resource_type]->isEvaluated() : $this->isEvaluated; } @@ -208,14 +206,10 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase { */ public function mustCompile () { - if (!$this->isExisting()) { - throw new Exception("Unable to load template \"{$this->resource_type} : {$this->resource_name}\""); - } + $this->isExisting(true); + if ($this->mustCompile === null) { $this->mustCompile = ($this->usesCompiler() && ($this->force_compile || $this->isEvaluated() || ($this->smarty->compile_check && $this->getCompiledTimestamp () !== $this->getTemplateTimestamp ()))); - if ($this->mustCompile) { - return true; - } } return $this->mustCompile; } @@ -228,7 +222,7 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase { public function getCompiledFilepath () { return $this->compiled_filepath === null ? - ($this->compiled_filepath = !$this->isEvaluated() ? $this->resource_objects[$this->resource_type]->getCompiledFilepath($this) : false) : + ($this->compiled_filepath = !$this->isEvaluated() ? $this->smarty->resource_objects[$this->resource_type]->getCompiledFilepath($this) : false) : $this->compiled_filepath; } @@ -284,8 +278,8 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase { require_once(SMARTY_SYSPLUGINS_DIR . 'internal.templatecompilerbase.php'); // $this->smarty->loadPlugin('Smarty_Internal_CompileBase'); // $this->smarty->loadPlugin('Smarty_Internal_TemplateCompilerBase'); - $this->smarty->loadPlugin($this->resource_objects[$this->resource_type]->compiler_class); - $this->compiler_object = new $this->resource_objects[$this->resource_type]->compiler_class($this->resource_objects[$this->resource_type]->template_lexer_class, $this->resource_objects[$this->resource_type]->template_parser_class, $this->smarty); + $this->smarty->loadPlugin($this->smarty->resource_objects[$this->resource_type]->compiler_class); + $this->compiler_object = new $this->smarty->resource_objects[$this->resource_type]->compiler_class($this->smarty->resource_objects[$this->resource_type]->template_lexer_class, $this->smarty->resource_objects[$this->resource_type]->template_parser_class, $this->smarty); // load cacher if ($this->caching) { $this->smarty->loadPlugin($this->cacher_class); @@ -301,9 +295,6 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase { if ($this->compiler_object->compileTemplate($this)) { // compiling succeded if (!$this->isEvaluated()) { - // build template property string - $this->properties_string = "decodeProperties('" . str_replace("'", '"', (serialize($this->properties))) . "'); ?>\n"; - $this->compiled_template = $this->dir_acc_sec_string . $this->properties_string . $this->compiled_template; // write compiled template $this->smarty->write_file_object->writeFile($this->getCompiledFilepath(), $this->compiled_template); // make template and compiled file timestamp match @@ -364,8 +355,7 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase { { // build file dependency string $this->properties['cache_lifetime'] = $this->cache_lifetime; - $this->properties_string = "decodeProperties('" . str_replace("'", '"', (serialize($this->properties))) . "'); ?>\n"; - return ($this->isEvaluated() || !$this->caching) ? false : $this->smarty->cache_resource_objects[$this->caching_type]->writeCachedContent($this, $this->dir_acc_sec_string . $this->properties_string . $this->rendered_content); + return ($this->isEvaluated() || !$this->caching) ? false : $this->smarty->cache_resource_objects[$this->caching_type]->writeCachedContent($this, $this->createPropertyHeader() . $this->rendered_content); } /** @@ -461,10 +451,10 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase { } } } else { - if (is_callable(array($this->resource_objects[$this->resource_type], 'renderUncompiled'))) { + if (is_callable(array($this->smarty->resource_objects[$this->resource_type], 'renderUncompiled'))) { $_start_time = $this->_get_time(); ob_start(); - $this->resource_objects[$this->resource_type]->renderUncompiled($this); + $this->smarty->resource_objects[$this->resource_type]->renderUncompiled($this); } else { throw new Exception("Resource '$this->resource_type' must have 'renderUncompiled' methode"); } @@ -481,9 +471,9 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase { // write to cache when nessecary if (!$this->isEvaluated() && $this->caching) { // write rendered template - $this->writeCachedContent($this); - // cache file may contain nocache code. read it back for processing - $this->rendered_content = $this->smarty->cache_resource_objects[$this->caching_type]->getCachedContents($this); + $this->writeCachedContent($this); + // cache file may contain nocache code. read it back for processing + $this->rendered_content = $this->smarty->cache_resource_objects[$this->caching_type]->getCachedContents($this); } } @@ -502,7 +492,7 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase { $this->caching = false; } // checks if template exists - $this->getTemplateFilepath(); + $this->isExisting(true); // read from cache or render if ($this->rendered_content === null && !$this->isCached()) { // render template (not loaded and not in cache) @@ -518,7 +508,7 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase { * * @param string $template_resource template resource specification */ - private function parseResourceName($template_resource, &$resource_type, &$resource_name, &$resource_handler) + public function parseResourceName($template_resource, &$resource_type, &$resource_name, &$resource_handler) { if (empty($template_resource)) return false; @@ -531,29 +521,29 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase { list($resource_type, $resource_name) = explode(':', $template_resource, 2); if (strlen($resource_type) == 1) { // 1 char is not resource type, but part of filepath - $resource_type = $this->smarty->default_resource_type; + $resource_type = 'file'; $resource_name = $template_resource; } else { $resource_type = strtolower($resource_type); } } // load resource handler if required - if (!isset($this->resource_objects[$resource_type])) { + if (!isset($this->smarty->resource_objects[$resource_type])) { // try registered resource if (isset($this->smarty->_plugins['resource'][$resource_type])) { require_once(SMARTY_SYSPLUGINS_DIR . 'internal.resource_registered.php'); // $this->smarty->loadPlugin('Smarty_Internal_Resource_Registered'); - $resource_handler = $this->resource_objects[$resource_type] = new Smarty_Internal_Resource_Registered($this->smarty); + $resource_handler = $this->smarty->resource_objects[$resource_type] = new Smarty_Internal_Resource_Registered($this->smarty); } else { // try sysplugins dir $_resource_class = "Smarty_Internal_Resource_{$resource_type}"; if ($this->smarty->loadPlugin($_resource_class)) { - $resource_handler = $this->resource_objects[$resource_type] = new $_resource_class($this->smarty); + $resource_handler = $this->smarty->resource_objects[$resource_type] = new $_resource_class($this->smarty); } else { // try plugins dir $_resource_class = "Smarty_Resource_{$resource_type}"; if ($this->smarty->loadPlugin($_resource_class)) { - $resource_handler = $this->resource_objects[$resource_type] = new $_resource_class($this->smarty); + $resource_handler = $this->smarty->resource_objects[$resource_type] = new $_resource_class($this->smarty); } else { // try streams $_known_stream = stream_get_wrappers(); @@ -564,8 +554,8 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase { } require_once(SMARTY_SYSPLUGINS_DIR . 'internal.resource_stream.php'); // $this->smarty->loadPlugin('Smarty_Internal_Resource_Stream'); - $resource_handler = $this->resource_objects[$resource_type] = new Smarty_Internal_Resource_Stream($this->smarty); - $resource_name = str_replace(':', '://', $template_resource); + $resource_handler = $this->smarty->resource_objects[$resource_type] = new Smarty_Internal_Resource_Stream($this->smarty); +// $resource_name = str_replace(':', '://', $template_resource); } else { throw new Exception('Unkown resource type \'' . $resource_type . '\''); } @@ -573,12 +563,12 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase { } } } else { - $resource_handler = $this->resource_objects[$resource_type]; + $resource_handler = $this->smarty->resource_objects[$resource_type]; } // cache template object under a unique ID // do not cache string resources if ($resource_type != 'string') { - $this->smarty->template_objects[$this->buildTemplateId ($this->template_resource, $this->cache_id, $this->compile_id)] = $this; + $this->smarty->template_objects[$this->buildTemplateId ($this->template_resource, $this->cache_id, $this->compile_id)] = $this; } return true; } @@ -643,7 +633,7 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase { */ public function updateParentVariables ($scope = SMARTY_LOCAL_SCOPE) { - foreach ($this->tpl_vars as $_key => $_value) { + foreach ($this->tpl_vars as $_key => $_variable) { // copy global vars back to parent if (isset($this->parent) && ($scope == SMARTY_PARENT_SCOPE || $this->tpl_vars[$_key]->scope == SMARTY_PARENT_SCOPE)) { if (isset($this->parent->tpl_vars[$_key])) { @@ -651,7 +641,7 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase { $this->parent->tpl_vars[$_key]->value = $this->tpl_vars[$_key]->value; } else { // create variable in parent - $this->parent->tpl_vars[$_key] = clone $_value; + $this->parent->tpl_vars[$_key] = clone $_variable; $this->parent->tpl_vars[$_key]->scope = SMARTY_LOCAL_SCOPE; } } @@ -666,7 +656,7 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase { $_ptr->tpl_vars[$_key]->value = $this->tpl_vars[$_key]->value; } else { // create variable in root - $_ptr->tpl_vars[$_key] = clone $_value; + $_ptr->tpl_vars[$_key] = clone $_variable; $_ptr->tpl_vars[$_key]->scope = SMARTY_LOCAL_SCOPE; } } @@ -676,13 +666,23 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase { $this->smarty->global_tpl_vars[$_key]->value = $this->tpl_vars[$_key]->value; } else { // create variable in root - $this->smarty->global_tpl_vars[$_key] = clone $_value; + $this->smarty->global_tpl_vars[$_key] = clone $_variable; } $this->smarty->global_tpl_vars[$_key]->scope = SMARTY_LOCAL_SCOPE; } } } + /** + * Create property header + */ + public function createPropertyHeader () + { + $directory_security = $this->smarty->direct_access_security ? "\n" : ''; + $properties_string = "decodeProperties('" . str_replace("'", '"', (serialize($this->properties))) . "'); ?>\n"; + return $directory_security . $properties_string; + } + /** * wrapper for display */ diff --git a/libs/sysplugins/internal.templatecompilerbase.php b/libs/sysplugins/internal.templatecompilerbase.php index 2cb2e04c..5f4fa4f9 100644 --- a/libs/sysplugins/internal.templatecompilerbase.php +++ b/libs/sysplugins/internal.templatecompilerbase.php @@ -51,7 +51,7 @@ class Smarty_Internal_TemplateCompilerBase { // template header code $template_header = ''; if (!$template->suppressHeader) { - $template_header = "template->getTemplateFilepath() . "\" */ ?>\n"; } @@ -66,7 +66,7 @@ class Smarty_Internal_TemplateCompilerBase { } // on empty template just return header if ($_content == '') { - $template->compiled_template = $template_header; + $template->compiled_template = $template->createPropertyHeader() . $template_header; return true; } // init cacher plugin @@ -77,7 +77,7 @@ class Smarty_Internal_TemplateCompilerBase { if (!$this->compile_error) { // close cacher and return compiled template - $template->compiled_template = $template_header . $template->cacher_object->closeCacher($this, $_compiled_code); + $template->compiled_template = $template->createPropertyHeader() . $template_header . $template->cacher_object->closeCacher($this, $_compiled_code); // run postfilter if required if (isset($this->smarty->autoload_filters['post']) || isset($this->smarty->registered_filters['post'])) { $template->compiled_template = $this->smarty->filter_handler->execute('post', $template->compiled_template); diff --git a/libs/sysplugins/internal.templateparser.php b/libs/sysplugins/internal.templateparser.php index ac4bc472..0c81e347 100644 --- a/libs/sysplugins/internal.templateparser.php +++ b/libs/sysplugins/internal.templateparser.php @@ -274,310 +274,284 @@ class Smarty_Internal_Templateparser#line 109 "internal.templateparser.php" ** shifting non-terminals after a reduce. ** self::$yy_default Default action for each state. */ - const YY_SZ_ACTTAB = 1299; + const YY_SZ_ACTTAB = 1165; static public $yy_action = array( - /* 0 */ 260, 259, 256, 11, 9, 261, 262, 7, 8, 247, - /* 10 */ 248, 3, 2, 56, 182, 254, 25, 198, 150, 30, - /* 20 */ 270, 185, 71, 238, 235, 119, 192, 151, 150, 18, - /* 30 */ 246, 114, 217, 6, 210, 56, 224, 242, 236, 14, - /* 40 */ 150, 30, 190, 25, 211, 238, 235, 4, 270, 12, - /* 50 */ 71, 137, 102, 16, 148, 24, 35, 137, 65, 166, - /* 60 */ 279, 280, 162, 43, 39, 242, 236, 187, 136, 28, - /* 70 */ 138, 12, 211, 254, 202, 42, 148, 27, 35, 178, - /* 80 */ 65, 216, 172, 15, 274, 43, 39, 186, 246, 93, - /* 90 */ 221, 25, 41, 194, 187, 260, 259, 256, 11, 9, - /* 100 */ 261, 262, 7, 8, 247, 248, 3, 2, 260, 259, - /* 110 */ 256, 11, 9, 261, 262, 7, 8, 247, 248, 3, - /* 120 */ 2, 56, 257, 245, 118, 19, 150, 30, 31, 224, - /* 130 */ 34, 238, 235, 175, 252, 253, 276, 277, 264, 251, - /* 140 */ 278, 265, 187, 56, 25, 182, 40, 25, 150, 30, - /* 150 */ 25, 197, 254, 238, 235, 28, 283, 12, 191, 150, - /* 160 */ 18, 14, 148, 6, 35, 169, 63, 246, 199, 282, - /* 170 */ 203, 43, 39, 87, 102, 137, 254, 4, 133, 12, - /* 180 */ 137, 19, 36, 263, 148, 1, 35, 147, 61, 271, - /* 190 */ 147, 246, 101, 43, 39, 187, 180, 56, 187, 136, - /* 200 */ 132, 187, 150, 30, 266, 201, 42, 238, 235, 260, - /* 210 */ 259, 256, 11, 9, 261, 262, 7, 8, 247, 248, - /* 220 */ 3, 2, 17, 31, 56, 38, 316, 222, 108, 150, - /* 230 */ 30, 28, 23, 12, 238, 235, 282, 203, 148, 69, - /* 240 */ 35, 40, 65, 250, 215, 184, 56, 43, 39, 36, - /* 250 */ 63, 150, 30, 14, 138, 43, 238, 235, 28, 21, - /* 260 */ 12, 137, 165, 10, 52, 148, 102, 35, 158, 63, - /* 270 */ 115, 63, 228, 137, 43, 39, 43, 316, 162, 183, - /* 280 */ 28, 139, 12, 109, 254, 14, 33, 148, 162, 35, - /* 290 */ 270, 63, 71, 207, 71, 162, 43, 39, 102, 246, - /* 300 */ 56, 20, 241, 141, 188, 150, 30, 242, 236, 130, - /* 310 */ 238, 235, 193, 214, 211, 137, 211, 441, 49, 181, - /* 320 */ 176, 204, 56, 162, 128, 63, 121, 150, 30, 25, - /* 330 */ 43, 224, 238, 235, 28, 244, 12, 208, 112, 131, - /* 340 */ 177, 148, 272, 35, 70, 65, 282, 203, 233, 63, - /* 350 */ 43, 39, 106, 131, 43, 14, 28, 41, 12, 36, - /* 360 */ 26, 143, 233, 148, 162, 35, 124, 65, 102, 254, - /* 370 */ 137, 224, 43, 39, 270, 95, 71, 51, 213, 134, - /* 380 */ 187, 73, 156, 140, 246, 233, 145, 146, 137, 92, - /* 390 */ 56, 242, 236, 71, 71, 150, 30, 104, 211, 234, - /* 400 */ 238, 235, 59, 249, 219, 226, 142, 233, 174, 205, - /* 410 */ 270, 129, 71, 51, 71, 211, 211, 77, 157, 113, - /* 420 */ 25, 54, 240, 273, 28, 92, 12, 242, 236, 168, - /* 430 */ 218, 148, 98, 127, 211, 63, 211, 271, 47, 249, - /* 440 */ 43, 39, 233, 131, 53, 94, 270, 139, 71, 51, - /* 450 */ 195, 176, 97, 78, 32, 162, 162, 137, 240, 273, - /* 460 */ 271, 92, 233, 242, 236, 270, 162, 71, 51, 89, - /* 470 */ 211, 171, 82, 131, 55, 249, 88, 240, 273, 245, - /* 480 */ 92, 162, 242, 236, 270, 271, 71, 50, 91, 211, - /* 490 */ 271, 74, 155, 137, 249, 184, 240, 273, 22, 92, - /* 500 */ 90, 242, 236, 107, 271, 38, 179, 179, 211, 270, - /* 510 */ 245, 71, 51, 249, 237, 38, 83, 29, 13, 44, - /* 520 */ 161, 240, 273, 21, 92, 153, 242, 236, 239, 189, - /* 530 */ 284, 212, 209, 211, 245, 56, 167, 149, 249, 164, - /* 540 */ 150, 30, 223, 230, 68, 238, 235, 152, 258, 270, - /* 550 */ 62, 71, 51, 196, 170, 144, 80, 227, 255, 220, - /* 560 */ 281, 240, 273, 15, 92, 162, 242, 236, 159, 28, - /* 570 */ 58, 125, 37, 211, 225, 72, 148, 179, 249, 210, - /* 580 */ 63, 66, 110, 5, 32, 43, 39, 270, 200, 71, - /* 590 */ 51, 234, 139, 266, 79, 266, 266, 266, 266, 240, - /* 600 */ 273, 266, 92, 266, 242, 236, 266, 270, 266, 71, - /* 610 */ 51, 211, 266, 266, 76, 266, 249, 266, 266, 240, - /* 620 */ 273, 266, 92, 266, 242, 236, 266, 266, 266, 266, - /* 630 */ 266, 211, 266, 34, 266, 266, 249, 252, 253, 276, - /* 640 */ 277, 264, 251, 278, 265, 266, 266, 266, 266, 266, - /* 650 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, - /* 660 */ 250, 266, 229, 231, 64, 154, 232, 266, 266, 266, - /* 670 */ 57, 266, 60, 266, 269, 243, 150, 30, 137, 270, - /* 680 */ 266, 71, 99, 266, 266, 266, 266, 266, 266, 266, - /* 690 */ 266, 240, 273, 266, 92, 266, 242, 236, 266, 266, - /* 700 */ 266, 266, 266, 211, 266, 266, 266, 270, 266, 71, - /* 710 */ 51, 135, 268, 266, 81, 266, 266, 266, 266, 240, - /* 720 */ 273, 266, 92, 266, 242, 236, 266, 266, 266, 266, - /* 730 */ 266, 211, 266, 266, 266, 266, 249, 270, 266, 71, - /* 740 */ 51, 266, 266, 266, 75, 266, 266, 266, 266, 240, - /* 750 */ 273, 266, 92, 266, 242, 236, 270, 266, 71, 96, - /* 760 */ 266, 211, 266, 266, 266, 266, 249, 266, 240, 273, - /* 770 */ 266, 92, 266, 242, 236, 266, 266, 173, 266, 266, - /* 780 */ 211, 270, 266, 71, 96, 266, 266, 266, 266, 266, - /* 790 */ 266, 266, 266, 240, 273, 266, 92, 266, 242, 236, - /* 800 */ 266, 266, 275, 266, 266, 211, 266, 266, 266, 266, - /* 810 */ 270, 266, 71, 96, 266, 266, 266, 266, 266, 266, - /* 820 */ 266, 266, 240, 273, 266, 92, 266, 242, 236, 266, - /* 830 */ 270, 163, 71, 96, 211, 266, 266, 266, 266, 266, - /* 840 */ 266, 266, 240, 273, 266, 92, 266, 242, 236, 266, - /* 850 */ 266, 160, 266, 266, 211, 270, 266, 71, 99, 266, - /* 860 */ 266, 266, 266, 266, 266, 266, 266, 240, 273, 266, - /* 870 */ 92, 266, 242, 236, 266, 266, 266, 266, 266, 211, - /* 880 */ 266, 266, 266, 266, 270, 266, 71, 111, 267, 266, - /* 890 */ 266, 266, 266, 266, 266, 266, 240, 273, 266, 92, - /* 900 */ 266, 242, 236, 266, 270, 266, 71, 103, 211, 266, - /* 910 */ 266, 266, 266, 266, 266, 266, 240, 273, 266, 92, - /* 920 */ 266, 242, 236, 266, 266, 266, 266, 266, 211, 270, - /* 930 */ 266, 71, 100, 266, 266, 266, 266, 266, 266, 266, - /* 940 */ 266, 240, 273, 266, 92, 266, 242, 236, 266, 266, - /* 950 */ 266, 266, 266, 211, 266, 266, 266, 266, 270, 266, - /* 960 */ 71, 116, 266, 266, 266, 266, 266, 266, 266, 266, - /* 970 */ 240, 273, 266, 92, 266, 242, 236, 266, 270, 266, - /* 980 */ 71, 122, 211, 266, 266, 266, 266, 266, 266, 266, - /* 990 */ 240, 273, 266, 92, 266, 242, 236, 266, 266, 266, - /* 1000 */ 266, 266, 211, 270, 266, 71, 126, 266, 266, 266, - /* 1010 */ 266, 266, 266, 266, 266, 240, 273, 266, 92, 266, - /* 1020 */ 242, 236, 266, 266, 266, 266, 266, 211, 266, 266, - /* 1030 */ 266, 266, 270, 266, 67, 45, 266, 266, 266, 266, - /* 1040 */ 266, 266, 266, 266, 240, 273, 266, 92, 266, 242, - /* 1050 */ 236, 266, 270, 266, 71, 123, 211, 266, 266, 266, - /* 1060 */ 266, 266, 266, 266, 240, 273, 266, 92, 266, 242, - /* 1070 */ 236, 266, 266, 266, 266, 266, 211, 270, 266, 71, - /* 1080 */ 120, 266, 266, 266, 266, 266, 266, 266, 266, 240, - /* 1090 */ 273, 266, 92, 266, 242, 236, 266, 266, 266, 266, - /* 1100 */ 266, 211, 266, 266, 266, 266, 270, 266, 71, 105, - /* 1110 */ 266, 266, 266, 266, 266, 266, 266, 266, 240, 273, - /* 1120 */ 266, 92, 266, 242, 236, 266, 270, 266, 71, 117, - /* 1130 */ 211, 266, 266, 266, 266, 266, 266, 266, 240, 273, - /* 1140 */ 266, 92, 266, 242, 236, 266, 266, 266, 266, 266, - /* 1150 */ 211, 270, 266, 67, 48, 266, 266, 266, 266, 266, - /* 1160 */ 266, 266, 266, 240, 273, 266, 92, 266, 242, 236, - /* 1170 */ 266, 266, 266, 266, 266, 211, 266, 266, 266, 266, - /* 1180 */ 270, 266, 71, 46, 266, 266, 266, 266, 266, 266, - /* 1190 */ 266, 266, 240, 273, 266, 92, 266, 242, 236, 266, - /* 1200 */ 270, 266, 71, 266, 211, 266, 266, 266, 266, 266, - /* 1210 */ 266, 266, 240, 273, 266, 84, 266, 242, 236, 266, - /* 1220 */ 266, 266, 266, 266, 211, 270, 266, 71, 266, 266, - /* 1230 */ 266, 266, 266, 266, 266, 266, 266, 240, 273, 266, - /* 1240 */ 86, 266, 242, 236, 266, 266, 266, 266, 266, 211, - /* 1250 */ 266, 266, 266, 266, 270, 266, 71, 266, 266, 266, - /* 1260 */ 266, 266, 266, 266, 266, 266, 240, 273, 266, 85, - /* 1270 */ 266, 242, 236, 266, 270, 266, 71, 266, 211, 266, - /* 1280 */ 266, 266, 266, 266, 266, 266, 206, 266, 266, 266, - /* 1290 */ 266, 242, 236, 266, 266, 266, 266, 266, 211, + /* 0 */ 250, 256, 257, 3, 4, 252, 251, 11, 2, 209, + /* 10 */ 254, 10, 5, 55, 263, 187, 109, 316, 144, 25, + /* 20 */ 9, 246, 247, 216, 227, 181, 196, 116, 186, 441, + /* 30 */ 50, 177, 208, 6, 37, 55, 30, 200, 163, 30, + /* 40 */ 144, 25, 144, 18, 14, 216, 227, 8, 212, 12, + /* 50 */ 22, 142, 72, 136, 170, 16, 36, 113, 66, 239, + /* 60 */ 275, 269, 58, 44, 39, 218, 241, 44, 316, 27, + /* 70 */ 139, 12, 236, 28, 171, 259, 170, 128, 36, 58, + /* 80 */ 66, 154, 135, 210, 44, 44, 39, 284, 197, 42, + /* 90 */ 284, 147, 40, 145, 270, 250, 256, 257, 3, 4, + /* 100 */ 252, 251, 11, 2, 209, 254, 10, 5, 250, 256, + /* 110 */ 257, 3, 4, 252, 251, 11, 2, 209, 254, 10, + /* 120 */ 5, 55, 164, 136, 105, 255, 144, 25, 24, 136, + /* 130 */ 34, 216, 227, 31, 278, 279, 276, 282, 280, 277, + /* 140 */ 283, 281, 136, 55, 30, 179, 14, 30, 144, 25, + /* 150 */ 165, 41, 189, 216, 227, 27, 212, 12, 192, 113, + /* 160 */ 72, 244, 170, 6, 36, 136, 58, 183, 219, 72, + /* 170 */ 1, 44, 39, 218, 241, 136, 156, 8, 133, 12, + /* 180 */ 236, 26, 131, 14, 170, 194, 36, 212, 60, 236, + /* 190 */ 174, 72, 119, 44, 39, 284, 113, 55, 284, 238, + /* 200 */ 132, 189, 144, 25, 218, 241, 189, 216, 227, 182, + /* 210 */ 212, 236, 198, 191, 72, 126, 183, 33, 234, 55, + /* 220 */ 237, 183, 215, 14, 144, 25, 188, 218, 241, 216, + /* 230 */ 227, 27, 136, 12, 236, 189, 113, 156, 170, 176, + /* 240 */ 36, 87, 66, 160, 195, 246, 247, 44, 39, 31, + /* 250 */ 183, 38, 230, 27, 139, 12, 58, 186, 37, 30, + /* 260 */ 170, 44, 36, 52, 66, 23, 204, 41, 229, 44, + /* 270 */ 39, 144, 18, 70, 173, 202, 40, 130, 184, 250, + /* 280 */ 256, 257, 3, 4, 252, 251, 11, 2, 209, 254, + /* 290 */ 10, 5, 55, 26, 156, 55, 32, 144, 25, 19, + /* 300 */ 144, 25, 216, 227, 58, 216, 227, 240, 156, 44, + /* 310 */ 284, 135, 266, 264, 55, 143, 98, 185, 42, 144, + /* 320 */ 25, 72, 261, 136, 216, 227, 27, 13, 12, 27, + /* 330 */ 136, 12, 203, 170, 146, 36, 170, 58, 36, 68, + /* 340 */ 58, 236, 44, 39, 65, 44, 39, 72, 27, 140, + /* 350 */ 12, 108, 138, 136, 225, 170, 14, 36, 156, 66, + /* 360 */ 157, 20, 30, 15, 44, 39, 212, 236, 51, 113, + /* 370 */ 72, 134, 17, 74, 168, 137, 189, 272, 166, 148, + /* 380 */ 48, 86, 55, 218, 241, 246, 247, 144, 25, 103, + /* 390 */ 236, 183, 216, 227, 101, 265, 129, 112, 37, 129, + /* 400 */ 271, 107, 212, 127, 51, 271, 72, 30, 271, 79, + /* 410 */ 104, 45, 271, 151, 226, 211, 27, 86, 12, 218, + /* 420 */ 241, 271, 30, 170, 72, 54, 236, 58, 156, 88, + /* 430 */ 243, 265, 44, 39, 189, 220, 228, 231, 212, 140, + /* 440 */ 51, 213, 72, 245, 236, 77, 175, 208, 38, 183, + /* 450 */ 226, 211, 273, 86, 129, 218, 241, 212, 284, 51, + /* 460 */ 129, 72, 236, 202, 82, 174, 56, 265, 53, 226, + /* 470 */ 211, 136, 86, 284, 218, 241, 212, 222, 51, 274, + /* 480 */ 72, 236, 213, 81, 213, 21, 265, 156, 226, 211, + /* 490 */ 268, 86, 94, 218, 241, 193, 123, 212, 195, 51, + /* 500 */ 236, 72, 159, 156, 76, 265, 217, 212, 213, 226, + /* 510 */ 211, 72, 86, 90, 218, 241, 38, 260, 29, 226, + /* 520 */ 211, 236, 85, 55, 218, 241, 265, 89, 144, 25, + /* 530 */ 156, 236, 201, 216, 227, 100, 212, 124, 49, 117, + /* 540 */ 72, 156, 237, 75, 237, 59, 271, 202, 226, 211, + /* 550 */ 92, 86, 102, 218, 241, 260, 235, 27, 22, 169, + /* 560 */ 236, 202, 93, 13, 170, 265, 213, 207, 58, 232, + /* 570 */ 214, 122, 205, 44, 39, 212, 237, 51, 213, 72, + /* 580 */ 140, 63, 83, 155, 153, 161, 149, 226, 211, 233, + /* 590 */ 86, 258, 218, 241, 267, 206, 167, 69, 172, 236, + /* 600 */ 260, 242, 7, 212, 265, 51, 156, 72, 253, 35, + /* 610 */ 73, 99, 234, 67, 190, 226, 211, 71, 86, 32, + /* 620 */ 218, 241, 266, 178, 220, 266, 266, 236, 266, 266, + /* 630 */ 266, 266, 265, 266, 248, 262, 64, 158, 249, 212, + /* 640 */ 266, 96, 62, 72, 61, 266, 199, 180, 144, 25, + /* 650 */ 266, 226, 211, 266, 86, 266, 218, 241, 266, 266, + /* 660 */ 266, 266, 212, 236, 51, 266, 72, 266, 266, 80, + /* 670 */ 266, 141, 223, 266, 226, 211, 266, 86, 266, 218, + /* 680 */ 241, 212, 266, 51, 266, 72, 236, 266, 78, 266, + /* 690 */ 266, 265, 266, 226, 211, 266, 86, 266, 218, 241, + /* 700 */ 266, 266, 266, 266, 266, 236, 266, 34, 266, 266, + /* 710 */ 265, 278, 279, 276, 282, 280, 277, 283, 281, 266, + /* 720 */ 212, 266, 106, 266, 72, 266, 266, 266, 266, 266, + /* 730 */ 266, 266, 226, 211, 266, 86, 266, 218, 241, 266, + /* 740 */ 266, 162, 266, 212, 236, 106, 266, 72, 266, 266, + /* 750 */ 266, 266, 136, 266, 266, 226, 211, 266, 86, 266, + /* 760 */ 218, 241, 266, 266, 221, 266, 266, 236, 212, 266, + /* 770 */ 106, 266, 72, 266, 266, 266, 266, 266, 266, 266, + /* 780 */ 226, 211, 266, 86, 266, 218, 241, 266, 266, 152, + /* 790 */ 266, 212, 236, 106, 266, 72, 266, 266, 266, 266, + /* 800 */ 266, 266, 266, 226, 211, 266, 86, 266, 218, 241, + /* 810 */ 266, 266, 150, 266, 266, 236, 266, 212, 266, 96, + /* 820 */ 266, 72, 266, 266, 266, 266, 266, 266, 266, 226, + /* 830 */ 211, 266, 86, 266, 218, 241, 266, 266, 266, 266, + /* 840 */ 266, 236, 212, 266, 114, 266, 72, 266, 266, 266, + /* 850 */ 224, 266, 266, 266, 226, 211, 266, 86, 266, 218, + /* 860 */ 241, 266, 266, 212, 266, 111, 236, 72, 266, 266, + /* 870 */ 266, 266, 266, 266, 266, 226, 211, 266, 86, 266, + /* 880 */ 218, 241, 212, 266, 46, 266, 57, 236, 266, 266, + /* 890 */ 266, 266, 266, 266, 226, 211, 266, 86, 266, 218, + /* 900 */ 241, 266, 266, 212, 266, 110, 236, 72, 266, 266, + /* 910 */ 266, 266, 266, 266, 266, 226, 211, 266, 86, 266, + /* 920 */ 218, 241, 266, 266, 212, 266, 118, 236, 72, 266, + /* 930 */ 266, 266, 266, 266, 266, 266, 226, 211, 266, 86, + /* 940 */ 266, 218, 241, 266, 266, 266, 266, 266, 236, 212, + /* 950 */ 266, 120, 266, 72, 266, 266, 266, 266, 266, 266, + /* 960 */ 266, 226, 211, 266, 86, 266, 218, 241, 212, 266, + /* 970 */ 43, 266, 57, 236, 266, 266, 266, 266, 266, 266, + /* 980 */ 226, 211, 266, 86, 266, 218, 241, 266, 266, 212, + /* 990 */ 266, 97, 236, 72, 266, 266, 266, 266, 266, 266, + /* 1000 */ 266, 226, 211, 266, 86, 266, 218, 241, 266, 266, + /* 1010 */ 212, 266, 121, 236, 72, 266, 266, 266, 266, 266, + /* 1020 */ 266, 266, 226, 211, 266, 86, 266, 218, 241, 266, + /* 1030 */ 266, 266, 266, 266, 236, 212, 266, 125, 266, 72, + /* 1040 */ 266, 266, 266, 266, 266, 266, 266, 226, 211, 266, + /* 1050 */ 86, 266, 218, 241, 212, 266, 115, 266, 72, 236, + /* 1060 */ 266, 266, 266, 266, 266, 266, 226, 211, 266, 86, + /* 1070 */ 266, 218, 241, 266, 266, 212, 266, 95, 236, 72, + /* 1080 */ 266, 266, 266, 266, 266, 266, 266, 226, 211, 266, + /* 1090 */ 86, 266, 218, 241, 266, 266, 212, 266, 47, 236, + /* 1100 */ 72, 266, 266, 266, 266, 266, 266, 266, 226, 211, + /* 1110 */ 266, 86, 266, 218, 241, 266, 266, 266, 266, 266, + /* 1120 */ 236, 212, 266, 266, 266, 72, 266, 266, 266, 266, + /* 1130 */ 266, 266, 266, 226, 211, 266, 91, 266, 218, 241, + /* 1140 */ 212, 266, 266, 266, 72, 236, 266, 266, 266, 266, + /* 1150 */ 266, 266, 226, 211, 266, 84, 266, 218, 241, 266, + /* 1160 */ 266, 266, 266, 266, 236, ); static public $yy_lookahead = array( /* 0 */ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - /* 10 */ 41, 42, 43, 10, 1, 1, 16, 17, 15, 16, - /* 20 */ 73, 1, 75, 20, 21, 79, 1, 58, 15, 16, - /* 30 */ 16, 95, 85, 30, 98, 10, 100, 90, 91, 44, - /* 40 */ 15, 16, 47, 16, 97, 20, 21, 44, 73, 46, - /* 50 */ 75, 63, 57, 65, 51, 16, 53, 63, 55, 64, - /* 60 */ 85, 86, 68, 60, 61, 90, 91, 67, 55, 44, - /* 70 */ 67, 46, 97, 1, 61, 62, 51, 50, 53, 52, - /* 80 */ 55, 17, 59, 44, 12, 60, 61, 67, 16, 74, - /* 90 */ 67, 16, 67, 47, 67, 31, 32, 33, 34, 35, + /* 10 */ 41, 42, 43, 10, 45, 47, 96, 17, 15, 16, + /* 20 */ 58, 53, 54, 20, 21, 1, 1, 65, 1, 70, + /* 30 */ 71, 72, 73, 30, 66, 10, 16, 17, 67, 16, + /* 40 */ 15, 16, 15, 16, 44, 20, 21, 44, 73, 46, + /* 50 */ 50, 59, 77, 63, 51, 65, 53, 57, 55, 67, + /* 60 */ 85, 86, 55, 60, 61, 90, 91, 60, 68, 44, + /* 70 */ 67, 46, 97, 50, 67, 52, 51, 17, 53, 55, + /* 80 */ 55, 55, 55, 17, 60, 60, 61, 67, 61, 62, + /* 90 */ 67, 67, 67, 67, 17, 31, 32, 33, 34, 35, /* 100 */ 36, 37, 38, 39, 40, 41, 42, 43, 31, 32, /* 110 */ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - /* 120 */ 43, 10, 45, 108, 95, 50, 15, 16, 46, 100, - /* 130 */ 18, 20, 21, 17, 22, 23, 24, 25, 26, 27, - /* 140 */ 28, 29, 67, 10, 16, 1, 64, 16, 15, 16, - /* 150 */ 16, 17, 1, 20, 21, 44, 5, 46, 47, 15, - /* 160 */ 16, 44, 51, 30, 53, 48, 55, 16, 62, 53, - /* 170 */ 54, 60, 61, 83, 57, 63, 1, 44, 67, 46, - /* 180 */ 63, 50, 66, 8, 51, 68, 53, 59, 55, 99, - /* 190 */ 59, 16, 96, 60, 61, 67, 1, 10, 67, 55, - /* 200 */ 67, 67, 15, 16, 47, 61, 62, 20, 21, 31, - /* 210 */ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - /* 220 */ 42, 43, 65, 46, 10, 48, 17, 17, 96, 15, - /* 230 */ 16, 44, 16, 46, 20, 21, 53, 54, 51, 45, - /* 240 */ 53, 64, 55, 45, 17, 73, 10, 60, 61, 66, - /* 250 */ 55, 15, 16, 44, 67, 60, 20, 21, 44, 50, - /* 260 */ 46, 63, 67, 58, 92, 51, 57, 53, 48, 55, - /* 270 */ 65, 55, 17, 63, 60, 61, 60, 68, 68, 107, - /* 280 */ 44, 67, 46, 67, 1, 44, 16, 51, 68, 53, - /* 290 */ 73, 55, 75, 10, 75, 68, 60, 61, 57, 16, - /* 300 */ 10, 49, 85, 67, 62, 15, 16, 90, 91, 90, - /* 310 */ 20, 21, 93, 17, 97, 63, 97, 70, 71, 72, - /* 320 */ 73, 51, 10, 68, 17, 55, 95, 15, 16, 16, - /* 330 */ 60, 100, 20, 21, 44, 67, 46, 67, 77, 78, - /* 340 */ 47, 51, 17, 53, 67, 55, 53, 54, 87, 55, - /* 350 */ 60, 61, 77, 78, 60, 44, 44, 67, 46, 66, - /* 360 */ 49, 67, 87, 51, 68, 53, 95, 55, 57, 1, - /* 370 */ 63, 100, 60, 61, 73, 77, 75, 76, 10, 67, - /* 380 */ 67, 80, 81, 82, 16, 87, 85, 86, 63, 88, - /* 390 */ 10, 90, 91, 75, 75, 15, 16, 77, 97, 101, - /* 400 */ 20, 21, 55, 102, 17, 17, 55, 87, 90, 90, - /* 410 */ 73, 17, 75, 76, 75, 97, 97, 80, 67, 96, - /* 420 */ 16, 83, 85, 86, 44, 88, 46, 90, 91, 90, - /* 430 */ 17, 51, 77, 78, 97, 55, 97, 99, 79, 102, - /* 440 */ 60, 61, 87, 78, 83, 74, 73, 67, 75, 76, - /* 450 */ 72, 73, 77, 80, 56, 68, 68, 63, 85, 86, - /* 460 */ 99, 88, 87, 90, 91, 73, 68, 75, 76, 83, - /* 470 */ 97, 67, 80, 78, 83, 102, 74, 85, 86, 108, - /* 480 */ 88, 68, 90, 91, 73, 99, 75, 76, 83, 97, - /* 490 */ 99, 80, 84, 63, 102, 73, 85, 86, 103, 88, - /* 500 */ 74, 90, 91, 96, 99, 48, 99, 99, 97, 73, - /* 510 */ 108, 75, 76, 102, 100, 48, 80, 50, 44, 96, - /* 520 */ 67, 85, 86, 50, 88, 55, 90, 91, 51, 107, - /* 530 */ 17, 60, 60, 97, 108, 10, 67, 19, 102, 19, - /* 540 */ 15, 16, 67, 5, 55, 20, 21, 67, 17, 73, - /* 550 */ 55, 75, 76, 45, 56, 64, 80, 17, 108, 67, - /* 560 */ 45, 85, 86, 44, 88, 68, 90, 91, 67, 44, - /* 570 */ 67, 67, 89, 97, 87, 93, 51, 99, 102, 98, - /* 580 */ 55, 55, 96, 104, 56, 60, 61, 73, 81, 75, - /* 590 */ 76, 101, 67, 109, 80, 109, 109, 109, 109, 85, - /* 600 */ 86, 109, 88, 109, 90, 91, 109, 73, 109, 75, - /* 610 */ 76, 97, 109, 109, 80, 109, 102, 109, 109, 85, - /* 620 */ 86, 109, 88, 109, 90, 91, 109, 109, 109, 109, - /* 630 */ 109, 97, 109, 18, 109, 109, 102, 22, 23, 24, - /* 640 */ 25, 26, 27, 28, 29, 109, 109, 109, 109, 109, - /* 650 */ 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - /* 660 */ 45, 109, 1, 2, 3, 4, 5, 109, 109, 109, - /* 670 */ 9, 109, 11, 109, 13, 14, 15, 16, 63, 73, - /* 680 */ 109, 75, 76, 109, 109, 109, 109, 109, 109, 109, - /* 690 */ 109, 85, 86, 109, 88, 109, 90, 91, 109, 109, - /* 700 */ 109, 109, 109, 97, 109, 109, 109, 73, 109, 75, - /* 710 */ 76, 105, 106, 109, 80, 109, 109, 109, 109, 85, - /* 720 */ 86, 109, 88, 109, 90, 91, 109, 109, 109, 109, - /* 730 */ 109, 97, 109, 109, 109, 109, 102, 73, 109, 75, - /* 740 */ 76, 109, 109, 109, 80, 109, 109, 109, 109, 85, - /* 750 */ 86, 109, 88, 109, 90, 91, 73, 109, 75, 76, - /* 760 */ 109, 97, 109, 109, 109, 109, 102, 109, 85, 86, - /* 770 */ 109, 88, 109, 90, 91, 109, 109, 94, 109, 109, - /* 780 */ 97, 73, 109, 75, 76, 109, 109, 109, 109, 109, - /* 790 */ 109, 109, 109, 85, 86, 109, 88, 109, 90, 91, - /* 800 */ 109, 109, 94, 109, 109, 97, 109, 109, 109, 109, - /* 810 */ 73, 109, 75, 76, 109, 109, 109, 109, 109, 109, - /* 820 */ 109, 109, 85, 86, 109, 88, 109, 90, 91, 109, - /* 830 */ 73, 94, 75, 76, 97, 109, 109, 109, 109, 109, - /* 840 */ 109, 109, 85, 86, 109, 88, 109, 90, 91, 109, - /* 850 */ 109, 94, 109, 109, 97, 73, 109, 75, 76, 109, - /* 860 */ 109, 109, 109, 109, 109, 109, 109, 85, 86, 109, - /* 870 */ 88, 109, 90, 91, 109, 109, 109, 109, 109, 97, - /* 880 */ 109, 109, 109, 109, 73, 109, 75, 76, 106, 109, - /* 890 */ 109, 109, 109, 109, 109, 109, 85, 86, 109, 88, - /* 900 */ 109, 90, 91, 109, 73, 109, 75, 76, 97, 109, - /* 910 */ 109, 109, 109, 109, 109, 109, 85, 86, 109, 88, - /* 920 */ 109, 90, 91, 109, 109, 109, 109, 109, 97, 73, - /* 930 */ 109, 75, 76, 109, 109, 109, 109, 109, 109, 109, - /* 940 */ 109, 85, 86, 109, 88, 109, 90, 91, 109, 109, - /* 950 */ 109, 109, 109, 97, 109, 109, 109, 109, 73, 109, - /* 960 */ 75, 76, 109, 109, 109, 109, 109, 109, 109, 109, - /* 970 */ 85, 86, 109, 88, 109, 90, 91, 109, 73, 109, - /* 980 */ 75, 76, 97, 109, 109, 109, 109, 109, 109, 109, - /* 990 */ 85, 86, 109, 88, 109, 90, 91, 109, 109, 109, - /* 1000 */ 109, 109, 97, 73, 109, 75, 76, 109, 109, 109, - /* 1010 */ 109, 109, 109, 109, 109, 85, 86, 109, 88, 109, - /* 1020 */ 90, 91, 109, 109, 109, 109, 109, 97, 109, 109, - /* 1030 */ 109, 109, 73, 109, 75, 76, 109, 109, 109, 109, - /* 1040 */ 109, 109, 109, 109, 85, 86, 109, 88, 109, 90, - /* 1050 */ 91, 109, 73, 109, 75, 76, 97, 109, 109, 109, - /* 1060 */ 109, 109, 109, 109, 85, 86, 109, 88, 109, 90, - /* 1070 */ 91, 109, 109, 109, 109, 109, 97, 73, 109, 75, - /* 1080 */ 76, 109, 109, 109, 109, 109, 109, 109, 109, 85, - /* 1090 */ 86, 109, 88, 109, 90, 91, 109, 109, 109, 109, - /* 1100 */ 109, 97, 109, 109, 109, 109, 73, 109, 75, 76, - /* 1110 */ 109, 109, 109, 109, 109, 109, 109, 109, 85, 86, - /* 1120 */ 109, 88, 109, 90, 91, 109, 73, 109, 75, 76, - /* 1130 */ 97, 109, 109, 109, 109, 109, 109, 109, 85, 86, - /* 1140 */ 109, 88, 109, 90, 91, 109, 109, 109, 109, 109, - /* 1150 */ 97, 73, 109, 75, 76, 109, 109, 109, 109, 109, - /* 1160 */ 109, 109, 109, 85, 86, 109, 88, 109, 90, 91, - /* 1170 */ 109, 109, 109, 109, 109, 97, 109, 109, 109, 109, - /* 1180 */ 73, 109, 75, 76, 109, 109, 109, 109, 109, 109, - /* 1190 */ 109, 109, 85, 86, 109, 88, 109, 90, 91, 109, - /* 1200 */ 73, 109, 75, 109, 97, 109, 109, 109, 109, 109, - /* 1210 */ 109, 109, 85, 86, 109, 88, 109, 90, 91, 109, - /* 1220 */ 109, 109, 109, 109, 97, 73, 109, 75, 109, 109, - /* 1230 */ 109, 109, 109, 109, 109, 109, 109, 85, 86, 109, - /* 1240 */ 88, 109, 90, 91, 109, 109, 109, 109, 109, 97, - /* 1250 */ 109, 109, 109, 109, 73, 109, 75, 109, 109, 109, - /* 1260 */ 109, 109, 109, 109, 109, 109, 85, 86, 109, 88, - /* 1270 */ 109, 90, 91, 109, 73, 109, 75, 109, 97, 109, - /* 1280 */ 109, 109, 109, 109, 109, 109, 85, 109, 109, 109, - /* 1290 */ 109, 90, 91, 109, 109, 109, 109, 109, 97, + /* 120 */ 43, 10, 58, 63, 96, 17, 15, 16, 49, 63, + /* 130 */ 18, 20, 21, 46, 22, 23, 24, 25, 26, 27, + /* 140 */ 28, 29, 63, 10, 16, 17, 44, 16, 15, 16, + /* 150 */ 48, 64, 1, 20, 21, 44, 73, 46, 47, 57, + /* 160 */ 77, 10, 51, 30, 53, 63, 55, 16, 85, 77, + /* 170 */ 68, 60, 61, 90, 91, 63, 68, 44, 67, 46, + /* 180 */ 97, 50, 90, 44, 51, 93, 53, 73, 55, 97, + /* 190 */ 59, 77, 79, 60, 61, 67, 57, 10, 67, 85, + /* 200 */ 67, 1, 15, 16, 90, 91, 1, 20, 21, 17, + /* 210 */ 73, 97, 12, 8, 77, 95, 16, 16, 98, 10, + /* 220 */ 100, 16, 85, 44, 15, 16, 47, 90, 91, 20, + /* 230 */ 21, 44, 63, 46, 97, 1, 57, 68, 51, 5, + /* 240 */ 53, 74, 55, 64, 73, 53, 54, 60, 61, 46, + /* 250 */ 16, 48, 51, 44, 67, 46, 55, 1, 66, 16, + /* 260 */ 51, 60, 53, 92, 55, 16, 1, 64, 67, 60, + /* 270 */ 61, 15, 16, 67, 48, 108, 67, 17, 107, 31, + /* 280 */ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + /* 290 */ 42, 43, 10, 50, 68, 10, 56, 15, 16, 16, + /* 300 */ 15, 16, 20, 21, 55, 20, 21, 17, 68, 60, + /* 310 */ 67, 55, 45, 17, 10, 64, 67, 61, 62, 15, + /* 320 */ 16, 77, 5, 63, 20, 21, 44, 44, 46, 44, + /* 330 */ 63, 46, 67, 51, 90, 53, 51, 55, 53, 55, + /* 340 */ 55, 97, 60, 61, 55, 60, 61, 77, 44, 67, + /* 350 */ 46, 96, 67, 63, 47, 51, 44, 53, 68, 55, + /* 360 */ 90, 49, 16, 44, 60, 61, 73, 97, 75, 57, + /* 370 */ 77, 67, 65, 80, 81, 82, 1, 17, 85, 86, + /* 380 */ 79, 88, 10, 90, 91, 53, 54, 15, 16, 76, + /* 390 */ 97, 16, 20, 21, 76, 102, 78, 76, 66, 78, + /* 400 */ 87, 76, 73, 78, 75, 87, 77, 16, 87, 80, + /* 410 */ 76, 96, 87, 67, 85, 86, 44, 88, 46, 90, + /* 420 */ 91, 87, 16, 51, 77, 83, 97, 55, 68, 74, + /* 430 */ 100, 102, 60, 61, 1, 101, 17, 90, 73, 67, + /* 440 */ 75, 99, 77, 10, 97, 80, 72, 73, 48, 16, + /* 450 */ 85, 86, 17, 88, 78, 90, 91, 73, 67, 75, + /* 460 */ 78, 77, 97, 108, 80, 59, 83, 102, 83, 85, + /* 470 */ 86, 63, 88, 67, 90, 91, 73, 45, 75, 17, + /* 480 */ 77, 97, 99, 80, 99, 103, 102, 68, 85, 86, + /* 490 */ 17, 88, 83, 90, 91, 47, 67, 73, 73, 75, + /* 500 */ 97, 77, 84, 68, 80, 102, 51, 73, 99, 85, + /* 510 */ 86, 77, 88, 74, 90, 91, 48, 99, 50, 85, + /* 520 */ 86, 97, 88, 10, 90, 91, 102, 74, 15, 16, + /* 530 */ 68, 97, 107, 20, 21, 76, 73, 95, 75, 95, + /* 540 */ 77, 68, 100, 80, 100, 67, 87, 108, 85, 86, + /* 550 */ 83, 88, 96, 90, 91, 99, 67, 44, 50, 19, + /* 560 */ 97, 108, 83, 44, 51, 102, 99, 62, 55, 60, + /* 570 */ 67, 95, 45, 60, 61, 73, 100, 75, 99, 77, + /* 580 */ 67, 55, 80, 67, 56, 67, 19, 85, 86, 60, + /* 590 */ 88, 17, 90, 91, 17, 62, 55, 45, 67, 97, + /* 600 */ 99, 67, 104, 73, 102, 75, 68, 77, 87, 89, + /* 610 */ 80, 96, 98, 55, 108, 85, 86, 93, 88, 56, + /* 620 */ 90, 91, 109, 81, 101, 109, 109, 97, 109, 109, + /* 630 */ 109, 109, 102, 109, 1, 2, 3, 4, 5, 73, + /* 640 */ 109, 75, 9, 77, 11, 109, 13, 14, 15, 16, + /* 650 */ 109, 85, 86, 109, 88, 109, 90, 91, 109, 109, + /* 660 */ 109, 109, 73, 97, 75, 109, 77, 109, 109, 80, + /* 670 */ 109, 105, 106, 109, 85, 86, 109, 88, 109, 90, + /* 680 */ 91, 73, 109, 75, 109, 77, 97, 109, 80, 109, + /* 690 */ 109, 102, 109, 85, 86, 109, 88, 109, 90, 91, + /* 700 */ 109, 109, 109, 109, 109, 97, 109, 18, 109, 109, + /* 710 */ 102, 22, 23, 24, 25, 26, 27, 28, 29, 109, + /* 720 */ 73, 109, 75, 109, 77, 109, 109, 109, 109, 109, + /* 730 */ 109, 109, 85, 86, 45, 88, 109, 90, 91, 109, + /* 740 */ 109, 94, 109, 73, 97, 75, 109, 77, 109, 109, + /* 750 */ 109, 109, 63, 109, 109, 85, 86, 109, 88, 109, + /* 760 */ 90, 91, 109, 109, 94, 109, 109, 97, 73, 109, + /* 770 */ 75, 109, 77, 109, 109, 109, 109, 109, 109, 109, + /* 780 */ 85, 86, 109, 88, 109, 90, 91, 109, 109, 94, + /* 790 */ 109, 73, 97, 75, 109, 77, 109, 109, 109, 109, + /* 800 */ 109, 109, 109, 85, 86, 109, 88, 109, 90, 91, + /* 810 */ 109, 109, 94, 109, 109, 97, 109, 73, 109, 75, + /* 820 */ 109, 77, 109, 109, 109, 109, 109, 109, 109, 85, + /* 830 */ 86, 109, 88, 109, 90, 91, 109, 109, 109, 109, + /* 840 */ 109, 97, 73, 109, 75, 109, 77, 109, 109, 109, + /* 850 */ 106, 109, 109, 109, 85, 86, 109, 88, 109, 90, + /* 860 */ 91, 109, 109, 73, 109, 75, 97, 77, 109, 109, + /* 870 */ 109, 109, 109, 109, 109, 85, 86, 109, 88, 109, + /* 880 */ 90, 91, 73, 109, 75, 109, 77, 97, 109, 109, + /* 890 */ 109, 109, 109, 109, 85, 86, 109, 88, 109, 90, + /* 900 */ 91, 109, 109, 73, 109, 75, 97, 77, 109, 109, + /* 910 */ 109, 109, 109, 109, 109, 85, 86, 109, 88, 109, + /* 920 */ 90, 91, 109, 109, 73, 109, 75, 97, 77, 109, + /* 930 */ 109, 109, 109, 109, 109, 109, 85, 86, 109, 88, + /* 940 */ 109, 90, 91, 109, 109, 109, 109, 109, 97, 73, + /* 950 */ 109, 75, 109, 77, 109, 109, 109, 109, 109, 109, + /* 960 */ 109, 85, 86, 109, 88, 109, 90, 91, 73, 109, + /* 970 */ 75, 109, 77, 97, 109, 109, 109, 109, 109, 109, + /* 980 */ 85, 86, 109, 88, 109, 90, 91, 109, 109, 73, + /* 990 */ 109, 75, 97, 77, 109, 109, 109, 109, 109, 109, + /* 1000 */ 109, 85, 86, 109, 88, 109, 90, 91, 109, 109, + /* 1010 */ 73, 109, 75, 97, 77, 109, 109, 109, 109, 109, + /* 1020 */ 109, 109, 85, 86, 109, 88, 109, 90, 91, 109, + /* 1030 */ 109, 109, 109, 109, 97, 73, 109, 75, 109, 77, + /* 1040 */ 109, 109, 109, 109, 109, 109, 109, 85, 86, 109, + /* 1050 */ 88, 109, 90, 91, 73, 109, 75, 109, 77, 97, + /* 1060 */ 109, 109, 109, 109, 109, 109, 85, 86, 109, 88, + /* 1070 */ 109, 90, 91, 109, 109, 73, 109, 75, 97, 77, + /* 1080 */ 109, 109, 109, 109, 109, 109, 109, 85, 86, 109, + /* 1090 */ 88, 109, 90, 91, 109, 109, 73, 109, 75, 97, + /* 1100 */ 77, 109, 109, 109, 109, 109, 109, 109, 85, 86, + /* 1110 */ 109, 88, 109, 90, 91, 109, 109, 109, 109, 109, + /* 1120 */ 97, 73, 109, 109, 109, 77, 109, 109, 109, 109, + /* 1130 */ 109, 109, 109, 85, 86, 109, 88, 109, 90, 91, + /* 1140 */ 73, 109, 109, 109, 77, 97, 109, 109, 109, 109, + /* 1150 */ 109, 109, 85, 86, 109, 88, 109, 90, 91, 109, + /* 1160 */ 109, 109, 109, 109, 97, ); - const YY_SHIFT_USE_DFLT = -32; + const YY_SHIFT_USE_DFLT = -39; const YY_SHIFT_MAX = 174; static public $yy_shift_ofst = array( - /* 0 */ 661, 133, 3, 3, 3, 3, 3, 3, 3, 3, - /* 10 */ 3, 3, 312, 187, 187, 187, 187, 312, 25, 187, - /* 20 */ 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, - /* 30 */ 290, 111, 236, 214, 380, 525, 525, 525, 216, 144, - /* 40 */ 270, 117, 195, 294, 177, 210, -6, 398, -6, 661, - /* 50 */ 615, 112, 13, 27, 131, 128, 368, 14, 220, 313, - /* 60 */ 14, 404, 313, 313, 14, 404, 313, 467, 313, 457, - /* 70 */ 497, 457, 457, 64, 77, -31, 178, 178, 178, 178, - /* 80 */ 178, 178, 178, 178, 293, 116, 183, 0, 175, 75, - /* 90 */ 283, 134, 183, 72, 151, 227, -12, 413, 387, 252, - /* 100 */ 325, 82, 351, 394, 388, 198, 255, 82, 82, 39, - /* 110 */ 82, 307, 296, 82, 457, 526, 430, 430, 457, 528, - /* 120 */ 430, 457, 430, 430, 457, 474, 430, -32, -32, -32, - /* 130 */ -32, -32, 209, -5, 311, 157, 20, 23, 241, 241, - /* 140 */ 205, 241, 504, 471, 477, 518, 520, 475, 491, 489, - /* 150 */ 503, 495, 538, 480, 470, 513, 531, 519, 501, 540, - /* 160 */ 508, 473, 453, 194, 347, 106, 469, 46, 242, 277, - /* 170 */ 268, 498, 492, 515, 472, + /* 0 */ 633, 133, 3, 3, 3, 3, 3, 3, 3, 3, + /* 10 */ 3, 3, 304, 187, 187, 187, 187, 304, 25, 187, + /* 20 */ 187, 187, 187, 187, 187, 209, 187, 187, 187, 187, + /* 30 */ 187, 111, 285, 282, 372, 513, 513, 513, 249, 256, + /* 40 */ 102, 201, 24, 290, 7, 203, 169, 169, 240, 689, + /* 50 */ 633, 112, 27, 23, 131, 433, 406, 468, 391, 226, + /* 60 */ 346, 375, 375, 391, 375, 391, 346, 391, 391, 400, + /* 70 */ 538, 400, 400, 64, 77, -31, 248, 248, 248, 248, + /* 80 */ 248, 248, 248, 248, 192, -32, 332, 200, 205, 151, + /* 90 */ 234, 332, 128, 243, 20, 66, 79, 260, 283, 87, + /* 100 */ 435, 108, 87, 473, 462, 87, -10, 360, 87, 87, + /* 110 */ 267, 60, 419, 26, 408, 408, 558, 400, 408, 563, + /* 120 */ 408, 408, 400, 319, 400, 408, 400, -39, -39, -39, + /* 130 */ -39, -39, 0, 179, 312, 265, -8, -38, 139, 139, + /* 140 */ 139, 307, 534, 455, 478, 519, 509, 505, 567, 526, + /* 150 */ 552, 528, 527, 503, 429, 508, 516, 533, 541, 574, + /* 160 */ 518, 448, 432, 317, 289, 206, 540, -29, 296, 284, + /* 170 */ 251, 529, 577, 531, 489, ); - const YY_REDUCE_USE_DFLT = -65; + const YY_REDUCE_USE_DFLT = -81; const YY_REDUCE_MAX = 131; static public $yy_reduce_ofst = array( - /* 0 */ 247, 301, 436, 514, 411, 337, 373, 392, 476, 534, - /* 10 */ 664, 634, 606, 737, 683, 757, 708, 782, 959, 979, - /* 20 */ 1004, 930, 905, 831, 811, 856, 1053, 885, 1033, 1107, - /* 30 */ 1078, 1127, 1152, 1181, -25, 217, -53, 1201, 219, 172, - /* 40 */ 319, 355, 339, 318, -64, 261, 275, 298, 261, 378, - /* 50 */ 395, 395, 422, 408, 407, 407, 426, 402, 320, 90, - /* 60 */ 15, 338, 361, 391, 371, 391, 386, 271, 405, 29, - /* 70 */ 375, 271, 231, 479, 479, 479, 479, 479, 479, 479, - /* 80 */ 479, 479, 479, 479, 483, 483, 483, 478, 450, 478, - /* 90 */ 450, 478, 483, 450, 450, 487, 365, 487, 487, 365, - /* 100 */ 365, 481, 482, 365, 487, 365, 487, 481, 481, 486, - /* 110 */ 481, 365, 487, 481, 414, 507, 365, 365, 414, 490, - /* 120 */ 365, 414, 365, 365, 414, 423, 365, 359, 323, 132, - /* 130 */ 96, -54, + /* 0 */ -41, 293, 424, 502, 403, 329, 365, 384, 463, 530, + /* 10 */ 608, 589, 566, 695, 647, 718, 670, 744, 895, 916, + /* 20 */ 937, 876, 851, 790, 769, 809, 981, 830, 962, 1023, + /* 30 */ 1002, 434, 1048, 1067, -25, 114, 83, 137, 92, 171, + /* 40 */ 325, 347, 270, 318, 244, 120, 318, 321, 334, 382, + /* 50 */ 374, 382, 425, 418, 456, 453, 456, 442, 383, 313, + /* 60 */ 342, 167, 355, 409, 439, 385, 383, 479, 467, 444, + /* 70 */ 459, 476, 442, 498, 498, 498, 498, 498, 498, 498, + /* 80 */ 498, 498, 498, 498, 520, 520, 520, 506, 506, 506, + /* 90 */ 506, 520, 501, 501, 501, 376, 376, 376, 515, 514, + /* 100 */ 521, 521, 514, 521, 521, 514, 376, 521, 514, 514, + /* 110 */ 376, 376, 521, 524, 376, 376, 542, 330, 376, 523, + /* 120 */ 376, 376, 330, 315, 330, 376, 330, 301, 255, 113, + /* 130 */ 28, -80, ); static public $yyExpectedTokens = array( /* 0 */ array(1, 2, 3, 4, 5, 9, 11, 13, 14, 15, 16, ), @@ -620,42 +594,42 @@ static public $yy_action = array( /* 37 */ array(10, 15, 16, 20, 21, 44, 51, 55, 60, 61, 67, ), /* 38 */ array(16, 55, 60, 67, ), /* 39 */ array(1, 15, 16, 55, 61, 62, ), - /* 40 */ array(16, 51, 55, 60, 67, ), - /* 41 */ array(44, 48, 57, 63, 68, ), + /* 40 */ array(44, 48, 57, 63, 68, ), + /* 41 */ array(16, 51, 55, 60, 67, ), /* 42 */ array(1, 55, 60, 67, ), - /* 43 */ array(55, 60, 67, ), - /* 44 */ array(46, 48, 64, ), - /* 45 */ array(17, 63, 68, ), + /* 43 */ array(17, 63, 68, ), + /* 44 */ array(55, 60, 67, ), + /* 45 */ array(46, 48, 64, ), /* 46 */ array(63, 68, ), - /* 47 */ array(56, 68, ), - /* 48 */ array(63, 68, ), - /* 49 */ array(1, 2, 3, 4, 5, 9, 11, 13, 14, 15, 16, ), - /* 50 */ array(18, 22, 23, 24, 25, 26, 27, 28, 29, 45, 63, ), + /* 47 */ array(63, 68, ), + /* 48 */ array(56, 68, ), + /* 49 */ array(18, 22, 23, 24, 25, 26, 27, 28, 29, 45, 63, ), + /* 50 */ array(1, 2, 3, 4, 5, 9, 11, 13, 14, 15, 16, ), /* 51 */ array(18, 22, 23, 24, 25, 26, 27, 28, 29, 63, ), /* 52 */ array(1, 15, 16, 55, 61, 62, ), /* 53 */ array(16, 50, 52, 67, ), /* 54 */ array(16, 50, 59, 67, ), - /* 55 */ array(16, 59, 67, ), - /* 56 */ array(1, 10, 16, ), - /* 57 */ array(1, 16, ), - /* 58 */ array(48, 68, ), - /* 59 */ array(16, 67, ), - /* 60 */ array(1, 16, ), - /* 61 */ array(16, 67, ), - /* 62 */ array(16, 67, ), + /* 55 */ array(1, 10, 16, ), + /* 56 */ array(16, 59, 67, ), + /* 57 */ array(48, 50, ), + /* 58 */ array(16, 67, ), + /* 59 */ array(48, 68, ), + /* 60 */ array(16, 67, ), + /* 61 */ array(1, 16, ), + /* 62 */ array(1, 16, ), /* 63 */ array(16, 67, ), /* 64 */ array(1, 16, ), /* 65 */ array(16, 67, ), /* 66 */ array(16, 67, ), - /* 67 */ array(48, 50, ), + /* 67 */ array(16, 67, ), /* 68 */ array(16, 67, ), /* 69 */ array(48, ), /* 70 */ array(68, ), /* 71 */ array(48, ), /* 72 */ array(48, ), - /* 73 */ array(17, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, ), - /* 74 */ array(31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, ), - /* 75 */ array(31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 58, ), + /* 73 */ array(31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 58, ), + /* 74 */ array(17, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, ), + /* 75 */ array(31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, ), /* 76 */ array(31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, ), /* 77 */ array(31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, ), /* 78 */ array(31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, ), @@ -664,49 +638,49 @@ static public $yy_action = array( /* 81 */ array(31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, ), /* 82 */ array(31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, ), /* 83 */ array(31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, ), - /* 84 */ array(47, 53, 54, 66, ), - /* 85 */ array(17, 53, 54, 66, ), + /* 84 */ array(17, 53, 54, 66, ), + /* 85 */ array(47, 53, 54, 66, ), /* 86 */ array(53, 54, 66, ), - /* 87 */ array(16, 17, 67, ), + /* 87 */ array(1, 12, 16, ), /* 88 */ array(1, 8, 16, ), - /* 89 */ array(16, 50, 67, ), - /* 90 */ array(1, 10, 16, ), - /* 91 */ array(16, 17, 67, ), - /* 92 */ array(53, 54, 66, ), - /* 93 */ array(1, 12, 16, ), - /* 94 */ array(1, 5, 16, ), - /* 95 */ array(17, 68, ), - /* 96 */ array(63, 65, ), - /* 97 */ array(17, 68, ), - /* 98 */ array(17, 68, ), - /* 99 */ array(49, 63, ), - /* 100 */ array(17, 63, ), - /* 101 */ array(46, 64, ), - /* 102 */ array(55, 67, ), - /* 103 */ array(17, 63, ), + /* 89 */ array(1, 10, 16, ), + /* 90 */ array(1, 5, 16, ), + /* 91 */ array(53, 54, 66, ), + /* 92 */ array(16, 17, 67, ), + /* 93 */ array(16, 50, 67, ), + /* 94 */ array(16, 17, 67, ), + /* 95 */ array(17, 63, ), + /* 96 */ array(49, 63, ), + /* 97 */ array(17, 63, ), + /* 98 */ array(16, 44, ), + /* 99 */ array(46, 64, ), + /* 100 */ array(17, 68, ), + /* 101 */ array(17, 68, ), + /* 102 */ array(46, 64, ), + /* 103 */ array(17, 68, ), /* 104 */ array(17, 68, ), - /* 105 */ array(45, 63, ), - /* 106 */ array(17, 68, ), - /* 107 */ array(46, 64, ), + /* 105 */ array(46, 64, ), + /* 106 */ array(63, 65, ), + /* 107 */ array(17, 68, ), /* 108 */ array(46, 64, ), - /* 109 */ array(16, 44, ), - /* 110 */ array(46, 64, ), + /* 109 */ array(46, 64, ), + /* 110 */ array(45, 63, ), /* 111 */ array(17, 63, ), /* 112 */ array(17, 68, ), - /* 113 */ array(46, 64, ), - /* 114 */ array(48, ), - /* 115 */ array(55, ), - /* 116 */ array(63, ), - /* 117 */ array(63, ), - /* 118 */ array(48, ), + /* 113 */ array(55, 67, ), + /* 114 */ array(63, ), + /* 115 */ array(63, ), + /* 116 */ array(55, ), + /* 117 */ array(48, ), + /* 118 */ array(63, ), /* 119 */ array(56, ), /* 120 */ array(63, ), - /* 121 */ array(48, ), - /* 122 */ array(63, ), - /* 123 */ array(63, ), + /* 121 */ array(63, ), + /* 122 */ array(48, ), + /* 123 */ array(44, ), /* 124 */ array(48, ), - /* 125 */ array(44, ), - /* 126 */ array(63, ), + /* 125 */ array(63, ), + /* 126 */ array(48, ), /* 127 */ array(), /* 128 */ array(), /* 129 */ array(), @@ -715,46 +689,46 @@ static public $yy_action = array( /* 132 */ array(17, 44, 50, 57, 68, ), /* 133 */ array(44, 47, 57, 64, ), /* 134 */ array(44, 49, 57, ), - /* 135 */ array(47, 65, ), - /* 136 */ array(1, 67, ), - /* 137 */ array(59, 67, ), + /* 135 */ array(1, 67, ), + /* 136 */ array(59, 67, ), + /* 137 */ array(58, 65, ), /* 138 */ array(44, 57, ), /* 139 */ array(44, 57, ), - /* 140 */ array(58, 65, ), - /* 141 */ array(44, 57, ), + /* 140 */ array(44, 57, ), + /* 141 */ array(47, 65, ), /* 142 */ array(67, ), - /* 143 */ array(60, ), - /* 144 */ array(51, ), - /* 145 */ array(19, ), - /* 146 */ array(19, ), - /* 147 */ array(67, ), - /* 148 */ array(64, ), + /* 143 */ array(51, ), + /* 144 */ array(67, ), + /* 145 */ array(44, ), + /* 146 */ array(60, ), + /* 147 */ array(62, ), + /* 148 */ array(19, ), /* 149 */ array(55, ), - /* 150 */ array(67, ), - /* 151 */ array(55, ), - /* 152 */ array(5, ), + /* 150 */ array(45, ), + /* 151 */ array(56, ), + /* 152 */ array(45, ), /* 153 */ array(67, ), - /* 154 */ array(55, ), - /* 155 */ array(17, ), - /* 156 */ array(17, ), - /* 157 */ array(44, ), - /* 158 */ array(67, ), + /* 154 */ array(67, ), + /* 155 */ array(50, ), + /* 156 */ array(67, ), + /* 157 */ array(62, ), + /* 158 */ array(55, ), /* 159 */ array(17, ), - /* 160 */ array(45, ), - /* 161 */ array(50, ), - /* 162 */ array(67, ), - /* 163 */ array(45, ), + /* 160 */ array(67, ), + /* 161 */ array(47, ), + /* 162 */ array(45, ), + /* 163 */ array(5, ), /* 164 */ array(55, ), - /* 165 */ array(62, ), - /* 166 */ array(67, ), - /* 167 */ array(47, ), - /* 168 */ array(62, ), - /* 169 */ array(67, ), - /* 170 */ array(67, ), - /* 171 */ array(56, ), - /* 172 */ array(67, ), - /* 173 */ array(45, ), - /* 174 */ array(60, ), + /* 165 */ array(67, ), + /* 166 */ array(19, ), + /* 167 */ array(67, ), + /* 168 */ array(17, ), + /* 169 */ array(55, ), + /* 170 */ array(64, ), + /* 171 */ array(60, ), + /* 172 */ array(17, ), + /* 173 */ array(67, ), + /* 174 */ array(67, ), /* 175 */ array(), /* 176 */ array(), /* 177 */ array(), @@ -871,31 +845,31 @@ static public $yy_action = array( /* 10 */ 440, 440, 421, 382, 382, 382, 382, 440, 440, 440, /* 20 */ 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, /* 30 */ 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, - /* 40 */ 440, 314, 440, 440, 347, 440, 314, 314, 314, 285, - /* 50 */ 392, 392, 440, 440, 357, 357, 440, 440, 314, 440, - /* 60 */ 440, 440, 440, 440, 440, 440, 440, 350, 440, 343, - /* 70 */ 314, 350, 342, 440, 440, 440, 406, 396, 390, 397, - /* 80 */ 402, 405, 401, 398, 440, 440, 387, 440, 440, 440, - /* 90 */ 440, 440, 321, 440, 440, 440, 381, 440, 440, 424, - /* 100 */ 440, 374, 440, 440, 440, 440, 440, 355, 375, 357, - /* 110 */ 373, 440, 440, 376, 348, 440, 308, 423, 345, 323, - /* 120 */ 422, 344, 393, 319, 370, 357, 315, 386, 357, 357, - /* 130 */ 357, 386, 320, 440, 320, 440, 440, 440, 320, 440, - /* 140 */ 440, 388, 440, 440, 440, 324, 328, 440, 332, 440, - /* 150 */ 440, 440, 440, 440, 440, 440, 317, 346, 440, 440, - /* 160 */ 440, 316, 440, 440, 440, 440, 440, 440, 440, 440, - /* 170 */ 440, 368, 440, 440, 440, 361, 288, 364, 309, 367, - /* 180 */ 434, 286, 435, 426, 431, 432, 429, 368, 428, 425, - /* 190 */ 362, 365, 433, 377, 363, 287, 379, 310, 311, 427, - /* 200 */ 318, 341, 340, 330, 359, 360, 326, 338, 358, 354, - /* 210 */ 356, 352, 353, 339, 299, 302, 305, 327, 301, 300, - /* 220 */ 383, 384, 430, 351, 371, 312, 303, 304, 298, 297, - /* 230 */ 294, 295, 296, 313, 385, 335, 336, 372, 334, 333, - /* 240 */ 324, 325, 331, 292, 322, 437, 439, 399, 400, 389, - /* 250 */ 337, 412, 413, 414, 438, 436, 417, 391, 306, 416, - /* 260 */ 415, 403, 404, 289, 411, 410, 418, 420, 419, 291, - /* 270 */ 349, 366, 369, 328, 290, 380, 407, 408, 409, 395, - /* 280 */ 394, 378, 329, 293, 307, + /* 40 */ 314, 440, 440, 440, 440, 347, 314, 314, 314, 392, + /* 50 */ 285, 392, 440, 440, 357, 440, 357, 350, 440, 314, + /* 60 */ 440, 440, 440, 440, 440, 440, 440, 440, 440, 343, + /* 70 */ 314, 342, 350, 440, 440, 440, 402, 390, 397, 398, + /* 80 */ 401, 406, 396, 405, 440, 440, 321, 440, 440, 440, + /* 90 */ 440, 387, 440, 440, 440, 440, 424, 440, 357, 373, + /* 100 */ 440, 440, 355, 440, 440, 376, 381, 440, 375, 374, + /* 110 */ 440, 440, 440, 440, 422, 319, 440, 345, 315, 323, + /* 120 */ 393, 423, 344, 357, 370, 306, 348, 386, 357, 386, + /* 130 */ 357, 357, 320, 440, 320, 440, 440, 440, 388, 320, + /* 140 */ 440, 440, 440, 440, 440, 346, 440, 440, 328, 440, + /* 150 */ 440, 368, 440, 440, 440, 316, 440, 440, 440, 440, + /* 160 */ 440, 440, 440, 440, 440, 440, 324, 440, 317, 440, + /* 170 */ 332, 440, 440, 440, 440, 287, 293, 286, 318, 308, + /* 180 */ 292, 434, 361, 439, 426, 341, 435, 364, 362, 438, + /* 190 */ 436, 289, 365, 363, 377, 431, 433, 340, 290, 291, + /* 200 */ 309, 425, 437, 429, 432, 379, 428, 427, 288, 399, + /* 210 */ 369, 328, 349, 366, 322, 327, 334, 333, 331, 325, + /* 220 */ 385, 380, 378, 419, 420, 418, 324, 335, 299, 358, + /* 230 */ 359, 360, 354, 353, 356, 351, 352, 371, 326, 384, + /* 240 */ 430, 336, 383, 372, 338, 339, 329, 330, 297, 296, + /* 250 */ 415, 404, 403, 312, 400, 298, 416, 417, 305, 307, + /* 260 */ 367, 294, 295, 391, 304, 389, 337, 311, 310, 394, + /* 270 */ 303, 313, 300, 301, 302, 395, 407, 412, 413, 414, + /* 280 */ 411, 410, 408, 409, 368, ); /* The next thing included is series of defines which control ** various aspects of the generated parser. @@ -1085,8 +1059,8 @@ static public $yy_action = array( 'HATCH', 'QUOTE', 'BACKTICK', 'VERT', 'DOT', 'COMMA', 'ANDSYM', 'ID', 'SPACE', 'error', 'start', 'template', - 'template_element', 'smartytag', 'text', 'varindexed', - 'expr', 'attributes', 'modifier', 'modparameters', + 'template_element', 'smartytag', 'text', 'expr', + 'attributes', 'varindexed', 'modifier', 'modparameters', 'ifexprs', 'statement', 'statements', 'varvar', 'foraction', 'value', 'array', 'attribute', 'exprs', 'math', 'variable', 'function', @@ -1115,20 +1089,20 @@ static public $yy_action = array( /* 10 */ "template_element ::= XML", /* 11 */ "template_element ::= SHORTTAGEND", /* 12 */ "template_element ::= OTHER", - /* 13 */ "smartytag ::= LDEL varindexed EQUAL expr attributes RDEL", - /* 14 */ "smartytag ::= LDEL expr attributes RDEL", + /* 13 */ "smartytag ::= LDEL expr attributes RDEL", + /* 14 */ "smartytag ::= LDEL varindexed EQUAL expr attributes RDEL", /* 15 */ "smartytag ::= LDEL ID attributes RDEL", /* 16 */ "smartytag ::= LDEL ID PTR ID attributes RDEL", /* 17 */ "smartytag ::= LDEL ID modifier modparameters attributes RDEL", - /* 18 */ "smartytag ::= LDELSLASH ID attributes RDEL", - /* 19 */ "smartytag ::= LDELSLASH ID PTR ID RDEL", - /* 20 */ "smartytag ::= LDEL ID SPACE ifexprs RDEL", - /* 21 */ "smartytag ::= LDEL ID SPACE statement RDEL", - /* 22 */ "smartytag ::= LDEL ID SPACE statements SEMICOLON ifexprs SEMICOLON DOLLAR varvar foraction RDEL", - /* 23 */ "foraction ::= EQUAL expr", - /* 24 */ "foraction ::= INCDEC", - /* 25 */ "smartytag ::= LDEL ID SPACE value AS DOLLAR varvar RDEL", - /* 26 */ "smartytag ::= LDEL ID SPACE array AS DOLLAR varvar RDEL", + /* 18 */ "smartytag ::= LDEL ID SPACE ifexprs RDEL", + /* 19 */ "smartytag ::= LDEL ID SPACE statement RDEL", + /* 20 */ "smartytag ::= LDEL ID SPACE statements SEMICOLON ifexprs SEMICOLON DOLLAR varvar foraction RDEL", + /* 21 */ "foraction ::= EQUAL expr", + /* 22 */ "foraction ::= INCDEC", + /* 23 */ "smartytag ::= LDEL ID SPACE value AS DOLLAR varvar RDEL", + /* 24 */ "smartytag ::= LDEL ID SPACE array AS DOLLAR varvar RDEL", + /* 25 */ "smartytag ::= LDELSLASH ID attributes RDEL", + /* 26 */ "smartytag ::= LDELSLASH ID PTR ID RDEL", /* 27 */ "attributes ::= attributes attribute", /* 28 */ "attributes ::= attribute", /* 29 */ "attributes ::=", @@ -1634,13 +1608,11 @@ static public $yy_action = array( array( 'lhs' => 72, 'rhs' => 1 ), array( 'lhs' => 72, 'rhs' => 1 ), array( 'lhs' => 72, 'rhs' => 1 ), - array( 'lhs' => 73, 'rhs' => 6 ), array( 'lhs' => 73, 'rhs' => 4 ), + array( 'lhs' => 73, 'rhs' => 6 ), array( 'lhs' => 73, 'rhs' => 4 ), array( 'lhs' => 73, 'rhs' => 6 ), array( 'lhs' => 73, 'rhs' => 6 ), - array( 'lhs' => 73, 'rhs' => 4 ), - array( 'lhs' => 73, 'rhs' => 5 ), array( 'lhs' => 73, 'rhs' => 5 ), array( 'lhs' => 73, 'rhs' => 5 ), array( 'lhs' => 73, 'rhs' => 11 ), @@ -1648,18 +1620,20 @@ static public $yy_action = array( array( 'lhs' => 84, 'rhs' => 1 ), array( 'lhs' => 73, 'rhs' => 8 ), array( 'lhs' => 73, 'rhs' => 8 ), - array( 'lhs' => 77, 'rhs' => 2 ), - array( 'lhs' => 77, 'rhs' => 1 ), - array( 'lhs' => 77, 'rhs' => 0 ), + array( 'lhs' => 73, 'rhs' => 4 ), + array( 'lhs' => 73, 'rhs' => 5 ), + array( 'lhs' => 76, 'rhs' => 2 ), + array( 'lhs' => 76, 'rhs' => 1 ), + array( 'lhs' => 76, 'rhs' => 0 ), array( 'lhs' => 87, 'rhs' => 4 ), array( 'lhs' => 87, 'rhs' => 2 ), array( 'lhs' => 82, 'rhs' => 1 ), array( 'lhs' => 82, 'rhs' => 3 ), array( 'lhs' => 81, 'rhs' => 4 ), - array( 'lhs' => 76, 'rhs' => 1 ), - array( 'lhs' => 76, 'rhs' => 1 ), - array( 'lhs' => 76, 'rhs' => 4 ), - array( 'lhs' => 76, 'rhs' => 3 ), + array( 'lhs' => 75, 'rhs' => 1 ), + array( 'lhs' => 75, 'rhs' => 1 ), + array( 'lhs' => 75, 'rhs' => 4 ), + array( 'lhs' => 75, 'rhs' => 3 ), array( 'lhs' => 88, 'rhs' => 1 ), array( 'lhs' => 88, 'rhs' => 2 ), array( 'lhs' => 88, 'rhs' => 3 ), @@ -1691,7 +1665,7 @@ static public $yy_action = array( array( 'lhs' => 90, 'rhs' => 1 ), array( 'lhs' => 90, 'rhs' => 3 ), array( 'lhs' => 90, 'rhs' => 3 ), - array( 'lhs' => 75, 'rhs' => 3 ), + array( 'lhs' => 77, 'rhs' => 3 ), array( 'lhs' => 96, 'rhs' => 2 ), array( 'lhs' => 96, 'rhs' => 0 ), array( 'lhs' => 98, 'rhs' => 2 ), @@ -1831,11 +1805,11 @@ static public $yy_action = array( 20 => 20, 21 => 21, 22 => 22, + 28 => 22, + 96 => 22, + 139 => 22, 23 => 23, 24 => 24, - 28 => 24, - 96 => 24, - 139 => 24, 25 => 25, 26 => 26, 27 => 27, @@ -1949,31 +1923,31 @@ static public $yy_action = array( */ #line 79 "internal.templateparser.y" function yy_r0(){ $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } -#line 1957 "internal.templateparser.php" +#line 1931 "internal.templateparser.php" #line 85 "internal.templateparser.y" function yy_r1(){$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } -#line 1960 "internal.templateparser.php" +#line 1934 "internal.templateparser.php" #line 87 "internal.templateparser.y" function yy_r2(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -#line 1963 "internal.templateparser.php" +#line 1937 "internal.templateparser.php" #line 93 "internal.templateparser.y" function yy_r3(){if ($this->compiler->has_code) { $tmp =''; foreach ($this->prefix_code as $code) {$tmp.=$code;} $this->prefix_code=array(); $this->_retvalue = $this->cacher->processNocacheCode($tmp.$this->yystack[$this->yyidx + 0]->minor, $this->compiler,$this->nocache,true); } else { $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;} $this->nocache=false; } -#line 1969 "internal.templateparser.php" +#line 1943 "internal.templateparser.php" #line 98 "internal.templateparser.y" function yy_r4(){ preg_match('/\s*/',$this->yystack[$this->yyidx + -2]->minor,$s); $this->_retvalue = $s[0]; } -#line 1972 "internal.templateparser.php" +#line 1946 "internal.templateparser.php" #line 101 "internal.templateparser.y" function yy_r5(){preg_match('/\s*/',$this->yystack[$this->yyidx + -2]->minor,$s); preg_match('/\s*/',$this->yystack[$this->yyidx + 0]->minor,$s2); $this->_retvalue = $s[0].$this->cacher->processNocacheCode($this->yystack[$this->yyidx + -1]->minor.$s2[0], $this->compiler,false,false); } -#line 1975 "internal.templateparser.php" +#line 1949 "internal.templateparser.php" #line 103 "internal.templateparser.y" function yy_r6(){preg_match('/\s*/',$this->yystack[$this->yyidx + 0]->minor,$s); $this->_retvalue = $s[0].$this->cacher->processNocacheCode($this->smarty->left_delimiter, $this->compiler,false,false); } -#line 1978 "internal.templateparser.php" +#line 1952 "internal.templateparser.php" #line 105 "internal.templateparser.y" function yy_r7(){preg_match('/\s*/',$this->yystack[$this->yyidx + 0]->minor,$s); $this->_retvalue = $s[0].$this->cacher->processNocacheCode($this->smarty->right_delimiter, $this->compiler,false,false); } -#line 1981 "internal.templateparser.php" +#line 1955 "internal.templateparser.php" #line 107 "internal.templateparser.y" function yy_r8(){if ($this->sec_obj->php_handling == SMARTY_PHP_PASSTHRU) { $this->_retvalue = $this->cacher->processNocacheCode("yystack[$this->yyidx + -1]->minor)."?>';?>\n", $this->compiler, false, false); @@ -1985,7 +1959,7 @@ static public $yy_action = array( $this->_retvalue = ''; } } -#line 1993 "internal.templateparser.php" +#line 1967 "internal.templateparser.php" #line 118 "internal.templateparser.y" function yy_r9(){preg_match('/\s*/',$this->yystack[$this->yyidx + -3]->minor,$s); $this->_retvalue = $s[0]; if ($this->sec_obj->php_handling == SMARTY_PHP_PASSTHRU || $this->sec_obj->php_handling == SMARTY_PHP_ALLOW) { @@ -1996,28 +1970,28 @@ static public $yy_action = array( $this->_retvalue .= ''; } } -#line 2004 "internal.templateparser.php" +#line 1978 "internal.templateparser.php" #line 129 "internal.templateparser.y" function yy_r10(){preg_match('/\s*/',$this->yystack[$this->yyidx + 0]->minor,$s); $this->_retvalue = $s[0].$this->cacher->processNocacheCode("", $this->compiler, true, true); } -#line 2007 "internal.templateparser.php" +#line 1981 "internal.templateparser.php" #line 130 "internal.templateparser.y" function yy_r11(){$this->_retvalue = $this->cacher->processNocacheCode("';?>\n", $this->compiler, true, true); } -#line 2010 "internal.templateparser.php" +#line 1984 "internal.templateparser.php" #line 132 "internal.templateparser.y" function yy_r12(){$this->_retvalue = $this->cacher->processNocacheCode($this->yystack[$this->yyidx + 0]->minor, $this->compiler,false,false); } -#line 2013 "internal.templateparser.php" +#line 1987 "internal.templateparser.php" #line 139 "internal.templateparser.y" - function yy_r13(){ preg_match('/\s*/',$this->yystack[$this->yyidx + -5]->minor,$s); $this->_retvalue = $s[0].$this->compiler->compileTag('assign',array_merge(array('value'=>$this->yystack[$this->yyidx + -2]->minor),$this->yystack[$this->yyidx + -4]->minor,$this->yystack[$this->yyidx + -1]->minor)); } -#line 2016 "internal.templateparser.php" + function yy_r13(){ preg_match('/\s*/',$this->yystack[$this->yyidx + -3]->minor,$s); $this->_retvalue = $s[0].$this->compiler->compileTag('print_expression',array_merge(array('value'=>$this->yystack[$this->yyidx + -2]->minor),$this->yystack[$this->yyidx + -1]->minor)); } +#line 1990 "internal.templateparser.php" #line 141 "internal.templateparser.y" - function yy_r14(){ preg_match('/\s*/',$this->yystack[$this->yyidx + -3]->minor,$s); $this->_retvalue = $s[0].$this->compiler->compileTag('print_expression',array_merge(array('value'=>$this->yystack[$this->yyidx + -2]->minor),$this->yystack[$this->yyidx + -1]->minor)); } -#line 2019 "internal.templateparser.php" + function yy_r14(){ preg_match('/\s*/',$this->yystack[$this->yyidx + -5]->minor,$s); $this->_retvalue = $s[0].$this->compiler->compileTag('assign',array_merge(array('value'=>$this->yystack[$this->yyidx + -2]->minor),$this->yystack[$this->yyidx + -4]->minor,$this->yystack[$this->yyidx + -1]->minor)); } +#line 1993 "internal.templateparser.php" #line 143 "internal.templateparser.y" function yy_r15(){ preg_match('/\s*/',$this->yystack[$this->yyidx + -3]->minor,$s); $this->_retvalue = $s[0].$this->compiler->compileTag($this->yystack[$this->yyidx + -2]->minor,$this->yystack[$this->yyidx + -1]->minor); } -#line 2022 "internal.templateparser.php" +#line 1996 "internal.templateparser.php" #line 145 "internal.templateparser.y" function yy_r16(){ preg_match('/\s*/',$this->yystack[$this->yyidx + -5]->minor,$s); $this->_retvalue = $s[0].$this->compiler->compileTag($this->yystack[$this->yyidx + -4]->minor,array_merge(array('object_methode'=>$this->yystack[$this->yyidx + -2]->minor),$this->yystack[$this->yyidx + -1]->minor)); } -#line 2025 "internal.templateparser.php" +#line 1999 "internal.templateparser.php" #line 147 "internal.templateparser.y" function yy_r17(){ preg_match('/\s*/',$this->yystack[$this->yyidx + -5]->minor,$s); $this->_retvalue = $s[0].''.$this->compiler->compileTag($this->yystack[$this->yyidx + -4]->minor,$this->yystack[$this->yyidx + -1]->minor).'smarty->plugin_handler->loadSmartyPlugin($this->yystack[$this->yyidx + -3]->minor[0],'modifier')) { @@ -2032,80 +2006,80 @@ static public $yy_action = array( } } } -#line 2040 "internal.templateparser.php" +#line 2014 "internal.templateparser.php" #line 161 "internal.templateparser.y" - function yy_r18(){ preg_match('/\s*/',$this->yystack[$this->yyidx + -3]->minor,$s); $this->_retvalue = $s[0].$this->compiler->compileTag($this->yystack[$this->yyidx + -2]->minor.'close',$this->yystack[$this->yyidx + -1]->minor); } -#line 2043 "internal.templateparser.php" -#line 163 "internal.templateparser.y" - function yy_r19(){ preg_match('/\s*/',$this->yystack[$this->yyidx + -4]->minor,$s); $this->_retvalue = $s[0].$this->compiler->compileTag($this->yystack[$this->yyidx + -3]->minor.'close',array('object_methode'=>$this->yystack[$this->yyidx + -1]->minor)); } -#line 2046 "internal.templateparser.php" + function yy_r18(){if (!in_array($this->yystack[$this->yyidx + -3]->minor,array('if','elseif','while'))) { + $this->compiler->trigger_template_error ("wrong syntax for tag \"" . $this->yystack[$this->yyidx + -3]->minor . "\""); + } + preg_match('/\s*/',$this->yystack[$this->yyidx + -4]->minor,$s); $this->_retvalue = $s[0].$this->compiler->compileTag($this->yystack[$this->yyidx + -3]->minor,array('if condition'=>$this->yystack[$this->yyidx + -1]->minor)); } +#line 2020 "internal.templateparser.php" #line 165 "internal.templateparser.y" - function yy_r20(){if (!in_array($this->yystack[$this->yyidx + -3]->minor,array('if','elseif','while'))) { + function yy_r19(){ if (!in_array($this->yystack[$this->yyidx + -3]->minor,array('if','elseif','while'))) { $this->compiler->trigger_template_error ("wrong syntax for tag \"" . $this->yystack[$this->yyidx + -3]->minor . "\""); } preg_match('/\s*/',$this->yystack[$this->yyidx + -4]->minor,$s); $this->_retvalue = $s[0].$this->compiler->compileTag($this->yystack[$this->yyidx + -3]->minor,array('if condition'=>$this->yystack[$this->yyidx + -1]->minor)); } -#line 2052 "internal.templateparser.php" -#line 169 "internal.templateparser.y" - function yy_r21(){ if (!in_array($this->yystack[$this->yyidx + -3]->minor,array('if','elseif','while'))) { - $this->compiler->trigger_template_error ("wrong syntax for tag \"" . $this->yystack[$this->yyidx + -3]->minor . "\""); - } - preg_match('/\s*/',$this->yystack[$this->yyidx + -4]->minor,$s); $this->_retvalue = $s[0].$this->compiler->compileTag($this->yystack[$this->yyidx + -3]->minor,array('if condition'=>$this->yystack[$this->yyidx + -1]->minor)); } -#line 2058 "internal.templateparser.php" -#line 174 "internal.templateparser.y" - function yy_r22(){ +#line 2026 "internal.templateparser.php" +#line 170 "internal.templateparser.y" + function yy_r20(){ if ($this->yystack[$this->yyidx + -9]->minor != 'for') { $this->compiler->trigger_template_error ("wrong syntax for tag \"" . $this->yystack[$this->yyidx + -9]->minor . "\""); } preg_match('/\s*/',$this->yystack[$this->yyidx + -10]->minor,$s); $this->_retvalue = $s[0].$this->compiler->compileTag($this->yystack[$this->yyidx + -9]->minor,array('start'=>$this->yystack[$this->yyidx + -7]->minor,'ifexp'=>$this->yystack[$this->yyidx + -5]->minor,'varloop'=>$this->yystack[$this->yyidx + -2]->minor,'loop'=>$this->yystack[$this->yyidx + -1]->minor)); } -#line 2065 "internal.templateparser.php" -#line 179 "internal.templateparser.y" - function yy_r23(){ $this->_retvalue = '='.$this->yystack[$this->yyidx + 0]->minor; } -#line 2068 "internal.templateparser.php" -#line 180 "internal.templateparser.y" - function yy_r24(){ $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } -#line 2071 "internal.templateparser.php" -#line 182 "internal.templateparser.y" - function yy_r25(){ +#line 2033 "internal.templateparser.php" +#line 175 "internal.templateparser.y" + function yy_r21(){ $this->_retvalue = '='.$this->yystack[$this->yyidx + 0]->minor; } +#line 2036 "internal.templateparser.php" +#line 176 "internal.templateparser.y" + function yy_r22(){ $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } +#line 2039 "internal.templateparser.php" +#line 178 "internal.templateparser.y" + function yy_r23(){ if ($this->yystack[$this->yyidx + -6]->minor != 'foreach') { $this->compiler->trigger_template_error ("wrong syntax for tag \"" . $this->yystack[$this->yyidx + -6]->minor . "\""); } preg_match('/\s*/',$this->yystack[$this->yyidx + -7]->minor,$s); $this->_retvalue = $s[0].$this->compiler->compileTag($this->yystack[$this->yyidx + -6]->minor,array('from'=>$this->yystack[$this->yyidx + -4]->minor,'item'=>$this->yystack[$this->yyidx + -1]->minor)); } -#line 2078 "internal.templateparser.php" -#line 187 "internal.templateparser.y" - function yy_r26(){ +#line 2046 "internal.templateparser.php" +#line 183 "internal.templateparser.y" + function yy_r24(){ if ($this->yystack[$this->yyidx + -6]->minor != 'foreach') { $this->compiler->trigger_template_error ("wrong syntax for tag \"" . $this->yystack[$this->yyidx + -6]->minor . "\""); } preg_match('/\s*/',$this->yystack[$this->yyidx + -7]->minor,$s); $this->_retvalue = $s[0].$this->compiler->compileTag($this->yystack[$this->yyidx + -6]->minor,array('from'=>$this->yystack[$this->yyidx + -4]->minor,'item'=>$this->yystack[$this->yyidx + -1]->minor)); } -#line 2085 "internal.templateparser.php" -#line 197 "internal.templateparser.y" +#line 2053 "internal.templateparser.php" +#line 190 "internal.templateparser.y" + function yy_r25(){ preg_match('/\s*/',$this->yystack[$this->yyidx + -3]->minor,$s); $this->_retvalue = $s[0].$this->compiler->compileTag($this->yystack[$this->yyidx + -2]->minor.'close',$this->yystack[$this->yyidx + -1]->minor); } +#line 2056 "internal.templateparser.php" +#line 192 "internal.templateparser.y" + function yy_r26(){ preg_match('/\s*/',$this->yystack[$this->yyidx + -4]->minor,$s); $this->_retvalue = $s[0].$this->compiler->compileTag($this->yystack[$this->yyidx + -3]->minor.'close',array('object_methode'=>$this->yystack[$this->yyidx + -1]->minor)); } +#line 2059 "internal.templateparser.php" +#line 199 "internal.templateparser.y" function yy_r27(){ $this->_retvalue = array_merge($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor); } -#line 2088 "internal.templateparser.php" -#line 201 "internal.templateparser.y" +#line 2062 "internal.templateparser.php" +#line 203 "internal.templateparser.y" function yy_r29(){ $this->_retvalue = array(); } -#line 2091 "internal.templateparser.php" -#line 204 "internal.templateparser.y" +#line 2065 "internal.templateparser.php" +#line 206 "internal.templateparser.y" function yy_r30(){ $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>$this->yystack[$this->yyidx + 0]->minor); } -#line 2094 "internal.templateparser.php" -#line 205 "internal.templateparser.y" +#line 2068 "internal.templateparser.php" +#line 207 "internal.templateparser.y" function yy_r31(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor=>'true'); } -#line 2097 "internal.templateparser.php" -#line 210 "internal.templateparser.y" +#line 2071 "internal.templateparser.php" +#line 212 "internal.templateparser.y" function yy_r32(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor); } -#line 2100 "internal.templateparser.php" -#line 211 "internal.templateparser.y" - function yy_r33(){ $this->yystack[$this->yyidx + -2]->minor[]=$this->yystack[$this->yyidx + 0]->minor; $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor; } -#line 2103 "internal.templateparser.php" +#line 2074 "internal.templateparser.php" #line 213 "internal.templateparser.y" + function yy_r33(){ $this->yystack[$this->yyidx + -2]->minor[]=$this->yystack[$this->yyidx + 0]->minor; $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor; } +#line 2077 "internal.templateparser.php" +#line 215 "internal.templateparser.y" function yy_r34(){ $this->_retvalue = array('var' => $this->yystack[$this->yyidx + -2]->minor, 'value'=>$this->yystack[$this->yyidx + 0]->minor); } -#line 2106 "internal.templateparser.php" -#line 219 "internal.templateparser.y" +#line 2080 "internal.templateparser.php" +#line 221 "internal.templateparser.y" function yy_r35(){ $this->_retvalue = '\''.$this->yystack[$this->yyidx + 0]->minor.'\''; } -#line 2109 "internal.templateparser.php" -#line 223 "internal.templateparser.y" +#line 2083 "internal.templateparser.php" +#line 225 "internal.templateparser.y" function yy_r37(){$this->_retvalue = '$_smarty_tpl->getStreamVariable(\''. $this->yystack[$this->yyidx + -2]->minor .'://'. $this->yystack[$this->yyidx + 0]->minor . '\')'; } -#line 2112 "internal.templateparser.php" -#line 224 "internal.templateparser.y" +#line 2086 "internal.templateparser.php" +#line 226 "internal.templateparser.y" function yy_r38(){ if ($this->smarty->plugin_handler->loadSmartyPlugin($this->yystack[$this->yyidx + -1]->minor[0],'modifier')) { $this->_retvalue = "\$_smarty_tpl->smarty->plugin_handler->executeModifier('".$this->yystack[$this->yyidx + -1]->minor[0] . "',array(". $this->yystack[$this->yyidx + -2]->minor . $this->yystack[$this->yyidx + 0]->minor. "),".$this->yystack[$this->yyidx + -1]->minor[1].")"; @@ -2119,130 +2093,130 @@ static public $yy_action = array( } } } -#line 2127 "internal.templateparser.php" -#line 241 "internal.templateparser.y" - function yy_r40(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -#line 2130 "internal.templateparser.php" +#line 2101 "internal.templateparser.php" #line 243 "internal.templateparser.y" - function yy_r41(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor . $this->yystack[$this->yyidx + -1]->minor . $this->yystack[$this->yyidx + 0]->minor; } -#line 2133 "internal.templateparser.php" + function yy_r40(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } +#line 2104 "internal.templateparser.php" #line 245 "internal.templateparser.y" + function yy_r41(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor . $this->yystack[$this->yyidx + -1]->minor . $this->yystack[$this->yyidx + 0]->minor; } +#line 2107 "internal.templateparser.php" +#line 247 "internal.templateparser.y" function yy_r42(){ $this->_retvalue = '('. $this->yystack[$this->yyidx + -2]->minor . ').(' . $this->yystack[$this->yyidx + 0]->minor. ')'; } -#line 2136 "internal.templateparser.php" -#line 265 "internal.templateparser.y" +#line 2110 "internal.templateparser.php" +#line 267 "internal.templateparser.y" function yy_r48(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2139 "internal.templateparser.php" -#line 273 "internal.templateparser.y" - function yy_r52(){ $this->_retvalue = "(". $this->yystack[$this->yyidx + -1]->minor .")"; } -#line 2142 "internal.templateparser.php" +#line 2113 "internal.templateparser.php" #line 275 "internal.templateparser.y" + function yy_r52(){ $this->_retvalue = "(". $this->yystack[$this->yyidx + -1]->minor .")"; } +#line 2116 "internal.templateparser.php" +#line 277 "internal.templateparser.y" function yy_r53(){ $this->_retvalue = "'".$this->yystack[$this->yyidx + -1]->minor."'"; } -#line 2145 "internal.templateparser.php" -#line 276 "internal.templateparser.y" - function yy_r54(){ $this->_retvalue = "''"; } -#line 2148 "internal.templateparser.php" +#line 2119 "internal.templateparser.php" #line 278 "internal.templateparser.y" + function yy_r54(){ $this->_retvalue = "''"; } +#line 2122 "internal.templateparser.php" +#line 280 "internal.templateparser.y" function yy_r55(){ $this->_retvalue = '"'.$this->yystack[$this->yyidx + -1]->minor.'"'; } -#line 2151 "internal.templateparser.php" -#line 281 "internal.templateparser.y" +#line 2125 "internal.templateparser.php" +#line 283 "internal.templateparser.y" function yy_r57(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'::'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2154 "internal.templateparser.php" -#line 282 "internal.templateparser.y" - function yy_r58(){ $this->prefix_number++; $this->prefix_code[] = 'prefix_number.'=$_smarty_tpl->getVariable(\''. $this->yystack[$this->yyidx + -3]->minor .'\')->value;?>'; $this->_retvalue = $this->yystack[$this->yyidx + -6]->minor.'::$_tmp'.$this->prefix_number.'('. $this->yystack[$this->yyidx + -1]->minor .')'; } -#line 2157 "internal.templateparser.php" +#line 2128 "internal.templateparser.php" #line 284 "internal.templateparser.y" + function yy_r58(){ $this->prefix_number++; $this->prefix_code[] = 'prefix_number.'=$_smarty_tpl->getVariable(\''. $this->yystack[$this->yyidx + -3]->minor .'\')->value;?>'; $this->_retvalue = $this->yystack[$this->yyidx + -6]->minor.'::$_tmp'.$this->prefix_number.'('. $this->yystack[$this->yyidx + -1]->minor .')'; } +#line 2131 "internal.templateparser.php" +#line 286 "internal.templateparser.y" function yy_r59(){ $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor.'::'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -#line 2160 "internal.templateparser.php" -#line 285 "internal.templateparser.y" - function yy_r60(){ $this->prefix_number++; $this->prefix_code[] = 'prefix_number.'=$_smarty_tpl->getVariable(\''. $this->yystack[$this->yyidx + -4]->minor .'\')->value;?>'; $this->_retvalue = $this->yystack[$this->yyidx + -7]->minor.'::$_tmp'.$this->prefix_number.'('. $this->yystack[$this->yyidx + -2]->minor .')'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2163 "internal.templateparser.php" +#line 2134 "internal.templateparser.php" #line 287 "internal.templateparser.y" - function yy_r61(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'::'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2166 "internal.templateparser.php" + function yy_r60(){ $this->prefix_number++; $this->prefix_code[] = 'prefix_number.'=$_smarty_tpl->getVariable(\''. $this->yystack[$this->yyidx + -4]->minor .'\')->value;?>'; $this->_retvalue = $this->yystack[$this->yyidx + -7]->minor.'::$_tmp'.$this->prefix_number.'('. $this->yystack[$this->yyidx + -2]->minor .')'.$this->yystack[$this->yyidx + 0]->minor; } +#line 2137 "internal.templateparser.php" #line 289 "internal.templateparser.y" - function yy_r62(){ $this->_retvalue = $this->yystack[$this->yyidx + -4]->minor.'::$'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -#line 2169 "internal.templateparser.php" + function yy_r61(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'::'.$this->yystack[$this->yyidx + 0]->minor; } +#line 2140 "internal.templateparser.php" #line 291 "internal.templateparser.y" - function yy_r63(){ $this->_retvalue = $this->yystack[$this->yyidx + -5]->minor.'::$'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -#line 2172 "internal.templateparser.php" + function yy_r62(){ $this->_retvalue = $this->yystack[$this->yyidx + -4]->minor.'::$'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } +#line 2143 "internal.templateparser.php" #line 293 "internal.templateparser.y" + function yy_r63(){ $this->_retvalue = $this->yystack[$this->yyidx + -5]->minor.'::$'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } +#line 2146 "internal.templateparser.php" +#line 295 "internal.templateparser.y" function yy_r64(){ $this->prefix_number++; $this->prefix_code[] = ''.$this->yystack[$this->yyidx + 0]->minor.'prefix_number.'=ob_get_clean();?>'; $this->_retvalue = '$_tmp'.$this->prefix_number; } -#line 2175 "internal.templateparser.php" -#line 299 "internal.templateparser.y" +#line 2149 "internal.templateparser.php" +#line 301 "internal.templateparser.y" function yy_r65(){if ($this->yystack[$this->yyidx + 0]->minor['var'] == '\'smarty\'') { $this->_retvalue = $this->compiler->compileTag('internal_smarty_var',$this->yystack[$this->yyidx + 0]->minor['index']);} else { $this->_retvalue = '$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + 0]->minor['var'] .')->value'.$this->yystack[$this->yyidx + 0]->minor['index']; $this->nocache=$this->template->getVariable(trim($this->yystack[$this->yyidx + 0]->minor['var'],"'"))->nocache;} } -#line 2179 "internal.templateparser.php" -#line 302 "internal.templateparser.y" +#line 2153 "internal.templateparser.php" +#line 304 "internal.templateparser.y" function yy_r66(){ $this->_retvalue = '$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + -2]->minor .')->'.$this->yystack[$this->yyidx + 0]->minor; $this->nocache=$this->template->getVariable(trim($this->yystack[$this->yyidx + -2]->minor,"'"))->nocache; } -#line 2182 "internal.templateparser.php" -#line 306 "internal.templateparser.y" +#line 2156 "internal.templateparser.php" +#line 308 "internal.templateparser.y" function yy_r68(){$this->_retvalue = '$_smarty_tpl->getConfigVariable(\''. $this->yystack[$this->yyidx + -1]->minor .'\')'; } -#line 2185 "internal.templateparser.php" -#line 307 "internal.templateparser.y" +#line 2159 "internal.templateparser.php" +#line 309 "internal.templateparser.y" function yy_r69(){$this->_retvalue = '$_smarty_tpl->getConfigVariable('. $this->yystack[$this->yyidx + -1]->minor .')'; } -#line 2188 "internal.templateparser.php" -#line 310 "internal.templateparser.y" +#line 2162 "internal.templateparser.php" +#line 312 "internal.templateparser.y" function yy_r70(){$this->_retvalue = array('var'=>$this->yystack[$this->yyidx + -1]->minor, 'index'=>$this->yystack[$this->yyidx + 0]->minor); } -#line 2191 "internal.templateparser.php" -#line 318 "internal.templateparser.y" +#line 2165 "internal.templateparser.php" +#line 320 "internal.templateparser.y" function yy_r72(){return; } -#line 2194 "internal.templateparser.php" -#line 322 "internal.templateparser.y" - function yy_r73(){ $this->_retvalue = "['". $this->yystack[$this->yyidx + 0]->minor ."']"; } -#line 2197 "internal.templateparser.php" -#line 323 "internal.templateparser.y" - function yy_r74(){ $this->_retvalue = "[". $this->yystack[$this->yyidx + 0]->minor ."]"; } -#line 2200 "internal.templateparser.php" +#line 2168 "internal.templateparser.php" #line 324 "internal.templateparser.y" - function yy_r75(){ $this->_retvalue = "[".$this->yystack[$this->yyidx + 0]->minor."]"; } -#line 2203 "internal.templateparser.php" + function yy_r73(){ $this->_retvalue = "['". $this->yystack[$this->yyidx + 0]->minor ."']"; } +#line 2171 "internal.templateparser.php" #line 325 "internal.templateparser.y" - function yy_r76(){ $this->_retvalue = "[". $this->yystack[$this->yyidx + -1]->minor ."]"; } -#line 2206 "internal.templateparser.php" + function yy_r74(){ $this->_retvalue = "[". $this->yystack[$this->yyidx + 0]->minor ."]"; } +#line 2174 "internal.templateparser.php" +#line 326 "internal.templateparser.y" + function yy_r75(){ $this->_retvalue = "[".$this->yystack[$this->yyidx + 0]->minor."]"; } +#line 2177 "internal.templateparser.php" #line 327 "internal.templateparser.y" + function yy_r76(){ $this->_retvalue = "[". $this->yystack[$this->yyidx + -1]->minor ."]"; } +#line 2180 "internal.templateparser.php" +#line 329 "internal.templateparser.y" function yy_r77(){ $this->_retvalue = '['.$this->compiler->compileTag('internal_smarty_var','[\'section\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\'][\'index\']').']'; } -#line 2209 "internal.templateparser.php" -#line 328 "internal.templateparser.y" +#line 2183 "internal.templateparser.php" +#line 330 "internal.templateparser.y" function yy_r78(){ $this->_retvalue = '['.$this->compiler->compileTag('internal_smarty_var','[\'section\'][\''.$this->yystack[$this->yyidx + -3]->minor.'\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\']').']'; } -#line 2212 "internal.templateparser.php" -#line 332 "internal.templateparser.y" +#line 2186 "internal.templateparser.php" +#line 334 "internal.templateparser.y" function yy_r80(){$this->_retvalue = ''; } -#line 2215 "internal.templateparser.php" -#line 340 "internal.templateparser.y" - function yy_r82(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2218 "internal.templateparser.php" +#line 2189 "internal.templateparser.php" #line 342 "internal.templateparser.y" - function yy_r83(){$this->_retvalue = '\''.$this->yystack[$this->yyidx + 0]->minor.'\''; } -#line 2221 "internal.templateparser.php" + function yy_r82(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor; } +#line 2192 "internal.templateparser.php" #line 344 "internal.templateparser.y" + function yy_r83(){$this->_retvalue = '\''.$this->yystack[$this->yyidx + 0]->minor.'\''; } +#line 2195 "internal.templateparser.php" +#line 346 "internal.templateparser.y" function yy_r84(){$this->_retvalue = '('.$this->yystack[$this->yyidx + -1]->minor.')'; } -#line 2224 "internal.templateparser.php" -#line 349 "internal.templateparser.y" +#line 2198 "internal.templateparser.php" +#line 351 "internal.templateparser.y" function yy_r85(){ if ($this->yystack[$this->yyidx + -1]->minor['var'] == '\'smarty\'') { $this->_retvalue = $this->compiler->compileTag('internal_smarty_var',$this->yystack[$this->yyidx + -1]->minor['index']).$this->yystack[$this->yyidx + 0]->minor;} else { $this->_retvalue = '$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + -1]->minor['var'] .')->value'.$this->yystack[$this->yyidx + -1]->minor['index'].$this->yystack[$this->yyidx + 0]->minor; $this->nocache=$this->template->getVariable(trim($this->yystack[$this->yyidx + -1]->minor['var'],"'"))->nocache;} } -#line 2228 "internal.templateparser.php" -#line 352 "internal.templateparser.y" - function yy_r86(){$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } -#line 2231 "internal.templateparser.php" +#line 2202 "internal.templateparser.php" #line 354 "internal.templateparser.y" - function yy_r87(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -#line 2234 "internal.templateparser.php" + function yy_r86(){$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } +#line 2205 "internal.templateparser.php" #line 356 "internal.templateparser.y" - function yy_r88(){ $this->_retvalue = '->'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -#line 2237 "internal.templateparser.php" -#line 357 "internal.templateparser.y" - function yy_r89(){ $this->_retvalue = '->{'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor.'}'; } -#line 2240 "internal.templateparser.php" + function yy_r87(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } +#line 2208 "internal.templateparser.php" #line 358 "internal.templateparser.y" - function yy_r90(){ $this->_retvalue = '->{'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + 0]->minor.'}'; } -#line 2243 "internal.templateparser.php" + function yy_r88(){ $this->_retvalue = '->'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } +#line 2211 "internal.templateparser.php" #line 359 "internal.templateparser.y" - function yy_r91(){ $this->_retvalue = '->{\''.$this->yystack[$this->yyidx + -4]->minor.'\'.'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + 0]->minor.'}'; } -#line 2246 "internal.templateparser.php" + function yy_r89(){ $this->_retvalue = '->{'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor.'}'; } +#line 2214 "internal.templateparser.php" +#line 360 "internal.templateparser.y" + function yy_r90(){ $this->_retvalue = '->{'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + 0]->minor.'}'; } +#line 2217 "internal.templateparser.php" #line 361 "internal.templateparser.y" + function yy_r91(){ $this->_retvalue = '->{\''.$this->yystack[$this->yyidx + -4]->minor.'\'.'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + 0]->minor.'}'; } +#line 2220 "internal.templateparser.php" +#line 363 "internal.templateparser.y" function yy_r92(){ $this->_retvalue = '->'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2249 "internal.templateparser.php" -#line 367 "internal.templateparser.y" +#line 2223 "internal.templateparser.php" +#line 369 "internal.templateparser.y" function yy_r93(){if (!$this->template->security || $this->smarty->security_handler->isTrustedPhpFunction($this->yystack[$this->yyidx + -3]->minor, $this->compiler)) { if ($this->yystack[$this->yyidx + -3]->minor == 'isset' || $this->yystack[$this->yyidx + -3]->minor == 'empty' || $this->yystack[$this->yyidx + -3]->minor == 'array' || is_callable($this->yystack[$this->yyidx + -3]->minor)) { $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor . "(". $this->yystack[$this->yyidx + -1]->minor .")"; @@ -2250,133 +2224,133 @@ static public $yy_action = array( $this->compiler->trigger_template_error ("unknown function \"" . $this->yystack[$this->yyidx + -3]->minor . "\""); } } } -#line 2258 "internal.templateparser.php" -#line 378 "internal.templateparser.y" +#line 2232 "internal.templateparser.php" +#line 380 "internal.templateparser.y" function yy_r94(){ $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor . "(". $this->yystack[$this->yyidx + -1]->minor .")"; } -#line 2261 "internal.templateparser.php" -#line 382 "internal.templateparser.y" +#line 2235 "internal.templateparser.php" +#line 384 "internal.templateparser.y" function yy_r95(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.",".$this->yystack[$this->yyidx + 0]->minor; } -#line 2264 "internal.templateparser.php" -#line 386 "internal.templateparser.y" +#line 2238 "internal.templateparser.php" +#line 388 "internal.templateparser.y" function yy_r97(){ return; } -#line 2267 "internal.templateparser.php" -#line 391 "internal.templateparser.y" +#line 2241 "internal.templateparser.php" +#line 393 "internal.templateparser.y" function yy_r98(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor,'false'); } -#line 2270 "internal.templateparser.php" -#line 392 "internal.templateparser.y" +#line 2244 "internal.templateparser.php" +#line 394 "internal.templateparser.y" function yy_r99(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor,'true'); } -#line 2273 "internal.templateparser.php" -#line 399 "internal.templateparser.y" +#line 2247 "internal.templateparser.php" +#line 401 "internal.templateparser.y" function yy_r100(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -#line 2276 "internal.templateparser.php" -#line 403 "internal.templateparser.y" +#line 2250 "internal.templateparser.php" +#line 405 "internal.templateparser.y" function yy_r102(){$this->_retvalue = ','.$this->yystack[$this->yyidx + 0]->minor; } -#line 2279 "internal.templateparser.php" -#line 404 "internal.templateparser.y" +#line 2253 "internal.templateparser.php" +#line 406 "internal.templateparser.y" function yy_r103(){$this->_retvalue = ',\''.$this->yystack[$this->yyidx + 0]->minor.'\''; } -#line 2282 "internal.templateparser.php" -#line 411 "internal.templateparser.y" +#line 2256 "internal.templateparser.php" +#line 413 "internal.templateparser.y" function yy_r105(){$this->_retvalue = '!'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2285 "internal.templateparser.php" -#line 416 "internal.templateparser.y" - function yy_r107(){$this->_retvalue =$this->yystack[$this->yyidx + 0]->minor; } -#line 2288 "internal.templateparser.php" -#line 417 "internal.templateparser.y" - function yy_r108(){$this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -#line 2291 "internal.templateparser.php" +#line 2259 "internal.templateparser.php" #line 418 "internal.templateparser.y" - function yy_r109(){$this->_retvalue = 'in_array('.$this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor.')'; } -#line 2294 "internal.templateparser.php" + function yy_r107(){$this->_retvalue =$this->yystack[$this->yyidx + 0]->minor; } +#line 2262 "internal.templateparser.php" #line 419 "internal.templateparser.y" - function yy_r110(){$this->_retvalue = 'in_array('.$this->yystack[$this->yyidx + -2]->minor.',(array)'.$this->yystack[$this->yyidx + 0]->minor.')'; } -#line 2297 "internal.templateparser.php" + function yy_r108(){$this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } +#line 2265 "internal.templateparser.php" +#line 420 "internal.templateparser.y" + function yy_r109(){$this->_retvalue = 'in_array('.$this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor.')'; } +#line 2268 "internal.templateparser.php" #line 421 "internal.templateparser.y" - function yy_r112(){$this->_retvalue = '!('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')'; } -#line 2300 "internal.templateparser.php" -#line 422 "internal.templateparser.y" - function yy_r113(){$this->_retvalue = '('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')'; } -#line 2303 "internal.templateparser.php" + function yy_r110(){$this->_retvalue = 'in_array('.$this->yystack[$this->yyidx + -2]->minor.',(array)'.$this->yystack[$this->yyidx + 0]->minor.')'; } +#line 2271 "internal.templateparser.php" #line 423 "internal.templateparser.y" - function yy_r114(){$this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -1]->minor.')'; } -#line 2306 "internal.templateparser.php" + function yy_r112(){$this->_retvalue = '!('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')'; } +#line 2274 "internal.templateparser.php" #line 424 "internal.templateparser.y" - function yy_r115(){$this->_retvalue = '(1 & '.$this->yystack[$this->yyidx + -1]->minor.')'; } -#line 2309 "internal.templateparser.php" + function yy_r113(){$this->_retvalue = '('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')'; } +#line 2277 "internal.templateparser.php" #line 425 "internal.templateparser.y" - function yy_r116(){$this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -2]->minor.' / '.$this->yystack[$this->yyidx + 0]->minor.')'; } -#line 2312 "internal.templateparser.php" + function yy_r114(){$this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -1]->minor.')'; } +#line 2280 "internal.templateparser.php" #line 426 "internal.templateparser.y" + function yy_r115(){$this->_retvalue = '(1 & '.$this->yystack[$this->yyidx + -1]->minor.')'; } +#line 2283 "internal.templateparser.php" +#line 427 "internal.templateparser.y" + function yy_r116(){$this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -2]->minor.' / '.$this->yystack[$this->yyidx + 0]->minor.')'; } +#line 2286 "internal.templateparser.php" +#line 428 "internal.templateparser.y" function yy_r117(){$this->_retvalue = '(1 & '.$this->yystack[$this->yyidx + -2]->minor.' / '.$this->yystack[$this->yyidx + 0]->minor.')'; } -#line 2315 "internal.templateparser.php" -#line 432 "internal.templateparser.y" - function yy_r122(){$this->_retvalue = '=='; } -#line 2318 "internal.templateparser.php" -#line 433 "internal.templateparser.y" - function yy_r123(){$this->_retvalue = '!='; } -#line 2321 "internal.templateparser.php" +#line 2289 "internal.templateparser.php" #line 434 "internal.templateparser.y" - function yy_r124(){$this->_retvalue = '>'; } -#line 2324 "internal.templateparser.php" + function yy_r122(){$this->_retvalue = '=='; } +#line 2292 "internal.templateparser.php" #line 435 "internal.templateparser.y" - function yy_r125(){$this->_retvalue = '<'; } -#line 2327 "internal.templateparser.php" + function yy_r123(){$this->_retvalue = '!='; } +#line 2295 "internal.templateparser.php" #line 436 "internal.templateparser.y" - function yy_r126(){$this->_retvalue = '>='; } -#line 2330 "internal.templateparser.php" + function yy_r124(){$this->_retvalue = '>'; } +#line 2298 "internal.templateparser.php" #line 437 "internal.templateparser.y" - function yy_r127(){$this->_retvalue = '<='; } -#line 2333 "internal.templateparser.php" + function yy_r125(){$this->_retvalue = '<'; } +#line 2301 "internal.templateparser.php" #line 438 "internal.templateparser.y" - function yy_r128(){$this->_retvalue = '==='; } -#line 2336 "internal.templateparser.php" + function yy_r126(){$this->_retvalue = '>='; } +#line 2304 "internal.templateparser.php" #line 439 "internal.templateparser.y" - function yy_r129(){$this->_retvalue = '!=='; } -#line 2339 "internal.templateparser.php" + function yy_r127(){$this->_retvalue = '<='; } +#line 2307 "internal.templateparser.php" +#line 440 "internal.templateparser.y" + function yy_r128(){$this->_retvalue = '==='; } +#line 2310 "internal.templateparser.php" #line 441 "internal.templateparser.y" - function yy_r130(){$this->_retvalue = '&&'; } -#line 2342 "internal.templateparser.php" -#line 442 "internal.templateparser.y" - function yy_r131(){$this->_retvalue = '||'; } -#line 2345 "internal.templateparser.php" + function yy_r129(){$this->_retvalue = '!=='; } +#line 2313 "internal.templateparser.php" #line 443 "internal.templateparser.y" + function yy_r130(){$this->_retvalue = '&&'; } +#line 2316 "internal.templateparser.php" +#line 444 "internal.templateparser.y" + function yy_r131(){$this->_retvalue = '||'; } +#line 2319 "internal.templateparser.php" +#line 445 "internal.templateparser.y" function yy_r132(){$this->_retvalue = ' XOR '; } -#line 2348 "internal.templateparser.php" -#line 448 "internal.templateparser.y" - function yy_r133(){ $this->_retvalue = 'array('.$this->yystack[$this->yyidx + -1]->minor.')'; } -#line 2351 "internal.templateparser.php" +#line 2322 "internal.templateparser.php" #line 450 "internal.templateparser.y" - function yy_r135(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor; } -#line 2354 "internal.templateparser.php" -#line 451 "internal.templateparser.y" - function yy_r136(){ return; } -#line 2357 "internal.templateparser.php" + function yy_r133(){ $this->_retvalue = 'array('.$this->yystack[$this->yyidx + -1]->minor.')'; } +#line 2325 "internal.templateparser.php" #line 452 "internal.templateparser.y" - function yy_r137(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'=>'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2360 "internal.templateparser.php" + function yy_r135(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor; } +#line 2328 "internal.templateparser.php" #line 453 "internal.templateparser.y" + function yy_r136(){ return; } +#line 2331 "internal.templateparser.php" +#line 454 "internal.templateparser.y" + function yy_r137(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'=>'.$this->yystack[$this->yyidx + 0]->minor; } +#line 2334 "internal.templateparser.php" +#line 455 "internal.templateparser.y" function yy_r138(){ $this->_retvalue = '\''.$this->yystack[$this->yyidx + -2]->minor.'\'=>'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2363 "internal.templateparser.php" -#line 461 "internal.templateparser.y" - function yy_r142(){$this->_retvalue = "`".$this->yystack[$this->yyidx + -1]->minor."`"; } -#line 2366 "internal.templateparser.php" -#line 462 "internal.templateparser.y" - function yy_r143(){$this->_retvalue = '".'.$this->yystack[$this->yyidx + -1]->minor.'."'; } -#line 2369 "internal.templateparser.php" +#line 2337 "internal.templateparser.php" #line 463 "internal.templateparser.y" - function yy_r144(){$this->_retvalue = '".'.'$_smarty_tpl->getVariable(\''. $this->yystack[$this->yyidx + 0]->minor .'\')->value'.'."'; $this->nocache=$this->template->getVariable(trim($this->yystack[$this->yyidx + 0]->minor,"'"))->nocache; } -#line 2372 "internal.templateparser.php" + function yy_r142(){$this->_retvalue = "`".$this->yystack[$this->yyidx + -1]->minor."`"; } +#line 2340 "internal.templateparser.php" #line 464 "internal.templateparser.y" - function yy_r145(){preg_match('/\s*/',$this->yystack[$this->yyidx + -2]->minor,$s); $this->_retvalue = $s[0].'".('.$this->yystack[$this->yyidx + -1]->minor.')."'; } -#line 2375 "internal.templateparser.php" + function yy_r143(){$this->_retvalue = '".'.$this->yystack[$this->yyidx + -1]->minor.'."'; } +#line 2343 "internal.templateparser.php" #line 465 "internal.templateparser.y" - function yy_r146(){ $this->prefix_number++; $this->prefix_code[] = ''.$this->yystack[$this->yyidx + 0]->minor.'prefix_number.'=ob_get_clean();?>'; $this->_retvalue = '".$_tmp'.$this->prefix_number.'."'; } -#line 2378 "internal.templateparser.php" + function yy_r144(){$this->_retvalue = '".'.'$_smarty_tpl->getVariable(\''. $this->yystack[$this->yyidx + 0]->minor .'\')->value'.'."'; $this->nocache=$this->template->getVariable(trim($this->yystack[$this->yyidx + 0]->minor,"'"))->nocache; } +#line 2346 "internal.templateparser.php" #line 466 "internal.templateparser.y" - function yy_r147(){$this->_retvalue = '$'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2381 "internal.templateparser.php" + function yy_r145(){preg_match('/\s*/',$this->yystack[$this->yyidx + -2]->minor,$s); $this->_retvalue = $s[0].'".('.$this->yystack[$this->yyidx + -1]->minor.')."'; } +#line 2349 "internal.templateparser.php" +#line 467 "internal.templateparser.y" + function yy_r146(){ $this->prefix_number++; $this->prefix_code[] = ''.$this->yystack[$this->yyidx + 0]->minor.'prefix_number.'=ob_get_clean();?>'; $this->_retvalue = '".$_tmp'.$this->prefix_number.'."'; } +#line 2352 "internal.templateparser.php" #line 468 "internal.templateparser.y" + function yy_r147(){$this->_retvalue = '$'.$this->yystack[$this->yyidx + 0]->minor; } +#line 2355 "internal.templateparser.php" +#line 470 "internal.templateparser.y" function yy_r149(){$this->_retvalue = '`'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2384 "internal.templateparser.php" +#line 2358 "internal.templateparser.php" /** * placeholder for the left hand side in a reduce operation. @@ -2493,7 +2467,7 @@ static public $yy_action = array( $this->internalError = true; $this->yymajor = $yymajor; $this->compiler->trigger_template_error(); -#line 2502 "internal.templateparser.php" +#line 2476 "internal.templateparser.php" } /** @@ -2517,7 +2491,7 @@ static public $yy_action = array( $this->internalError = false; $this->retvalue = $this->_retvalue; //echo $this->retvalue."\n\n"; -#line 2527 "internal.templateparser.php" +#line 2501 "internal.templateparser.php" } /** diff --git a/libs/sysplugins/method._get_filter_name.php b/libs/sysplugins/method._get_filter_name.php new file mode 100644 index 00000000..bfde37cc --- /dev/null +++ b/libs/sysplugins/method._get_filter_name.php @@ -0,0 +1,31 @@ + diff --git a/libs/sysplugins/method.register_outputfilter.php b/libs/sysplugins/method.register_outputfilter.php index 42159df8..f6bfd73f 100644 --- a/libs/sysplugins/method.register_outputfilter.php +++ b/libs/sysplugins/method.register_outputfilter.php @@ -19,8 +19,7 @@ */ function register_outputfilter($smarty, $function) { - $_name = (is_array($function)) ? $function[0] : $function; - $smarty->registered_filters['output'][$_name] = $function; + $smarty->registered_filters['output'][$smarty->_get_filter_name($function)] = $function; } ?> diff --git a/libs/sysplugins/method.register_postfilter.php b/libs/sysplugins/method.register_postfilter.php index 1a81a3a2..fe3aaef8 100644 --- a/libs/sysplugins/method.register_postfilter.php +++ b/libs/sysplugins/method.register_postfilter.php @@ -19,8 +19,7 @@ */ function register_postfilter($smarty, $function) { - $_name = (is_array($function)) ? $function[0] : $function; - $smarty->registered_filters['post'][$_name] = $function; + $smarty->registered_filters['post'][$smarty->_get_filter_name($function)] = $function; } ?> diff --git a/libs/sysplugins/method.register_prefilter.php b/libs/sysplugins/method.register_prefilter.php index 9b2d7f1a..073e75fe 100644 --- a/libs/sysplugins/method.register_prefilter.php +++ b/libs/sysplugins/method.register_prefilter.php @@ -19,8 +19,7 @@ */ function register_prefilter($smarty, $function) { - $_name = (is_array($function)) ? $function[0] : $function; - $smarty->registered_filters['pre'][$_name] = $function; + $smarty->registered_filters['pre'][$smarty->_get_filter_name($function)] = $function; } ?> diff --git a/libs/sysplugins/method.register_variablefilter.php b/libs/sysplugins/method.register_variablefilter.php index 9b0cc35c..3dd4689d 100644 --- a/libs/sysplugins/method.register_variablefilter.php +++ b/libs/sysplugins/method.register_variablefilter.php @@ -19,8 +19,7 @@ */ function register_variablefilter($smarty, $function) { - $_name = (is_array($function)) ? $function[0] : $function; - $smarty->registered_filters['variable'][$_name] = $function; + $smarty->registered_filters['variable'][$smarty->_get_filter_name($function)] = $function; } ?> diff --git a/libs/sysplugins/method.unregister_outputfilter.php b/libs/sysplugins/method.unregister_outputfilter.php index 2fb310fc..c43a2d51 100644 --- a/libs/sysplugins/method.unregister_outputfilter.php +++ b/libs/sysplugins/method.unregister_outputfilter.php @@ -22,8 +22,7 @@ */ function unregister_outputfilter($smarty, $function) { - $_name = (is_array($function)) ? $function[0] : $function; - unset($smarty->registered_filters['output'][$_name]); + unset($smarty->registered_filters['output'][$smarty->_get_filter_name($function)]); } ?> diff --git a/libs/sysplugins/method.unregister_postfilter.php b/libs/sysplugins/method.unregister_postfilter.php index 5dbfc5a1..91677d94 100644 --- a/libs/sysplugins/method.unregister_postfilter.php +++ b/libs/sysplugins/method.unregister_postfilter.php @@ -21,8 +21,7 @@ */ function unregister_postfilter($smarty, $function) { - $_name = (is_array($function)) ? $function[0] : $function; - unset($smarty->registered_filters['post'][$_name]); + unset($smarty->registered_filters['post'][$smarty->_get_filter_name($function)]); } ?> diff --git a/libs/sysplugins/method.unregister_prefilter.php b/libs/sysplugins/method.unregister_prefilter.php index e643784c..cc54121c 100644 --- a/libs/sysplugins/method.unregister_prefilter.php +++ b/libs/sysplugins/method.unregister_prefilter.php @@ -21,8 +21,7 @@ */ function unregister_prefilter($smarty, $function) { - $_name = (is_array($function)) ? $function[0] : $function; - unset($smarty->registered_filters['pre'][$_name]); + unset($smarty->registered_filters['pre'][$smarty->_get_filter_name($function)]); } ?> diff --git a/libs/sysplugins/method.unregister_variablefilter.php b/libs/sysplugins/method.unregister_variablefilter.php index b7981aa3..0a3ecc5f 100644 --- a/libs/sysplugins/method.unregister_variablefilter.php +++ b/libs/sysplugins/method.unregister_variablefilter.php @@ -21,8 +21,7 @@ */ function unregister_variablefilter($smarty, $function) { - $_name = (is_array($function)) ? $function[0] : $function; - unset($smarty->registered_filters['variable'][$_name]); + unset($smarty->registered_filters['variable'][$smarty->_get_filter_name($function)]); } ?>