diff --git a/change_log.txt b/change_log.txt index 6f25b365..59c115b3 100644 --- a/change_log.txt +++ b/change_log.txt @@ -1,3 +1,9 @@ +05/05/2009 +- fixed E_STRICT incompabilities +- {function} tag bug fix +- security policy definitions have been moved from plugins folder to file Security.class.php in libs folder +- added allow_super_global configuration to security + 04/30/2009 - functions defined with the {function} tag now always have global scope diff --git a/libs/plugins/securitypolicy.default.php b/libs/Security.class.php similarity index 90% rename from libs/plugins/securitypolicy.default.php rename to libs/Security.class.php index 9b85d2b1..bb930622 100644 --- a/libs/plugins/securitypolicy.default.php +++ b/libs/Security.class.php @@ -3,7 +3,7 @@ * Smarty plugin * * @package Smarty -* @subpackage PluginsConfiguration +* @subpackage Security * @author Uwe Tews */ define('SMARTY_PHP_PASSTHRU', 0); @@ -78,6 +78,10 @@ class Smarty_Security_Policy { + flag if constants can be accessed from template */ public $allow_constants = true; + /** + + flag if super globals can be accessed from template + */ + public $allow_super_globals = true; } ?> diff --git a/libs/Smarty.class.php b/libs/Smarty.class.php index bf53c660..cdd5a908 100644 --- a/libs/Smarty.class.php +++ b/libs/Smarty.class.php @@ -64,7 +64,7 @@ require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'sysplugins' . DIRECTORY_ */ class Smarty extends Smarty_Internal_TemplateBase { // smarty version - static $_version = 'Smarty3Alpha'; + public static $_version = 'Smarty3Alpha'; // class used for templates public $template_class = 'Smarty_Internal_Template'; // display error on not assigned variabled @@ -114,11 +114,11 @@ class Smarty extends Smarty_Internal_TemplateBase { public $debug_tpl = null; public $request_use_auto_globals = true; // When set, smarty does uses this value as error_reporting-level. - public $error_reporting = null; + public $error_reporting = null; // config var settings public $config_overwrite = true; //Controls whether variables with the same name overwrite each other. public $config_booleanize = true; //Controls whether config values of on/true/yes and off/false/no get converted to boolean - public $config_read_hidden = true; //Controls whether hidden config sections/vars are read from the file. + public $config_read_hidden = true; //Controls whether hidden config sections/vars are read from the file. // config vars public $config_vars = array(); // assigned tpl vars @@ -126,7 +126,7 @@ class Smarty extends Smarty_Internal_TemplateBase { // assigned global tpl vars public $global_tpl_vars = array(); // dummy parent object - public $parent = null; + public $parent = null; // global template functions public $template_functions = null; // system plugins directory @@ -146,7 +146,7 @@ class Smarty extends Smarty_Internal_TemplateBase { // exception handler: set null to disable public $exception_handler = array('SmartyException', 'getStaticException'); // cached template objects - static $template_objects = null; + public $template_objects = null; // check If-Modified-Since headers public $cache_modified_check = false; // registered plugins @@ -255,7 +255,6 @@ class Smarty extends Smarty_Internal_TemplateBase { * Sets a static instance of the smarty object. Retrieve with: * $smarty = Smarty::instance(); * - * @param object $new_instance the Smarty object when setting * @return object reference to Smarty object */ public static function &instance($new_instance = null) @@ -335,9 +334,13 @@ class Smarty extends Smarty_Internal_TemplateBase { * * @param string $security_policy plugin to load */ - public function enableSecurity($security_policy = 'Smarty_SecurityPolicy_Default') + public function enableSecurity($security_policy_file = null) { - if ($this->loadPlugin($security_policy)) { + if (!isset($security_policy_file)) { + $security_policy_file = SMARTY_DIR . 'Security.class.php'; + } + if (file_exists($security_policy_file)) { + require_once($security_policy_file); if (!class_exists('Smarty_Security_Policy')) { throw new Exception("Security policy must define class 'Smarty_Security_Policy'"); } @@ -346,7 +349,7 @@ class Smarty extends Smarty_Internal_TemplateBase { $this->security_handler = new Smarty_Internal_Security_Handler(); $this->security = true; } else { - throw new Exception("Security policy {$security_policy} not found"); + throw new Exception("Security policy {$security_policy_file} not found"); } } @@ -427,28 +430,28 @@ class Smarty extends Smarty_Internal_TemplateBase { return true; // Plugin name is expected to be: Smarty_[Type]_[Name] $plugin_name = strtolower($plugin_name); - $name_parts = explode('_', $plugin_name, 3); + $_name_parts = explode('_', $plugin_name, 3); // class name must have three parts to be valid plugin - if (count($name_parts) < 3 || $name_parts[0] !== 'smarty') { + if (count($_name_parts) < 3 || $_name_parts[0] !== 'smarty') { throw new Exception("plugin {$plugin_name} is not a valid name format"); return false; } // plugin filename is expected to be: [type].[name].php - $plugin_filename = "{$name_parts[1]}.{$name_parts[2]}{$this->php_ext}"; + $_plugin_filename = "{$_name_parts[1]}.{$_name_parts[2]}{$this->php_ext}"; // if type is "internal", get plugin from sysplugins - if ($name_parts[1] == 'internal') { - if (file_exists($this->sysplugins_dir . $plugin_filename)) { - require_once($this->sysplugins_dir . $plugin_filename); + if ($_name_parts[1] == 'internal') { + if (file_exists($this->sysplugins_dir . $_plugin_filename)) { + require_once($this->sysplugins_dir . $_plugin_filename); return true; } else { return false; } } // loop through plugin dirs and find the plugin - foreach((array)$this->plugins_dir as $plugin_dir) { - if (file_exists($plugin_dir . $plugin_filename)) { - require_once($plugin_dir . $plugin_filename); - return true; + foreach((array)$this->plugins_dir as $_plugin_dir) { + if (file_exists($_plugin_dir . $_plugin_filename)) { + require_once($_plugin_dir . $_plugin_filename); + return true; } } // no plugin loaded @@ -477,19 +480,19 @@ class Smarty extends Smarty_Internal_TemplateBase { */ public function __call($name, $args) { - $class_name = "Smarty_Method_{$name}"; - if (!class_exists($class_name, false)) { - $plugin_filename = strtolower('method.' . $name . $this->php_ext); - if (!file_exists($this->sysplugins_dir . $plugin_filename)) { - throw new Exception("Sysplugin file " . $plugin_filename . " does not exist"); + $_class_name = "Smarty_Method_{$name}"; + if (!class_exists($_class_name, false)) { + $_plugin_filename = strtolower('method.' . $name . $this->php_ext); + if (!file_exists($this->sysplugins_dir . $_plugin_filename)) { + throw new Exception("Sysplugin file " . $_plugin_filename . " does not exist"); } - require_once($this->sysplugins_dir . $plugin_filename); - if (!class_exists($class_name, false)) { - throw new Exception ("Sysplugin file " . $plugin_filename . " does not define class " . $class_name); + require_once($this->sysplugins_dir . $_plugin_filename); + if (!class_exists($_class_name, false)) { + throw new Exception ("Sysplugin file " . $_plugin_filename . " does not define class " . $_class_name); } } - $method = new $class_name; - return call_user_func_array(array($method, 'execute'), $args); + $_method_object = new $_class_name; + return call_user_func_array(array($_method_object, 'execute'), $args); } } diff --git a/libs/sysplugins/internal.compile_extend.php b/libs/sysplugins/internal.compile_extend.php index c5914e2e..6de630dd 100644 --- a/libs/sysplugins/internal.compile_extend.php +++ b/libs/sysplugins/internal.compile_extend.php @@ -35,7 +35,7 @@ class Smarty_Internal_Compile_Extend extends Smarty_Internal_CompileBase { $compiler->template->properties['file_dependency'][] = array($_template->getTemplateFilepath(), $_template->getTemplateTimestamp()); // $_old_source = preg_replace ('/' . $this->smarty->left_delimiter . 'extend\s+(?:file=)?\s*(\S+?|(["\']).+?\2)' . $this->smarty->right_delimiter . '/i', '' , $compiler->template->template_source, 1); $_old_source = $compiler->template->template_source; - $_old_source = preg_replace_callback('/(' . $this->smarty->left_delimiter . 'block(.+?)' . $this->smarty->right_delimiter . ')((?:\r?\n?)(.*?)(?:\r?\n?))(' . $this->smarty->left_delimiter . '\/block(.*?)' . $this->smarty->right_delimiter . ')/is', array('Smarty_Internal_Compile_Extend', 'saveBlockData'), $_old_source); + $_old_source = preg_replace_callback('/(' . $this->smarty->left_delimiter . 'block(.+?)' . $this->smarty->right_delimiter . ')((?:\r?\n?)(.*?)(?:\r?\n?))(' . $this->smarty->left_delimiter . '\/block(.*?)' . $this->smarty->right_delimiter . ')/is', array($this, 'saveBlockData'), $_old_source); $compiler->template->template_source = $_template->getTemplateSource(); $compiler->abort_and_recompile = true; return ' '; diff --git a/libs/sysplugins/internal.compile_foreach.php b/libs/sysplugins/internal.compile_foreach.php index be701187..207762f1 100644 --- a/libs/sysplugins/internal.compile_foreach.php +++ b/libs/sysplugins/internal.compile_foreach.php @@ -56,7 +56,6 @@ class Smarty_Internal_Compile_Foreach extends Smarty_Internal_CompileBase { $output .= " \$_smarty_tpl->tpl_vars['smarty']->value['foreach'][$name]['total'] = \$_smarty_tpl->tpl_vars[$item]->total;\n"; $output .= " \$_smarty_tpl->tpl_vars['smarty']->value['foreach'][$name]['iteration']=0;\n"; $output .= " \$_smarty_tpl->tpl_vars['smarty']->value['foreach'][$name]['index']=-1;\n"; - $output .= " \$_smarty_tpl->tpl_vars['smarty']->scope = 0;\n"; } $output .= "if (count(\$_from) > 0){\n"; $output .= " foreach (\$_from as \$_smarty_tpl->tpl_vars[$item]->key => \$_smarty_tpl->tpl_vars[$item]->value){\n"; diff --git a/libs/sysplugins/internal.compile_function.php b/libs/sysplugins/internal.compile_function.php index 9c82e396..2946395b 100644 --- a/libs/sysplugins/internal.compile_function.php +++ b/libs/sysplugins/internal.compile_function.php @@ -32,6 +32,8 @@ class Smarty_Internal_Compile_Function extends Smarty_Internal_CompileBase { foreach ($_attr as $_key => $_data) { $compiler->template->properties['function'][$_name]['parameter'][$_key] = $_data; } + // make function known for recursive calls + $this->smarty->template_functions[$_name]['compiled'] = ''; $compiler->template->extract_code = true; $compiler->template->extracted_compiled_code = ''; $compiler->template->has_code = false; diff --git a/libs/sysplugins/internal.compile_section.php b/libs/sysplugins/internal.compile_section.php index 5642f2a2..6ee852d7 100644 --- a/libs/sysplugins/internal.compile_section.php +++ b/libs/sysplugins/internal.compile_section.php @@ -34,7 +34,6 @@ class Smarty_Internal_Compile_Section extends Smarty_Internal_CompileBase { $section_name = $_attr['name']; $output .= "unset(\$_smarty_tpl->tpl_vars['smarty']->value['section'][$section_name]);\n"; - $output .= "\$_smarty_tpl->tpl_vars['smarty']->scope = 0;\n"; $section_props = "\$_smarty_tpl->tpl_vars['smarty']->value['section'][$section_name]"; foreach ($_attr as $attr_name => $attr_value) { diff --git a/libs/sysplugins/internal.debug.php b/libs/sysplugins/internal.debug.php index 2143f0ef..c432eee9 100644 --- a/libs/sysplugins/internal.debug.php +++ b/libs/sysplugins/internal.debug.php @@ -16,16 +16,16 @@ class Smarty_Internal_Debug extends Smarty_Internal_TemplateBase { /** * Opens a window for the Smarty Debugging Consol and display the data */ - public function display_debug() + public static function display_debug() { - $this->smarty = Smarty::instance(); + $smarty = Smarty::instance(); // get template names $i = 0; $_template_data = array(); - if (is_array(Smarty::$template_objects)) { - foreach (Smarty::$template_objects as $_template_obj) { + if (is_array($smarty->template_objects)) { + foreach ($smarty->template_objects as $_template_obj) { // exclude the debugging template from displayed data - if ($this->smarty->debug_tpl != $_template_obj->resource_name) { + if ($smarty->debug_tpl != $_template_obj->resource_name) { $_template_data[$i]['name'] = $_template_obj->getTemplateFilepath(); $_template_data[$i]['compile_time'] = $_template_obj->compile_time; $_template_data[$i]['render_time'] = $_template_obj->render_time; @@ -44,19 +44,19 @@ class Smarty_Internal_Debug extends Smarty_Internal_TemplateBase { } } // prepare information of assigned variables - $_assigned_vars = $this->smarty->tpl_vars; + $_assigned_vars = $smarty->tpl_vars; ksort($_assigned_vars); - $_config_vars = $this->smarty->config_vars; + $_config_vars = $smarty->config_vars; ksort($_config_vars); - $_template = new Smarty_Template ($this->smarty->debug_tpl); + $_template = new Smarty_Template ($smarty->debug_tpl); $_template->caching = false; $_template->force_compile = false; $_template->security = false; $_template->assign('template_data', $_template_data); $_template->assign('assigned_vars', $_assigned_vars); $_template->assign('config_vars', $_config_vars); - $_template->assign('execution_time', $this->smarty->_get_time() - $this->smarty->start_time); - echo $this->smarty->fetch($_template); + $_template->assign('execution_time', $smarty->_get_time() - $smarty->start_time); + echo $smarty->fetch($_template); } } diff --git a/libs/sysplugins/internal.template.php b/libs/sysplugins/internal.template.php index 3d89da11..5e3c5aa9 100644 --- a/libs/sysplugins/internal.template.php +++ b/libs/sysplugins/internal.template.php @@ -90,7 +90,9 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase { $this->security = $this->smarty->security; $this->cache_resource_class = 'Smarty_Internal_CacheResource_' . ucfirst($this->caching_type); $this->parent = $_parent; - $this->properties['file_dependency'] = array(); + $this->properties['file_dependency'] = array(); + // dummy local smarty variable + $this->tpl_vars['smarty'] = new Smarty_Variable; // Template resource $this->template_resource = $template_resource; // parse resource name @@ -566,7 +568,7 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase { // cache template object under a unique ID // do not cache string resources if ($this->resource_type != 'string') { - 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; } diff --git a/libs/sysplugins/internal.templatebase.php b/libs/sysplugins/internal.templatebase.php index 08687f58..f8bc1798 100644 --- a/libs/sysplugins/internal.templatebase.php +++ b/libs/sysplugins/internal.templatebase.php @@ -311,12 +311,13 @@ class Smarty_Internal_TemplateBase { public function createTemplate($template, $parent = null, $cache_id = null, $compile_id = null) { if (!is_object($template)) { + $_smarty = Smarty::instance(); // we got a template resource $_templateId = $this->buildTemplateId ($template, $cache_id, $compile_id); // already in template cache? - if (isset(Smarty::$template_objects[$_templateId])) { + if (isset($_smarty->template_objects[$_templateId])) { // return cached template object - return Smarty::$template_objects[$_templateId]; + return $_smarty->template_objects[$_templateId]; } else { // create and cache new template object return new Smarty_Internal_Template ($template, $parent, $cache_id, $compile_id); diff --git a/libs/sysplugins/internal.templateparser.php b/libs/sysplugins/internal.templateparser.php index 00119cea..ee4c1be8 100644 --- a/libs/sysplugins/internal.templateparser.php +++ b/libs/sysplugins/internal.templateparser.php @@ -268,234 +268,244 @@ 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 = 922; + const YY_SZ_ACTTAB = 975; static public $yy_action = array( - /* 0 */ 257, 170, 169, 419, 48, 194, 193, 117, 190, 202, - /* 10 */ 191, 240, 182, 180, 172, 173, 10, 7, 6, 11, - /* 20 */ 8, 9, 126, 165, 111, 204, 202, 143, 240, 36, - /* 30 */ 13, 19, 109, 12, 256, 64, 170, 169, 105, 216, - /* 40 */ 133, 235, 1, 159, 183, 18, 131, 182, 180, 172, - /* 50 */ 173, 10, 7, 6, 11, 8, 9, 16, 51, 55, - /* 60 */ 176, 271, 100, 234, 211, 148, 128, 24, 175, 50, - /* 70 */ 199, 204, 99, 229, 242, 21, 71, 161, 137, 58, - /* 80 */ 163, 158, 26, 89, 133, 252, 241, 262, 170, 169, - /* 90 */ 183, 147, 233, 42, 213, 205, 24, 189, 64, 182, - /* 100 */ 180, 172, 173, 10, 7, 6, 11, 8, 9, 106, - /* 110 */ 217, 162, 215, 138, 228, 190, 226, 191, 241, 262, - /* 120 */ 41, 35, 157, 213, 114, 133, 45, 5, 148, 170, - /* 130 */ 169, 243, 244, 249, 250, 255, 254, 253, 251, 24, - /* 140 */ 182, 180, 172, 173, 10, 7, 6, 11, 8, 9, - /* 150 */ 209, 32, 143, 35, 36, 269, 4, 212, 12, 171, - /* 160 */ 64, 34, 30, 241, 262, 15, 213, 64, 143, 133, - /* 170 */ 36, 136, 4, 190, 12, 191, 56, 190, 181, 191, - /* 180 */ 2, 188, 24, 51, 55, 176, 271, 129, 24, 192, - /* 190 */ 148, 166, 31, 64, 204, 40, 2, 148, 35, 51, - /* 200 */ 55, 176, 271, 38, 164, 27, 148, 219, 143, 213, - /* 210 */ 36, 13, 19, 183, 12, 213, 64, 133, 143, 105, - /* 220 */ 36, 25, 19, 148, 12, 23, 64, 136, 133, 223, - /* 230 */ 167, 22, 265, 224, 206, 47, 13, 39, 59, 51, - /* 240 */ 55, 176, 271, 201, 105, 156, 148, 28, 204, 51, - /* 250 */ 55, 176, 271, 143, 94, 36, 148, 19, 229, 12, - /* 260 */ 21, 64, 13, 33, 121, 232, 242, 183, 150, 143, - /* 270 */ 105, 36, 134, 19, 221, 12, 147, 64, 263, 61, - /* 280 */ 190, 13, 191, 152, 51, 55, 176, 271, 132, 105, - /* 290 */ 62, 148, 208, 210, 63, 227, 215, 150, 17, 266, - /* 300 */ 51, 55, 176, 271, 143, 41, 36, 148, 19, 190, - /* 310 */ 12, 191, 64, 143, 108, 226, 24, 19, 128, 12, - /* 320 */ 218, 64, 267, 130, 133, 260, 242, 43, 184, 103, - /* 330 */ 24, 204, 132, 127, 87, 51, 55, 176, 271, 27, - /* 340 */ 154, 242, 148, 213, 51, 55, 176, 271, 150, 125, - /* 350 */ 183, 148, 175, 50, 225, 204, 31, 213, 38, 40, - /* 360 */ 75, 128, 270, 168, 178, 179, 14, 89, 264, 252, - /* 370 */ 133, 133, 261, 150, 183, 175, 50, 168, 204, 205, - /* 380 */ 124, 175, 50, 76, 204, 150, 196, 178, 179, 79, - /* 390 */ 89, 150, 252, 178, 179, 150, 89, 183, 252, 88, - /* 400 */ 64, 133, 205, 183, 85, 84, 263, 24, 205, 150, - /* 410 */ 175, 50, 133, 204, 104, 53, 150, 140, 77, 197, - /* 420 */ 193, 248, 178, 179, 128, 89, 242, 252, 175, 50, - /* 430 */ 148, 204, 183, 198, 144, 225, 69, 205, 198, 198, - /* 440 */ 178, 179, 90, 89, 120, 252, 20, 80, 240, 33, - /* 450 */ 183, 175, 50, 93, 204, 205, 119, 175, 50, 72, - /* 460 */ 204, 230, 86, 178, 179, 73, 89, 160, 252, 178, - /* 470 */ 179, 54, 89, 183, 252, 83, 198, 175, 205, 183, - /* 480 */ 204, 145, 225, 116, 205, 175, 49, 240, 204, 178, - /* 490 */ 179, 225, 82, 70, 252, 225, 98, 178, 179, 183, - /* 500 */ 89, 52, 252, 175, 50, 151, 204, 183, 242, 29, - /* 510 */ 28, 78, 205, 177, 231, 178, 179, 3, 89, 142, - /* 520 */ 252, 225, 259, 141, 65, 183, 175, 92, 16, 204, - /* 530 */ 205, 195, 175, 50, 149, 204, 66, 60, 178, 179, - /* 540 */ 74, 89, 200, 252, 178, 179, 214, 89, 183, 252, - /* 550 */ 186, 239, 68, 203, 183, 133, 135, 236, 185, 205, - /* 560 */ 187, 243, 244, 249, 250, 255, 254, 253, 251, 143, - /* 570 */ 220, 37, 215, 19, 150, 175, 222, 64, 204, 202, - /* 580 */ 57, 256, 268, 207, 67, 256, 96, 174, 132, 256, - /* 590 */ 256, 34, 252, 175, 101, 256, 204, 183, 256, 256, - /* 600 */ 51, 55, 176, 271, 256, 178, 179, 148, 89, 256, - /* 610 */ 252, 256, 256, 153, 256, 183, 175, 101, 256, 204, - /* 620 */ 256, 256, 175, 101, 256, 204, 256, 256, 178, 179, - /* 630 */ 256, 89, 256, 252, 178, 179, 155, 89, 183, 252, - /* 640 */ 175, 101, 238, 204, 183, 256, 256, 256, 256, 256, - /* 650 */ 256, 256, 178, 179, 256, 89, 256, 252, 256, 256, - /* 660 */ 146, 256, 183, 175, 92, 256, 204, 256, 256, 175, - /* 670 */ 123, 256, 204, 256, 256, 178, 179, 256, 89, 256, - /* 680 */ 252, 178, 179, 256, 89, 183, 252, 256, 256, 256, - /* 690 */ 256, 183, 175, 95, 237, 204, 256, 256, 175, 122, - /* 700 */ 256, 204, 256, 256, 178, 179, 256, 89, 256, 252, - /* 710 */ 178, 179, 256, 89, 183, 252, 175, 112, 256, 204, - /* 720 */ 183, 256, 256, 256, 256, 256, 256, 256, 178, 179, - /* 730 */ 256, 89, 256, 252, 256, 256, 256, 256, 183, 175, - /* 740 */ 102, 256, 204, 256, 256, 175, 97, 256, 204, 256, - /* 750 */ 256, 178, 179, 256, 89, 256, 252, 178, 179, 256, - /* 760 */ 89, 183, 252, 256, 256, 256, 256, 183, 175, 107, - /* 770 */ 256, 204, 256, 256, 175, 44, 256, 204, 256, 256, - /* 780 */ 178, 179, 256, 89, 256, 252, 178, 179, 256, 89, - /* 790 */ 183, 252, 175, 113, 256, 204, 183, 256, 256, 256, - /* 800 */ 256, 256, 256, 256, 178, 179, 256, 89, 256, 252, - /* 810 */ 256, 256, 256, 256, 183, 175, 110, 256, 204, 256, - /* 820 */ 256, 175, 115, 256, 204, 256, 256, 178, 179, 256, - /* 830 */ 89, 256, 252, 178, 179, 256, 89, 183, 252, 256, - /* 840 */ 256, 256, 256, 183, 175, 46, 256, 139, 256, 256, - /* 850 */ 175, 118, 175, 204, 256, 204, 178, 179, 256, 89, - /* 860 */ 256, 252, 178, 179, 258, 89, 183, 252, 175, 252, - /* 870 */ 256, 204, 183, 256, 183, 256, 256, 256, 256, 175, - /* 880 */ 178, 179, 204, 91, 256, 252, 256, 256, 256, 256, - /* 890 */ 183, 178, 179, 256, 81, 256, 252, 175, 256, 175, - /* 900 */ 204, 183, 204, 256, 256, 256, 256, 256, 256, 245, - /* 910 */ 246, 247, 256, 256, 252, 256, 252, 256, 256, 183, - /* 920 */ 256, 183, + /* 0 */ 271, 179, 180, 419, 49, 169, 222, 219, 135, 216, + /* 10 */ 143, 270, 183, 182, 184, 185, 8, 9, 3, 6, + /* 20 */ 5, 10, 165, 124, 15, 229, 229, 156, 135, 35, + /* 30 */ 16, 29, 135, 12, 253, 64, 179, 180, 110, 25, + /* 40 */ 135, 240, 1, 144, 228, 228, 130, 183, 182, 184, + /* 50 */ 185, 8, 9, 3, 6, 5, 10, 252, 51, 54, + /* 60 */ 199, 205, 21, 193, 186, 158, 238, 117, 197, 50, + /* 70 */ 227, 229, 196, 232, 71, 168, 134, 16, 122, 154, + /* 80 */ 152, 227, 91, 196, 206, 110, 160, 241, 179, 180, + /* 90 */ 228, 23, 258, 261, 52, 187, 135, 247, 265, 183, + /* 100 */ 182, 184, 185, 8, 9, 3, 6, 5, 10, 237, + /* 110 */ 268, 31, 22, 146, 39, 219, 241, 216, 258, 261, + /* 120 */ 143, 255, 38, 223, 13, 135, 123, 36, 150, 179, + /* 130 */ 180, 170, 175, 171, 195, 189, 191, 192, 194, 25, + /* 140 */ 183, 182, 184, 185, 8, 9, 3, 6, 5, 10, + /* 150 */ 178, 267, 156, 36, 35, 16, 2, 41, 12, 254, + /* 160 */ 64, 34, 18, 110, 25, 173, 238, 62, 156, 174, + /* 170 */ 35, 136, 2, 242, 12, 151, 63, 164, 229, 145, + /* 180 */ 11, 258, 261, 51, 54, 199, 205, 131, 140, 33, + /* 190 */ 158, 238, 143, 219, 143, 216, 11, 228, 45, 51, + /* 200 */ 54, 199, 205, 244, 167, 27, 158, 243, 231, 44, + /* 210 */ 25, 156, 56, 35, 115, 29, 36, 12, 197, 64, + /* 220 */ 156, 229, 35, 219, 29, 216, 12, 94, 64, 259, + /* 230 */ 136, 88, 64, 21, 206, 211, 269, 238, 113, 137, + /* 240 */ 228, 4, 51, 54, 199, 205, 237, 203, 95, 158, + /* 250 */ 229, 51, 54, 199, 205, 156, 135, 35, 158, 29, + /* 260 */ 24, 12, 158, 64, 57, 25, 224, 225, 60, 228, + /* 270 */ 16, 156, 108, 35, 40, 29, 230, 12, 110, 64, + /* 280 */ 219, 28, 216, 249, 212, 218, 51, 54, 199, 205, + /* 290 */ 132, 16, 238, 158, 266, 197, 260, 197, 229, 110, + /* 300 */ 229, 246, 51, 54, 199, 205, 177, 181, 200, 158, + /* 310 */ 26, 206, 160, 206, 156, 260, 35, 228, 29, 228, + /* 320 */ 12, 102, 64, 126, 143, 219, 64, 216, 197, 99, + /* 330 */ 156, 229, 249, 129, 29, 126, 12, 103, 64, 201, + /* 340 */ 204, 19, 91, 38, 206, 51, 54, 199, 205, 132, + /* 350 */ 228, 135, 158, 17, 197, 119, 158, 229, 133, 262, + /* 360 */ 196, 51, 54, 199, 205, 213, 32, 210, 158, 105, + /* 370 */ 206, 125, 25, 176, 202, 101, 228, 126, 197, 50, + /* 380 */ 249, 229, 64, 127, 73, 245, 249, 248, 31, 201, + /* 390 */ 204, 39, 91, 214, 206, 197, 50, 128, 229, 238, + /* 400 */ 228, 75, 221, 222, 135, 187, 201, 204, 143, 91, + /* 410 */ 143, 206, 158, 197, 50, 100, 229, 228, 135, 76, + /* 420 */ 197, 50, 187, 229, 201, 204, 79, 91, 268, 206, + /* 430 */ 22, 201, 204, 33, 91, 228, 206, 235, 197, 50, + /* 440 */ 187, 229, 228, 159, 74, 172, 150, 187, 85, 201, + /* 450 */ 204, 17, 91, 25, 206, 209, 197, 50, 135, 229, + /* 460 */ 228, 42, 72, 25, 239, 187, 64, 201, 204, 207, + /* 470 */ 91, 90, 206, 197, 48, 41, 229, 149, 228, 70, + /* 480 */ 238, 61, 217, 187, 201, 204, 237, 91, 250, 206, + /* 490 */ 139, 197, 50, 236, 229, 228, 158, 69, 197, 50, + /* 500 */ 187, 229, 201, 204, 78, 91, 7, 206, 84, 201, + /* 510 */ 204, 143, 91, 228, 206, 107, 197, 50, 187, 229, + /* 520 */ 228, 147, 77, 143, 161, 187, 249, 201, 204, 126, + /* 530 */ 91, 141, 206, 67, 65, 239, 188, 89, 228, 135, + /* 540 */ 142, 55, 217, 187, 87, 170, 175, 171, 195, 189, + /* 550 */ 191, 192, 194, 30, 197, 156, 237, 229, 80, 29, + /* 560 */ 20, 106, 86, 64, 120, 201, 204, 234, 82, 196, + /* 570 */ 206, 217, 249, 264, 132, 34, 228, 237, 217, 198, + /* 580 */ 197, 109, 257, 229, 215, 226, 51, 54, 199, 205, + /* 590 */ 157, 201, 204, 158, 91, 53, 206, 197, 99, 153, + /* 600 */ 229, 58, 228, 148, 233, 66, 155, 162, 201, 204, + /* 610 */ 237, 91, 28, 206, 239, 220, 37, 227, 143, 228, + /* 620 */ 197, 109, 68, 229, 208, 251, 59, 14, 256, 190, + /* 630 */ 256, 201, 204, 256, 91, 43, 206, 104, 256, 263, + /* 640 */ 256, 256, 228, 256, 256, 256, 256, 256, 256, 197, + /* 650 */ 109, 256, 229, 256, 256, 256, 256, 256, 256, 256, + /* 660 */ 201, 204, 256, 91, 256, 206, 197, 109, 166, 229, + /* 670 */ 256, 228, 256, 256, 256, 256, 256, 201, 204, 256, + /* 680 */ 91, 256, 206, 197, 92, 163, 229, 256, 228, 256, + /* 690 */ 256, 256, 256, 256, 201, 204, 256, 91, 256, 206, + /* 700 */ 256, 256, 256, 197, 98, 228, 229, 256, 256, 256, + /* 710 */ 256, 256, 256, 256, 201, 204, 256, 91, 256, 206, + /* 720 */ 256, 256, 256, 256, 256, 228, 256, 197, 111, 256, + /* 730 */ 229, 256, 256, 256, 256, 256, 256, 256, 201, 204, + /* 740 */ 256, 91, 256, 206, 197, 46, 256, 229, 256, 228, + /* 750 */ 256, 256, 256, 256, 256, 201, 204, 256, 91, 256, + /* 760 */ 206, 197, 114, 256, 229, 256, 228, 256, 256, 256, + /* 770 */ 256, 256, 201, 204, 256, 91, 256, 206, 197, 93, + /* 780 */ 256, 229, 256, 228, 256, 256, 256, 256, 256, 201, + /* 790 */ 204, 256, 91, 256, 206, 256, 256, 256, 256, 256, + /* 800 */ 228, 256, 197, 112, 256, 229, 256, 256, 256, 256, + /* 810 */ 256, 256, 256, 201, 204, 256, 91, 256, 206, 197, + /* 820 */ 97, 256, 229, 256, 228, 256, 256, 256, 256, 256, + /* 830 */ 201, 204, 256, 91, 256, 206, 197, 118, 256, 229, + /* 840 */ 256, 228, 256, 256, 256, 256, 256, 201, 204, 256, + /* 850 */ 91, 256, 206, 197, 116, 256, 229, 256, 228, 256, + /* 860 */ 256, 256, 256, 256, 201, 204, 256, 91, 256, 206, + /* 870 */ 256, 256, 256, 256, 256, 228, 256, 197, 121, 256, + /* 880 */ 229, 256, 256, 256, 256, 256, 256, 256, 201, 204, + /* 890 */ 256, 91, 256, 206, 197, 96, 256, 229, 256, 228, + /* 900 */ 256, 256, 256, 256, 256, 201, 204, 256, 91, 256, + /* 910 */ 206, 197, 47, 256, 138, 256, 228, 256, 256, 256, + /* 920 */ 256, 256, 201, 204, 256, 91, 256, 206, 197, 256, + /* 930 */ 256, 229, 256, 228, 256, 256, 256, 256, 256, 201, + /* 940 */ 204, 256, 83, 256, 206, 256, 256, 256, 256, 256, + /* 950 */ 228, 256, 197, 256, 256, 229, 256, 256, 256, 256, + /* 960 */ 256, 256, 256, 201, 204, 256, 81, 256, 206, 256, + /* 970 */ 256, 256, 256, 256, 228, ); static public $yy_lookahead = array( - /* 0 */ 4, 40, 41, 69, 70, 71, 72, 95, 1, 97, - /* 10 */ 3, 99, 51, 52, 53, 54, 55, 56, 57, 58, - /* 20 */ 59, 60, 74, 46, 95, 77, 97, 11, 99, 13, - /* 30 */ 15, 15, 79, 17, 18, 19, 40, 41, 23, 30, - /* 40 */ 25, 93, 27, 28, 96, 3, 30, 51, 52, 53, - /* 50 */ 54, 55, 56, 57, 58, 59, 60, 15, 42, 43, - /* 60 */ 44, 45, 76, 4, 16, 49, 80, 3, 74, 75, - /* 70 */ 63, 77, 79, 1, 88, 3, 82, 83, 84, 30, - /* 80 */ 86, 87, 3, 89, 25, 91, 12, 13, 40, 41, - /* 90 */ 96, 19, 18, 79, 30, 101, 3, 4, 19, 51, - /* 100 */ 52, 53, 54, 55, 56, 57, 58, 59, 60, 30, - /* 110 */ 4, 19, 98, 24, 42, 1, 16, 3, 12, 13, - /* 120 */ 48, 47, 30, 30, 21, 25, 81, 24, 49, 40, + /* 0 */ 4, 40, 41, 69, 70, 71, 72, 1, 25, 3, + /* 10 */ 27, 4, 51, 52, 53, 54, 55, 56, 57, 58, + /* 20 */ 59, 60, 74, 74, 21, 77, 77, 11, 25, 13, + /* 30 */ 15, 15, 25, 17, 18, 19, 40, 41, 23, 3, + /* 40 */ 25, 92, 27, 28, 96, 96, 30, 51, 52, 53, + /* 50 */ 54, 55, 56, 57, 58, 59, 60, 16, 42, 43, + /* 60 */ 44, 45, 26, 4, 16, 49, 30, 94, 74, 75, + /* 70 */ 97, 77, 99, 67, 80, 81, 82, 15, 94, 85, + /* 80 */ 86, 97, 88, 99, 90, 23, 50, 16, 40, 41, + /* 90 */ 96, 29, 12, 13, 83, 101, 25, 4, 18, 51, + /* 100 */ 52, 53, 54, 55, 56, 57, 58, 59, 60, 98, + /* 110 */ 1, 17, 3, 24, 20, 1, 16, 3, 12, 13, + /* 120 */ 27, 18, 28, 9, 21, 25, 79, 47, 19, 40, /* 130 */ 41, 31, 32, 33, 34, 35, 36, 37, 38, 3, /* 140 */ 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, - /* 150 */ 14, 3, 11, 47, 13, 48, 15, 43, 17, 11, - /* 160 */ 19, 61, 26, 12, 13, 21, 30, 19, 11, 25, - /* 170 */ 13, 30, 15, 1, 17, 3, 19, 1, 30, 3, - /* 180 */ 39, 9, 3, 42, 43, 44, 45, 30, 3, 4, - /* 190 */ 49, 74, 17, 19, 77, 20, 39, 49, 47, 42, - /* 200 */ 43, 44, 45, 28, 30, 26, 49, 4, 11, 30, - /* 210 */ 13, 15, 15, 96, 17, 30, 19, 25, 11, 23, - /* 220 */ 13, 29, 15, 49, 17, 29, 19, 30, 25, 1, - /* 230 */ 2, 3, 48, 5, 6, 7, 15, 30, 10, 42, - /* 240 */ 43, 44, 45, 67, 23, 74, 49, 26, 77, 42, - /* 250 */ 43, 44, 45, 11, 76, 13, 49, 15, 1, 17, - /* 260 */ 3, 19, 15, 22, 81, 18, 88, 96, 27, 11, - /* 270 */ 23, 13, 30, 15, 4, 17, 19, 19, 100, 19, - /* 280 */ 1, 15, 3, 85, 42, 43, 44, 45, 30, 23, - /* 290 */ 62, 49, 64, 65, 66, 18, 98, 27, 21, 42, - /* 300 */ 42, 43, 44, 45, 11, 48, 13, 49, 15, 1, - /* 310 */ 17, 3, 19, 11, 76, 16, 3, 15, 80, 17, - /* 320 */ 30, 19, 43, 30, 25, 4, 88, 79, 74, 76, - /* 330 */ 3, 77, 30, 80, 78, 42, 43, 44, 45, 26, - /* 340 */ 50, 88, 49, 30, 42, 43, 44, 45, 27, 4, - /* 350 */ 96, 49, 74, 75, 98, 77, 17, 30, 28, 20, - /* 360 */ 82, 80, 4, 50, 86, 87, 15, 89, 4, 91, - /* 370 */ 25, 25, 4, 27, 96, 74, 75, 50, 77, 101, - /* 380 */ 4, 74, 75, 82, 77, 27, 4, 86, 87, 82, - /* 390 */ 89, 27, 91, 86, 87, 27, 89, 96, 91, 73, - /* 400 */ 19, 25, 101, 96, 73, 73, 100, 3, 101, 27, - /* 410 */ 74, 75, 25, 77, 76, 78, 27, 28, 82, 71, - /* 420 */ 72, 99, 86, 87, 80, 89, 88, 91, 74, 75, - /* 430 */ 49, 77, 96, 107, 30, 98, 82, 101, 107, 107, - /* 440 */ 86, 87, 73, 89, 95, 91, 102, 92, 99, 22, - /* 450 */ 96, 74, 75, 79, 77, 101, 30, 74, 75, 82, - /* 460 */ 77, 106, 78, 86, 87, 82, 89, 46, 91, 86, - /* 470 */ 87, 78, 89, 96, 91, 78, 107, 74, 101, 96, - /* 480 */ 77, 30, 98, 95, 101, 74, 75, 99, 77, 86, - /* 490 */ 87, 98, 89, 82, 91, 98, 76, 86, 87, 96, - /* 500 */ 89, 78, 91, 74, 75, 30, 77, 96, 88, 26, - /* 510 */ 26, 82, 101, 11, 16, 86, 87, 103, 89, 22, - /* 520 */ 91, 98, 30, 20, 19, 96, 74, 75, 15, 77, - /* 530 */ 101, 4, 74, 75, 30, 77, 30, 19, 86, 87, - /* 540 */ 82, 89, 8, 91, 86, 87, 30, 89, 96, 91, - /* 550 */ 4, 16, 16, 4, 96, 25, 104, 105, 49, 101, - /* 560 */ 107, 31, 32, 33, 34, 35, 36, 37, 38, 11, - /* 570 */ 30, 90, 98, 15, 27, 74, 88, 19, 77, 97, - /* 580 */ 19, 108, 106, 83, 93, 108, 79, 86, 30, 108, - /* 590 */ 108, 61, 91, 74, 75, 108, 77, 96, 108, 108, - /* 600 */ 42, 43, 44, 45, 108, 86, 87, 49, 89, 108, - /* 610 */ 91, 108, 108, 94, 108, 96, 74, 75, 108, 77, - /* 620 */ 108, 108, 74, 75, 108, 77, 108, 108, 86, 87, - /* 630 */ 108, 89, 108, 91, 86, 87, 94, 89, 96, 91, - /* 640 */ 74, 75, 94, 77, 96, 108, 108, 108, 108, 108, - /* 650 */ 108, 108, 86, 87, 108, 89, 108, 91, 108, 108, - /* 660 */ 94, 108, 96, 74, 75, 108, 77, 108, 108, 74, - /* 670 */ 75, 108, 77, 108, 108, 86, 87, 108, 89, 108, - /* 680 */ 91, 86, 87, 108, 89, 96, 91, 108, 108, 108, - /* 690 */ 108, 96, 74, 75, 105, 77, 108, 108, 74, 75, - /* 700 */ 108, 77, 108, 108, 86, 87, 108, 89, 108, 91, - /* 710 */ 86, 87, 108, 89, 96, 91, 74, 75, 108, 77, - /* 720 */ 96, 108, 108, 108, 108, 108, 108, 108, 86, 87, - /* 730 */ 108, 89, 108, 91, 108, 108, 108, 108, 96, 74, - /* 740 */ 75, 108, 77, 108, 108, 74, 75, 108, 77, 108, - /* 750 */ 108, 86, 87, 108, 89, 108, 91, 86, 87, 108, - /* 760 */ 89, 96, 91, 108, 108, 108, 108, 96, 74, 75, - /* 770 */ 108, 77, 108, 108, 74, 75, 108, 77, 108, 108, - /* 780 */ 86, 87, 108, 89, 108, 91, 86, 87, 108, 89, - /* 790 */ 96, 91, 74, 75, 108, 77, 96, 108, 108, 108, - /* 800 */ 108, 108, 108, 108, 86, 87, 108, 89, 108, 91, - /* 810 */ 108, 108, 108, 108, 96, 74, 75, 108, 77, 108, - /* 820 */ 108, 74, 75, 108, 77, 108, 108, 86, 87, 108, - /* 830 */ 89, 108, 91, 86, 87, 108, 89, 96, 91, 108, - /* 840 */ 108, 108, 108, 96, 74, 75, 108, 77, 108, 108, - /* 850 */ 74, 75, 74, 77, 108, 77, 86, 87, 108, 89, - /* 860 */ 108, 91, 86, 87, 86, 89, 96, 91, 74, 91, - /* 870 */ 108, 77, 96, 108, 96, 108, 108, 108, 108, 74, - /* 880 */ 86, 87, 77, 89, 108, 91, 108, 108, 108, 108, - /* 890 */ 96, 86, 87, 108, 89, 108, 91, 74, 108, 74, - /* 900 */ 77, 96, 77, 108, 108, 108, 108, 108, 108, 86, - /* 910 */ 87, 86, 108, 108, 91, 108, 91, 108, 108, 96, - /* 920 */ 108, 96, + /* 150 */ 14, 42, 11, 47, 13, 15, 15, 48, 17, 30, + /* 160 */ 19, 61, 26, 23, 3, 4, 30, 30, 11, 4, + /* 170 */ 13, 30, 15, 4, 17, 74, 19, 19, 77, 50, + /* 180 */ 39, 12, 13, 42, 43, 44, 45, 30, 30, 22, + /* 190 */ 49, 30, 27, 1, 27, 3, 39, 96, 79, 42, + /* 200 */ 43, 44, 45, 1, 2, 3, 49, 5, 6, 7, + /* 210 */ 3, 11, 10, 13, 30, 15, 47, 17, 74, 19, + /* 220 */ 11, 77, 13, 1, 15, 3, 17, 95, 19, 85, + /* 230 */ 30, 83, 19, 26, 90, 43, 16, 30, 21, 30, + /* 240 */ 96, 24, 42, 43, 44, 45, 98, 74, 95, 49, + /* 250 */ 77, 42, 43, 44, 45, 11, 25, 13, 49, 15, + /* 260 */ 29, 17, 49, 19, 62, 3, 64, 65, 66, 96, + /* 270 */ 15, 11, 76, 13, 30, 15, 8, 17, 23, 19, + /* 280 */ 1, 26, 3, 87, 99, 63, 42, 43, 44, 45, + /* 290 */ 30, 15, 30, 49, 18, 74, 100, 74, 77, 23, + /* 300 */ 77, 4, 42, 43, 44, 45, 85, 86, 85, 49, + /* 310 */ 3, 90, 50, 90, 11, 100, 13, 96, 15, 96, + /* 320 */ 17, 76, 19, 78, 27, 1, 19, 3, 74, 75, + /* 330 */ 11, 77, 87, 30, 15, 78, 17, 30, 19, 85, + /* 340 */ 86, 3, 88, 28, 90, 42, 43, 44, 45, 30, + /* 350 */ 96, 25, 49, 15, 74, 94, 49, 77, 104, 105, + /* 360 */ 99, 42, 43, 44, 45, 85, 3, 43, 49, 76, + /* 370 */ 90, 78, 3, 4, 11, 76, 96, 78, 74, 75, + /* 380 */ 87, 77, 19, 4, 80, 4, 87, 4, 17, 85, + /* 390 */ 86, 20, 88, 30, 90, 74, 75, 4, 77, 30, + /* 400 */ 96, 80, 71, 72, 25, 101, 85, 86, 27, 88, + /* 410 */ 27, 90, 49, 74, 75, 95, 77, 96, 25, 80, + /* 420 */ 74, 75, 101, 77, 85, 86, 80, 88, 1, 90, + /* 430 */ 3, 85, 86, 22, 88, 96, 90, 4, 74, 75, + /* 440 */ 101, 77, 96, 30, 80, 4, 19, 101, 73, 85, + /* 450 */ 86, 15, 88, 3, 90, 48, 74, 75, 25, 77, + /* 460 */ 96, 95, 80, 3, 98, 101, 19, 85, 86, 42, + /* 470 */ 88, 83, 90, 74, 75, 48, 77, 30, 96, 80, + /* 480 */ 30, 19, 107, 101, 85, 86, 98, 88, 4, 90, + /* 490 */ 30, 74, 75, 30, 77, 96, 49, 80, 74, 75, + /* 500 */ 101, 77, 85, 86, 80, 88, 103, 90, 73, 85, + /* 510 */ 86, 27, 88, 96, 90, 76, 74, 75, 101, 77, + /* 520 */ 96, 84, 80, 27, 28, 101, 87, 85, 86, 78, + /* 530 */ 88, 22, 90, 30, 19, 98, 4, 73, 96, 25, + /* 540 */ 30, 83, 107, 101, 73, 31, 32, 33, 34, 35, + /* 550 */ 36, 37, 38, 102, 74, 11, 98, 77, 91, 15, + /* 560 */ 26, 76, 83, 19, 94, 85, 86, 30, 88, 99, + /* 570 */ 90, 107, 87, 106, 30, 61, 96, 98, 107, 11, + /* 580 */ 74, 75, 30, 77, 49, 30, 42, 43, 44, 45, + /* 590 */ 20, 85, 86, 49, 88, 83, 90, 74, 75, 93, + /* 600 */ 77, 19, 96, 46, 48, 16, 46, 30, 85, 86, + /* 610 */ 98, 88, 26, 90, 98, 107, 89, 97, 27, 96, + /* 620 */ 74, 75, 92, 77, 106, 87, 19, 15, 105, 81, + /* 630 */ 108, 85, 86, 108, 88, 95, 90, 95, 108, 93, + /* 640 */ 108, 108, 96, 108, 108, 108, 108, 108, 108, 74, + /* 650 */ 75, 108, 77, 108, 108, 108, 108, 108, 108, 108, + /* 660 */ 85, 86, 108, 88, 108, 90, 74, 75, 93, 77, + /* 670 */ 108, 96, 108, 108, 108, 108, 108, 85, 86, 108, + /* 680 */ 88, 108, 90, 74, 75, 93, 77, 108, 96, 108, + /* 690 */ 108, 108, 108, 108, 85, 86, 108, 88, 108, 90, + /* 700 */ 108, 108, 108, 74, 75, 96, 77, 108, 108, 108, + /* 710 */ 108, 108, 108, 108, 85, 86, 108, 88, 108, 90, + /* 720 */ 108, 108, 108, 108, 108, 96, 108, 74, 75, 108, + /* 730 */ 77, 108, 108, 108, 108, 108, 108, 108, 85, 86, + /* 740 */ 108, 88, 108, 90, 74, 75, 108, 77, 108, 96, + /* 750 */ 108, 108, 108, 108, 108, 85, 86, 108, 88, 108, + /* 760 */ 90, 74, 75, 108, 77, 108, 96, 108, 108, 108, + /* 770 */ 108, 108, 85, 86, 108, 88, 108, 90, 74, 75, + /* 780 */ 108, 77, 108, 96, 108, 108, 108, 108, 108, 85, + /* 790 */ 86, 108, 88, 108, 90, 108, 108, 108, 108, 108, + /* 800 */ 96, 108, 74, 75, 108, 77, 108, 108, 108, 108, + /* 810 */ 108, 108, 108, 85, 86, 108, 88, 108, 90, 74, + /* 820 */ 75, 108, 77, 108, 96, 108, 108, 108, 108, 108, + /* 830 */ 85, 86, 108, 88, 108, 90, 74, 75, 108, 77, + /* 840 */ 108, 96, 108, 108, 108, 108, 108, 85, 86, 108, + /* 850 */ 88, 108, 90, 74, 75, 108, 77, 108, 96, 108, + /* 860 */ 108, 108, 108, 108, 85, 86, 108, 88, 108, 90, + /* 870 */ 108, 108, 108, 108, 108, 96, 108, 74, 75, 108, + /* 880 */ 77, 108, 108, 108, 108, 108, 108, 108, 85, 86, + /* 890 */ 108, 88, 108, 90, 74, 75, 108, 77, 108, 96, + /* 900 */ 108, 108, 108, 108, 108, 85, 86, 108, 88, 108, + /* 910 */ 90, 74, 75, 108, 77, 108, 96, 108, 108, 108, + /* 920 */ 108, 108, 85, 86, 108, 88, 108, 90, 74, 108, + /* 930 */ 108, 77, 108, 96, 108, 108, 108, 108, 108, 85, + /* 940 */ 86, 108, 88, 108, 90, 108, 108, 108, 108, 108, + /* 950 */ 96, 108, 74, 108, 108, 77, 108, 108, 108, 108, + /* 960 */ 108, 108, 108, 85, 86, 108, 88, 108, 90, 108, + /* 970 */ 108, 108, 108, 108, 96, ); const YY_SHIFT_USE_DFLT = -40; const YY_SHIFT_MAX = 168; static public $yy_shift_ofst = array( - /* 0 */ 228, 157, 141, 141, 141, 141, 141, 141, 141, 141, - /* 10 */ 141, 141, 293, 197, 197, 197, 197, 293, 197, 197, - /* 20 */ 197, 197, 207, 197, 197, 197, 197, 197, 197, 197, - /* 30 */ 197, 16, 258, 242, 302, 558, 558, 558, 79, 15, - /* 40 */ 148, 174, 175, 175, 346, 241, 346, 381, 228, 100, - /* 50 */ 530, 72, 136, 313, 327, 279, 404, 64, 389, 308, - /* 60 */ 64, 64, 308, 308, 404, 64, 547, 330, 330, 89, + /* 0 */ 202, 157, 141, 141, 141, 141, 141, 141, 141, 141, + /* 10 */ 141, 141, 303, 303, 200, 200, 200, 200, 200, 200, + /* 20 */ 200, 200, 200, 200, 200, 200, 200, 244, 200, 200, + /* 30 */ 200, 16, 260, 209, 319, 544, 544, 544, 307, 363, + /* 40 */ 15, 447, 94, 94, 213, 167, -17, -17, 100, 202, + /* 50 */ 514, 109, 36, 136, 324, 262, 279, 279, 450, 450, + /* 60 */ 279, 450, 496, 460, 460, 450, 315, 591, 315, 89, /* 70 */ 48, -4, -39, -39, -39, -39, -39, -39, -39, -39, - /* 80 */ 257, 74, 106, 93, 7, 176, 179, 185, 172, 151, - /* 90 */ 114, 151, 192, 339, 358, 299, 339, 376, 364, 339, - /* 100 */ 368, 144, 345, 321, 382, 92, 42, 59, 270, 339, - /* 110 */ 203, 330, 387, 387, 561, 387, 330, 330, 387, 351, - /* 120 */ 330, 427, 387, 387, -40, -40, -40, -40, -40, 221, - /* 130 */ 196, 247, 266, 290, 266, 277, 266, 103, 505, 483, - /* 140 */ 451, 502, 540, 503, 497, 527, 498, 492, 475, 484, - /* 150 */ 504, 509, 546, 536, 516, 535, 534, 513, 421, 506, - /* 160 */ 518, 549, 426, -23, 107, 260, 184, 49, 9, + /* 80 */ 427, 80, 169, 106, 114, 6, 161, 222, 207, 192, + /* 90 */ 369, 106, 433, 379, 371, 371, 7, 71, 393, 231, + /* 100 */ 371, 484, 383, 338, 371, 381, 297, 165, 93, 3, + /* 110 */ 158, 326, 326, 607, 326, 612, 326, 315, 326, 315, + /* 120 */ 315, 326, 315, 411, -40, -40, -40, -40, -40, 62, + /* 130 */ 276, 255, 140, 103, 217, 129, 140, 140, 534, 509, + /* 140 */ 436, 463, 586, 510, 503, 552, 515, 532, 462, 407, + /* 150 */ 537, 556, 557, 589, 560, 582, 570, 568, 413, 535, + /* 160 */ 555, 577, 441, 41, 184, 268, 220, 137, 59, ); - const YY_REDUCE_USE_DFLT = -89; + const YY_REDUCE_USE_DFLT = -67; const YY_REDUCE_MAX = 128; static public $yy_reduce_ofst = array( - /* 0 */ -66, -6, 383, 429, 411, 354, 307, 458, 336, 301, - /* 10 */ 278, 377, 452, 542, 519, 548, 566, 589, 665, 618, - /* 20 */ 642, 694, 770, 624, 741, 595, 671, 776, 747, 700, - /* 30 */ 718, 805, 403, 794, 823, 778, 501, 825, -52, 253, - /* 40 */ 254, 117, -71, -88, -14, 178, 238, 171, 348, 344, - /* 50 */ 344, 355, 198, 14, 14, 369, 337, 384, 338, 326, - /* 60 */ 256, 397, 332, 331, 393, 423, 420, 349, 388, 414, - /* 70 */ 414, 414, 414, 414, 414, 414, 414, 414, 414, 414, - /* 80 */ 476, 481, 481, 474, 453, 453, 474, 474, 453, 481, - /* 90 */ 453, 481, 281, 482, 488, 281, 482, 281, 488, 482, - /* 100 */ 488, 281, 281, 488, 488, 491, 507, 281, 488, 482, - /* 110 */ 281, 322, 281, 281, 500, 281, 322, 322, 281, 248, - /* 120 */ 322, 306, 281, 281, 374, -7, -47, 45, 183, + /* 0 */ -66, -6, 399, 424, 417, 364, 339, 442, 346, 321, + /* 10 */ 304, 382, 254, 523, 506, 546, 575, 592, 687, 629, + /* 20 */ 670, 728, 820, 653, 779, 609, 704, 837, 803, 745, + /* 30 */ 762, 878, 480, 854, 221, 223, 144, 280, -51, 173, + /* 40 */ 293, 101, -16, -27, -52, 196, 245, 299, 451, 331, + /* 50 */ 451, 467, 366, 437, 464, 366, 435, 471, 388, 148, + /* 60 */ 375, 479, 439, 11, 458, 512, 261, 485, 470, 403, + /* 70 */ 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, + /* 80 */ 518, 527, 527, 527, 508, 508, 516, 508, 516, 508, + /* 90 */ 516, 527, 257, 257, 520, 520, 257, 257, 257, 257, + /* 100 */ 520, 538, 538, 542, 520, 538, 538, 538, 538, 257, + /* 110 */ 530, 257, 257, 548, 257, 540, 257, 185, 257, 185, + /* 120 */ 185, 257, 185, 215, 320, 119, 47, 132, 153, ); static public $yyExpectedTokens = array( /* 0 */ array(1, 2, 3, 5, 6, 7, 10, 62, 64, 65, 66, ), @@ -537,35 +547,35 @@ static public $yy_action = array( /* 36 */ array(11, 15, 19, 30, 42, 43, 44, 45, 49, ), /* 37 */ array(11, 15, 19, 30, 42, 43, 44, 45, 49, ), /* 38 */ array(3, 19, 30, 49, ), - /* 39 */ array(15, 23, 25, 27, 28, ), - /* 40 */ array(3, 11, 19, 30, 49, ), + /* 39 */ array(3, 11, 19, 30, 49, ), + /* 40 */ array(15, 23, 25, 27, 28, ), /* 41 */ array(19, 30, 49, ), /* 42 */ array(17, 20, 28, ), /* 43 */ array(17, 20, 28, ), - /* 44 */ array(25, 27, ), + /* 44 */ array(19, 49, ), /* 45 */ array(22, 27, ), /* 46 */ array(25, 27, ), - /* 47 */ array(19, 49, ), - /* 48 */ array(1, 2, 3, 5, 6, 7, 10, 62, 64, 65, 66, ), - /* 49 */ array(16, 25, 31, 32, 33, 34, 35, 36, 37, 38, 61, ), + /* 47 */ array(25, 27, ), + /* 48 */ array(16, 25, 31, 32, 33, 34, 35, 36, 37, 38, 61, ), + /* 49 */ array(1, 2, 3, 5, 6, 7, 10, 62, 64, 65, 66, ), /* 50 */ array(25, 31, 32, 33, 34, 35, 36, 37, 38, 61, ), /* 51 */ array(1, 3, 19, 42, 48, ), - /* 52 */ array(3, 14, 26, 30, ), - /* 53 */ array(3, 26, 30, 50, ), - /* 54 */ array(3, 30, 50, ), - /* 55 */ array(1, 3, 43, ), - /* 56 */ array(3, 30, ), - /* 57 */ array(3, 30, ), - /* 58 */ array(27, 28, ), - /* 59 */ array(1, 3, ), - /* 60 */ array(3, 30, ), + /* 52 */ array(3, 26, 30, 50, ), + /* 53 */ array(3, 14, 26, 30, ), + /* 54 */ array(1, 3, 43, ), + /* 55 */ array(3, 30, 50, ), + /* 56 */ array(1, 3, ), + /* 57 */ array(1, 3, ), + /* 58 */ array(3, 30, ), + /* 59 */ array(3, 30, ), + /* 60 */ array(1, 3, ), /* 61 */ array(3, 30, ), - /* 62 */ array(1, 3, ), - /* 63 */ array(1, 3, ), + /* 62 */ array(27, 28, ), + /* 63 */ array(3, 30, ), /* 64 */ array(3, 30, ), /* 65 */ array(3, 30, ), - /* 66 */ array(27, ), - /* 67 */ array(28, ), + /* 66 */ array(28, ), + /* 67 */ array(27, ), /* 68 */ array(28, ), /* 69 */ array(24, 40, 41, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, ), /* 70 */ array(16, 40, 41, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, ), @@ -581,92 +591,92 @@ static public $yy_action = array( /* 80 */ array(1, 3, 19, 42, 48, ), /* 81 */ array(12, 13, 18, 47, ), /* 82 */ array(4, 12, 13, 47, ), - /* 83 */ array(3, 4, 30, ), - /* 84 */ array(1, 3, 63, ), + /* 83 */ array(12, 13, 47, ), + /* 84 */ array(1, 3, 9, ), /* 85 */ array(1, 3, 67, ), - /* 86 */ array(3, 26, 30, ), - /* 87 */ array(3, 4, 30, ), - /* 88 */ array(1, 3, 9, ), - /* 89 */ array(12, 13, 47, ), - /* 90 */ array(1, 3, 43, ), + /* 86 */ array(3, 4, 30, ), + /* 87 */ array(1, 3, 63, ), + /* 88 */ array(3, 26, 30, ), + /* 89 */ array(1, 3, 43, ), + /* 90 */ array(3, 4, 30, ), /* 91 */ array(12, 13, 47, ), - /* 92 */ array(25, 29, ), - /* 93 */ array(17, 20, ), - /* 94 */ array(4, 27, ), - /* 95 */ array(16, 25, ), - /* 96 */ array(17, 20, ), - /* 97 */ array(4, 25, ), - /* 98 */ array(4, 27, ), - /* 99 */ array(17, 20, ), - /* 100 */ array(4, 27, ), - /* 101 */ array(21, 25, ), - /* 102 */ array(4, 25, ), - /* 103 */ array(4, 27, ), - /* 104 */ array(4, 27, ), - /* 105 */ array(19, 30, ), - /* 106 */ array(3, 15, ), - /* 107 */ array(4, 25, ), + /* 92 */ array(4, 25, ), + /* 93 */ array(4, 25, ), + /* 94 */ array(17, 20, ), + /* 95 */ array(17, 20, ), + /* 96 */ array(4, 25, ), + /* 97 */ array(16, 25, ), + /* 98 */ array(4, 25, ), + /* 99 */ array(25, 29, ), + /* 100 */ array(17, 20, ), + /* 101 */ array(4, 27, ), + /* 102 */ array(4, 27, ), + /* 103 */ array(3, 15, ), + /* 104 */ array(17, 20, ), + /* 105 */ array(4, 27, ), + /* 106 */ array(4, 27, ), + /* 107 */ array(4, 27, ), /* 108 */ array(4, 27, ), - /* 109 */ array(17, 20, ), - /* 110 */ array(4, 25, ), - /* 111 */ array(28, ), + /* 109 */ array(21, 25, ), + /* 110 */ array(19, 30, ), + /* 111 */ array(25, ), /* 112 */ array(25, ), - /* 113 */ array(25, ), - /* 114 */ array(19, ), - /* 115 */ array(25, ), - /* 116 */ array(28, ), + /* 113 */ array(19, ), + /* 114 */ array(25, ), + /* 115 */ array(15, ), + /* 116 */ array(25, ), /* 117 */ array(28, ), /* 118 */ array(25, ), - /* 119 */ array(15, ), + /* 119 */ array(28, ), /* 120 */ array(28, ), - /* 121 */ array(22, ), - /* 122 */ array(25, ), - /* 123 */ array(25, ), + /* 121 */ array(25, ), + /* 122 */ array(28, ), + /* 123 */ array(22, ), /* 124 */ array(), /* 125 */ array(), /* 126 */ array(), /* 127 */ array(), /* 128 */ array(), - /* 129 */ array(15, 23, 26, ), - /* 130 */ array(15, 23, 29, ), - /* 131 */ array(15, 18, 23, ), + /* 129 */ array(15, 23, 29, ), + /* 130 */ array(15, 18, 23, ), + /* 131 */ array(15, 23, 26, ), /* 132 */ array(15, 23, ), - /* 133 */ array(30, 50, ), - /* 134 */ array(15, 23, ), - /* 135 */ array(18, 21, ), + /* 133 */ array(18, 21, ), + /* 134 */ array(21, 24, ), + /* 135 */ array(30, 50, ), /* 136 */ array(15, 23, ), - /* 137 */ array(21, 24, ), - /* 138 */ array(19, ), - /* 139 */ array(26, ), - /* 140 */ array(30, ), - /* 141 */ array(11, ), - /* 142 */ array(30, ), - /* 143 */ array(20, ), - /* 144 */ array(22, ), - /* 145 */ array(4, ), - /* 146 */ array(16, ), - /* 147 */ array(30, ), - /* 148 */ array(30, ), - /* 149 */ array(26, ), + /* 137 */ array(15, 23, ), + /* 138 */ array(26, ), + /* 139 */ array(22, ), + /* 140 */ array(15, ), + /* 141 */ array(30, ), + /* 142 */ array(26, ), + /* 143 */ array(30, ), + /* 144 */ array(30, ), + /* 145 */ array(30, ), + /* 146 */ array(19, ), + /* 147 */ array(4, ), + /* 148 */ array(19, ), + /* 149 */ array(48, ), /* 150 */ array(30, ), - /* 151 */ array(49, ), - /* 152 */ array(4, ), + /* 151 */ array(48, ), + /* 152 */ array(46, ), /* 153 */ array(16, ), - /* 154 */ array(30, ), - /* 155 */ array(16, ), - /* 156 */ array(8, ), - /* 157 */ array(15, ), - /* 158 */ array(46, ), - /* 159 */ array(30, ), - /* 160 */ array(19, ), - /* 161 */ array(4, ), - /* 162 */ array(30, ), - /* 163 */ array(46, ), - /* 164 */ array(48, ), - /* 165 */ array(19, ), - /* 166 */ array(48, ), + /* 154 */ array(46, ), + /* 155 */ array(19, ), + /* 156 */ array(20, ), + /* 157 */ array(11, ), + /* 158 */ array(30, ), + /* 159 */ array(49, ), + /* 160 */ array(30, ), + /* 161 */ array(30, ), + /* 162 */ array(4, ), + /* 163 */ array(16, ), + /* 164 */ array(30, ), + /* 165 */ array(8, ), + /* 166 */ array(16, ), /* 167 */ array(30, ), - /* 168 */ array(30, ), + /* 168 */ array(4, ), /* 169 */ array(), /* 170 */ array(), /* 171 */ array(), @@ -773,33 +783,33 @@ static public $yy_action = array( ); static public $yy_default = array( /* 0 */ 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, - /* 10 */ 418, 418, 403, 365, 365, 365, 365, 418, 418, 418, + /* 10 */ 418, 418, 403, 418, 365, 365, 365, 365, 418, 418, /* 20 */ 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, - /* 30 */ 418, 418, 418, 418, 418, 418, 418, 418, 418, 302, - /* 40 */ 418, 418, 287, 333, 302, 302, 302, 418, 272, 375, - /* 50 */ 375, 418, 418, 341, 341, 418, 418, 418, 302, 418, - /* 60 */ 418, 418, 418, 418, 418, 418, 302, 328, 329, 418, - /* 70 */ 418, 418, 385, 373, 389, 388, 381, 380, 379, 384, - /* 80 */ 418, 418, 418, 418, 418, 418, 418, 418, 418, 308, - /* 90 */ 418, 370, 404, 358, 418, 418, 356, 418, 418, 359, - /* 100 */ 418, 364, 418, 418, 418, 418, 341, 418, 418, 357, - /* 110 */ 418, 353, 376, 296, 418, 303, 331, 334, 306, 341, - /* 120 */ 330, 309, 406, 405, 341, 341, 341, 369, 369, 307, - /* 130 */ 307, 418, 418, 418, 371, 418, 307, 418, 418, 335, - /* 140 */ 418, 418, 418, 318, 351, 418, 418, 418, 418, 418, - /* 150 */ 418, 418, 418, 418, 418, 418, 418, 332, 310, 418, - /* 160 */ 418, 304, 418, 311, 418, 418, 418, 418, 418, 399, - /* 170 */ 398, 343, 382, 383, 312, 317, 320, 319, 311, 310, - /* 180 */ 387, 342, 386, 337, 344, 338, 295, 414, 276, 298, - /* 190 */ 416, 417, 299, 275, 273, 292, 291, 274, 415, 277, - /* 200 */ 282, 281, 340, 294, 335, 372, 280, 305, 278, 297, - /* 210 */ 279, 374, 324, 351, 366, 350, 336, 345, 367, 352, - /* 220 */ 339, 285, 300, 284, 283, 349, 323, 400, 327, 413, - /* 230 */ 408, 362, 346, 347, 412, 360, 401, 402, 363, 361, - /* 240 */ 354, 316, 301, 390, 391, 378, 377, 313, 355, 392, - /* 250 */ 393, 397, 322, 396, 395, 394, 348, 293, 314, 411, - /* 260 */ 288, 286, 315, 368, 289, 410, 326, 325, 407, 409, - /* 270 */ 290, 321, + /* 30 */ 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + /* 40 */ 301, 418, 339, 332, 418, 301, 301, 301, 375, 272, + /* 50 */ 375, 418, 341, 418, 418, 341, 418, 418, 418, 418, + /* 60 */ 418, 418, 301, 418, 418, 418, 328, 301, 327, 418, + /* 70 */ 418, 418, 373, 381, 380, 389, 385, 379, 384, 388, + /* 80 */ 418, 418, 418, 370, 418, 418, 418, 418, 418, 418, + /* 90 */ 418, 307, 418, 418, 358, 359, 418, 418, 418, 404, + /* 100 */ 357, 418, 418, 341, 356, 418, 418, 418, 418, 364, + /* 110 */ 418, 406, 305, 418, 295, 341, 405, 333, 376, 330, + /* 120 */ 329, 302, 353, 308, 341, 369, 369, 341, 341, 306, + /* 130 */ 418, 306, 418, 418, 418, 418, 306, 371, 334, 351, + /* 140 */ 331, 418, 418, 418, 418, 418, 418, 418, 418, 418, + /* 150 */ 418, 418, 309, 418, 310, 418, 317, 418, 418, 418, + /* 160 */ 418, 418, 418, 418, 418, 418, 418, 418, 303, 273, + /* 170 */ 390, 392, 291, 298, 290, 391, 297, 378, 296, 398, + /* 180 */ 399, 377, 387, 386, 382, 383, 374, 372, 294, 394, + /* 190 */ 304, 395, 396, 293, 397, 393, 354, 316, 318, 319, + /* 200 */ 311, 310, 343, 344, 309, 320, 321, 325, 407, 409, + /* 210 */ 324, 323, 355, 312, 342, 337, 417, 415, 277, 416, + /* 220 */ 414, 274, 275, 276, 278, 279, 335, 340, 336, 334, + /* 230 */ 282, 280, 281, 410, 411, 352, 338, 349, 351, 350, + /* 240 */ 360, 322, 345, 283, 284, 287, 288, 289, 286, 300, + /* 250 */ 285, 299, 362, 348, 367, 400, 402, 366, 315, 313, + /* 260 */ 368, 314, 401, 363, 408, 347, 346, 326, 413, 361, + /* 270 */ 412, 292, ); /* The next thing included is series of defines which control ** various aspects of the generated parser. @@ -989,11 +999,11 @@ static public $yy_action = array( 'LDELIMTAG', 'RDELIMTAG', 'PHPSTART', 'PHPEND', 'error', 'start', 'template', 'template_element', 'smartytag', 'text', 'variable', 'expr', - 'attributes', 'varindexed', 'varvar', 'arrayindex', - 'modifier', 'modparameters', 'ifexprs', 'statement', - 'statements', 'foraction', 'value', 'array', - 'attribute', 'exprs', 'math', 'function', - 'doublequoted', 'method', 'params', 'objectchain', + 'attributes', 'varindexed', 'modifier', 'modparameters', + 'ifexprs', 'statement', 'statements', 'varvar', + 'foraction', 'value', 'array', 'attribute', + 'exprs', 'math', 'function', 'doublequoted', + 'method', 'params', 'objectchain', 'arrayindex', 'object', 'indexdef', 'varvarele', 'objectelement', 'modparameter', 'ifexpr', 'ifcond', 'lop', 'arrayelements', 'arrayelement', 'doublequotedcontent', 'textelement', @@ -1019,59 +1029,59 @@ static public $yy_action = array( /* 12 */ "template_element ::= OTHER", /* 13 */ "smartytag ::= LDEL expr attributes RDEL", /* 14 */ "smartytag ::= LDEL varindexed EQUAL expr attributes RDEL", - /* 15 */ "varindexed ::= DOLLAR varvar arrayindex", - /* 16 */ "smartytag ::= LDEL ID attributes RDEL", - /* 17 */ "smartytag ::= LDEL ID PTR ID attributes RDEL", - /* 18 */ "smartytag ::= LDEL ID modifier modparameters attributes RDEL", - /* 19 */ "smartytag ::= LDELSLASH ID attributes RDEL", - /* 20 */ "smartytag ::= LDELSLASH ID PTR ID RDEL", - /* 21 */ "smartytag ::= LDEL ID SPACE ifexprs RDEL", - /* 22 */ "smartytag ::= LDEL ID SPACE statement RDEL", - /* 23 */ "smartytag ::= LDEL ID SPACE statements SEMICOLON ifexprs SEMICOLON DOLLAR varvar foraction RDEL", - /* 24 */ "foraction ::= EQUAL expr", - /* 25 */ "foraction ::= INCDEC", - /* 26 */ "smartytag ::= LDEL ID SPACE value AS DOLLAR varvar RDEL", - /* 27 */ "smartytag ::= LDEL ID SPACE array AS DOLLAR varvar RDEL", - /* 28 */ "attributes ::= attributes attribute", - /* 29 */ "attributes ::= attribute", - /* 30 */ "attributes ::=", - /* 31 */ "attribute ::= SPACE ID EQUAL expr", - /* 32 */ "statements ::= statement", - /* 33 */ "statements ::= statements COMMA statement", - /* 34 */ "statement ::= DOLLAR varvar EQUAL expr", - /* 35 */ "expr ::= ID", - /* 36 */ "expr ::= exprs", - /* 37 */ "expr ::= expr modifier modparameters", - /* 38 */ "exprs ::= array", - /* 39 */ "exprs ::= value", - /* 40 */ "exprs ::= UNIMATH value", - /* 41 */ "exprs ::= exprs math value", - /* 42 */ "exprs ::= exprs ANDSYM value", - /* 43 */ "math ::= UNIMATH", - /* 44 */ "math ::= MATH", - /* 45 */ "value ::= variable", - /* 46 */ "value ::= INTEGER", - /* 47 */ "value ::= INTEGER DOT INTEGER", - /* 48 */ "value ::= BOOLEAN", - /* 49 */ "value ::= NULL", - /* 50 */ "value ::= function", - /* 51 */ "value ::= OPENP expr CLOSEP", - /* 52 */ "value ::= SINGLEQUOTE text SINGLEQUOTE", - /* 53 */ "value ::= SINGLEQUOTE SINGLEQUOTE", - /* 54 */ "value ::= QUOTE doublequoted QUOTE", - /* 55 */ "value ::= QUOTE QUOTE", - /* 56 */ "value ::= ID DOUBLECOLON method", - /* 57 */ "value ::= ID DOUBLECOLON DOLLAR ID OPENP params CLOSEP", - /* 58 */ "value ::= ID DOUBLECOLON method objectchain", - /* 59 */ "value ::= ID DOUBLECOLON DOLLAR ID OPENP params CLOSEP objectchain", - /* 60 */ "value ::= ID DOUBLECOLON ID", - /* 61 */ "value ::= ID DOUBLECOLON DOLLAR ID arrayindex", - /* 62 */ "value ::= ID DOUBLECOLON DOLLAR ID arrayindex objectchain", - /* 63 */ "variable ::= varindexed", - /* 64 */ "variable ::= DOLLAR varvar AT ID", - /* 65 */ "variable ::= object", - /* 66 */ "variable ::= HATCH ID HATCH", - /* 67 */ "variable ::= DOLLAR ID COLON ID", + /* 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", + /* 27 */ "attributes ::= attributes attribute", + /* 28 */ "attributes ::= attribute", + /* 29 */ "attributes ::=", + /* 30 */ "attribute ::= SPACE ID EQUAL expr", + /* 31 */ "statements ::= statement", + /* 32 */ "statements ::= statements COMMA statement", + /* 33 */ "statement ::= DOLLAR varvar EQUAL expr", + /* 34 */ "expr ::= ID", + /* 35 */ "expr ::= exprs", + /* 36 */ "expr ::= expr modifier modparameters", + /* 37 */ "exprs ::= array", + /* 38 */ "exprs ::= value", + /* 39 */ "exprs ::= UNIMATH value", + /* 40 */ "exprs ::= exprs math value", + /* 41 */ "exprs ::= exprs ANDSYM value", + /* 42 */ "math ::= UNIMATH", + /* 43 */ "math ::= MATH", + /* 44 */ "value ::= variable", + /* 45 */ "value ::= INTEGER", + /* 46 */ "value ::= INTEGER DOT INTEGER", + /* 47 */ "value ::= BOOLEAN", + /* 48 */ "value ::= NULL", + /* 49 */ "value ::= function", + /* 50 */ "value ::= OPENP expr CLOSEP", + /* 51 */ "value ::= SINGLEQUOTE text SINGLEQUOTE", + /* 52 */ "value ::= SINGLEQUOTE SINGLEQUOTE", + /* 53 */ "value ::= QUOTE doublequoted QUOTE", + /* 54 */ "value ::= QUOTE QUOTE", + /* 55 */ "value ::= ID DOUBLECOLON method", + /* 56 */ "value ::= ID DOUBLECOLON DOLLAR ID OPENP params CLOSEP", + /* 57 */ "value ::= ID DOUBLECOLON method objectchain", + /* 58 */ "value ::= ID DOUBLECOLON DOLLAR ID OPENP params CLOSEP objectchain", + /* 59 */ "value ::= ID DOUBLECOLON ID", + /* 60 */ "value ::= ID DOUBLECOLON DOLLAR ID arrayindex", + /* 61 */ "value ::= ID DOUBLECOLON DOLLAR ID arrayindex objectchain", + /* 62 */ "variable ::= varindexed", + /* 63 */ "variable ::= DOLLAR varvar AT ID", + /* 64 */ "variable ::= object", + /* 65 */ "variable ::= HATCH ID HATCH", + /* 66 */ "variable ::= DOLLAR ID COLON ID", + /* 67 */ "varindexed ::= DOLLAR varvar arrayindex", /* 68 */ "arrayindex ::= arrayindex indexdef", /* 69 */ "arrayindex ::=", /* 70 */ "indexdef ::= DOT ID", @@ -1529,7 +1539,6 @@ static public $yy_action = array( array( 'lhs' => 71, 'rhs' => 1 ), array( 'lhs' => 72, 'rhs' => 4 ), array( 'lhs' => 72, 'rhs' => 6 ), - array( 'lhs' => 77, 'rhs' => 3 ), array( 'lhs' => 72, 'rhs' => 4 ), array( 'lhs' => 72, 'rhs' => 6 ), array( 'lhs' => 72, 'rhs' => 6 ), @@ -1538,52 +1547,53 @@ static public $yy_action = array( array( 'lhs' => 72, 'rhs' => 5 ), array( 'lhs' => 72, 'rhs' => 5 ), array( 'lhs' => 72, 'rhs' => 11 ), - array( 'lhs' => 85, 'rhs' => 2 ), - array( 'lhs' => 85, 'rhs' => 1 ), + array( 'lhs' => 84, 'rhs' => 2 ), + array( 'lhs' => 84, 'rhs' => 1 ), array( 'lhs' => 72, 'rhs' => 8 ), array( 'lhs' => 72, 'rhs' => 8 ), array( 'lhs' => 76, 'rhs' => 2 ), array( 'lhs' => 76, 'rhs' => 1 ), array( 'lhs' => 76, 'rhs' => 0 ), - array( 'lhs' => 88, 'rhs' => 4 ), - array( 'lhs' => 84, 'rhs' => 1 ), - array( 'lhs' => 84, 'rhs' => 3 ), - array( 'lhs' => 83, 'rhs' => 4 ), + array( 'lhs' => 87, 'rhs' => 4 ), + array( 'lhs' => 82, 'rhs' => 1 ), + array( 'lhs' => 82, 'rhs' => 3 ), + array( 'lhs' => 81, 'rhs' => 4 ), array( 'lhs' => 75, 'rhs' => 1 ), array( 'lhs' => 75, 'rhs' => 1 ), array( 'lhs' => 75, 'rhs' => 3 ), + array( 'lhs' => 88, 'rhs' => 1 ), + array( 'lhs' => 88, 'rhs' => 1 ), + array( 'lhs' => 88, 'rhs' => 2 ), + array( 'lhs' => 88, 'rhs' => 3 ), + array( 'lhs' => 88, 'rhs' => 3 ), array( 'lhs' => 89, 'rhs' => 1 ), array( 'lhs' => 89, 'rhs' => 1 ), - array( 'lhs' => 89, 'rhs' => 2 ), - array( 'lhs' => 89, 'rhs' => 3 ), - array( 'lhs' => 89, 'rhs' => 3 ), - array( 'lhs' => 90, 'rhs' => 1 ), - array( 'lhs' => 90, 'rhs' => 1 ), - array( 'lhs' => 86, 'rhs' => 1 ), - array( 'lhs' => 86, 'rhs' => 1 ), - array( 'lhs' => 86, 'rhs' => 3 ), - array( 'lhs' => 86, 'rhs' => 1 ), - array( 'lhs' => 86, 'rhs' => 1 ), - array( 'lhs' => 86, 'rhs' => 1 ), - array( 'lhs' => 86, 'rhs' => 3 ), - array( 'lhs' => 86, 'rhs' => 3 ), - array( 'lhs' => 86, 'rhs' => 2 ), - array( 'lhs' => 86, 'rhs' => 3 ), - array( 'lhs' => 86, 'rhs' => 2 ), - array( 'lhs' => 86, 'rhs' => 3 ), - array( 'lhs' => 86, 'rhs' => 7 ), - array( 'lhs' => 86, 'rhs' => 4 ), - array( 'lhs' => 86, 'rhs' => 8 ), - array( 'lhs' => 86, 'rhs' => 3 ), - array( 'lhs' => 86, 'rhs' => 5 ), - array( 'lhs' => 86, 'rhs' => 6 ), + array( 'lhs' => 85, 'rhs' => 1 ), + array( 'lhs' => 85, 'rhs' => 1 ), + array( 'lhs' => 85, 'rhs' => 3 ), + array( 'lhs' => 85, 'rhs' => 1 ), + array( 'lhs' => 85, 'rhs' => 1 ), + array( 'lhs' => 85, 'rhs' => 1 ), + array( 'lhs' => 85, 'rhs' => 3 ), + array( 'lhs' => 85, 'rhs' => 3 ), + array( 'lhs' => 85, 'rhs' => 2 ), + array( 'lhs' => 85, 'rhs' => 3 ), + array( 'lhs' => 85, 'rhs' => 2 ), + array( 'lhs' => 85, 'rhs' => 3 ), + array( 'lhs' => 85, 'rhs' => 7 ), + array( 'lhs' => 85, 'rhs' => 4 ), + array( 'lhs' => 85, 'rhs' => 8 ), + array( 'lhs' => 85, 'rhs' => 3 ), + array( 'lhs' => 85, 'rhs' => 5 ), + array( 'lhs' => 85, 'rhs' => 6 ), array( 'lhs' => 74, 'rhs' => 1 ), array( 'lhs' => 74, 'rhs' => 4 ), array( 'lhs' => 74, 'rhs' => 1 ), array( 'lhs' => 74, 'rhs' => 3 ), array( 'lhs' => 74, 'rhs' => 4 ), - array( 'lhs' => 79, 'rhs' => 2 ), - array( 'lhs' => 79, 'rhs' => 0 ), + array( 'lhs' => 77, 'rhs' => 3 ), + array( 'lhs' => 95, 'rhs' => 2 ), + array( 'lhs' => 95, 'rhs' => 0 ), array( 'lhs' => 97, 'rhs' => 2 ), array( 'lhs' => 97, 'rhs' => 2 ), array( 'lhs' => 97, 'rhs' => 2 ), @@ -1591,32 +1601,32 @@ static public $yy_action = array( array( 'lhs' => 97, 'rhs' => 3 ), array( 'lhs' => 97, 'rhs' => 3 ), array( 'lhs' => 97, 'rhs' => 2 ), - array( 'lhs' => 78, 'rhs' => 1 ), - array( 'lhs' => 78, 'rhs' => 2 ), + array( 'lhs' => 83, 'rhs' => 1 ), + array( 'lhs' => 83, 'rhs' => 2 ), array( 'lhs' => 98, 'rhs' => 1 ), array( 'lhs' => 98, 'rhs' => 3 ), array( 'lhs' => 96, 'rhs' => 4 ), - array( 'lhs' => 95, 'rhs' => 1 ), - array( 'lhs' => 95, 'rhs' => 2 ), + array( 'lhs' => 94, 'rhs' => 1 ), + array( 'lhs' => 94, 'rhs' => 2 ), array( 'lhs' => 99, 'rhs' => 3 ), array( 'lhs' => 99, 'rhs' => 3 ), array( 'lhs' => 99, 'rhs' => 5 ), array( 'lhs' => 99, 'rhs' => 6 ), array( 'lhs' => 99, 'rhs' => 2 ), - array( 'lhs' => 91, 'rhs' => 4 ), - array( 'lhs' => 93, 'rhs' => 4 ), - array( 'lhs' => 94, 'rhs' => 3 ), - array( 'lhs' => 94, 'rhs' => 1 ), - array( 'lhs' => 94, 'rhs' => 0 ), - array( 'lhs' => 80, 'rhs' => 3 ), + array( 'lhs' => 90, 'rhs' => 4 ), + array( 'lhs' => 92, 'rhs' => 4 ), + array( 'lhs' => 93, 'rhs' => 3 ), + array( 'lhs' => 93, 'rhs' => 1 ), + array( 'lhs' => 93, 'rhs' => 0 ), + array( 'lhs' => 78, 'rhs' => 3 ), + array( 'lhs' => 78, 'rhs' => 2 ), + array( 'lhs' => 79, 'rhs' => 2 ), + array( 'lhs' => 79, 'rhs' => 0 ), + array( 'lhs' => 100, 'rhs' => 2 ), + array( 'lhs' => 100, 'rhs' => 2 ), + array( 'lhs' => 80, 'rhs' => 1 ), array( 'lhs' => 80, 'rhs' => 2 ), - array( 'lhs' => 81, 'rhs' => 2 ), - array( 'lhs' => 81, 'rhs' => 0 ), - array( 'lhs' => 100, 'rhs' => 2 ), - array( 'lhs' => 100, 'rhs' => 2 ), - array( 'lhs' => 82, 'rhs' => 1 ), - array( 'lhs' => 82, 'rhs' => 2 ), - array( 'lhs' => 82, 'rhs' => 3 ), + array( 'lhs' => 80, 'rhs' => 3 ), array( 'lhs' => 101, 'rhs' => 1 ), array( 'lhs' => 101, 'rhs' => 3 ), array( 'lhs' => 101, 'rhs' => 3 ), @@ -1642,15 +1652,15 @@ static public $yy_action = array( array( 'lhs' => 102, 'rhs' => 1 ), array( 'lhs' => 103, 'rhs' => 1 ), array( 'lhs' => 103, 'rhs' => 1 ), - array( 'lhs' => 87, 'rhs' => 3 ), + array( 'lhs' => 86, 'rhs' => 3 ), array( 'lhs' => 104, 'rhs' => 1 ), array( 'lhs' => 104, 'rhs' => 3 ), array( 'lhs' => 104, 'rhs' => 0 ), array( 'lhs' => 105, 'rhs' => 1 ), array( 'lhs' => 105, 'rhs' => 3 ), array( 'lhs' => 105, 'rhs' => 3 ), - array( 'lhs' => 92, 'rhs' => 2 ), - array( 'lhs' => 92, 'rhs' => 1 ), + array( 'lhs' => 91, 'rhs' => 2 ), + array( 'lhs' => 91, 'rhs' => 1 ), array( 'lhs' => 106, 'rhs' => 3 ), array( 'lhs' => 106, 'rhs' => 3 ), array( 'lhs' => 106, 'rhs' => 2 ), @@ -1670,19 +1680,19 @@ static public $yy_action = array( */ static public $yyReduceMap = array( 0 => 0, - 39 => 0, + 38 => 0, + 44 => 0, 45 => 0, - 46 => 0, + 47 => 0, 48 => 0, 49 => 0, - 50 => 0, - 65 => 0, + 64 => 0, 129 => 0, 1 => 1, - 36 => 1, - 38 => 1, + 35 => 1, + 37 => 1, + 42 => 1, 43 => 1, - 44 => 1, 77 => 1, 100 => 1, 136 => 1, @@ -1712,32 +1722,32 @@ static public $yy_action = array( 19 => 19, 20 => 20, 21 => 21, - 22 => 21, + 22 => 22, 23 => 23, 24 => 24, + 28 => 24, + 92 => 24, + 132 => 24, 25 => 25, - 29 => 25, - 92 => 25, - 132 => 25, 26 => 26, - 27 => 26, - 28 => 28, + 27 => 27, + 29 => 29, 30 => 30, 31 => 31, 32 => 32, 33 => 33, 34 => 34, - 35 => 35, - 37 => 37, + 36 => 36, + 39 => 39, 40 => 40, 41 => 41, - 42 => 42, - 47 => 47, + 46 => 46, + 50 => 50, 51 => 51, 52 => 52, + 54 => 52, 53 => 53, - 55 => 53, - 54 => 54, + 55 => 55, 56 => 56, 57 => 57, 58 => 58, @@ -1746,7 +1756,7 @@ static public $yy_action = array( 61 => 61, 62 => 62, 63 => 63, - 64 => 64, + 65 => 65, 66 => 66, 67 => 67, 69 => 69, @@ -1824,32 +1834,32 @@ static public $yy_action = array( */ #line 73 "internal.templateparser.y" function yy_r0(){ $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } -#line 1832 "internal.templateparser.php" +#line 1842 "internal.templateparser.php" #line 79 "internal.templateparser.y" function yy_r1(){$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } -#line 1835 "internal.templateparser.php" +#line 1845 "internal.templateparser.php" #line 81 "internal.templateparser.y" function yy_r2(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -#line 1838 "internal.templateparser.php" +#line 1848 "internal.templateparser.php" #line 87 "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); } $this->nocache=false; } -#line 1844 "internal.templateparser.php" -#line 100 "internal.templateparser.y" +#line 1854 "internal.templateparser.php" +#line 92 "internal.templateparser.y" function yy_r4(){ $this->_retvalue = ''; } -#line 1847 "internal.templateparser.php" -#line 103 "internal.templateparser.y" +#line 1857 "internal.templateparser.php" +#line 95 "internal.templateparser.y" function yy_r5(){$this->_retvalue = $this->cacher->processNocacheCode($this->yystack[$this->yyidx + -1]->minor, $this->compiler,false,false); } -#line 1850 "internal.templateparser.php" -#line 105 "internal.templateparser.y" +#line 1860 "internal.templateparser.php" +#line 97 "internal.templateparser.y" function yy_r6(){$this->_retvalue = $this->cacher->processNocacheCode($this->smarty->left_delimiter, $this->compiler,false,false); } -#line 1853 "internal.templateparser.php" -#line 107 "internal.templateparser.y" +#line 1863 "internal.templateparser.php" +#line 99 "internal.templateparser.y" function yy_r7(){$this->_retvalue = $this->cacher->processNocacheCode($this->smarty->right_delimiter, $this->compiler,false,false); } -#line 1856 "internal.templateparser.php" -#line 109 "internal.templateparser.y" +#line 1866 "internal.templateparser.php" +#line 101 "internal.templateparser.y" function yy_r8(){if (!$this->template->security) { $this->_retvalue = $this->cacher->processNocacheCode($this->yystack[$this->yyidx + 0]->minor, $this->compiler, false,true); } elseif ($this->smarty->security_policy->php_handling == SMARTY_PHP_QUOTE) { @@ -1859,8 +1869,8 @@ static public $yy_action = array( }elseif ($this->smarty->security_policy->php_handling == SMARTY_PHP_REMOVE) { $this->_retvalue = ''; } } -#line 1867 "internal.templateparser.php" -#line 119 "internal.templateparser.y" +#line 1877 "internal.templateparser.php" +#line 111 "internal.templateparser.y" function yy_r9(){if (!$this->template->security) { $this->_retvalue = $this->cacher->processNocacheCode('yystack[$this->yyidx + -1]->minor.' ?>', $this->compiler, false,true); } elseif ($this->smarty->security_policy->php_handling == SMARTY_PHP_QUOTE) { @@ -1870,8 +1880,8 @@ static public $yy_action = array( }elseif ($this->smarty->security_policy->php_handling == SMARTY_PHP_REMOVE) { $this->_retvalue = ''; } } -#line 1878 "internal.templateparser.php" -#line 129 "internal.templateparser.y" +#line 1888 "internal.templateparser.php" +#line 121 "internal.templateparser.y" function yy_r10(){if (!$this->template->security) { $this->_retvalue = $this->cacher->processNocacheCode($this->compiler->compileTag('print_expression',array('value'=>$this->yystack[$this->yyidx + -1]->minor)), $this->compiler, false,true); } elseif ($this->smarty->security_policy->php_handling == SMARTY_PHP_QUOTE) { @@ -1881,30 +1891,27 @@ static public $yy_action = array( }elseif ($this->smarty->security_policy->php_handling == SMARTY_PHP_REMOVE) { $this->_retvalue = ''; } } -#line 1889 "internal.templateparser.php" -#line 139 "internal.templateparser.y" +#line 1899 "internal.templateparser.php" +#line 131 "internal.templateparser.y" function yy_r11(){$this->_retvalue = $this->cacher->processNocacheCode("yystack[$this->yyidx + 0]->minor."';?>\n", $this->compiler, true, true); } -#line 1892 "internal.templateparser.php" -#line 141 "internal.templateparser.y" +#line 1902 "internal.templateparser.php" +#line 133 "internal.templateparser.y" function yy_r12(){$this->_retvalue = $this->cacher->processNocacheCode($this->yystack[$this->yyidx + 0]->minor, $this->compiler,false,false); } -#line 1895 "internal.templateparser.php" -#line 149 "internal.templateparser.y" +#line 1905 "internal.templateparser.php" +#line 140 "internal.templateparser.y" function yy_r13(){ $this->_retvalue = $this->compiler->compileTag('print_expression',array_merge(array('value'=>$this->yystack[$this->yyidx + -2]->minor),$this->yystack[$this->yyidx + -1]->minor)); } -#line 1898 "internal.templateparser.php" -#line 151 "internal.templateparser.y" +#line 1908 "internal.templateparser.php" +#line 142 "internal.templateparser.y" function yy_r14(){ $this->_retvalue = $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 1901 "internal.templateparser.php" -#line 152 "internal.templateparser.y" - function yy_r15(){$this->_retvalue = array('var'=>$this->yystack[$this->yyidx + -1]->minor, 'index'=>$this->yystack[$this->yyidx + 0]->minor); } -#line 1904 "internal.templateparser.php" -#line 155 "internal.templateparser.y" - function yy_r16(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -2]->minor,$this->yystack[$this->yyidx + -1]->minor); } -#line 1907 "internal.templateparser.php" -#line 157 "internal.templateparser.y" - function yy_r17(){ $this->_retvalue = $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 1910 "internal.templateparser.php" -#line 159 "internal.templateparser.y" - function yy_r18(){ $this->_retvalue = ''.$this->compiler->compileTag($this->yystack[$this->yyidx + -4]->minor,$this->yystack[$this->yyidx + -1]->minor).'_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -2]->minor,$this->yystack[$this->yyidx + -1]->minor); } +#line 1914 "internal.templateparser.php" +#line 146 "internal.templateparser.y" + function yy_r16(){ $this->_retvalue = $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 1917 "internal.templateparser.php" +#line 148 "internal.templateparser.y" + function yy_r17(){ $this->_retvalue = ''.$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')) { $this->_retvalue .= "\$_smarty_tpl->smarty->plugin_handler->".$this->yystack[$this->yyidx + -3]->minor[0] . "(array(ob_get_clean()". $this->yystack[$this->yyidx + -2]->minor ."),'modifier');?>"; } else { @@ -1917,51 +1924,75 @@ static public $yy_action = array( } } } -#line 1925 "internal.templateparser.php" -#line 173 "internal.templateparser.y" - function yy_r19(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -2]->minor.'close',$this->yystack[$this->yyidx + -1]->minor); } -#line 1928 "internal.templateparser.php" +#line 1932 "internal.templateparser.php" +#line 162 "internal.templateparser.y" + function yy_r18(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -2]->minor.'close',$this->yystack[$this->yyidx + -1]->minor); } +#line 1935 "internal.templateparser.php" +#line 164 "internal.templateparser.y" + function yy_r19(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -3]->minor.'close',array('object_methode'=>$this->yystack[$this->yyidx + -1]->minor)); } +#line 1938 "internal.templateparser.php" +#line 166 "internal.templateparser.y" + function yy_r20(){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 . "\""); + } + $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -3]->minor,array('if condition'=>$this->yystack[$this->yyidx + -1]->minor)); } +#line 1944 "internal.templateparser.php" +#line 170 "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 . "\""); + } + $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -3]->minor,array('if condition'=>$this->yystack[$this->yyidx + -1]->minor)); } +#line 1950 "internal.templateparser.php" #line 175 "internal.templateparser.y" - function yy_r20(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -3]->minor.'close',array('object_methode'=>$this->yystack[$this->yyidx + -1]->minor)); } -#line 1931 "internal.templateparser.php" -#line 177 "internal.templateparser.y" - function yy_r21(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -3]->minor,array('if condition'=>$this->yystack[$this->yyidx + -1]->minor)); } -#line 1934 "internal.templateparser.php" + function yy_r22(){ + if ($this->yystack[$this->yyidx + -9]->minor != 'for') { + $this->compiler->trigger_template_error ("wrong syntax for tag \"" . $this->yystack[$this->yyidx + -9]->minor . "\""); + } + $this->_retvalue = $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 1957 "internal.templateparser.php" #line 180 "internal.templateparser.y" - function yy_r23(){ $this->_retvalue = $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 1937 "internal.templateparser.php" + function yy_r23(){ $this->_retvalue = '='.$this->yystack[$this->yyidx + 0]->minor; } +#line 1960 "internal.templateparser.php" #line 181 "internal.templateparser.y" - function yy_r24(){ $this->_retvalue = '='.$this->yystack[$this->yyidx + 0]->minor; } -#line 1940 "internal.templateparser.php" -#line 182 "internal.templateparser.y" - function yy_r25(){ $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } -#line 1943 "internal.templateparser.php" -#line 185 "internal.templateparser.y" - function yy_r26(){ $this->_retvalue = $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 1946 "internal.templateparser.php" -#line 192 "internal.templateparser.y" - function yy_r28(){ $this->_retvalue = array_merge($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor); } -#line 1949 "internal.templateparser.php" -#line 196 "internal.templateparser.y" - function yy_r30(){ $this->_retvalue = array(); } -#line 1952 "internal.templateparser.php" -#line 200 "internal.templateparser.y" - function yy_r31(){ $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>$this->yystack[$this->yyidx + 0]->minor); } -#line 1955 "internal.templateparser.php" + function yy_r24(){ $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } +#line 1963 "internal.templateparser.php" +#line 183 "internal.templateparser.y" + function yy_r25(){ + if ($this->yystack[$this->yyidx + -6]->minor != 'foreach') { + $this->compiler->trigger_template_error ("wrong syntax for tag \"" . $this->yystack[$this->yyidx + -6]->minor . "\""); + } + $this->_retvalue = $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 1970 "internal.templateparser.php" +#line 188 "internal.templateparser.y" + function yy_r26(){ + if ($this->yystack[$this->yyidx + -6]->minor != 'foreach') { + $this->compiler->trigger_template_error ("wrong syntax for tag \"" . $this->yystack[$this->yyidx + -6]->minor . "\""); + } + $this->_retvalue = $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 1977 "internal.templateparser.php" +#line 198 "internal.templateparser.y" + function yy_r27(){ $this->_retvalue = array_merge($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor); } +#line 1980 "internal.templateparser.php" +#line 202 "internal.templateparser.y" + function yy_r29(){ $this->_retvalue = array(); } +#line 1983 "internal.templateparser.php" #line 205 "internal.templateparser.y" - function yy_r32(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor); } -#line 1958 "internal.templateparser.php" -#line 206 "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 1961 "internal.templateparser.php" -#line 208 "internal.templateparser.y" - function yy_r34(){ $this->_retvalue = array('var' => $this->yystack[$this->yyidx + -2]->minor, 'value'=>$this->yystack[$this->yyidx + 0]->minor); } -#line 1964 "internal.templateparser.php" -#line 215 "internal.templateparser.y" - function yy_r35(){ $this->_retvalue = '\''.$this->yystack[$this->yyidx + 0]->minor.'\''; } -#line 1967 "internal.templateparser.php" + function yy_r30(){ $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>$this->yystack[$this->yyidx + 0]->minor); } +#line 1986 "internal.templateparser.php" +#line 210 "internal.templateparser.y" + function yy_r31(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor); } +#line 1989 "internal.templateparser.php" +#line 211 "internal.templateparser.y" + function yy_r32(){ $this->yystack[$this->yyidx + -2]->minor[]=$this->yystack[$this->yyidx + 0]->minor; $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor; } +#line 1992 "internal.templateparser.php" +#line 213 "internal.templateparser.y" + function yy_r33(){ $this->_retvalue = array('var' => $this->yystack[$this->yyidx + -2]->minor, 'value'=>$this->yystack[$this->yyidx + 0]->minor); } +#line 1995 "internal.templateparser.php" #line 219 "internal.templateparser.y" - function yy_r37(){ + function yy_r34(){ $this->_retvalue = '\''.$this->yystack[$this->yyidx + 0]->minor.'\''; } +#line 1998 "internal.templateparser.php" +#line 221 "internal.templateparser.y" + function yy_r36(){ if ($this->smarty->plugin_handler->loadSmartyPlugin($this->yystack[$this->yyidx + -1]->minor[0],'modifier')) { $this->_retvalue = "\$_smarty_tpl->smarty->plugin_handler->".$this->yystack[$this->yyidx + -1]->minor[0] . "(array(". $this->yystack[$this->yyidx + -2]->minor . $this->yystack[$this->yyidx + 0]->minor ."),'modifier')"; } else { @@ -1974,120 +2005,123 @@ static public $yy_action = array( } } } -#line 1982 "internal.templateparser.php" -#line 237 "internal.templateparser.y" - function yy_r40(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -#line 1985 "internal.templateparser.php" +#line 2013 "internal.templateparser.php" #line 239 "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 1988 "internal.templateparser.php" + function yy_r39(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } +#line 2016 "internal.templateparser.php" #line 241 "internal.templateparser.y" - function yy_r42(){ $this->_retvalue = '('. $this->yystack[$this->yyidx + -2]->minor . ').(' . $this->yystack[$this->yyidx + 0]->minor. ')'; } -#line 1991 "internal.templateparser.php" -#line 258 "internal.templateparser.y" - function yy_r47(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor; } -#line 1994 "internal.templateparser.php" -#line 267 "internal.templateparser.y" - function yy_r51(){ $this->_retvalue = "(". $this->yystack[$this->yyidx + -1]->minor .")"; } -#line 1997 "internal.templateparser.php" -#line 270 "internal.templateparser.y" - function yy_r52(){ $this->_retvalue = "'".$this->yystack[$this->yyidx + -1]->minor."'"; } -#line 2000 "internal.templateparser.php" -#line 271 "internal.templateparser.y" - function yy_r53(){ $this->_retvalue = "''"; } -#line 2003 "internal.templateparser.php" -#line 273 "internal.templateparser.y" - function yy_r54(){ $this->_retvalue = "'".str_replace('\"','"',$this->yystack[$this->yyidx + -1]->minor)."'"; } -#line 2006 "internal.templateparser.php" -#line 279 "internal.templateparser.y" - function yy_r56(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'::'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2009 "internal.templateparser.php" -#line 280 "internal.templateparser.y" - function yy_r57(){ $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 2012 "internal.templateparser.php" -#line 282 "internal.templateparser.y" - function yy_r58(){ $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor.'::'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -#line 2015 "internal.templateparser.php" -#line 283 "internal.templateparser.y" - function yy_r59(){ $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 2018 "internal.templateparser.php" -#line 285 "internal.templateparser.y" - function yy_r60(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'::'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2021 "internal.templateparser.php" -#line 287 "internal.templateparser.y" - function yy_r61(){ $this->_retvalue = $this->yystack[$this->yyidx + -4]->minor.'::$'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -#line 2024 "internal.templateparser.php" -#line 289 "internal.templateparser.y" - function yy_r62(){ $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 2027 "internal.templateparser.php" -#line 296 "internal.templateparser.y" - function yy_r63(){ 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;} } + function yy_r40(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor . $this->yystack[$this->yyidx + -1]->minor . $this->yystack[$this->yyidx + 0]->minor; } +#line 2019 "internal.templateparser.php" +#line 243 "internal.templateparser.y" + function yy_r41(){ $this->_retvalue = '('. $this->yystack[$this->yyidx + -2]->minor . ').(' . $this->yystack[$this->yyidx + 0]->minor. ')'; } +#line 2022 "internal.templateparser.php" +#line 260 "internal.templateparser.y" + function yy_r46(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor; } +#line 2025 "internal.templateparser.php" +#line 269 "internal.templateparser.y" + function yy_r50(){ $this->_retvalue = "(". $this->yystack[$this->yyidx + -1]->minor .")"; } +#line 2028 "internal.templateparser.php" +#line 272 "internal.templateparser.y" + function yy_r51(){ $this->_retvalue = "'".$this->yystack[$this->yyidx + -1]->minor."'"; } #line 2031 "internal.templateparser.php" -#line 299 "internal.templateparser.y" - function yy_r64(){ $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 273 "internal.templateparser.y" + function yy_r52(){ $this->_retvalue = "''"; } #line 2034 "internal.templateparser.php" -#line 303 "internal.templateparser.y" - function yy_r66(){$this->_retvalue = '$_smarty_tpl->getConfigVariable(\''. $this->yystack[$this->yyidx + -1]->minor .'\')'; } +#line 275 "internal.templateparser.y" + function yy_r53(){ $this->_retvalue = "'".str_replace('\"','"',$this->yystack[$this->yyidx + -1]->minor)."'"; } #line 2037 "internal.templateparser.php" -#line 305 "internal.templateparser.y" - function yy_r67(){$this->_retvalue = '$_smarty_tpl->getStreamVariable(\''. $this->yystack[$this->yyidx + -2]->minor .'://'. $this->yystack[$this->yyidx + 0]->minor. '\')'; } +#line 281 "internal.templateparser.y" + function yy_r55(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'::'.$this->yystack[$this->yyidx + 0]->minor; } #line 2040 "internal.templateparser.php" -#line 313 "internal.templateparser.y" - function yy_r69(){return; } +#line 282 "internal.templateparser.y" + function yy_r56(){ $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 2043 "internal.templateparser.php" -#line 317 "internal.templateparser.y" - function yy_r70(){ $this->_retvalue = "['". $this->yystack[$this->yyidx + 0]->minor ."']"; } +#line 284 "internal.templateparser.y" + function yy_r57(){ $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor.'::'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } #line 2046 "internal.templateparser.php" -#line 318 "internal.templateparser.y" - function yy_r71(){ $this->_retvalue = "[". $this->yystack[$this->yyidx + 0]->minor ."]"; } +#line 285 "internal.templateparser.y" + function yy_r58(){ $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 2049 "internal.templateparser.php" -#line 320 "internal.templateparser.y" - function yy_r72(){ $this->_retvalue = "[".$this->yystack[$this->yyidx + 0]->minor."]"; } +#line 287 "internal.templateparser.y" + function yy_r59(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'::'.$this->yystack[$this->yyidx + 0]->minor; } #line 2052 "internal.templateparser.php" -#line 321 "internal.templateparser.y" - function yy_r73(){ $this->_retvalue = "[". $this->yystack[$this->yyidx + -1]->minor ."]"; } +#line 289 "internal.templateparser.y" + function yy_r60(){ $this->_retvalue = $this->yystack[$this->yyidx + -4]->minor.'::$'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } #line 2055 "internal.templateparser.php" -#line 323 "internal.templateparser.y" - function yy_r74(){ $this->_retvalue = '['.$this->compiler->compileTag('internal_smarty_var','[\'section\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\'][\'index\']').']'; } +#line 291 "internal.templateparser.y" + function yy_r61(){ $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 2058 "internal.templateparser.php" -#line 327 "internal.templateparser.y" +#line 298 "internal.templateparser.y" + function yy_r62(){ 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 2062 "internal.templateparser.php" +#line 301 "internal.templateparser.y" + function yy_r63(){ $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 2065 "internal.templateparser.php" +#line 305 "internal.templateparser.y" + function yy_r65(){$this->_retvalue = '$_smarty_tpl->getConfigVariable(\''. $this->yystack[$this->yyidx + -1]->minor .'\')'; } +#line 2068 "internal.templateparser.php" +#line 307 "internal.templateparser.y" + function yy_r66(){$this->_retvalue = '$_smarty_tpl->getStreamVariable(\''. $this->yystack[$this->yyidx + -2]->minor .'://'. $this->yystack[$this->yyidx + 0]->minor. '\')'; } +#line 2071 "internal.templateparser.php" +#line 309 "internal.templateparser.y" + function yy_r67(){$this->_retvalue = array('var'=>$this->yystack[$this->yyidx + -1]->minor, 'index'=>$this->yystack[$this->yyidx + 0]->minor); } +#line 2074 "internal.templateparser.php" +#line 317 "internal.templateparser.y" + function yy_r69(){return; } +#line 2077 "internal.templateparser.php" +#line 321 "internal.templateparser.y" + function yy_r70(){ $this->_retvalue = "['". $this->yystack[$this->yyidx + 0]->minor ."']"; } +#line 2080 "internal.templateparser.php" +#line 322 "internal.templateparser.y" + function yy_r71(){ $this->_retvalue = "[". $this->yystack[$this->yyidx + 0]->minor ."]"; } +#line 2083 "internal.templateparser.php" +#line 323 "internal.templateparser.y" + function yy_r72(){ $this->_retvalue = "[".$this->yystack[$this->yyidx + 0]->minor."]"; } +#line 2086 "internal.templateparser.php" +#line 324 "internal.templateparser.y" + function yy_r73(){ $this->_retvalue = "[". $this->yystack[$this->yyidx + -1]->minor ."]"; } +#line 2089 "internal.templateparser.php" +#line 326 "internal.templateparser.y" + function yy_r74(){ $this->_retvalue = '['.$this->compiler->compileTag('internal_smarty_var','[\'section\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\'][\'index\']').']'; } +#line 2092 "internal.templateparser.php" +#line 330 "internal.templateparser.y" function yy_r76(){$this->_retvalue = ''; } -#line 2061 "internal.templateparser.php" -#line 335 "internal.templateparser.y" +#line 2095 "internal.templateparser.php" +#line 338 "internal.templateparser.y" function yy_r78(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2064 "internal.templateparser.php" -#line 337 "internal.templateparser.y" +#line 2098 "internal.templateparser.php" +#line 340 "internal.templateparser.y" function yy_r79(){$this->_retvalue = '\''.$this->yystack[$this->yyidx + 0]->minor.'\''; } -#line 2067 "internal.templateparser.php" -#line 339 "internal.templateparser.y" +#line 2101 "internal.templateparser.php" +#line 342 "internal.templateparser.y" function yy_r80(){$this->_retvalue = '('.$this->yystack[$this->yyidx + -1]->minor.')'; } -#line 2070 "internal.templateparser.php" -#line 344 "internal.templateparser.y" +#line 2104 "internal.templateparser.php" +#line 347 "internal.templateparser.y" function yy_r81(){ $this->_retvalue = '$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + -2]->minor .')->value'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; $this->nocache=$this->template->getVariable(trim($this->yystack[$this->yyidx + -2]->minor,"'"))->nocache; } -#line 2073 "internal.templateparser.php" -#line 346 "internal.templateparser.y" +#line 2107 "internal.templateparser.php" +#line 349 "internal.templateparser.y" function yy_r82(){$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } -#line 2076 "internal.templateparser.php" -#line 348 "internal.templateparser.y" - function yy_r83(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -#line 2079 "internal.templateparser.php" -#line 350 "internal.templateparser.y" - function yy_r84(){ $this->_retvalue = '->'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -#line 2082 "internal.templateparser.php" +#line 2110 "internal.templateparser.php" #line 351 "internal.templateparser.y" - function yy_r85(){ $this->_retvalue = '->{'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor.'}'; } -#line 2085 "internal.templateparser.php" -#line 352 "internal.templateparser.y" - function yy_r86(){ $this->_retvalue = '->{'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + 0]->minor.'}'; } -#line 2088 "internal.templateparser.php" + function yy_r83(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } +#line 2113 "internal.templateparser.php" #line 353 "internal.templateparser.y" - function yy_r87(){ $this->_retvalue = '->{\''.$this->yystack[$this->yyidx + -4]->minor.'\'.'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + 0]->minor.'}'; } -#line 2091 "internal.templateparser.php" + function yy_r84(){ $this->_retvalue = '->'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } +#line 2116 "internal.templateparser.php" +#line 354 "internal.templateparser.y" + function yy_r85(){ $this->_retvalue = '->{'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor.'}'; } +#line 2119 "internal.templateparser.php" #line 355 "internal.templateparser.y" + function yy_r86(){ $this->_retvalue = '->{'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + 0]->minor.'}'; } +#line 2122 "internal.templateparser.php" +#line 356 "internal.templateparser.y" + function yy_r87(){ $this->_retvalue = '->{\''.$this->yystack[$this->yyidx + -4]->minor.'\'.'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + 0]->minor.'}'; } +#line 2125 "internal.templateparser.php" +#line 358 "internal.templateparser.y" function yy_r88(){ $this->_retvalue = '->'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2094 "internal.templateparser.php" -#line 361 "internal.templateparser.y" +#line 2128 "internal.templateparser.php" +#line 364 "internal.templateparser.y" function yy_r89(){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 .")"; @@ -2095,124 +2129,124 @@ static public $yy_action = array( $this->compiler->trigger_template_error ("unknown function \"" . $this->yystack[$this->yyidx + -3]->minor . "\""); } } } -#line 2103 "internal.templateparser.php" -#line 372 "internal.templateparser.y" +#line 2137 "internal.templateparser.php" +#line 375 "internal.templateparser.y" function yy_r90(){ $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor . "(". $this->yystack[$this->yyidx + -1]->minor .")"; } -#line 2106 "internal.templateparser.php" -#line 376 "internal.templateparser.y" +#line 2140 "internal.templateparser.php" +#line 379 "internal.templateparser.y" function yy_r91(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.",".$this->yystack[$this->yyidx + 0]->minor; } -#line 2109 "internal.templateparser.php" -#line 380 "internal.templateparser.y" +#line 2143 "internal.templateparser.php" +#line 383 "internal.templateparser.y" function yy_r93(){ return; } -#line 2112 "internal.templateparser.php" -#line 385 "internal.templateparser.y" +#line 2146 "internal.templateparser.php" +#line 388 "internal.templateparser.y" function yy_r94(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor,true); } -#line 2115 "internal.templateparser.php" -#line 386 "internal.templateparser.y" +#line 2149 "internal.templateparser.php" +#line 389 "internal.templateparser.y" function yy_r95(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor,false); } -#line 2118 "internal.templateparser.php" -#line 393 "internal.templateparser.y" +#line 2152 "internal.templateparser.php" +#line 396 "internal.templateparser.y" function yy_r96(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -#line 2121 "internal.templateparser.php" -#line 397 "internal.templateparser.y" +#line 2155 "internal.templateparser.php" +#line 400 "internal.templateparser.y" function yy_r98(){$this->_retvalue = ','.$this->yystack[$this->yyidx + 0]->minor; } -#line 2124 "internal.templateparser.php" -#line 398 "internal.templateparser.y" +#line 2158 "internal.templateparser.php" +#line 401 "internal.templateparser.y" function yy_r99(){$this->_retvalue = ',\''.$this->yystack[$this->yyidx + 0]->minor.'\''; } -#line 2127 "internal.templateparser.php" -#line 405 "internal.templateparser.y" +#line 2161 "internal.templateparser.php" +#line 408 "internal.templateparser.y" function yy_r101(){$this->_retvalue = '!'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2130 "internal.templateparser.php" -#line 410 "internal.templateparser.y" - function yy_r103(){$this->_retvalue =$this->yystack[$this->yyidx + 0]->minor; } -#line 2133 "internal.templateparser.php" -#line 411 "internal.templateparser.y" - function yy_r104(){$this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -#line 2136 "internal.templateparser.php" -#line 412 "internal.templateparser.y" - function yy_r105(){$this->_retvalue = 'in_array('.$this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor.')'; } -#line 2139 "internal.templateparser.php" +#line 2164 "internal.templateparser.php" #line 413 "internal.templateparser.y" - function yy_r106(){$this->_retvalue = 'in_array('.$this->yystack[$this->yyidx + -2]->minor.',(array)'.$this->yystack[$this->yyidx + 0]->minor.')'; } -#line 2142 "internal.templateparser.php" + function yy_r103(){$this->_retvalue =$this->yystack[$this->yyidx + 0]->minor; } +#line 2167 "internal.templateparser.php" +#line 414 "internal.templateparser.y" + function yy_r104(){$this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } +#line 2170 "internal.templateparser.php" #line 415 "internal.templateparser.y" - function yy_r108(){$this->_retvalue = '!('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')'; } -#line 2145 "internal.templateparser.php" + function yy_r105(){$this->_retvalue = 'in_array('.$this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor.')'; } +#line 2173 "internal.templateparser.php" #line 416 "internal.templateparser.y" - function yy_r109(){$this->_retvalue = '('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')'; } -#line 2148 "internal.templateparser.php" -#line 417 "internal.templateparser.y" - function yy_r110(){$this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -1]->minor.')'; } -#line 2151 "internal.templateparser.php" + function yy_r106(){$this->_retvalue = 'in_array('.$this->yystack[$this->yyidx + -2]->minor.',(array)'.$this->yystack[$this->yyidx + 0]->minor.')'; } +#line 2176 "internal.templateparser.php" #line 418 "internal.templateparser.y" - function yy_r111(){$this->_retvalue = '(1 & '.$this->yystack[$this->yyidx + -1]->minor.')'; } -#line 2154 "internal.templateparser.php" + function yy_r108(){$this->_retvalue = '!('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')'; } +#line 2179 "internal.templateparser.php" #line 419 "internal.templateparser.y" - function yy_r112(){$this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -2]->minor.' / '.$this->yystack[$this->yyidx + 0]->minor.')'; } -#line 2157 "internal.templateparser.php" + function yy_r109(){$this->_retvalue = '('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')'; } +#line 2182 "internal.templateparser.php" #line 420 "internal.templateparser.y" + function yy_r110(){$this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -1]->minor.')'; } +#line 2185 "internal.templateparser.php" +#line 421 "internal.templateparser.y" + function yy_r111(){$this->_retvalue = '(1 & '.$this->yystack[$this->yyidx + -1]->minor.')'; } +#line 2188 "internal.templateparser.php" +#line 422 "internal.templateparser.y" + function yy_r112(){$this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -2]->minor.' / '.$this->yystack[$this->yyidx + 0]->minor.')'; } +#line 2191 "internal.templateparser.php" +#line 423 "internal.templateparser.y" function yy_r113(){$this->_retvalue = '(1 & '.$this->yystack[$this->yyidx + -2]->minor.' / '.$this->yystack[$this->yyidx + 0]->minor.')'; } -#line 2160 "internal.templateparser.php" -#line 426 "internal.templateparser.y" - function yy_r118(){$this->_retvalue = '=='; } -#line 2163 "internal.templateparser.php" -#line 427 "internal.templateparser.y" - function yy_r119(){$this->_retvalue = '!='; } -#line 2166 "internal.templateparser.php" -#line 428 "internal.templateparser.y" - function yy_r120(){$this->_retvalue = '>'; } -#line 2169 "internal.templateparser.php" +#line 2194 "internal.templateparser.php" #line 429 "internal.templateparser.y" - function yy_r121(){$this->_retvalue = '<'; } -#line 2172 "internal.templateparser.php" + function yy_r118(){$this->_retvalue = '=='; } +#line 2197 "internal.templateparser.php" #line 430 "internal.templateparser.y" - function yy_r122(){$this->_retvalue = '>='; } -#line 2175 "internal.templateparser.php" + function yy_r119(){$this->_retvalue = '!='; } +#line 2200 "internal.templateparser.php" #line 431 "internal.templateparser.y" - function yy_r123(){$this->_retvalue = '<='; } -#line 2178 "internal.templateparser.php" + function yy_r120(){$this->_retvalue = '>'; } +#line 2203 "internal.templateparser.php" #line 432 "internal.templateparser.y" - function yy_r124(){$this->_retvalue = '==='; } -#line 2181 "internal.templateparser.php" + function yy_r121(){$this->_retvalue = '<'; } +#line 2206 "internal.templateparser.php" #line 433 "internal.templateparser.y" - function yy_r125(){$this->_retvalue = '!=='; } -#line 2184 "internal.templateparser.php" + function yy_r122(){$this->_retvalue = '>='; } +#line 2209 "internal.templateparser.php" +#line 434 "internal.templateparser.y" + function yy_r123(){$this->_retvalue = '<='; } +#line 2212 "internal.templateparser.php" #line 435 "internal.templateparser.y" - function yy_r126(){$this->_retvalue = '&&'; } -#line 2187 "internal.templateparser.php" + function yy_r124(){$this->_retvalue = '==='; } +#line 2215 "internal.templateparser.php" #line 436 "internal.templateparser.y" + function yy_r125(){$this->_retvalue = '!=='; } +#line 2218 "internal.templateparser.php" +#line 438 "internal.templateparser.y" + function yy_r126(){$this->_retvalue = '&&'; } +#line 2221 "internal.templateparser.php" +#line 439 "internal.templateparser.y" function yy_r127(){$this->_retvalue = '||'; } -#line 2190 "internal.templateparser.php" -#line 441 "internal.templateparser.y" - function yy_r128(){ $this->_retvalue = 'array('.$this->yystack[$this->yyidx + -1]->minor.')'; } -#line 2193 "internal.templateparser.php" -#line 443 "internal.templateparser.y" - function yy_r130(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor; } -#line 2196 "internal.templateparser.php" +#line 2224 "internal.templateparser.php" #line 444 "internal.templateparser.y" - function yy_r131(){ return; } -#line 2199 "internal.templateparser.php" + function yy_r128(){ $this->_retvalue = 'array('.$this->yystack[$this->yyidx + -1]->minor.')'; } +#line 2227 "internal.templateparser.php" #line 446 "internal.templateparser.y" - function yy_r133(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'=>'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2202 "internal.templateparser.php" + function yy_r130(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor; } +#line 2230 "internal.templateparser.php" #line 447 "internal.templateparser.y" + function yy_r131(){ return; } +#line 2233 "internal.templateparser.php" +#line 449 "internal.templateparser.y" + function yy_r133(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'=>'.$this->yystack[$this->yyidx + 0]->minor; } +#line 2236 "internal.templateparser.php" +#line 450 "internal.templateparser.y" function yy_r134(){ $this->_retvalue = '\''.$this->yystack[$this->yyidx + -2]->minor.'\'=>'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2205 "internal.templateparser.php" -#line 454 "internal.templateparser.y" - function yy_r137(){$this->_retvalue = "`".$this->yystack[$this->yyidx + -1]->minor."`"; } -#line 2208 "internal.templateparser.php" -#line 455 "internal.templateparser.y" - function yy_r138(){$this->_retvalue = "'.".$this->yystack[$this->yyidx + -1]->minor.".'"; } -#line 2211 "internal.templateparser.php" -#line 456 "internal.templateparser.y" - function yy_r139(){$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 2214 "internal.templateparser.php" +#line 2239 "internal.templateparser.php" #line 457 "internal.templateparser.y" - function yy_r140(){$this->_retvalue = "'.(".$this->yystack[$this->yyidx + -1]->minor.").'"; } -#line 2217 "internal.templateparser.php" + function yy_r137(){$this->_retvalue = "`".$this->yystack[$this->yyidx + -1]->minor."`"; } +#line 2242 "internal.templateparser.php" #line 458 "internal.templateparser.y" + function yy_r138(){$this->_retvalue = "'.".$this->yystack[$this->yyidx + -1]->minor.".'"; } +#line 2245 "internal.templateparser.php" +#line 459 "internal.templateparser.y" + function yy_r139(){$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 2248 "internal.templateparser.php" +#line 460 "internal.templateparser.y" + function yy_r140(){$this->_retvalue = "'.(".$this->yystack[$this->yyidx + -1]->minor.").'"; } +#line 2251 "internal.templateparser.php" +#line 461 "internal.templateparser.y" function yy_r141(){$this->_retvalue = addcslashes($this->yystack[$this->yyidx + 0]->minor,"'"); } -#line 2220 "internal.templateparser.php" +#line 2254 "internal.templateparser.php" /** * placeholder for the left hand side in a reduce operation. @@ -2329,7 +2363,7 @@ static public $yy_action = array( $this->internalError = true; $this->yymajor = $yymajor; $this->compiler->trigger_template_error(); -#line 2338 "internal.templateparser.php" +#line 2372 "internal.templateparser.php" } /** @@ -2353,7 +2387,7 @@ static public $yy_action = array( $this->internalError = false; $this->retvalue = $this->_retvalue; //echo $this->retvalue."\n\n"; -#line 2363 "internal.templateparser.php" +#line 2397 "internal.templateparser.php" } /**