diff options
Diffstat (limited to 'libs/sysplugins/smarty_internal_configfilelexer.php')
| -rw-r--r-- | libs/sysplugins/smarty_internal_configfilelexer.php | 96 |
1 files changed, 60 insertions, 36 deletions
diff --git a/libs/sysplugins/smarty_internal_configfilelexer.php b/libs/sysplugins/smarty_internal_configfilelexer.php index e62728c2..eb42f0d9 100644 --- a/libs/sysplugins/smarty_internal_configfilelexer.php +++ b/libs/sysplugins/smarty_internal_configfilelexer.php @@ -144,7 +144,7 @@ class Smarty_Internal_Configfilelexer $this->data = $data . "\n"; //now all lines are \n-terminated $this->counter = 0; if (preg_match('/^\xEF\xBB\xBF/', $this->data, $match)) { - $this->counter += strlen($match[0]); + $this->counter += strlen($match[ 0 ]); } $this->line = 1; $this->compiler = $compiler; @@ -179,23 +179,31 @@ class Smarty_Internal_Configfilelexer public function yypushstate($state) { if ($this->yyTraceFILE) { - fprintf($this->yyTraceFILE, "%sState push %s\n", $this->yyTracePrompt, isset($this->state_name[$this->_yy_state]) ? $this->state_name[$this->_yy_state] : $this->_yy_state); + fprintf($this->yyTraceFILE, "%sState push %s\n", $this->yyTracePrompt, + isset($this->state_name[ $this->_yy_state ]) ? $this->state_name[ $this->_yy_state ] : + $this->_yy_state); } array_push($this->_yy_stack, $this->_yy_state); $this->_yy_state = $state; if ($this->yyTraceFILE) { - fprintf($this->yyTraceFILE, "%snew State %s\n", $this->yyTracePrompt, isset($this->state_name[$this->_yy_state]) ? $this->state_name[$this->_yy_state] : $this->_yy_state); + fprintf($this->yyTraceFILE, "%snew State %s\n", $this->yyTracePrompt, + isset($this->state_name[ $this->_yy_state ]) ? $this->state_name[ $this->_yy_state ] : + $this->_yy_state); } } public function yypopstate() { if ($this->yyTraceFILE) { - fprintf($this->yyTraceFILE, "%sState pop %s\n", $this->yyTracePrompt, isset($this->state_name[$this->_yy_state]) ? $this->state_name[$this->_yy_state] : $this->_yy_state); + fprintf($this->yyTraceFILE, "%sState pop %s\n", $this->yyTracePrompt, + isset($this->state_name[ $this->_yy_state ]) ? $this->state_name[ $this->_yy_state ] : + $this->_yy_state); } $this->_yy_state = array_pop($this->_yy_stack); if ($this->yyTraceFILE) { - fprintf($this->yyTraceFILE, "%snew State %s\n", $this->yyTracePrompt, isset($this->state_name[$this->_yy_state]) ? $this->state_name[$this->_yy_state] : $this->_yy_state); + fprintf($this->yyTraceFILE, "%snew State %s\n", $this->yyTracePrompt, + isset($this->state_name[ $this->_yy_state ]) ? $this->state_name[ $this->_yy_state ] : + $this->_yy_state); } } @@ -203,14 +211,17 @@ class Smarty_Internal_Configfilelexer { $this->_yy_state = $state; if ($this->yyTraceFILE) { - fprintf($this->yyTraceFILE, "%sState set %s\n", $this->yyTracePrompt, isset($this->state_name[$this->_yy_state]) ? $this->state_name[$this->_yy_state] : $this->_yy_state); + fprintf($this->yyTraceFILE, "%sState set %s\n", $this->yyTracePrompt, + isset($this->state_name[ $this->_yy_state ]) ? $this->state_name[ $this->_yy_state ] : + $this->_yy_state); } } public function yylex1() { if (!isset($this->yy_global_pattern1)) { - $this->yy_global_pattern1 = "/\G(#|;)|\G(\\[)|\G(\\])|\G(=)|\G([ \t\r]+)|\G(\n)|\G([0-9]*[a-zA-Z_]\\w*)|\G([\S\s])/isS"; + $this->yy_global_pattern1 = + "/\G(#|;)|\G(\\[)|\G(\\])|\G(=)|\G([ \t\r]+)|\G(\n)|\G([0-9]*[a-zA-Z_]\\w*)|\G([\S\s])/isS"; } if ($this->counter >= strlen($this->data)) { return false; // end of input @@ -219,13 +230,14 @@ class Smarty_Internal_Configfilelexer do { if (preg_match($this->yy_global_pattern1, $this->data, $yymatches, null, $this->counter)) { $yysubmatches = $yymatches; - if (strlen($yysubmatches[0]) < 200) { + if (strlen($yysubmatches[ 0 ]) < 200) { $yymatches = preg_grep("/(.|\s)+/", $yysubmatches); } else { $yymatches = array_filter($yymatches, 'strlen'); } if (empty($yymatches)) { - throw new Exception('Error: lexing failed because a rule matched' . ' an empty string. Input "' . substr($this->data, $this->counter, 5) . '... state START'); + throw new Exception('Error: lexing failed because a rule matched' . ' an empty string. Input "' . + substr($this->data, $this->counter, 5) . '... state START'); } next($yymatches); // skip global match $this->token = key($yymatches); // token number @@ -250,10 +262,11 @@ class Smarty_Internal_Configfilelexer continue; } } else { - throw new Exception('Unexpected input at line' . $this->line . ': ' . $this->data[$this->counter]); + throw new Exception('Unexpected input at line' . $this->line . ': ' . $this->data[ $this->counter ]); } break; - } while (true); + } + while (true); } // end function const START = 1; @@ -312,7 +325,8 @@ class Smarty_Internal_Configfilelexer public function yylex2() { if (!isset($this->yy_global_pattern2)) { - $this->yy_global_pattern2 = "/\G([ \t\r]+)|\G(\\d+\\.\\d+(?=[ \t\r]*[\n#;]))|\G(\\d+(?=[ \t\r]*[\n#;]))|\G(\"\"\")|\G('[^'\\\\]*(?:\\\\.[^'\\\\]*)*'(?=[ \t\r]*[\n#;]))|\G(\"[^\"\\\\]*(?:\\\\.[^\"\\\\]*)*\"(?=[ \t\r]*[\n#;]))|\G([a-zA-Z]+(?=[ \t\r]*[\n#;]))|\G([^\n]+?(?=[ \t\r]*\n))|\G(\n)/isS"; + $this->yy_global_pattern2 = + "/\G([ \t\r]+)|\G(\\d+\\.\\d+(?=[ \t\r]*[\n#;]))|\G(\\d+(?=[ \t\r]*[\n#;]))|\G(\"\"\")|\G('[^'\\\\]*(?:\\\\.[^'\\\\]*)*'(?=[ \t\r]*[\n#;]))|\G(\"[^\"\\\\]*(?:\\\\.[^\"\\\\]*)*\"(?=[ \t\r]*[\n#;]))|\G([a-zA-Z]+(?=[ \t\r]*[\n#;]))|\G([^\n]+?(?=[ \t\r]*\n))|\G(\n)/isS"; } if ($this->counter >= strlen($this->data)) { return false; // end of input @@ -321,13 +335,14 @@ class Smarty_Internal_Configfilelexer do { if (preg_match($this->yy_global_pattern2, $this->data, $yymatches, null, $this->counter)) { $yysubmatches = $yymatches; - if (strlen($yysubmatches[0]) < 200) { + if (strlen($yysubmatches[ 0 ]) < 200) { $yymatches = preg_grep("/(.|\s)+/", $yysubmatches); } else { $yymatches = array_filter($yymatches, 'strlen'); } if (empty($yymatches)) { - throw new Exception('Error: lexing failed because a rule matched' . ' an empty string. Input "' . substr($this->data, $this->counter, 5) . '... state VALUE'); + throw new Exception('Error: lexing failed because a rule matched' . ' an empty string. Input "' . + substr($this->data, $this->counter, 5) . '... state VALUE'); } next($yymatches); // skip global match $this->token = key($yymatches); // token number @@ -352,10 +367,11 @@ class Smarty_Internal_Configfilelexer continue; } } else { - throw new Exception('Unexpected input at line' . $this->line . ': ' . $this->data[$this->counter]); + throw new Exception('Unexpected input at line' . $this->line . ': ' . $this->data[ $this->counter ]); } break; - } while (true); + } + while (true); } // end function const VALUE = 2; @@ -404,8 +420,8 @@ class Smarty_Internal_Configfilelexer function yy_r2_7() { - if (!$this->configBooleanize || !in_array(strtolower($this->value), Array("true", "false", "on", "off", "yes", - "no")) + if (!$this->configBooleanize || + !in_array(strtolower($this->value), Array("true", "false", "on", "off", "yes", "no")) ) { $this->yypopstate(); $this->yypushstate(self::NAKED_STRING_VALUE); @@ -443,13 +459,14 @@ class Smarty_Internal_Configfilelexer do { if (preg_match($this->yy_global_pattern3, $this->data, $yymatches, null, $this->counter)) { $yysubmatches = $yymatches; - if (strlen($yysubmatches[0]) < 200) { + if (strlen($yysubmatches[ 0 ]) < 200) { $yymatches = preg_grep("/(.|\s)+/", $yysubmatches); } else { $yymatches = array_filter($yymatches, 'strlen'); } if (empty($yymatches)) { - throw new Exception('Error: lexing failed because a rule matched' . ' an empty string. Input "' . substr($this->data, $this->counter, 5) . '... state NAKED_STRING_VALUE'); + throw new Exception('Error: lexing failed because a rule matched' . ' an empty string. Input "' . + substr($this->data, $this->counter, 5) . '... state NAKED_STRING_VALUE'); } next($yymatches); // skip global match $this->token = key($yymatches); // token number @@ -474,10 +491,11 @@ class Smarty_Internal_Configfilelexer continue; } } else { - throw new Exception('Unexpected input at line' . $this->line . ': ' . $this->data[$this->counter]); + throw new Exception('Unexpected input at line' . $this->line . ': ' . $this->data[ $this->counter ]); } break; - } while (true); + } + while (true); } // end function const NAKED_STRING_VALUE = 3; @@ -501,13 +519,14 @@ class Smarty_Internal_Configfilelexer do { if (preg_match($this->yy_global_pattern4, $this->data, $yymatches, null, $this->counter)) { $yysubmatches = $yymatches; - if (strlen($yysubmatches[0]) < 200) { + if (strlen($yysubmatches[ 0 ]) < 200) { $yymatches = preg_grep("/(.|\s)+/", $yysubmatches); } else { $yymatches = array_filter($yymatches, 'strlen'); } if (empty($yymatches)) { - throw new Exception('Error: lexing failed because a rule matched' . ' an empty string. Input "' . substr($this->data, $this->counter, 5) . '... state COMMENT'); + throw new Exception('Error: lexing failed because a rule matched' . ' an empty string. Input "' . + substr($this->data, $this->counter, 5) . '... state COMMENT'); } next($yymatches); // skip global match $this->token = key($yymatches); // token number @@ -532,10 +551,11 @@ class Smarty_Internal_Configfilelexer continue; } } else { - throw new Exception('Unexpected input at line' . $this->line . ': ' . $this->data[$this->counter]); + throw new Exception('Unexpected input at line' . $this->line . ': ' . $this->data[ $this->counter ]); } break; - } while (true); + } + while (true); } // end function const COMMENT = 4; @@ -571,13 +591,14 @@ class Smarty_Internal_Configfilelexer do { if (preg_match($this->yy_global_pattern5, $this->data, $yymatches, null, $this->counter)) { $yysubmatches = $yymatches; - if (strlen($yysubmatches[0]) < 200) { + if (strlen($yysubmatches[ 0 ]) < 200) { $yymatches = preg_grep("/(.|\s)+/", $yysubmatches); } else { $yymatches = array_filter($yymatches, 'strlen'); } if (empty($yymatches)) { - throw new Exception('Error: lexing failed because a rule matched' . ' an empty string. Input "' . substr($this->data, $this->counter, 5) . '... state SECTION'); + throw new Exception('Error: lexing failed because a rule matched' . ' an empty string. Input "' . + substr($this->data, $this->counter, 5) . '... state SECTION'); } next($yymatches); // skip global match $this->token = key($yymatches); // token number @@ -602,10 +623,11 @@ class Smarty_Internal_Configfilelexer continue; } } else { - throw new Exception('Unexpected input at line' . $this->line . ': ' . $this->data[$this->counter]); + throw new Exception('Unexpected input at line' . $this->line . ': ' . $this->data[ $this->counter ]); } break; - } while (true); + } + while (true); } // end function const SECTION = 5; @@ -635,13 +657,14 @@ class Smarty_Internal_Configfilelexer do { if (preg_match($this->yy_global_pattern6, $this->data, $yymatches, null, $this->counter)) { $yysubmatches = $yymatches; - if (strlen($yysubmatches[0]) < 200) { + if (strlen($yysubmatches[ 0 ]) < 200) { $yymatches = preg_grep("/(.|\s)+/", $yysubmatches); } else { $yymatches = array_filter($yymatches, 'strlen'); } if (empty($yymatches)) { - throw new Exception('Error: lexing failed because a rule matched' . ' an empty string. Input "' . substr($this->data, $this->counter, 5) . '... state TRIPPLE'); + throw new Exception('Error: lexing failed because a rule matched' . ' an empty string. Input "' . + substr($this->data, $this->counter, 5) . '... state TRIPPLE'); } next($yymatches); // skip global match $this->token = key($yymatches); // token number @@ -666,10 +689,11 @@ class Smarty_Internal_Configfilelexer continue; } } else { - throw new Exception('Unexpected input at line' . $this->line . ': ' . $this->data[$this->counter]); + throw new Exception('Unexpected input at line' . $this->line . ': ' . $this->data[ $this->counter ]); } break; - } while (true); + } + while (true); } // end function const TRIPPLE = 6; @@ -687,8 +711,8 @@ class Smarty_Internal_Configfilelexer $to = strlen($this->data); preg_match("/\"\"\"[ \t\r]*[\n#;]/", $this->data, $match, PREG_OFFSET_CAPTURE, $this->counter); - if (isset($match[0][1])) { - $to = $match[0][1]; + if (isset($match[ 0 ][ 1 ])) { + $to = $match[ 0 ][ 1 ]; } else { $this->compiler->trigger_template_error("missing or misspelled literal closing tag"); } |
