diff --git a/change_log.txt b/change_log.txt index a67cf868..be96fe9e 100644 --- a/change_log.txt +++ b/change_log.txt @@ -1,3 +1,8 @@ +04/03/2006 +- added registerDefaultTemplateHandler methode and functionallity +- added registerDefaultPluginHandler methode and functionallity +- added {append} tag to extend Smarty array variabled + 04/02/2009 - added setter/getter methodes - added $foo@first and $foo@last properties at {for} tag diff --git a/libs/Smarty.class.php b/libs/Smarty.class.php index 239aa9de..83a52d6f 100644 --- a/libs/Smarty.class.php +++ b/libs/Smarty.class.php @@ -56,7 +56,9 @@ class Smarty extends Smarty_Internal_TemplateBase { // display error on not assigned variabled static $error_unassigned = false; // template directory - public $template_dir = null; + public $template_dir = null; + // default template handler + public $default_template_handler_func = null; // compile directory public $compile_dir = null; // plugins directory @@ -139,6 +141,8 @@ class Smarty extends Smarty_Internal_TemplateBase { public $plugin_search_order = array('function', 'block', 'compiler', 'class'); // plugin handler object public $plugin_handler = null; + // default plugin handler + public $default_plugin_handler_func = null; // registered objects public $registered_objects = array(); // registered filters diff --git a/libs/sysplugins/internal.compile_assign.php b/libs/sysplugins/internal.compile_assign.php index 55f33fb4..a9a8f160 100644 --- a/libs/sysplugins/internal.compile_assign.php +++ b/libs/sysplugins/internal.compile_assign.php @@ -24,10 +24,10 @@ class Smarty_Internal_Compile_Assign extends Smarty_Internal_CompileBase { { $this->compiler = $compiler; $this->required_attributes = array('var', 'value'); - $this->optional_attributes = array('global','nocache'); + $this->optional_attributes = array('global', 'nocache', 'index'); $_nocache = 'null'; - $_global = 'null'; + $_global = 'null'; // check for nocache attribute before _get_attributes because // it shall not controll caching of the compiled code, but is a parameter if (isset($args['nocache'])) { @@ -44,8 +44,19 @@ class Smarty_Internal_Compile_Assign extends Smarty_Internal_CompileBase { $_global = 'true'; $_global_boolean = true; } + if (isset($_attr['index'])) { + $_index = $_attr['index']; + } // compiled output - return "assign($_attr[var],$_attr[value],$_nocache,$_global);?>"; + if (isset($_attr['index'])) { + if ($_attr['index'] == '') { + return "append($_attr[var],$_attr[value],false,$_nocache,$_global);?>"; + } else { + return "append($_attr[var],array($_attr[index] => $_attr[value]),true,$_nocache,$_global);?>"; + } + } else { + return "assign($_attr[var],$_attr[value],$_nocache,$_global);?>"; + } } } diff --git a/libs/sysplugins/internal.plugin_handler.php b/libs/sysplugins/internal.plugin_handler.php index fa21b8ab..a53e3863 100644 --- a/libs/sysplugins/internal.plugin_handler.php +++ b/libs/sysplugins/internal.plugin_handler.php @@ -56,6 +56,13 @@ class Smarty_Internal_Plugin_Handler extends Smarty_Internal_Base { } } } + if (!empty($this->smarty->default_plugin_handler_func)) { + if (!is_callable($this->smarty->default_plugin_handler_func)) { + throw new Exception("Default template handler not callable"); + } else { + return call_user_func_array($this->smarty->default_plugin_handler_func, array($name, $type, &$this)); + } + } return false; } } diff --git a/libs/sysplugins/internal.template.php b/libs/sysplugins/internal.template.php index a5da15ad..53ead24c 100644 --- a/libs/sysplugins/internal.template.php +++ b/libs/sysplugins/internal.template.php @@ -43,7 +43,7 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase { public $compile_time = 0; public $mustCompile = null; public $suppressHeader = false; - public $extract_code = false; + public $extract_code = false; public $extracted_compiled_code = ''; // Rendered content public $rendered_content = null; @@ -158,7 +158,7 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase { if ($this->template_source === null) { $this->resource_objects[$this->resource_type]->getTemplateSource($this); } - return $this->template_source; + return $this->template_source; } /** @@ -387,7 +387,9 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase { // disable caching for evaluated code if ($this->isEvaluated()) { $this->caching = false; - } + } + // checks if template exists + $this->getTemplateFilepath(); // read from cache or render if ($this->rendered_content === null && !$this->isCached()) { // render template (not loaded and not in cache) @@ -488,7 +490,7 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase { // load resource handler if required if (!isset($this->resource_objects[$this->resource_type])) { // is this an internal or custom resource? - if (in_array($this->resource_type, array('file', 'php', 'string','extend'))) { + if (in_array($this->resource_type, array('file', 'php', 'string', 'extend'))) { // internal, get from sysplugins dir $_resource_class = "Smarty_Internal_Resource_{$this->resource_type}"; } else { @@ -513,12 +515,12 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase { public function buildTemplateFilepath ($file = null) { if ($file == null) { - $file = $this->resource_name; - } - foreach((array)$this->smarty->template_dir as $_template_dir) { - if (substr($_template_dir, -1) != DIRECTORY_SEPARATOR) { - $_template_dir .= DIRECTORY_SEPARATOR; + $file = $this->resource_name; } + foreach((array)$this->smarty->template_dir as $_template_dir) { + if (substr($_template_dir, -1) != DIRECTORY_SEPARATOR) { + $_template_dir .= DIRECTORY_SEPARATOR; + } $_filepath = $_template_dir . $file; if (file_exists($_filepath)) @@ -526,6 +528,18 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase { } if (file_exists($file)) return $file; // no tpl file found + if (!empty($this->smarty->default_template_handler_func)) { + if (!is_callable($this->smarty->default_template_handler_func)) { + throw new Exception("Default template handler not callable"); + } else { + $_return = call_user_func_array($this->smarty->default_template_handler_func, + array($this->resource_type, $this->resource_name, &$this->template_source, &$this)); + if ($_return == true) { + $this->isEvaluated = true; + return $_filepath; + } + } + } throw new Exception("Unable to load template \"{$file}\""); return false; } diff --git a/libs/sysplugins/internal.templatebase.php b/libs/sysplugins/internal.templatebase.php index 64e45320..4c0351b3 100644 --- a/libs/sysplugins/internal.templatebase.php +++ b/libs/sysplugins/internal.templatebase.php @@ -76,7 +76,7 @@ class Smarty_Internal_TemplateBase { * @param mixed $value the value to append * @param boolean $merge flag if array elements shall be merged */ - public function append($tpl_var, $value = null, $merge = false) + public function append($tpl_var, $value = null, $merge = false, $nocache = false, $global = false) { if (is_array($tpl_var)) { // $tpl_var is an array, ignore $value @@ -84,7 +84,7 @@ class Smarty_Internal_TemplateBase { if ($_key != '') { if (!isset($this->tpl_vars[$_key])) { $this->check_tplvar($_key); - $this->tpl_vars[$_key] = new Smarty_variable(); + $this->tpl_vars[$_key] = new Smarty_variable(null, $nocache, $global); } if (!is_array($this->tpl_vars[$_key]->value)) { settype($this->tpl_vars[$_key]->value, 'array'); @@ -102,7 +102,7 @@ class Smarty_Internal_TemplateBase { if ($tpl_var != '' && isset($value)) { if (!isset($this->tpl_vars[$tpl_var])) { $this->check_tplvar($tpl_var); - $this->tpl_vars[$tpl_var] = new Smarty_variable(); + $this->tpl_vars[$tpl_var] = new Smarty_variable(null, $nocache, $global); } if (!is_array($this->tpl_vars[$tpl_var]->value)) { settype($this->tpl_vars[$tpl_var]->value, 'array'); diff --git a/libs/sysplugins/internal.templateparser.php b/libs/sysplugins/internal.templateparser.php index a3bb7492..b5d2a256 100644 --- a/libs/sysplugins/internal.templateparser.php +++ b/libs/sysplugins/internal.templateparser.php @@ -213,9 +213,9 @@ class Smarty_Internal_Templateparser#line 109 "internal.templateparser.php" const TP_RDELIMTAG = 64; const TP_PHPSTART = 65; const TP_PHPEND = 66; - const YY_NO_ACTION = 376; - const YY_ACCEPT_ACTION = 375; - const YY_ERROR_ACTION = 374; + const YY_NO_ACTION = 379; + const YY_ACCEPT_ACTION = 378; + const YY_ERROR_ACTION = 377; /* Next are that tables used to determine what action to take based on the ** current state and lookahead token. These tables are used to implement @@ -267,205 +267,211 @@ 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 = 791; + const YY_SZ_ACTTAB = 830; static public $yy_action = array( - /* 0 */ 126, 215, 207, 128, 14, 116, 208, 156, 62, 25, - /* 10 */ 110, 52, 116, 219, 104, 200, 161, 165, 230, 229, - /* 20 */ 233, 234, 238, 237, 236, 235, 198, 158, 157, 225, - /* 30 */ 191, 7, 2, 5, 11, 3, 4, 161, 165, 98, - /* 40 */ 106, 149, 148, 219, 154, 200, 203, 221, 158, 157, - /* 50 */ 225, 191, 7, 2, 5, 11, 3, 4, 375, 42, - /* 60 */ 174, 168, 58, 141, 150, 153, 53, 171, 161, 165, - /* 70 */ 185, 185, 180, 180, 140, 13, 33, 176, 188, 158, - /* 80 */ 157, 225, 191, 7, 2, 5, 11, 3, 4, 161, - /* 90 */ 165, 193, 210, 34, 23, 8, 185, 12, 180, 54, - /* 100 */ 158, 157, 225, 191, 7, 2, 5, 11, 3, 4, - /* 110 */ 121, 40, 193, 190, 34, 125, 8, 26, 12, 10, - /* 120 */ 56, 209, 35, 48, 195, 211, 197, 99, 193, 129, - /* 130 */ 34, 113, 19, 223, 12, 21, 54, 31, 184, 194, - /* 140 */ 10, 137, 23, 35, 48, 195, 211, 121, 116, 125, - /* 150 */ 129, 54, 185, 30, 180, 147, 29, 232, 44, 35, - /* 160 */ 48, 195, 211, 67, 98, 23, 129, 228, 227, 209, - /* 170 */ 81, 193, 205, 34, 179, 19, 163, 12, 171, 54, - /* 180 */ 55, 167, 223, 220, 21, 28, 232, 193, 24, 34, - /* 190 */ 120, 19, 209, 12, 166, 54, 228, 227, 88, 75, - /* 200 */ 54, 205, 35, 48, 195, 211, 114, 171, 23, 129, - /* 210 */ 23, 16, 149, 148, 138, 116, 86, 181, 35, 48, - /* 220 */ 195, 211, 185, 226, 180, 129, 204, 49, 116, 55, - /* 230 */ 193, 26, 34, 26, 19, 209, 12, 209, 54, 167, - /* 240 */ 30, 103, 224, 29, 9, 232, 193, 33, 34, 117, - /* 250 */ 19, 203, 12, 177, 54, 228, 227, 137, 83, 111, - /* 260 */ 205, 35, 48, 195, 211, 115, 171, 36, 129, 125, - /* 270 */ 135, 87, 171, 112, 212, 232, 125, 35, 48, 195, - /* 280 */ 211, 204, 222, 151, 129, 228, 227, 133, 77, 193, - /* 290 */ 205, 34, 95, 19, 111, 12, 171, 50, 18, 78, - /* 300 */ 130, 18, 204, 232, 232, 44, 93, 170, 37, 93, - /* 310 */ 66, 118, 27, 146, 228, 227, 61, 81, 205, 205, - /* 320 */ 35, 48, 195, 211, 171, 171, 185, 129, 180, 193, - /* 330 */ 220, 18, 182, 19, 51, 12, 194, 54, 116, 93, - /* 340 */ 125, 116, 173, 1, 127, 116, 202, 23, 122, 232, - /* 350 */ 201, 230, 229, 233, 234, 238, 237, 236, 235, 231, - /* 360 */ 35, 48, 195, 211, 205, 232, 44, 129, 206, 232, - /* 370 */ 171, 68, 47, 125, 209, 228, 227, 152, 81, 187, - /* 380 */ 205, 239, 232, 44, 205, 20, 171, 224, 73, 116, - /* 390 */ 171, 220, 228, 227, 137, 81, 232, 205, 162, 232, - /* 400 */ 44, 17, 116, 171, 111, 72, 134, 132, 220, 228, - /* 410 */ 227, 205, 81, 18, 205, 142, 123, 171, 192, 60, - /* 420 */ 171, 93, 232, 44, 20, 220, 18, 22, 74, 218, - /* 430 */ 79, 45, 228, 227, 93, 81, 171, 205, 46, 232, - /* 440 */ 43, 125, 217, 171, 38, 65, 224, 213, 220, 228, - /* 450 */ 227, 92, 81, 224, 205, 82, 232, 44, 172, 168, - /* 460 */ 171, 204, 70, 182, 76, 220, 228, 227, 54, 81, - /* 470 */ 224, 205, 131, 232, 85, 28, 124, 171, 80, 145, - /* 480 */ 125, 193, 220, 228, 227, 19, 81, 108, 205, 54, - /* 490 */ 213, 186, 200, 171, 171, 57, 96, 182, 90, 169, - /* 500 */ 122, 200, 119, 160, 216, 159, 175, 178, 204, 183, - /* 510 */ 196, 182, 35, 48, 195, 211, 59, 232, 44, 129, - /* 520 */ 6, 214, 32, 71, 54, 219, 125, 228, 227, 189, - /* 530 */ 81, 15, 205, 213, 232, 44, 39, 199, 171, 109, - /* 540 */ 69, 242, 63, 220, 228, 227, 242, 81, 242, 205, - /* 550 */ 242, 232, 44, 242, 242, 171, 242, 64, 232, 91, - /* 560 */ 220, 228, 227, 242, 81, 242, 205, 242, 228, 227, - /* 570 */ 242, 81, 171, 205, 232, 91, 155, 220, 242, 171, - /* 580 */ 242, 242, 242, 242, 228, 227, 242, 81, 242, 205, - /* 590 */ 242, 242, 143, 232, 41, 171, 136, 242, 242, 242, - /* 600 */ 242, 242, 242, 228, 227, 242, 81, 242, 205, 232, - /* 610 */ 91, 242, 242, 242, 171, 242, 242, 242, 242, 228, - /* 620 */ 227, 242, 81, 242, 205, 232, 85, 139, 242, 242, - /* 630 */ 171, 242, 232, 91, 242, 228, 227, 242, 81, 242, - /* 640 */ 205, 242, 228, 227, 242, 81, 171, 205, 232, 84, - /* 650 */ 144, 242, 242, 171, 242, 164, 242, 242, 228, 227, - /* 660 */ 242, 81, 242, 205, 242, 242, 232, 102, 242, 171, - /* 670 */ 242, 242, 242, 242, 242, 242, 228, 227, 242, 81, - /* 680 */ 242, 205, 232, 107, 242, 242, 242, 171, 242, 242, - /* 690 */ 242, 242, 228, 227, 242, 81, 242, 205, 232, 94, - /* 700 */ 242, 242, 242, 171, 242, 242, 242, 242, 228, 227, - /* 710 */ 242, 81, 242, 205, 232, 97, 242, 242, 242, 171, - /* 720 */ 242, 232, 89, 242, 228, 227, 242, 81, 242, 205, - /* 730 */ 242, 228, 227, 242, 81, 171, 205, 232, 105, 242, - /* 740 */ 242, 242, 171, 242, 242, 242, 242, 228, 227, 242, - /* 750 */ 81, 242, 205, 232, 101, 242, 242, 242, 171, 242, - /* 760 */ 242, 242, 242, 228, 227, 242, 81, 242, 205, 232, - /* 770 */ 100, 242, 242, 242, 171, 242, 242, 242, 242, 228, - /* 780 */ 227, 242, 81, 242, 205, 242, 242, 242, 242, 242, - /* 790 */ 171, + /* 0 */ 156, 166, 165, 124, 24, 378, 42, 176, 169, 215, + /* 10 */ 171, 146, 160, 159, 226, 225, 2, 4, 6, 3, + /* 20 */ 10, 7, 141, 24, 166, 165, 195, 27, 33, 133, + /* 30 */ 19, 197, 12, 150, 59, 160, 159, 226, 225, 2, + /* 40 */ 4, 6, 3, 10, 7, 116, 27, 31, 15, 132, + /* 50 */ 197, 143, 201, 187, 218, 182, 93, 35, 49, 198, + /* 60 */ 213, 124, 21, 205, 140, 166, 165, 231, 235, 236, + /* 70 */ 240, 239, 238, 237, 230, 114, 160, 159, 226, 225, + /* 80 */ 2, 4, 6, 3, 10, 7, 126, 170, 169, 90, + /* 90 */ 166, 165, 195, 124, 33, 24, 11, 22, 12, 214, + /* 100 */ 59, 160, 159, 226, 225, 2, 4, 6, 3, 10, + /* 110 */ 7, 123, 193, 195, 155, 33, 16, 11, 27, 12, + /* 120 */ 5, 56, 197, 35, 49, 198, 213, 208, 233, 195, + /* 130 */ 140, 33, 117, 19, 189, 12, 20, 59, 138, 137, + /* 140 */ 41, 5, 143, 216, 35, 49, 198, 213, 119, 167, + /* 150 */ 126, 140, 59, 187, 28, 182, 131, 30, 233, 44, + /* 160 */ 35, 49, 198, 213, 67, 104, 24, 140, 229, 222, + /* 170 */ 194, 82, 195, 216, 33, 157, 19, 163, 12, 167, + /* 180 */ 59, 54, 188, 189, 221, 20, 104, 233, 195, 26, + /* 190 */ 33, 123, 19, 197, 12, 203, 59, 229, 222, 50, + /* 200 */ 79, 59, 216, 35, 49, 198, 213, 121, 167, 187, + /* 210 */ 140, 182, 17, 233, 228, 211, 124, 233, 59, 35, + /* 220 */ 49, 198, 213, 232, 186, 83, 140, 164, 216, 139, + /* 230 */ 54, 195, 216, 33, 167, 19, 124, 12, 167, 59, + /* 240 */ 219, 224, 234, 24, 130, 14, 233, 195, 62, 33, + /* 250 */ 115, 19, 187, 12, 182, 52, 229, 222, 184, 84, + /* 260 */ 190, 216, 35, 49, 198, 213, 36, 167, 206, 140, + /* 270 */ 197, 187, 181, 182, 185, 32, 204, 46, 35, 49, + /* 280 */ 198, 213, 241, 136, 13, 140, 210, 161, 63, 167, + /* 290 */ 143, 51, 209, 124, 233, 44, 196, 172, 15, 148, + /* 300 */ 66, 122, 153, 175, 229, 222, 93, 82, 124, 216, + /* 310 */ 1, 129, 187, 227, 182, 167, 15, 195, 61, 126, + /* 320 */ 221, 19, 15, 12, 93, 59, 126, 23, 219, 224, + /* 330 */ 93, 177, 15, 195, 192, 151, 118, 19, 206, 57, + /* 340 */ 93, 59, 53, 102, 147, 149, 55, 88, 35, 49, + /* 350 */ 198, 213, 118, 106, 37, 140, 220, 214, 158, 167, + /* 360 */ 92, 23, 114, 32, 35, 49, 198, 213, 124, 183, + /* 370 */ 214, 140, 200, 24, 231, 235, 236, 240, 239, 238, + /* 380 */ 237, 230, 233, 233, 44, 125, 80, 99, 202, 70, + /* 390 */ 9, 180, 217, 229, 222, 126, 82, 216, 216, 28, + /* 400 */ 197, 77, 30, 167, 167, 126, 128, 233, 96, 221, + /* 410 */ 110, 126, 201, 220, 91, 158, 113, 229, 222, 184, + /* 420 */ 82, 124, 216, 47, 214, 127, 45, 29, 167, 233, + /* 430 */ 44, 78, 126, 154, 184, 73, 120, 179, 209, 229, + /* 440 */ 222, 209, 82, 38, 216, 124, 194, 126, 233, 43, + /* 450 */ 167, 162, 109, 114, 65, 221, 152, 158, 229, 222, + /* 460 */ 81, 82, 135, 216, 184, 100, 134, 233, 44, 167, + /* 470 */ 158, 48, 199, 75, 221, 209, 25, 229, 222, 95, + /* 480 */ 82, 173, 216, 167, 89, 223, 209, 167, 167, 214, + /* 490 */ 212, 233, 44, 221, 214, 207, 191, 72, 34, 98, + /* 500 */ 8, 229, 222, 194, 82, 59, 216, 220, 103, 233, + /* 510 */ 44, 126, 167, 168, 58, 71, 85, 221, 64, 229, + /* 520 */ 222, 18, 82, 193, 216, 29, 39, 243, 233, 44, + /* 530 */ 167, 243, 243, 243, 74, 221, 243, 243, 229, 222, + /* 540 */ 243, 82, 243, 216, 243, 243, 243, 233, 44, 167, + /* 550 */ 243, 243, 243, 68, 221, 243, 243, 229, 222, 243, + /* 560 */ 82, 243, 216, 243, 243, 233, 44, 243, 167, 243, + /* 570 */ 243, 69, 243, 221, 243, 229, 222, 243, 82, 243, + /* 580 */ 216, 243, 243, 233, 97, 243, 167, 243, 243, 243, + /* 590 */ 243, 221, 243, 229, 222, 243, 82, 243, 216, 243, + /* 600 */ 243, 144, 233, 96, 167, 243, 243, 243, 243, 233, + /* 610 */ 97, 243, 229, 222, 243, 82, 243, 216, 243, 229, + /* 620 */ 222, 243, 82, 167, 216, 243, 243, 142, 233, 40, + /* 630 */ 167, 60, 178, 243, 243, 243, 243, 243, 229, 222, + /* 640 */ 243, 82, 243, 216, 243, 233, 97, 243, 243, 167, + /* 650 */ 243, 243, 243, 243, 243, 229, 222, 243, 82, 243, + /* 660 */ 216, 243, 243, 174, 243, 243, 167, 233, 97, 243, + /* 670 */ 243, 243, 243, 243, 243, 243, 233, 229, 222, 243, + /* 680 */ 82, 243, 216, 233, 111, 145, 229, 222, 167, 76, + /* 690 */ 243, 216, 243, 229, 222, 243, 82, 167, 216, 243, + /* 700 */ 243, 233, 105, 243, 167, 243, 243, 243, 243, 243, + /* 710 */ 243, 229, 222, 243, 82, 243, 216, 233, 101, 243, + /* 720 */ 243, 243, 167, 243, 243, 243, 243, 229, 222, 243, + /* 730 */ 82, 243, 216, 243, 233, 108, 243, 243, 167, 243, + /* 740 */ 243, 233, 112, 243, 229, 222, 243, 82, 243, 216, + /* 750 */ 243, 229, 222, 243, 82, 167, 216, 233, 107, 243, + /* 760 */ 243, 243, 167, 243, 243, 243, 243, 229, 222, 243, + /* 770 */ 82, 243, 216, 243, 243, 233, 87, 243, 167, 243, + /* 780 */ 243, 243, 243, 243, 243, 229, 222, 243, 82, 243, + /* 790 */ 216, 233, 86, 243, 243, 243, 167, 243, 243, 243, + /* 800 */ 243, 229, 222, 243, 82, 243, 216, 243, 233, 94, + /* 810 */ 243, 243, 167, 243, 243, 243, 243, 243, 229, 222, + /* 820 */ 243, 82, 243, 216, 243, 243, 243, 243, 243, 167, ); static public $yy_lookahead = array( - /* 0 */ 24, 4, 1, 2, 3, 25, 5, 6, 7, 29, - /* 10 */ 92, 10, 25, 95, 78, 97, 40, 41, 31, 32, - /* 20 */ 33, 34, 35, 36, 37, 38, 97, 51, 52, 53, - /* 30 */ 54, 55, 56, 57, 58, 59, 60, 40, 41, 28, - /* 40 */ 92, 12, 13, 95, 16, 97, 73, 18, 51, 52, - /* 50 */ 53, 54, 55, 56, 57, 58, 59, 60, 68, 69, - /* 60 */ 70, 71, 61, 19, 63, 64, 65, 94, 40, 41, - /* 70 */ 1, 1, 3, 3, 30, 15, 47, 104, 9, 51, - /* 80 */ 52, 53, 54, 55, 56, 57, 58, 59, 60, 40, - /* 90 */ 41, 11, 4, 13, 3, 15, 1, 17, 3, 19, - /* 100 */ 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, - /* 110 */ 30, 78, 11, 43, 13, 27, 15, 26, 17, 39, - /* 120 */ 19, 30, 42, 43, 44, 45, 4, 30, 11, 49, - /* 130 */ 13, 30, 15, 1, 17, 3, 19, 46, 43, 16, - /* 140 */ 39, 50, 3, 42, 43, 44, 45, 30, 25, 27, - /* 150 */ 49, 19, 1, 17, 3, 30, 20, 73, 74, 42, - /* 160 */ 43, 44, 45, 79, 28, 3, 49, 83, 84, 30, - /* 170 */ 86, 11, 88, 13, 42, 15, 14, 17, 94, 19, - /* 180 */ 48, 98, 1, 99, 3, 22, 73, 11, 26, 13, - /* 190 */ 30, 15, 30, 17, 30, 19, 83, 84, 93, 86, - /* 200 */ 19, 88, 42, 43, 44, 45, 30, 94, 3, 49, - /* 210 */ 3, 21, 12, 13, 50, 25, 75, 66, 42, 43, - /* 220 */ 44, 45, 1, 42, 3, 49, 85, 81, 25, 48, - /* 230 */ 11, 26, 13, 26, 15, 30, 17, 30, 19, 98, - /* 240 */ 17, 21, 96, 20, 24, 73, 11, 47, 13, 30, - /* 250 */ 15, 73, 17, 4, 19, 83, 84, 50, 86, 77, - /* 260 */ 88, 42, 43, 44, 45, 30, 94, 89, 49, 27, - /* 270 */ 28, 75, 94, 77, 30, 73, 27, 42, 43, 44, - /* 280 */ 45, 85, 104, 62, 49, 83, 84, 30, 86, 11, - /* 290 */ 88, 13, 75, 15, 77, 17, 94, 19, 15, 72, - /* 300 */ 30, 15, 85, 73, 73, 74, 23, 76, 30, 23, - /* 310 */ 79, 80, 29, 83, 83, 84, 16, 86, 88, 88, - /* 320 */ 42, 43, 44, 45, 94, 94, 1, 49, 3, 11, - /* 330 */ 99, 15, 105, 15, 30, 17, 16, 19, 25, 23, - /* 340 */ 27, 25, 48, 27, 28, 25, 49, 3, 30, 73, - /* 350 */ 4, 31, 32, 33, 34, 35, 36, 37, 38, 83, - /* 360 */ 42, 43, 44, 45, 88, 73, 74, 49, 4, 73, - /* 370 */ 94, 79, 81, 27, 30, 83, 84, 4, 86, 83, - /* 380 */ 88, 4, 73, 74, 88, 26, 94, 96, 79, 25, - /* 390 */ 94, 99, 83, 84, 50, 86, 73, 88, 18, 73, - /* 400 */ 74, 21, 25, 94, 77, 79, 83, 84, 99, 83, - /* 410 */ 84, 88, 86, 15, 88, 73, 30, 94, 4, 30, - /* 420 */ 94, 23, 73, 74, 26, 99, 15, 100, 79, 18, - /* 430 */ 72, 81, 83, 84, 23, 86, 94, 88, 81, 73, - /* 440 */ 74, 27, 8, 94, 93, 79, 96, 96, 99, 83, - /* 450 */ 84, 75, 86, 96, 88, 81, 73, 74, 70, 71, - /* 460 */ 94, 85, 79, 105, 72, 99, 83, 84, 19, 86, - /* 470 */ 96, 88, 73, 73, 74, 22, 82, 94, 72, 30, - /* 480 */ 27, 11, 99, 83, 84, 15, 86, 92, 88, 19, - /* 490 */ 96, 4, 97, 94, 94, 19, 92, 105, 75, 48, - /* 500 */ 30, 97, 102, 103, 16, 16, 4, 4, 85, 76, - /* 510 */ 4, 105, 42, 43, 44, 45, 19, 73, 74, 49, - /* 520 */ 101, 85, 87, 79, 19, 95, 27, 83, 84, 105, - /* 530 */ 86, 15, 88, 96, 73, 74, 93, 90, 94, 30, - /* 540 */ 79, 106, 90, 99, 83, 84, 106, 86, 106, 88, - /* 550 */ 106, 73, 74, 106, 106, 94, 106, 79, 73, 74, - /* 560 */ 99, 83, 84, 106, 86, 106, 88, 106, 83, 84, - /* 570 */ 106, 86, 94, 88, 73, 74, 91, 99, 106, 94, - /* 580 */ 106, 106, 106, 106, 83, 84, 106, 86, 106, 88, - /* 590 */ 106, 106, 91, 73, 74, 94, 76, 106, 106, 106, - /* 600 */ 106, 106, 106, 83, 84, 106, 86, 106, 88, 73, - /* 610 */ 74, 106, 106, 106, 94, 106, 106, 106, 106, 83, - /* 620 */ 84, 106, 86, 106, 88, 73, 74, 91, 106, 106, - /* 630 */ 94, 106, 73, 74, 106, 83, 84, 106, 86, 106, - /* 640 */ 88, 106, 83, 84, 106, 86, 94, 88, 73, 74, - /* 650 */ 91, 106, 106, 94, 106, 103, 106, 106, 83, 84, - /* 660 */ 106, 86, 106, 88, 106, 106, 73, 74, 106, 94, - /* 670 */ 106, 106, 106, 106, 106, 106, 83, 84, 106, 86, - /* 680 */ 106, 88, 73, 74, 106, 106, 106, 94, 106, 106, - /* 690 */ 106, 106, 83, 84, 106, 86, 106, 88, 73, 74, - /* 700 */ 106, 106, 106, 94, 106, 106, 106, 106, 83, 84, - /* 710 */ 106, 86, 106, 88, 73, 74, 106, 106, 106, 94, - /* 720 */ 106, 73, 74, 106, 83, 84, 106, 86, 106, 88, - /* 730 */ 106, 83, 84, 106, 86, 94, 88, 73, 74, 106, - /* 740 */ 106, 106, 94, 106, 106, 106, 106, 83, 84, 106, - /* 750 */ 86, 106, 88, 73, 74, 106, 106, 106, 94, 106, - /* 760 */ 106, 106, 106, 83, 84, 106, 86, 106, 88, 73, - /* 770 */ 74, 106, 106, 106, 94, 106, 106, 106, 106, 83, - /* 780 */ 84, 106, 86, 106, 88, 106, 106, 106, 106, 106, - /* 790 */ 94, + /* 0 */ 16, 40, 41, 25, 3, 68, 69, 70, 71, 30, + /* 10 */ 48, 19, 51, 52, 53, 54, 55, 56, 57, 58, + /* 20 */ 59, 60, 30, 3, 40, 41, 11, 26, 13, 50, + /* 30 */ 15, 30, 17, 18, 19, 51, 52, 53, 54, 55, + /* 40 */ 56, 57, 58, 59, 60, 30, 26, 46, 15, 24, + /* 50 */ 30, 50, 16, 1, 4, 3, 23, 42, 43, 44, + /* 60 */ 45, 25, 29, 4, 49, 40, 41, 31, 32, 33, + /* 70 */ 34, 35, 36, 37, 38, 77, 51, 52, 53, 54, + /* 80 */ 55, 56, 57, 58, 59, 60, 27, 70, 71, 75, + /* 90 */ 40, 41, 11, 25, 13, 3, 15, 29, 17, 85, + /* 100 */ 19, 51, 52, 53, 54, 55, 56, 57, 58, 59, + /* 110 */ 60, 30, 98, 11, 62, 13, 15, 15, 26, 17, + /* 120 */ 39, 19, 30, 42, 43, 44, 45, 4, 73, 11, + /* 130 */ 49, 13, 30, 15, 1, 17, 3, 19, 83, 84, + /* 140 */ 78, 39, 50, 88, 42, 43, 44, 45, 30, 94, + /* 150 */ 27, 49, 19, 1, 17, 3, 82, 20, 73, 74, + /* 160 */ 42, 43, 44, 45, 79, 28, 3, 49, 83, 84, + /* 170 */ 96, 86, 11, 88, 13, 42, 15, 14, 17, 94, + /* 180 */ 19, 48, 4, 1, 99, 3, 28, 73, 11, 26, + /* 190 */ 13, 30, 15, 30, 17, 43, 19, 83, 84, 30, + /* 200 */ 86, 19, 88, 42, 43, 44, 45, 30, 94, 1, + /* 210 */ 49, 3, 21, 73, 97, 4, 25, 73, 19, 42, + /* 220 */ 43, 44, 45, 83, 42, 72, 49, 83, 88, 30, + /* 230 */ 48, 11, 88, 13, 94, 15, 25, 17, 94, 19, + /* 240 */ 12, 13, 18, 3, 30, 21, 73, 11, 16, 13, + /* 250 */ 30, 15, 1, 17, 3, 19, 83, 84, 105, 86, + /* 260 */ 9, 88, 42, 43, 44, 45, 30, 94, 73, 49, + /* 270 */ 30, 1, 4, 3, 66, 47, 49, 81, 42, 43, + /* 280 */ 44, 45, 1, 2, 3, 49, 5, 6, 7, 94, + /* 290 */ 50, 10, 96, 25, 73, 74, 4, 76, 15, 104, + /* 300 */ 79, 80, 4, 4, 83, 84, 23, 86, 25, 88, + /* 310 */ 27, 28, 1, 43, 3, 94, 15, 11, 30, 27, + /* 320 */ 99, 15, 15, 17, 23, 19, 27, 26, 12, 13, + /* 330 */ 23, 4, 15, 11, 18, 18, 30, 15, 73, 19, + /* 340 */ 23, 19, 61, 30, 63, 64, 65, 75, 42, 43, + /* 350 */ 44, 45, 30, 92, 89, 49, 95, 85, 97, 94, + /* 360 */ 75, 26, 77, 47, 42, 43, 44, 45, 25, 104, + /* 370 */ 85, 49, 4, 3, 31, 32, 33, 34, 35, 36, + /* 380 */ 37, 38, 73, 73, 74, 30, 72, 21, 4, 79, + /* 390 */ 24, 4, 83, 83, 84, 27, 86, 88, 88, 17, + /* 400 */ 30, 72, 20, 94, 94, 27, 28, 73, 74, 99, + /* 410 */ 92, 27, 16, 95, 75, 97, 77, 83, 84, 105, + /* 420 */ 86, 25, 88, 81, 85, 30, 81, 22, 94, 73, + /* 430 */ 74, 72, 27, 16, 105, 79, 102, 103, 96, 83, + /* 440 */ 84, 96, 86, 93, 88, 25, 96, 27, 73, 74, + /* 450 */ 94, 90, 92, 77, 79, 99, 48, 97, 83, 84, + /* 460 */ 81, 86, 73, 88, 105, 92, 73, 73, 74, 94, + /* 470 */ 97, 81, 30, 79, 99, 96, 100, 83, 84, 75, + /* 480 */ 86, 16, 88, 94, 75, 8, 96, 94, 94, 85, + /* 490 */ 30, 73, 74, 99, 85, 85, 105, 79, 87, 78, + /* 500 */ 101, 83, 84, 96, 86, 19, 88, 95, 30, 73, + /* 510 */ 74, 27, 94, 76, 19, 79, 93, 99, 90, 83, + /* 520 */ 84, 15, 86, 98, 88, 22, 93, 106, 73, 74, + /* 530 */ 94, 106, 106, 106, 79, 99, 106, 106, 83, 84, + /* 540 */ 106, 86, 106, 88, 106, 106, 106, 73, 74, 94, + /* 550 */ 106, 106, 106, 79, 99, 106, 106, 83, 84, 106, + /* 560 */ 86, 106, 88, 106, 106, 73, 74, 106, 94, 106, + /* 570 */ 106, 79, 106, 99, 106, 83, 84, 106, 86, 106, + /* 580 */ 88, 106, 106, 73, 74, 106, 94, 106, 106, 106, + /* 590 */ 106, 99, 106, 83, 84, 106, 86, 106, 88, 106, + /* 600 */ 106, 91, 73, 74, 94, 106, 106, 106, 106, 73, + /* 610 */ 74, 106, 83, 84, 106, 86, 106, 88, 106, 83, + /* 620 */ 84, 106, 86, 94, 88, 106, 106, 91, 73, 74, + /* 630 */ 94, 76, 103, 106, 106, 106, 106, 106, 83, 84, + /* 640 */ 106, 86, 106, 88, 106, 73, 74, 106, 106, 94, + /* 650 */ 106, 106, 106, 106, 106, 83, 84, 106, 86, 106, + /* 660 */ 88, 106, 106, 91, 106, 106, 94, 73, 74, 106, + /* 670 */ 106, 106, 106, 106, 106, 106, 73, 83, 84, 106, + /* 680 */ 86, 106, 88, 73, 74, 91, 83, 84, 94, 86, + /* 690 */ 106, 88, 106, 83, 84, 106, 86, 94, 88, 106, + /* 700 */ 106, 73, 74, 106, 94, 106, 106, 106, 106, 106, + /* 710 */ 106, 83, 84, 106, 86, 106, 88, 73, 74, 106, + /* 720 */ 106, 106, 94, 106, 106, 106, 106, 83, 84, 106, + /* 730 */ 86, 106, 88, 106, 73, 74, 106, 106, 94, 106, + /* 740 */ 106, 73, 74, 106, 83, 84, 106, 86, 106, 88, + /* 750 */ 106, 83, 84, 106, 86, 94, 88, 73, 74, 106, + /* 760 */ 106, 106, 94, 106, 106, 106, 106, 83, 84, 106, + /* 770 */ 86, 106, 88, 106, 106, 73, 74, 106, 94, 106, + /* 780 */ 106, 106, 106, 106, 106, 83, 84, 106, 86, 106, + /* 790 */ 88, 73, 74, 106, 106, 106, 94, 106, 106, 106, + /* 800 */ 106, 83, 84, 106, 86, 106, 88, 106, 73, 74, + /* 810 */ 106, 106, 94, 106, 106, 106, 106, 106, 83, 84, + /* 820 */ 106, 86, 106, 88, 106, 106, 106, 106, 106, 94, ); - const YY_SHIFT_USE_DFLT = -25; - const YY_SHIFT_MAX = 145; + const YY_SHIFT_USE_DFLT = -40; + const YY_SHIFT_MAX = 146; static public $yy_shift_ofst = array( - /* 0 */ 1, 101, 80, 80, 80, 80, 80, 80, 80, 80, - /* 10 */ 80, 80, 235, 117, 278, 117, 117, 235, 117, 117, - /* 20 */ 117, 117, 117, 117, 117, 117, 117, 117, 160, 219, - /* 30 */ 176, 318, 470, 470, 470, 181, 132, 316, 136, 136, - /* 40 */ 453, 313, 1, 320, -13, 91, 207, 162, 95, 344, - /* 50 */ 139, 242, 325, 325, 139, 449, 139, 139, 325, 139, - /* 60 */ 499, 11, 505, 11, -24, 28, -3, 49, 49, 49, - /* 70 */ 49, 49, 49, 49, 49, 29, 70, 200, 151, 69, - /* 80 */ 221, 200, 205, 200, 377, -20, 346, 414, 223, 123, - /* 90 */ 122, 190, 249, 44, 364, 88, 11, 203, 509, 516, - /* 100 */ 203, 203, 203, 497, 163, 203, 11, 203, 11, 60, - /* 110 */ 11, -25, -25, 398, 411, 283, 164, 286, 220, 380, - /* 120 */ 286, 286, 286, 359, 373, 386, 476, 389, 304, 270, - /* 130 */ 297, 434, 503, 502, 487, 257, 506, 244, 125, 300, - /* 140 */ 60, 97, 451, 488, 489, 294, + /* 0 */ 281, 102, 81, 81, 81, 81, 81, 81, 81, 81, + /* 10 */ 81, 81, 220, 236, 220, 161, 161, 161, 161, 161, + /* 20 */ 161, 161, 161, 161, 161, 161, 161, 161, 15, 118, + /* 30 */ 177, 306, 322, 322, 322, 182, 283, 133, 137, 137, + /* 40 */ 420, 405, 281, 36, 343, 1, 92, 163, 240, 270, + /* 50 */ 378, 311, 370, 311, 199, 311, 370, 370, 370, 370, + /* 60 */ 484, 484, 158, 486, 158, -16, 50, 25, -39, -39, + /* 70 */ -39, -39, -39, -39, -39, -39, 316, 208, 152, 228, + /* 80 */ 251, 20, 228, 52, 228, 382, 396, 268, 299, 368, + /* 90 */ 384, 292, 123, -8, 211, 59, 68, 191, 503, 495, + /* 100 */ 158, -22, 506, 101, 478, -22, 158, -22, -22, 158, + /* 110 */ 158, -22, -22, -40, -40, 33, 317, 301, 307, 307, + /* 120 */ 224, 307, 366, 307, -21, 327, 395, 335, 355, 288, + /* 130 */ 227, 298, 320, 460, 477, 408, 169, 387, 178, -38, + /* 140 */ 214, 101, 417, 442, 465, 232, 313, ); - const YY_REDUCE_USE_DFLT = -83; - const YY_REDUCE_MAX = 112; + const YY_REDUCE_USE_DFLT = -64; + const YY_REDUCE_MAX = 114; static public $yy_reduce_ofst = array( - /* 0 */ -10, 231, 349, 326, 383, 309, 292, 84, 366, 478, - /* 10 */ 444, 461, 400, 501, 520, 536, 485, 552, 559, 648, - /* 20 */ 664, 575, 641, 625, 593, 696, 609, 680, 172, 202, - /* 30 */ 113, 323, 230, 296, 276, 178, -27, 196, -52, -82, - /* 40 */ 141, 217, 388, 327, 327, 351, 351, 394, 392, 351, - /* 50 */ 357, 376, 358, 227, 146, 342, 350, 291, 406, 374, - /* 60 */ 423, 395, 399, 404, 419, 419, 419, 419, 419, 419, - /* 70 */ 419, 419, 419, 419, 419, 435, 424, 435, 424, 424, - /* 80 */ 424, 435, 437, 435, 182, 182, 436, 436, 430, 182, - /* 90 */ 436, 182, 436, 452, 182, 436, -71, 182, 447, 443, - /* 100 */ 182, 182, 182, 433, 83, 182, -71, 182, -71, 105, - /* 110 */ -71, -64, 33, + /* 0 */ -63, 221, 418, 474, 455, 436, 492, 356, 394, 85, + /* 10 */ 310, 375, 334, 555, 529, 510, 536, 572, 594, 718, + /* 20 */ 702, 684, 610, 661, 735, 668, 644, 628, 603, 173, + /* 30 */ 114, 55, 144, 140, 309, 265, 339, 195, 318, 261, + /* 40 */ 285, 14, 17, 376, 376, 350, 350, 74, 350, 359, + /* 50 */ 272, 314, 196, 153, 389, 329, 345, 342, 379, 390, + /* 60 */ 404, 409, 373, 393, 360, 399, 399, 399, 399, 399, + /* 70 */ 399, 399, 399, 399, 399, 399, 411, 391, 391, 411, + /* 80 */ 391, 407, 411, 391, 411, 412, -2, -2, 410, 410, + /* 90 */ 410, 410, 410, 428, -2, 410, -2, -2, 425, 437, + /* 100 */ 117, -2, 433, 423, 361, -2, 117, -2, -2, 117, + /* 110 */ 117, -2, -2, 62, 421, ); static public $yyExpectedTokens = array( /* 0 */ array(1, 2, 3, 5, 6, 7, 10, 61, 63, 64, 65, ), @@ -496,7 +502,7 @@ static public $yy_action = array( /* 25 */ array(11, 13, 15, 17, 19, 30, 42, 43, 44, 45, 49, ), /* 26 */ array(11, 13, 15, 17, 19, 30, 42, 43, 44, 45, 49, ), /* 27 */ array(11, 13, 15, 17, 19, 30, 42, 43, 44, 45, 49, ), - /* 28 */ array(11, 13, 15, 17, 19, 30, 42, 43, 44, 45, 49, ), + /* 28 */ array(11, 13, 15, 17, 18, 19, 30, 42, 43, 44, 45, 49, ), /* 29 */ array(11, 13, 15, 17, 19, 30, 42, 43, 44, 45, 49, ), /* 30 */ array(11, 13, 15, 17, 19, 30, 42, 43, 44, 45, 49, ), /* 31 */ array(11, 15, 17, 19, 30, 42, 43, 44, 45, 49, ), @@ -504,38 +510,38 @@ static public $yy_action = array( /* 33 */ array(11, 15, 19, 30, 42, 43, 44, 45, 49, ), /* 34 */ array(11, 15, 19, 30, 42, 43, 44, 45, 49, ), /* 35 */ array(1, 3, 19, 42, 48, ), - /* 36 */ array(1, 3, 19, 42, 48, ), - /* 37 */ array(15, 23, 25, 27, 28, ), + /* 36 */ array(15, 23, 25, 27, 28, ), + /* 37 */ array(1, 3, 19, 42, 48, ), /* 38 */ array(17, 20, 28, ), /* 39 */ array(17, 20, 28, ), - /* 40 */ array(22, 27, ), - /* 41 */ array(25, 27, ), + /* 40 */ array(25, 27, ), + /* 41 */ array(22, 27, ), /* 42 */ array(1, 2, 3, 5, 6, 7, 10, 61, 63, 64, 65, ), /* 43 */ array(16, 25, 31, 32, 33, 34, 35, 36, 37, 38, ), /* 44 */ array(25, 31, 32, 33, 34, 35, 36, 37, 38, ), /* 45 */ array(3, 26, 30, 46, 50, ), /* 46 */ array(3, 26, 30, 50, ), /* 47 */ array(3, 14, 26, 30, ), - /* 48 */ array(1, 3, 43, ), - /* 49 */ array(3, 30, 50, ), - /* 50 */ array(3, 30, ), - /* 51 */ array(27, 28, ), - /* 52 */ array(1, 3, ), + /* 48 */ array(3, 30, 50, ), + /* 49 */ array(1, 3, 43, ), + /* 50 */ array(27, 28, ), + /* 51 */ array(1, 3, ), + /* 52 */ array(3, 30, ), /* 53 */ array(1, 3, ), - /* 54 */ array(3, 30, ), - /* 55 */ array(19, 30, ), + /* 54 */ array(19, 30, ), + /* 55 */ array(1, 3, ), /* 56 */ array(3, 30, ), /* 57 */ array(3, 30, ), - /* 58 */ array(1, 3, ), + /* 58 */ array(3, 30, ), /* 59 */ array(3, 30, ), /* 60 */ array(27, ), - /* 61 */ array(28, ), - /* 62 */ array(19, ), - /* 63 */ array(28, ), - /* 64 */ array(24, 40, 41, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, ), + /* 61 */ array(27, ), + /* 62 */ array(28, ), + /* 63 */ array(19, ), + /* 64 */ array(28, ), /* 65 */ array(16, 40, 41, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, ), /* 66 */ array(4, 40, 41, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, ), - /* 67 */ array(40, 41, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, ), + /* 67 */ array(24, 40, 41, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, ), /* 68 */ array(40, 41, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, ), /* 69 */ array(40, 41, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, ), /* 70 */ array(40, 41, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, ), @@ -543,78 +549,78 @@ static public $yy_action = array( /* 72 */ array(40, 41, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, ), /* 73 */ array(40, 41, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, ), /* 74 */ array(40, 41, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, ), - /* 75 */ array(12, 13, 18, 47, ), - /* 76 */ array(1, 3, 43, ), - /* 77 */ array(12, 13, 47, ), - /* 78 */ array(1, 3, 66, ), - /* 79 */ array(1, 3, 9, ), - /* 80 */ array(1, 3, 62, ), - /* 81 */ array(12, 13, 47, ), - /* 82 */ array(3, 26, 30, ), - /* 83 */ array(12, 13, 47, ), - /* 84 */ array(4, 25, ), - /* 85 */ array(25, 29, ), - /* 86 */ array(4, 27, ), - /* 87 */ array(4, 27, ), - /* 88 */ array(17, 20, ), - /* 89 */ array(16, 25, ), + /* 75 */ array(40, 41, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, ), + /* 76 */ array(12, 13, 18, 47, ), + /* 77 */ array(1, 3, 66, ), + /* 78 */ array(1, 3, 43, ), + /* 79 */ array(12, 13, 47, ), + /* 80 */ array(1, 3, 9, ), + /* 81 */ array(3, 26, 30, ), + /* 82 */ array(12, 13, 47, ), + /* 83 */ array(1, 3, 62, ), + /* 84 */ array(12, 13, 47, ), + /* 85 */ array(17, 20, ), + /* 86 */ array(16, 25, ), + /* 87 */ array(4, 25, ), + /* 88 */ array(4, 27, ), + /* 89 */ array(4, 27, ), /* 90 */ array(4, 27, ), - /* 91 */ array(21, 25, ), + /* 91 */ array(4, 27, ), /* 92 */ array(4, 27, ), /* 93 */ array(19, 30, ), /* 94 */ array(4, 25, ), /* 95 */ array(4, 27, ), - /* 96 */ array(28, ), - /* 97 */ array(25, ), - /* 98 */ array(30, ), - /* 99 */ array(15, ), - /* 100 */ array(25, ), + /* 96 */ array(25, 29, ), + /* 97 */ array(21, 25, ), + /* 98 */ array(22, ), + /* 99 */ array(19, ), + /* 100 */ array(28, ), /* 101 */ array(25, ), - /* 102 */ array(25, ), - /* 103 */ array(19, ), - /* 104 */ array(22, ), + /* 102 */ array(15, ), + /* 103 */ array(15, ), + /* 104 */ array(30, ), /* 105 */ array(25, ), /* 106 */ array(28, ), /* 107 */ array(25, ), - /* 108 */ array(28, ), - /* 109 */ array(15, ), + /* 108 */ array(25, ), + /* 109 */ array(28, ), /* 110 */ array(28, ), - /* 111 */ array(), - /* 112 */ array(), - /* 113 */ array(15, 23, 26, ), - /* 114 */ array(15, 18, 23, ), + /* 111 */ array(25, ), + /* 112 */ array(25, ), + /* 113 */ array(), + /* 114 */ array(), /* 115 */ array(15, 23, 29, ), - /* 116 */ array(30, 50, ), - /* 117 */ array(15, 23, ), - /* 118 */ array(21, 24, ), - /* 119 */ array(18, 21, ), - /* 120 */ array(15, 23, ), + /* 116 */ array(15, 18, 23, ), + /* 117 */ array(15, 23, 26, ), + /* 118 */ array(15, 23, ), + /* 119 */ array(15, 23, ), + /* 120 */ array(18, 21, ), /* 121 */ array(15, 23, ), - /* 122 */ array(15, 23, ), - /* 123 */ array(26, ), - /* 124 */ array(4, ), - /* 125 */ array(30, ), - /* 126 */ array(19, ), - /* 127 */ array(30, ), + /* 122 */ array(21, 24, ), + /* 123 */ array(15, 23, ), + /* 124 */ array(30, 50, ), + /* 125 */ array(4, ), + /* 126 */ array(30, ), + /* 127 */ array(26, ), /* 128 */ array(30, ), /* 129 */ array(30, ), /* 130 */ array(49, ), - /* 131 */ array(8, ), - /* 132 */ array(4, ), - /* 133 */ array(4, ), - /* 134 */ array(4, ), - /* 135 */ array(30, ), - /* 136 */ array(4, ), - /* 137 */ array(30, ), - /* 138 */ array(30, ), - /* 139 */ array(16, ), - /* 140 */ array(15, ), - /* 141 */ array(30, ), - /* 142 */ array(48, ), - /* 143 */ array(16, ), + /* 131 */ array(4, ), + /* 132 */ array(19, ), + /* 133 */ array(30, ), + /* 134 */ array(8, ), + /* 135 */ array(48, ), + /* 136 */ array(30, ), + /* 137 */ array(4, ), + /* 138 */ array(4, ), + /* 139 */ array(48, ), + /* 140 */ array(30, ), + /* 141 */ array(15, ), + /* 142 */ array(16, ), + /* 143 */ array(30, ), /* 144 */ array(16, ), - /* 145 */ array(48, ), - /* 146 */ array(), + /* 145 */ array(16, ), + /* 146 */ array(30, ), /* 147 */ array(), /* 148 */ array(), /* 149 */ array(), @@ -708,32 +714,35 @@ static public $yy_action = array( /* 237 */ array(), /* 238 */ array(), /* 239 */ array(), + /* 240 */ array(), + /* 241 */ array(), ); static public $yy_default = array( - /* 0 */ 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, - /* 10 */ 374, 374, 359, 323, 374, 323, 323, 374, 323, 374, - /* 20 */ 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, - /* 30 */ 374, 374, 374, 374, 374, 374, 374, 268, 301, 299, - /* 40 */ 268, 268, 240, 333, 333, 305, 305, 374, 374, 305, - /* 50 */ 374, 268, 374, 374, 374, 374, 374, 374, 374, 374, - /* 60 */ 268, 295, 374, 294, 374, 374, 374, 344, 335, 341, - /* 70 */ 337, 331, 336, 340, 345, 374, 374, 307, 374, 374, - /* 80 */ 374, 274, 374, 328, 374, 360, 374, 374, 317, 374, - /* 90 */ 374, 322, 374, 374, 374, 374, 296, 334, 374, 305, - /* 100 */ 361, 362, 262, 374, 275, 269, 314, 272, 297, 305, - /* 110 */ 300, 327, 327, 273, 374, 273, 374, 306, 374, 374, - /* 120 */ 329, 273, 374, 374, 374, 374, 374, 374, 374, 374, - /* 130 */ 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, - /* 140 */ 298, 374, 374, 374, 374, 374, 279, 324, 281, 282, - /* 150 */ 246, 245, 261, 247, 332, 321, 248, 343, 342, 319, - /* 160 */ 357, 354, 356, 263, 358, 355, 325, 326, 243, 367, - /* 170 */ 270, 303, 242, 366, 241, 259, 363, 258, 265, 292, - /* 180 */ 373, 249, 371, 271, 291, 372, 264, 280, 244, 370, - /* 190 */ 290, 339, 255, 285, 289, 286, 254, 256, 316, 318, - /* 200 */ 315, 257, 284, 365, 267, 288, 313, 252, 251, 312, - /* 210 */ 253, 287, 302, 311, 266, 260, 320, 250, 308, 304, - /* 220 */ 330, 309, 364, 369, 310, 338, 293, 276, 277, 347, - /* 230 */ 346, 278, 283, 348, 349, 353, 352, 351, 350, 368, + /* 0 */ 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, + /* 10 */ 377, 377, 362, 377, 377, 326, 326, 326, 326, 377, + /* 20 */ 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, + /* 30 */ 377, 377, 377, 377, 377, 377, 270, 377, 303, 301, + /* 40 */ 270, 270, 242, 336, 336, 307, 307, 377, 307, 377, + /* 50 */ 270, 377, 377, 377, 377, 377, 377, 377, 377, 377, + /* 60 */ 270, 270, 297, 377, 296, 377, 377, 377, 344, 343, + /* 70 */ 339, 334, 347, 340, 348, 338, 377, 377, 377, 309, + /* 80 */ 377, 377, 276, 377, 331, 320, 377, 377, 377, 377, + /* 90 */ 377, 377, 377, 377, 377, 377, 363, 325, 277, 377, + /* 100 */ 299, 264, 307, 307, 377, 274, 302, 365, 271, 298, + /* 110 */ 317, 364, 337, 330, 330, 275, 377, 275, 377, 332, + /* 120 */ 377, 308, 377, 275, 377, 377, 377, 377, 377, 377, + /* 130 */ 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, + /* 140 */ 377, 300, 377, 377, 377, 377, 377, 248, 366, 249, + /* 150 */ 312, 310, 370, 263, 323, 247, 335, 294, 318, 346, + /* 160 */ 345, 250, 321, 265, 282, 358, 357, 305, 273, 245, + /* 170 */ 244, 369, 272, 322, 324, 260, 243, 261, 361, 360, + /* 180 */ 267, 371, 376, 367, 374, 251, 295, 375, 266, 372, + /* 190 */ 246, 373, 311, 329, 314, 287, 257, 315, 288, 304, + /* 200 */ 258, 291, 259, 292, 286, 256, 368, 268, 255, 313, + /* 210 */ 253, 316, 327, 289, 269, 328, 290, 281, 262, 284, + /* 220 */ 306, 333, 278, 252, 283, 342, 341, 293, 319, 279, + /* 230 */ 356, 349, 280, 285, 359, 350, 351, 355, 354, 353, + /* 240 */ 352, 254, ); /* The next thing included is series of defines which control ** various aspects of the generated parser. @@ -752,8 +761,8 @@ static public $yy_action = array( */ const YYNOCODE = 107; const YYSTACKDEPTH = 100; - const YYNSTATE = 240; - const YYNRULE = 134; + const YYNSTATE = 242; + const YYNRULE = 135; const YYERRORSYMBOL = 67; const YYERRSYMDT = 'yy0'; const YYFALLBACK = 1; @@ -951,7 +960,7 @@ static public $yy_action = array( /* 11 */ "template_element ::= XML", /* 12 */ "template_element ::= OTHER", /* 13 */ "smartytag ::= LDEL expr attributes RDEL", - /* 14 */ "smartytag ::= LDEL statement RDEL", + /* 14 */ "smartytag ::= LDEL statement attributes RDEL", /* 15 */ "smartytag ::= LDEL ID attributes RDEL", /* 16 */ "smartytag ::= LDEL ID PTR ID attributes RDEL", /* 17 */ "smartytag ::= LDEL ID modifier modparameters attributes RDEL", @@ -1007,70 +1016,71 @@ static public $yy_action = array( /* 67 */ "indexdef ::= DOT exprs", /* 68 */ "indexdef ::= OPENB ID CLOSEB", /* 69 */ "indexdef ::= OPENB exprs CLOSEB", - /* 70 */ "varvar ::= varvarele", - /* 71 */ "varvar ::= varvar varvarele", - /* 72 */ "varvarele ::= ID", - /* 73 */ "varvarele ::= LDEL expr RDEL", - /* 74 */ "object ::= DOLLAR varvar arrayindex objectchain", - /* 75 */ "objectchain ::= objectelement", - /* 76 */ "objectchain ::= objectchain objectelement", - /* 77 */ "objectelement ::= PTR ID arrayindex", - /* 78 */ "objectelement ::= PTR method", - /* 79 */ "function ::= ID OPENP params CLOSEP", - /* 80 */ "method ::= ID OPENP params CLOSEP", - /* 81 */ "params ::= expr COMMA params", - /* 82 */ "params ::= expr", - /* 83 */ "params ::=", - /* 84 */ "modifier ::= VERT AT ID", - /* 85 */ "modifier ::= VERT ID", - /* 86 */ "modparameters ::= modparameters modparameter", - /* 87 */ "modparameters ::=", - /* 88 */ "modparameter ::= COLON exprs", - /* 89 */ "modparameter ::= COLON ID", - /* 90 */ "ifexprs ::= ifexpr", - /* 91 */ "ifexprs ::= NOT ifexprs", - /* 92 */ "ifexprs ::= OPENP ifexprs CLOSEP", - /* 93 */ "ifexpr ::= expr", - /* 94 */ "ifexpr ::= expr ifcond expr", - /* 95 */ "ifexpr ::= ifexprs lop ifexprs", - /* 96 */ "ifexpr ::= ifexprs ISDIVBY ifexprs", - /* 97 */ "ifexpr ::= ifexprs ISNOTDIVBY ifexprs", - /* 98 */ "ifexpr ::= ifexprs ISEVEN", - /* 99 */ "ifexpr ::= ifexprs ISNOTEVEN", - /* 100 */ "ifexpr ::= ifexprs ISEVENBY ifexprs", - /* 101 */ "ifexpr ::= ifexprs ISNOTEVENBY ifexprs", - /* 102 */ "ifexpr ::= ifexprs ISODD", - /* 103 */ "ifexpr ::= ifexprs ISNOTODD", - /* 104 */ "ifexpr ::= ifexprs ISODDBY ifexprs", - /* 105 */ "ifexpr ::= ifexprs ISNOTODDBY ifexprs", - /* 106 */ "ifcond ::= EQUALS", - /* 107 */ "ifcond ::= NOTEQUALS", - /* 108 */ "ifcond ::= GREATERTHAN", - /* 109 */ "ifcond ::= LESSTHAN", - /* 110 */ "ifcond ::= GREATEREQUAL", - /* 111 */ "ifcond ::= LESSEQUAL", - /* 112 */ "ifcond ::= IDENTITY", - /* 113 */ "ifcond ::= NONEIDENTITY", - /* 114 */ "lop ::= LAND", - /* 115 */ "lop ::= LOR", - /* 116 */ "array ::= OPENB arrayelements CLOSEB", - /* 117 */ "arrayelements ::= arrayelement", - /* 118 */ "arrayelements ::= arrayelements COMMA arrayelement", - /* 119 */ "arrayelements ::=", - /* 120 */ "arrayelement ::= expr", - /* 121 */ "arrayelement ::= expr APTR expr", - /* 122 */ "arrayelement ::= ID APTR expr", - /* 123 */ "doublequoted ::= doublequoted doublequotedcontent", - /* 124 */ "doublequoted ::= doublequotedcontent", - /* 125 */ "doublequotedcontent ::= variable", - /* 126 */ "doublequotedcontent ::= BACKTICK ID BACKTICK", - /* 127 */ "doublequotedcontent ::= BACKTICK variable BACKTICK", - /* 128 */ "doublequotedcontent ::= LDEL expr RDEL", - /* 129 */ "doublequotedcontent ::= OTHER", - /* 130 */ "text ::= text textelement", - /* 131 */ "text ::= textelement", - /* 132 */ "textelement ::= OTHER", - /* 133 */ "textelement ::= LDEL", + /* 70 */ "indexdef ::= OPENB CLOSEB", + /* 71 */ "varvar ::= varvarele", + /* 72 */ "varvar ::= varvar varvarele", + /* 73 */ "varvarele ::= ID", + /* 74 */ "varvarele ::= LDEL expr RDEL", + /* 75 */ "object ::= DOLLAR varvar arrayindex objectchain", + /* 76 */ "objectchain ::= objectelement", + /* 77 */ "objectchain ::= objectchain objectelement", + /* 78 */ "objectelement ::= PTR ID arrayindex", + /* 79 */ "objectelement ::= PTR method", + /* 80 */ "function ::= ID OPENP params CLOSEP", + /* 81 */ "method ::= ID OPENP params CLOSEP", + /* 82 */ "params ::= expr COMMA params", + /* 83 */ "params ::= expr", + /* 84 */ "params ::=", + /* 85 */ "modifier ::= VERT AT ID", + /* 86 */ "modifier ::= VERT ID", + /* 87 */ "modparameters ::= modparameters modparameter", + /* 88 */ "modparameters ::=", + /* 89 */ "modparameter ::= COLON exprs", + /* 90 */ "modparameter ::= COLON ID", + /* 91 */ "ifexprs ::= ifexpr", + /* 92 */ "ifexprs ::= NOT ifexprs", + /* 93 */ "ifexprs ::= OPENP ifexprs CLOSEP", + /* 94 */ "ifexpr ::= expr", + /* 95 */ "ifexpr ::= expr ifcond expr", + /* 96 */ "ifexpr ::= ifexprs lop ifexprs", + /* 97 */ "ifexpr ::= ifexprs ISDIVBY ifexprs", + /* 98 */ "ifexpr ::= ifexprs ISNOTDIVBY ifexprs", + /* 99 */ "ifexpr ::= ifexprs ISEVEN", + /* 100 */ "ifexpr ::= ifexprs ISNOTEVEN", + /* 101 */ "ifexpr ::= ifexprs ISEVENBY ifexprs", + /* 102 */ "ifexpr ::= ifexprs ISNOTEVENBY ifexprs", + /* 103 */ "ifexpr ::= ifexprs ISODD", + /* 104 */ "ifexpr ::= ifexprs ISNOTODD", + /* 105 */ "ifexpr ::= ifexprs ISODDBY ifexprs", + /* 106 */ "ifexpr ::= ifexprs ISNOTODDBY ifexprs", + /* 107 */ "ifcond ::= EQUALS", + /* 108 */ "ifcond ::= NOTEQUALS", + /* 109 */ "ifcond ::= GREATERTHAN", + /* 110 */ "ifcond ::= LESSTHAN", + /* 111 */ "ifcond ::= GREATEREQUAL", + /* 112 */ "ifcond ::= LESSEQUAL", + /* 113 */ "ifcond ::= IDENTITY", + /* 114 */ "ifcond ::= NONEIDENTITY", + /* 115 */ "lop ::= LAND", + /* 116 */ "lop ::= LOR", + /* 117 */ "array ::= OPENB arrayelements CLOSEB", + /* 118 */ "arrayelements ::= arrayelement", + /* 119 */ "arrayelements ::= arrayelements COMMA arrayelement", + /* 120 */ "arrayelements ::=", + /* 121 */ "arrayelement ::= expr", + /* 122 */ "arrayelement ::= expr APTR expr", + /* 123 */ "arrayelement ::= ID APTR expr", + /* 124 */ "doublequoted ::= doublequoted doublequotedcontent", + /* 125 */ "doublequoted ::= doublequotedcontent", + /* 126 */ "doublequotedcontent ::= variable", + /* 127 */ "doublequotedcontent ::= BACKTICK ID BACKTICK", + /* 128 */ "doublequotedcontent ::= BACKTICK variable BACKTICK", + /* 129 */ "doublequotedcontent ::= LDEL expr RDEL", + /* 130 */ "doublequotedcontent ::= OTHER", + /* 131 */ "text ::= text textelement", + /* 132 */ "text ::= textelement", + /* 133 */ "textelement ::= OTHER", + /* 134 */ "textelement ::= LDEL", ); /** @@ -1449,7 +1459,7 @@ static public $yy_action = array( array( 'lhs' => 70, 'rhs' => 1 ), array( 'lhs' => 70, 'rhs' => 1 ), array( 'lhs' => 71, 'rhs' => 4 ), - array( 'lhs' => 71, 'rhs' => 3 ), + array( 'lhs' => 71, 'rhs' => 4 ), array( 'lhs' => 71, 'rhs' => 4 ), array( 'lhs' => 71, 'rhs' => 6 ), array( 'lhs' => 71, 'rhs' => 6 ), @@ -1505,6 +1515,7 @@ static public $yy_action = array( array( 'lhs' => 95, 'rhs' => 2 ), array( 'lhs' => 95, 'rhs' => 3 ), array( 'lhs' => 95, 'rhs' => 3 ), + array( 'lhs' => 95, 'rhs' => 2 ), array( 'lhs' => 81, 'rhs' => 1 ), array( 'lhs' => 81, 'rhs' => 2 ), array( 'lhs' => 96, 'rhs' => 1 ), @@ -1586,22 +1597,22 @@ static public $yy_action = array( 47 => 0, 48 => 0, 63 => 0, - 117 => 0, + 118 => 0, 1 => 1, 34 => 1, 36 => 1, 41 => 1, 42 => 1, - 70 => 1, - 90 => 1, - 124 => 1, - 131 => 1, + 71 => 1, + 91 => 1, + 125 => 1, 132 => 1, 133 => 1, + 134 => 1, 2 => 2, 64 => 2, - 123 => 2, - 130 => 2, + 124 => 2, + 131 => 2, 3 => 3, 4 => 4, 5 => 5, @@ -1624,8 +1635,8 @@ static public $yy_action = array( 22 => 22, 23 => 23, 27 => 23, - 82 => 23, - 120 => 23, + 83 => 23, + 121 => 23, 24 => 24, 25 => 24, 26 => 26, @@ -1655,16 +1666,16 @@ static public $yy_action = array( 61 => 61, 62 => 62, 65 => 65, - 87 => 65, + 88 => 65, 66 => 66, 67 => 67, 68 => 68, 69 => 69, - 71 => 71, + 70 => 70, 72 => 72, 73 => 73, - 92 => 73, 74 => 74, + 93 => 74, 75 => 75, 76 => 76, 77 => 77, @@ -1672,27 +1683,27 @@ static public $yy_action = array( 79 => 79, 80 => 80, 81 => 81, - 83 => 83, + 82 => 82, 84 => 84, 85 => 85, 86 => 86, - 88 => 88, + 87 => 87, 89 => 89, - 91 => 91, - 93 => 93, + 90 => 90, + 92 => 92, 94 => 94, - 95 => 94, - 96 => 96, + 95 => 95, + 96 => 95, 97 => 97, 98 => 98, - 103 => 98, 99 => 99, - 102 => 99, + 104 => 99, 100 => 100, - 105 => 100, + 103 => 100, 101 => 101, - 104 => 101, - 106 => 106, + 106 => 101, + 102 => 102, + 105 => 102, 107 => 107, 108 => 108, 109 => 109, @@ -1703,15 +1714,16 @@ static public $yy_action = array( 114 => 114, 115 => 115, 116 => 116, - 118 => 118, + 117 => 117, 119 => 119, - 121 => 121, + 120 => 120, 122 => 122, - 125 => 125, + 123 => 123, 126 => 126, 127 => 127, 128 => 128, 129 => 129, + 130 => 130, ); /* Beginning here are the reduction cases. A typical example ** follows: @@ -1721,31 +1733,31 @@ static public $yy_action = array( */ #line 73 "internal.templateparser.y" function yy_r0(){ $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } -#line 1729 "internal.templateparser.php" +#line 1741 "internal.templateparser.php" #line 79 "internal.templateparser.y" function yy_r1(){$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } -#line 1732 "internal.templateparser.php" +#line 1744 "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 1735 "internal.templateparser.php" +#line 1747 "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 1741 "internal.templateparser.php" +#line 1753 "internal.templateparser.php" #line 100 "internal.templateparser.y" function yy_r4(){ $this->_retvalue = ''; } -#line 1744 "internal.templateparser.php" +#line 1756 "internal.templateparser.php" #line 103 "internal.templateparser.y" function yy_r5(){$this->_retvalue = $this->cacher->processNocacheCode($this->yystack[$this->yyidx + -1]->minor, $this->compiler,false,false); } -#line 1747 "internal.templateparser.php" +#line 1759 "internal.templateparser.php" #line 105 "internal.templateparser.y" function yy_r6(){$this->_retvalue = $this->cacher->processNocacheCode($this->smarty->left_delimiter, $this->compiler,false,false); } -#line 1750 "internal.templateparser.php" +#line 1762 "internal.templateparser.php" #line 107 "internal.templateparser.y" function yy_r7(){$this->_retvalue = $this->cacher->processNocacheCode($this->smarty->right_delimiter, $this->compiler,false,false); } -#line 1753 "internal.templateparser.php" +#line 1765 "internal.templateparser.php" #line 109 "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); @@ -1756,7 +1768,7 @@ static public $yy_action = array( }elseif ($this->smarty->security_policy->php_handling == SMARTY_PHP_REMOVE) { $this->_retvalue = ''; } } -#line 1764 "internal.templateparser.php" +#line 1776 "internal.templateparser.php" #line 119 "internal.templateparser.y" function yy_r9(){if (!$this->template->security) { $this->_retvalue = $this->cacher->processNocacheCode('yystack[$this->yyidx + -1]->minor.' ?>', $this->compiler, false,true); @@ -1767,7 +1779,7 @@ static public $yy_action = array( }elseif ($this->smarty->security_policy->php_handling == SMARTY_PHP_REMOVE) { $this->_retvalue = ''; } } -#line 1775 "internal.templateparser.php" +#line 1787 "internal.templateparser.php" #line 129 "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); @@ -1778,25 +1790,25 @@ static public $yy_action = array( }elseif ($this->smarty->security_policy->php_handling == SMARTY_PHP_REMOVE) { $this->_retvalue = ''; } } -#line 1786 "internal.templateparser.php" +#line 1798 "internal.templateparser.php" #line 139 "internal.templateparser.y" function yy_r11(){$this->_retvalue = $this->cacher->processNocacheCode("yystack[$this->yyidx + 0]->minor."';?>\n", $this->compiler, true, true); } -#line 1789 "internal.templateparser.php" +#line 1801 "internal.templateparser.php" #line 141 "internal.templateparser.y" function yy_r12(){$this->_retvalue = $this->cacher->processNocacheCode($this->yystack[$this->yyidx + 0]->minor, $this->compiler,false,false); } -#line 1792 "internal.templateparser.php" +#line 1804 "internal.templateparser.php" #line 149 "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 1795 "internal.templateparser.php" +#line 1807 "internal.templateparser.php" #line 151 "internal.templateparser.y" - function yy_r14(){ $this->_retvalue = $this->compiler->compileTag('assign',$this->yystack[$this->yyidx + -1]->minor); } -#line 1798 "internal.templateparser.php" + function yy_r14(){ $this->_retvalue = $this->compiler->compileTag('assign',array_merge($this->yystack[$this->yyidx + -2]->minor,$this->yystack[$this->yyidx + -1]->minor)); } +#line 1810 "internal.templateparser.php" #line 153 "internal.templateparser.y" function yy_r15(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -2]->minor,$this->yystack[$this->yyidx + -1]->minor); } -#line 1801 "internal.templateparser.php" +#line 1813 "internal.templateparser.php" #line 155 "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 1804 "internal.templateparser.php" +#line 1816 "internal.templateparser.php" #line 157 "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')) { @@ -1811,50 +1823,50 @@ static public $yy_action = array( } } } -#line 1819 "internal.templateparser.php" +#line 1831 "internal.templateparser.php" #line 171 "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 1822 "internal.templateparser.php" +#line 1834 "internal.templateparser.php" #line 173 "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 1825 "internal.templateparser.php" +#line 1837 "internal.templateparser.php" #line 175 "internal.templateparser.y" function yy_r20(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -3]->minor,array('if condition'=>$this->yystack[$this->yyidx + -1]->minor)); } -#line 1828 "internal.templateparser.php" +#line 1840 "internal.templateparser.php" #line 177 "internal.templateparser.y" function yy_r21(){ $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 1831 "internal.templateparser.php" +#line 1843 "internal.templateparser.php" #line 178 "internal.templateparser.y" function yy_r22(){ $this->_retvalue = '='.$this->yystack[$this->yyidx + 0]->minor; } -#line 1834 "internal.templateparser.php" +#line 1846 "internal.templateparser.php" #line 179 "internal.templateparser.y" function yy_r23(){ $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } -#line 1837 "internal.templateparser.php" +#line 1849 "internal.templateparser.php" #line 182 "internal.templateparser.y" function yy_r24(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -6]->minor,array('from'=>$this->yystack[$this->yyidx + -1]->minor,'item'=>$this->yystack[$this->yyidx + -3]->minor)); } -#line 1840 "internal.templateparser.php" +#line 1852 "internal.templateparser.php" #line 189 "internal.templateparser.y" function yy_r26(){ $this->_retvalue = array_merge($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor); } -#line 1843 "internal.templateparser.php" +#line 1855 "internal.templateparser.php" #line 193 "internal.templateparser.y" function yy_r28(){ $this->_retvalue = array(); } -#line 1846 "internal.templateparser.php" +#line 1858 "internal.templateparser.php" #line 197 "internal.templateparser.y" function yy_r29(){ $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>$this->yystack[$this->yyidx + 0]->minor); } -#line 1849 "internal.templateparser.php" +#line 1861 "internal.templateparser.php" #line 202 "internal.templateparser.y" function yy_r30(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor); } -#line 1852 "internal.templateparser.php" +#line 1864 "internal.templateparser.php" #line 203 "internal.templateparser.y" function yy_r31(){ $this->yystack[$this->yyidx + -2]->minor[]=$this->yystack[$this->yyidx + 0]->minor; $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor; } -#line 1855 "internal.templateparser.php" +#line 1867 "internal.templateparser.php" #line 205 "internal.templateparser.y" function yy_r32(){ $this->_retvalue = array('var' => $this->yystack[$this->yyidx + -2]->minor, 'value'=>$this->yystack[$this->yyidx + 0]->minor); } -#line 1858 "internal.templateparser.php" -#line 212 "internal.templateparser.y" +#line 1870 "internal.templateparser.php" +#line 213 "internal.templateparser.y" function yy_r33(){ $this->_retvalue = '\''.$this->yystack[$this->yyidx + 0]->minor.'\''; } -#line 1861 "internal.templateparser.php" -#line 216 "internal.templateparser.y" +#line 1873 "internal.templateparser.php" +#line 217 "internal.templateparser.y" function yy_r35(){ 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')"; @@ -1868,218 +1880,221 @@ static public $yy_action = array( } } } -#line 1876 "internal.templateparser.php" -#line 234 "internal.templateparser.y" - function yy_r38(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -#line 1879 "internal.templateparser.php" -#line 236 "internal.templateparser.y" - function yy_r39(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor . $this->yystack[$this->yyidx + -1]->minor . $this->yystack[$this->yyidx + 0]->minor; } -#line 1882 "internal.templateparser.php" -#line 238 "internal.templateparser.y" - function yy_r40(){ $this->_retvalue = '('. $this->yystack[$this->yyidx + -2]->minor . ').(' . $this->yystack[$this->yyidx + 0]->minor. ')'; } -#line 1885 "internal.templateparser.php" -#line 252 "internal.templateparser.y" - function yy_r44(){$this->_retvalue = '$_smarty_tpl->getConfigVariable(\''. $this->yystack[$this->yyidx + -1]->minor .'\')'; } #line 1888 "internal.templateparser.php" -#line 263 "internal.templateparser.y" - function yy_r49(){ $this->_retvalue = "(". $this->yystack[$this->yyidx + -1]->minor .")"; } +#line 235 "internal.templateparser.y" + function yy_r38(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } #line 1891 "internal.templateparser.php" -#line 266 "internal.templateparser.y" - function yy_r50(){ $this->_retvalue = "'".$this->yystack[$this->yyidx + -1]->minor."'"; } +#line 237 "internal.templateparser.y" + function yy_r39(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor . $this->yystack[$this->yyidx + -1]->minor . $this->yystack[$this->yyidx + 0]->minor; } #line 1894 "internal.templateparser.php" -#line 267 "internal.templateparser.y" - function yy_r51(){ $this->_retvalue = "''"; } +#line 239 "internal.templateparser.y" + function yy_r40(){ $this->_retvalue = '('. $this->yystack[$this->yyidx + -2]->minor . ').(' . $this->yystack[$this->yyidx + 0]->minor. ')'; } #line 1897 "internal.templateparser.php" -#line 269 "internal.templateparser.y" - function yy_r52(){ $this->_retvalue = "'".str_replace('\"','"',$this->yystack[$this->yyidx + -1]->minor)."'"; } +#line 253 "internal.templateparser.y" + function yy_r44(){$this->_retvalue = '$_smarty_tpl->getConfigVariable(\''. $this->yystack[$this->yyidx + -1]->minor .'\')'; } #line 1900 "internal.templateparser.php" -#line 275 "internal.templateparser.y" - function yy_r54(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'::'.$this->yystack[$this->yyidx + 0]->minor; } +#line 264 "internal.templateparser.y" + function yy_r49(){ $this->_retvalue = "(". $this->yystack[$this->yyidx + -1]->minor .")"; } #line 1903 "internal.templateparser.php" -#line 276 "internal.templateparser.y" - function yy_r55(){ $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 267 "internal.templateparser.y" + function yy_r50(){ $this->_retvalue = "'".$this->yystack[$this->yyidx + -1]->minor."'"; } #line 1906 "internal.templateparser.php" -#line 278 "internal.templateparser.y" - function yy_r56(){ $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor.'::'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } +#line 268 "internal.templateparser.y" + function yy_r51(){ $this->_retvalue = "''"; } #line 1909 "internal.templateparser.php" -#line 279 "internal.templateparser.y" - function yy_r57(){ $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 270 "internal.templateparser.y" + function yy_r52(){ $this->_retvalue = "'".str_replace('\"','"',$this->yystack[$this->yyidx + -1]->minor)."'"; } #line 1912 "internal.templateparser.php" -#line 281 "internal.templateparser.y" - function yy_r58(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'::'.$this->yystack[$this->yyidx + 0]->minor; } +#line 276 "internal.templateparser.y" + function yy_r54(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'::'.$this->yystack[$this->yyidx + 0]->minor; } #line 1915 "internal.templateparser.php" -#line 283 "internal.templateparser.y" - function yy_r59(){ $this->_retvalue = $this->yystack[$this->yyidx + -4]->minor.'::$'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } +#line 277 "internal.templateparser.y" + function yy_r55(){ $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 1918 "internal.templateparser.php" -#line 285 "internal.templateparser.y" - function yy_r60(){ $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 279 "internal.templateparser.y" + function yy_r56(){ $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor.'::'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } #line 1921 "internal.templateparser.php" -#line 292 "internal.templateparser.y" +#line 280 "internal.templateparser.y" + function yy_r57(){ $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 1924 "internal.templateparser.php" +#line 282 "internal.templateparser.y" + function yy_r58(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'::'.$this->yystack[$this->yyidx + 0]->minor; } +#line 1927 "internal.templateparser.php" +#line 284 "internal.templateparser.y" + function yy_r59(){ $this->_retvalue = $this->yystack[$this->yyidx + -4]->minor.'::$'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } +#line 1930 "internal.templateparser.php" +#line 286 "internal.templateparser.y" + function yy_r60(){ $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 1933 "internal.templateparser.php" +#line 293 "internal.templateparser.y" function yy_r61(){ if ($this->yystack[$this->yyidx + -1]->minor == '\'smarty\'') { $this->_retvalue = $this->compiler->compileTag(trim($this->yystack[$this->yyidx + -1]->minor,"'"),$this->yystack[$this->yyidx + 0]->minor);} else { $this->_retvalue = '$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + -1]->minor .')->value'.$this->yystack[$this->yyidx + 0]->minor; $this->nocache=$this->template->getVariable(trim($this->yystack[$this->yyidx + -1]->minor,"'"))->nocache;} } -#line 1925 "internal.templateparser.php" -#line 295 "internal.templateparser.y" - function yy_r62(){ $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 1928 "internal.templateparser.php" -#line 307 "internal.templateparser.y" - function yy_r65(){return; } -#line 1931 "internal.templateparser.php" -#line 311 "internal.templateparser.y" - function yy_r66(){ $this->_retvalue = "['". $this->yystack[$this->yyidx + 0]->minor ."']"; } -#line 1934 "internal.templateparser.php" -#line 312 "internal.templateparser.y" - function yy_r67(){ $this->_retvalue = "[". $this->yystack[$this->yyidx + 0]->minor ."]"; } #line 1937 "internal.templateparser.php" -#line 314 "internal.templateparser.y" - function yy_r68(){ $this->_retvalue = '['.$this->compiler->compileTag('smarty','[\'section\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\'][\'index\']').']'; } +#line 296 "internal.templateparser.y" + function yy_r62(){ $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 1940 "internal.templateparser.php" -#line 316 "internal.templateparser.y" - function yy_r69(){ $this->_retvalue = "[". $this->yystack[$this->yyidx + -1]->minor ."]"; } +#line 308 "internal.templateparser.y" + function yy_r65(){return; } #line 1943 "internal.templateparser.php" -#line 324 "internal.templateparser.y" - function yy_r71(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor; } +#line 312 "internal.templateparser.y" + function yy_r66(){ $this->_retvalue = "['". $this->yystack[$this->yyidx + 0]->minor ."']"; } #line 1946 "internal.templateparser.php" -#line 326 "internal.templateparser.y" - function yy_r72(){$this->_retvalue = '\''.$this->yystack[$this->yyidx + 0]->minor.'\''; } +#line 313 "internal.templateparser.y" + function yy_r67(){ $this->_retvalue = "[". $this->yystack[$this->yyidx + 0]->minor ."]"; } #line 1949 "internal.templateparser.php" -#line 328 "internal.templateparser.y" - function yy_r73(){$this->_retvalue = '('.$this->yystack[$this->yyidx + -1]->minor.')'; } +#line 315 "internal.templateparser.y" + function yy_r68(){ $this->_retvalue = '['.$this->compiler->compileTag('smarty','[\'section\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\'][\'index\']').']'; } #line 1952 "internal.templateparser.php" -#line 333 "internal.templateparser.y" - function yy_r74(){ $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 317 "internal.templateparser.y" + function yy_r69(){ $this->_retvalue = "[". $this->yystack[$this->yyidx + -1]->minor ."]"; } #line 1955 "internal.templateparser.php" -#line 335 "internal.templateparser.y" - function yy_r75(){$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } +#line 318 "internal.templateparser.y" + function yy_r70(){ $this->_retvalue = "[]"; } #line 1958 "internal.templateparser.php" -#line 337 "internal.templateparser.y" - function yy_r76(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } +#line 326 "internal.templateparser.y" + function yy_r72(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor; } #line 1961 "internal.templateparser.php" -#line 339 "internal.templateparser.y" - function yy_r77(){ $this->_retvalue = '->'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } +#line 328 "internal.templateparser.y" + function yy_r73(){$this->_retvalue = '\''.$this->yystack[$this->yyidx + 0]->minor.'\''; } #line 1964 "internal.templateparser.php" -#line 342 "internal.templateparser.y" - function yy_r78(){ $this->_retvalue = '->'.$this->yystack[$this->yyidx + 0]->minor; } +#line 330 "internal.templateparser.y" + function yy_r74(){$this->_retvalue = '('.$this->yystack[$this->yyidx + -1]->minor.')'; } #line 1967 "internal.templateparser.php" -#line 348 "internal.templateparser.y" - function yy_r79(){if (!$this->template->security || $this->smarty->security_handler->isTrustedPhpFunction($this->yystack[$this->yyidx + -3]->minor, $this->compiler)) { +#line 335 "internal.templateparser.y" + function yy_r75(){ $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 1970 "internal.templateparser.php" +#line 337 "internal.templateparser.y" + function yy_r76(){$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } +#line 1973 "internal.templateparser.php" +#line 339 "internal.templateparser.y" + function yy_r77(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } +#line 1976 "internal.templateparser.php" +#line 341 "internal.templateparser.y" + function yy_r78(){ $this->_retvalue = '->'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } +#line 1979 "internal.templateparser.php" +#line 344 "internal.templateparser.y" + function yy_r79(){ $this->_retvalue = '->'.$this->yystack[$this->yyidx + 0]->minor; } +#line 1982 "internal.templateparser.php" +#line 350 "internal.templateparser.y" + function yy_r80(){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 .")"; } else { $this->compiler->trigger_template_error ("unknown function \"" . $this->yystack[$this->yyidx + -3]->minor . "\""); } } } -#line 1976 "internal.templateparser.php" -#line 359 "internal.templateparser.y" - function yy_r80(){ $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor . "(". $this->yystack[$this->yyidx + -1]->minor .")"; } -#line 1979 "internal.templateparser.php" -#line 363 "internal.templateparser.y" - function yy_r81(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.",".$this->yystack[$this->yyidx + 0]->minor; } -#line 1982 "internal.templateparser.php" -#line 367 "internal.templateparser.y" - function yy_r83(){ return; } -#line 1985 "internal.templateparser.php" -#line 372 "internal.templateparser.y" - function yy_r84(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor,true); } -#line 1988 "internal.templateparser.php" -#line 373 "internal.templateparser.y" - function yy_r85(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor,false); } #line 1991 "internal.templateparser.php" -#line 380 "internal.templateparser.y" - function yy_r86(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } +#line 361 "internal.templateparser.y" + function yy_r81(){ $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor . "(". $this->yystack[$this->yyidx + -1]->minor .")"; } #line 1994 "internal.templateparser.php" -#line 384 "internal.templateparser.y" - function yy_r88(){$this->_retvalue = ','.$this->yystack[$this->yyidx + 0]->minor; } +#line 365 "internal.templateparser.y" + function yy_r82(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.",".$this->yystack[$this->yyidx + 0]->minor; } #line 1997 "internal.templateparser.php" -#line 385 "internal.templateparser.y" - function yy_r89(){$this->_retvalue = ',\''.$this->yystack[$this->yyidx + 0]->minor.'\''; } +#line 369 "internal.templateparser.y" + function yy_r84(){ return; } #line 2000 "internal.templateparser.php" -#line 392 "internal.templateparser.y" - function yy_r91(){$this->_retvalue = '!'.$this->yystack[$this->yyidx + 0]->minor; } +#line 374 "internal.templateparser.y" + function yy_r85(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor,true); } #line 2003 "internal.templateparser.php" -#line 397 "internal.templateparser.y" - function yy_r93(){$this->_retvalue =$this->yystack[$this->yyidx + 0]->minor; } +#line 375 "internal.templateparser.y" + function yy_r86(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor,false); } #line 2006 "internal.templateparser.php" -#line 398 "internal.templateparser.y" - function yy_r94(){$this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } +#line 382 "internal.templateparser.y" + function yy_r87(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } #line 2009 "internal.templateparser.php" -#line 400 "internal.templateparser.y" - function yy_r96(){$this->_retvalue = '!('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')'; } +#line 386 "internal.templateparser.y" + function yy_r89(){$this->_retvalue = ','.$this->yystack[$this->yyidx + 0]->minor; } #line 2012 "internal.templateparser.php" -#line 401 "internal.templateparser.y" - function yy_r97(){$this->_retvalue = '('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')'; } +#line 387 "internal.templateparser.y" + function yy_r90(){$this->_retvalue = ',\''.$this->yystack[$this->yyidx + 0]->minor.'\''; } #line 2015 "internal.templateparser.php" -#line 402 "internal.templateparser.y" - function yy_r98(){$this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -1]->minor.')'; } +#line 394 "internal.templateparser.y" + function yy_r92(){$this->_retvalue = '!'.$this->yystack[$this->yyidx + 0]->minor; } #line 2018 "internal.templateparser.php" -#line 403 "internal.templateparser.y" - function yy_r99(){$this->_retvalue = '(1 & '.$this->yystack[$this->yyidx + -1]->minor.')'; } +#line 399 "internal.templateparser.y" + function yy_r94(){$this->_retvalue =$this->yystack[$this->yyidx + 0]->minor; } #line 2021 "internal.templateparser.php" -#line 404 "internal.templateparser.y" - function yy_r100(){$this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -2]->minor.' / '.$this->yystack[$this->yyidx + 0]->minor.')'; } +#line 400 "internal.templateparser.y" + function yy_r95(){$this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } #line 2024 "internal.templateparser.php" -#line 405 "internal.templateparser.y" - function yy_r101(){$this->_retvalue = '(1 & '.$this->yystack[$this->yyidx + -2]->minor.' / '.$this->yystack[$this->yyidx + 0]->minor.')'; } +#line 402 "internal.templateparser.y" + function yy_r97(){$this->_retvalue = '!('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')'; } #line 2027 "internal.templateparser.php" -#line 411 "internal.templateparser.y" - function yy_r106(){$this->_retvalue = '=='; } +#line 403 "internal.templateparser.y" + function yy_r98(){$this->_retvalue = '('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')'; } #line 2030 "internal.templateparser.php" -#line 412 "internal.templateparser.y" - function yy_r107(){$this->_retvalue = '!='; } +#line 404 "internal.templateparser.y" + function yy_r99(){$this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -1]->minor.')'; } #line 2033 "internal.templateparser.php" -#line 413 "internal.templateparser.y" - function yy_r108(){$this->_retvalue = '>'; } +#line 405 "internal.templateparser.y" + function yy_r100(){$this->_retvalue = '(1 & '.$this->yystack[$this->yyidx + -1]->minor.')'; } #line 2036 "internal.templateparser.php" -#line 414 "internal.templateparser.y" - function yy_r109(){$this->_retvalue = '<'; } +#line 406 "internal.templateparser.y" + function yy_r101(){$this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -2]->minor.' / '.$this->yystack[$this->yyidx + 0]->minor.')'; } #line 2039 "internal.templateparser.php" -#line 415 "internal.templateparser.y" - function yy_r110(){$this->_retvalue = '>='; } +#line 407 "internal.templateparser.y" + function yy_r102(){$this->_retvalue = '(1 & '.$this->yystack[$this->yyidx + -2]->minor.' / '.$this->yystack[$this->yyidx + 0]->minor.')'; } #line 2042 "internal.templateparser.php" -#line 416 "internal.templateparser.y" - function yy_r111(){$this->_retvalue = '<='; } +#line 413 "internal.templateparser.y" + function yy_r107(){$this->_retvalue = '=='; } #line 2045 "internal.templateparser.php" -#line 417 "internal.templateparser.y" - function yy_r112(){$this->_retvalue = '==='; } +#line 414 "internal.templateparser.y" + function yy_r108(){$this->_retvalue = '!='; } #line 2048 "internal.templateparser.php" -#line 418 "internal.templateparser.y" - function yy_r113(){$this->_retvalue = '!=='; } +#line 415 "internal.templateparser.y" + function yy_r109(){$this->_retvalue = '>'; } #line 2051 "internal.templateparser.php" -#line 420 "internal.templateparser.y" - function yy_r114(){$this->_retvalue = '&&'; } +#line 416 "internal.templateparser.y" + function yy_r110(){$this->_retvalue = '<'; } #line 2054 "internal.templateparser.php" -#line 421 "internal.templateparser.y" - function yy_r115(){$this->_retvalue = '||'; } +#line 417 "internal.templateparser.y" + function yy_r111(){$this->_retvalue = '>='; } #line 2057 "internal.templateparser.php" -#line 426 "internal.templateparser.y" - function yy_r116(){ $this->_retvalue = 'array('.$this->yystack[$this->yyidx + -1]->minor.')'; } +#line 418 "internal.templateparser.y" + function yy_r112(){$this->_retvalue = '<='; } #line 2060 "internal.templateparser.php" -#line 428 "internal.templateparser.y" - function yy_r118(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor; } +#line 419 "internal.templateparser.y" + function yy_r113(){$this->_retvalue = '==='; } #line 2063 "internal.templateparser.php" -#line 429 "internal.templateparser.y" - function yy_r119(){ return; } +#line 420 "internal.templateparser.y" + function yy_r114(){$this->_retvalue = '!=='; } #line 2066 "internal.templateparser.php" -#line 431 "internal.templateparser.y" - function yy_r121(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'=>'.$this->yystack[$this->yyidx + 0]->minor; } +#line 422 "internal.templateparser.y" + function yy_r115(){$this->_retvalue = '&&'; } #line 2069 "internal.templateparser.php" -#line 432 "internal.templateparser.y" - function yy_r122(){ $this->_retvalue = '\''.$this->yystack[$this->yyidx + -2]->minor.'\'=>'.$this->yystack[$this->yyidx + 0]->minor; } +#line 423 "internal.templateparser.y" + function yy_r116(){$this->_retvalue = '||'; } #line 2072 "internal.templateparser.php" -#line 439 "internal.templateparser.y" - function yy_r125(){$this->_retvalue = "'.".$this->yystack[$this->yyidx + 0]->minor.".'"; } +#line 428 "internal.templateparser.y" + function yy_r117(){ $this->_retvalue = 'array('.$this->yystack[$this->yyidx + -1]->minor.')'; } #line 2075 "internal.templateparser.php" -#line 440 "internal.templateparser.y" - function yy_r126(){$this->_retvalue = "`".$this->yystack[$this->yyidx + -1]->minor."`"; } +#line 430 "internal.templateparser.y" + function yy_r119(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor; } #line 2078 "internal.templateparser.php" -#line 441 "internal.templateparser.y" - function yy_r127(){$this->_retvalue = "'.".$this->yystack[$this->yyidx + -1]->minor.".'"; } +#line 431 "internal.templateparser.y" + function yy_r120(){ return; } #line 2081 "internal.templateparser.php" -#line 442 "internal.templateparser.y" - function yy_r128(){$this->_retvalue = "'.(".$this->yystack[$this->yyidx + -1]->minor.").'"; } +#line 433 "internal.templateparser.y" + function yy_r122(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'=>'.$this->yystack[$this->yyidx + 0]->minor; } #line 2084 "internal.templateparser.php" -#line 443 "internal.templateparser.y" - function yy_r129(){$this->_retvalue = addcslashes($this->yystack[$this->yyidx + 0]->minor,"'"); } +#line 434 "internal.templateparser.y" + function yy_r123(){ $this->_retvalue = '\''.$this->yystack[$this->yyidx + -2]->minor.'\'=>'.$this->yystack[$this->yyidx + 0]->minor; } #line 2087 "internal.templateparser.php" +#line 441 "internal.templateparser.y" + function yy_r126(){$this->_retvalue = "'.".$this->yystack[$this->yyidx + 0]->minor.".'"; } +#line 2090 "internal.templateparser.php" +#line 442 "internal.templateparser.y" + function yy_r127(){$this->_retvalue = "`".$this->yystack[$this->yyidx + -1]->minor."`"; } +#line 2093 "internal.templateparser.php" +#line 443 "internal.templateparser.y" + function yy_r128(){$this->_retvalue = "'.".$this->yystack[$this->yyidx + -1]->minor.".'"; } +#line 2096 "internal.templateparser.php" +#line 444 "internal.templateparser.y" + function yy_r129(){$this->_retvalue = "'.(".$this->yystack[$this->yyidx + -1]->minor.").'"; } +#line 2099 "internal.templateparser.php" +#line 445 "internal.templateparser.y" + function yy_r130(){$this->_retvalue = addcslashes($this->yystack[$this->yyidx + 0]->minor,"'"); } +#line 2102 "internal.templateparser.php" /** * placeholder for the left hand side in a reduce operation. @@ -2196,7 +2211,7 @@ static public $yy_action = array( $this->internalError = true; $this->yymajor = $yymajor; $this->compiler->trigger_template_error(); -#line 2205 "internal.templateparser.php" +#line 2220 "internal.templateparser.php" } /** @@ -2220,7 +2235,7 @@ static public $yy_action = array( $this->internalError = false; $this->retvalue = $this->_retvalue; //echo $this->retvalue."\n\n"; -#line 2230 "internal.templateparser.php" +#line 2245 "internal.templateparser.php" } /** diff --git a/libs/sysplugins/method.registerdefaultpluginhandler.php b/libs/sysplugins/method.registerdefaultpluginhandler.php new file mode 100644 index 00000000..c32e942b --- /dev/null +++ b/libs/sysplugins/method.registerdefaultpluginhandler.php @@ -0,0 +1,35 @@ +smarty->default_plugin_handler_func = $plugin; + } else { + throw new Exception("Default plugin handler not callable"); + } + } +} + +?> diff --git a/libs/sysplugins/method.registerdefaulttemplatehandler.php b/libs/sysplugins/method.registerdefaulttemplatehandler.php new file mode 100644 index 00000000..f66b933e --- /dev/null +++ b/libs/sysplugins/method.registerdefaulttemplatehandler.php @@ -0,0 +1,35 @@ +smarty->default_template_handler_func = $plugin; + } else { + throw new Exception("Default template handler not callable"); + } + } +} + +?>