PEEL Shopping
Open source ecommerce : PEEL Shopping
smarty_internal_configfilelexer.php
Go to the documentation of this file.
1 <?php
14 {
15 
16  public $data;
17  public $counter;
18  public $token;
19  public $value;
20  public $node;
21  public $line;
22  private $state = 1;
23  public $smarty_token_names = array ( // Text for parser error messages
24  );
25 
26 
27  function __construct($data, $smarty)
28  {
29  // set instance object
30  self::instance($this);
31  $this->data = $data . "\n"; //now all lines are \n-terminated
32  $this->counter = 0;
33  $this->line = 1;
34  $this->smarty = $smarty;
35  $this->mbstring_overload = ini_get('mbstring.func_overload') & 2;
36  }
37  public static function &instance($new_instance = null)
38  {
39  static $instance = null;
40  if (isset($new_instance) && is_object($new_instance))
41  $instance = $new_instance;
42  return $instance;
43  }
44 
45 
46 
47  private $_yy_state = 1;
48  private $_yy_stack = array();
49 
50  function yylex()
51  {
52  return $this->{'yylex' . $this->_yy_state}();
53  }
54 
55  function yypushstate($state)
56  {
57  array_push($this->_yy_stack, $this->_yy_state);
58  $this->_yy_state = $state;
59  }
60 
61  function yypopstate()
62  {
63  $this->_yy_state = array_pop($this->_yy_stack);
64  }
65 
66  function yybegin($state)
67  {
68  $this->_yy_state = $state;
69  }
70 
71 
72 
73 
74  function yylex1()
75  {
76  $tokenMap = array (
77  1 => 0,
78  2 => 0,
79  3 => 0,
80  4 => 0,
81  5 => 0,
82  6 => 0,
83  7 => 0,
84  8 => 0,
85  );
86  if ($this->counter >= ($this->mbstring_overload ? mb_strlen($this->data,'latin1'): strlen($this->data))) {
87  return false; // end of input
88  }
89  $yy_global_pattern = "/\G(#|;)|\G(\\[)|\G(\\])|\G(=)|\G([ \t\r]+)|\G(\n)|\G([0-9]*[a-zA-Z_]\\w*)|\G([\S\s])/iS";
90 
91  do {
92  if ($this->mbstring_overload ? preg_match($yy_global_pattern, mb_substr($this->data, $this->counter,2000000000,'latin1'), $yymatches) : preg_match($yy_global_pattern,$this->data, $yymatches, null, $this->counter)) {
93  $yysubmatches = $yymatches;
94  $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns
95  if (!count($yymatches)) {
96  throw new Exception('Error: lexing failed because a rule matched' .
97  ' an empty string. Input "' . substr($this->data,
98  $this->counter, 5) . '... state START');
99  }
100  next($yymatches); // skip global match
101  $this->token = key($yymatches); // token number
102  if ($tokenMap[$this->token]) {
103  // extract sub-patterns for passing to lex function
104  $yysubmatches = array_slice($yysubmatches, $this->token + 1,
105  $tokenMap[$this->token]);
106  } else {
107  $yysubmatches = array();
108  }
109  $this->value = current($yymatches); // token value
110  $r = $this->{'yy_r1_' . $this->token}($yysubmatches);
111  if ($r === null) {
112  $this->counter += ($this->mbstring_overload ? mb_strlen($this->value,'latin1'): strlen($this->value));
113  $this->line += substr_count($this->value, "\n");
114  // accept this token
115  return true;
116  } elseif ($r === true) {
117  // we have changed state
118  // process this token in the new state
119  return $this->yylex();
120  } elseif ($r === false) {
121  $this->counter += ($this->mbstring_overload ? mb_strlen($this->value,'latin1'): strlen($this->value));
122  $this->line += substr_count($this->value, "\n");
123  if ($this->counter >= ($this->mbstring_overload ? mb_strlen($this->data,'latin1'): strlen($this->data))) {
124  return false; // end of input
125  }
126  // skip this token
127  continue;
128  } } else {
129  throw new Exception('Unexpected input at line' . $this->line .
130  ': ' . $this->data[$this->counter]);
131  }
132  break;
133  } while (true);
134 
135  } // end function
136 
137 
138  const START = 1;
139  function yy_r1_1($yy_subpatterns)
140  {
141 
143  $this->yypushstate(self::COMMENT);
144  }
145  function yy_r1_2($yy_subpatterns)
146  {
147 
149  $this->yypushstate(self::SECTION);
150  }
151  function yy_r1_3($yy_subpatterns)
152  {
153 
155  }
156  function yy_r1_4($yy_subpatterns)
157  {
158 
160  $this->yypushstate(self::VALUE);
161  }
162  function yy_r1_5($yy_subpatterns)
163  {
164 
165  return false;
166  }
167  function yy_r1_6($yy_subpatterns)
168  {
169 
171  }
172  function yy_r1_7($yy_subpatterns)
173  {
174 
176  }
177  function yy_r1_8($yy_subpatterns)
178  {
179 
181  }
182 
183 
184 
185  function yylex2()
186  {
187  $tokenMap = array (
188  1 => 0,
189  2 => 0,
190  3 => 0,
191  4 => 0,
192  5 => 0,
193  6 => 0,
194  7 => 0,
195  8 => 0,
196  9 => 0,
197  );
198  if ($this->counter >= ($this->mbstring_overload ? mb_strlen($this->data,'latin1'): strlen($this->data))) {
199  return false; // end of input
200  }
201  $yy_global_pattern = "/\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)/iS";
202 
203  do {
204  if ($this->mbstring_overload ? preg_match($yy_global_pattern, mb_substr($this->data, $this->counter,2000000000,'latin1'), $yymatches) : preg_match($yy_global_pattern,$this->data, $yymatches, null, $this->counter)) {
205  $yysubmatches = $yymatches;
206  $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns
207  if (!count($yymatches)) {
208  throw new Exception('Error: lexing failed because a rule matched' .
209  ' an empty string. Input "' . substr($this->data,
210  $this->counter, 5) . '... state VALUE');
211  }
212  next($yymatches); // skip global match
213  $this->token = key($yymatches); // token number
214  if ($tokenMap[$this->token]) {
215  // extract sub-patterns for passing to lex function
216  $yysubmatches = array_slice($yysubmatches, $this->token + 1,
217  $tokenMap[$this->token]);
218  } else {
219  $yysubmatches = array();
220  }
221  $this->value = current($yymatches); // token value
222  $r = $this->{'yy_r2_' . $this->token}($yysubmatches);
223  if ($r === null) {
224  $this->counter += ($this->mbstring_overload ? mb_strlen($this->value,'latin1'): strlen($this->value));
225  $this->line += substr_count($this->value, "\n");
226  // accept this token
227  return true;
228  } elseif ($r === true) {
229  // we have changed state
230  // process this token in the new state
231  return $this->yylex();
232  } elseif ($r === false) {
233  $this->counter += ($this->mbstring_overload ? mb_strlen($this->value,'latin1'): strlen($this->value));
234  $this->line += substr_count($this->value, "\n");
235  if ($this->counter >= ($this->mbstring_overload ? mb_strlen($this->data,'latin1'): strlen($this->data))) {
236  return false; // end of input
237  }
238  // skip this token
239  continue;
240  } } else {
241  throw new Exception('Unexpected input at line' . $this->line .
242  ': ' . $this->data[$this->counter]);
243  }
244  break;
245  } while (true);
246 
247  } // end function
248 
249 
250  const VALUE = 2;
251  function yy_r2_1($yy_subpatterns)
252  {
253 
254  return false;
255  }
256  function yy_r2_2($yy_subpatterns)
257  {
258 
260  $this->yypopstate();
261  }
262  function yy_r2_3($yy_subpatterns)
263  {
264 
266  $this->yypopstate();
267  }
268  function yy_r2_4($yy_subpatterns)
269  {
270 
272  $this->yypushstate(self::TRIPPLE);
273  }
274  function yy_r2_5($yy_subpatterns)
275  {
276 
278  $this->yypopstate();
279  }
280  function yy_r2_6($yy_subpatterns)
281  {
282 
284  $this->yypopstate();
285  }
286  function yy_r2_7($yy_subpatterns)
287  {
288 
289  if (!$this->smarty->config_booleanize || !in_array(strtolower($this->value), Array("true", "false", "on", "off", "yes", "no")) ) {
290  $this->yypopstate();
291  $this->yypushstate(self::NAKED_STRING_VALUE);
292  return true; //reprocess in new state
293  } else {
295  $this->yypopstate();
296  }
297  }
298  function yy_r2_8($yy_subpatterns)
299  {
300 
302  $this->yypopstate();
303  }
304  function yy_r2_9($yy_subpatterns)
305  {
306 
308  $this->value = "";
309  $this->yypopstate();
310  }
311 
312 
313 
314  function yylex3()
315  {
316  $tokenMap = array (
317  1 => 0,
318  );
319  if ($this->counter >= ($this->mbstring_overload ? mb_strlen($this->data,'latin1'): strlen($this->data))) {
320  return false; // end of input
321  }
322  $yy_global_pattern = "/\G([^\n]+?(?=[ \t\r]*\n))/iS";
323 
324  do {
325  if ($this->mbstring_overload ? preg_match($yy_global_pattern, mb_substr($this->data, $this->counter,2000000000,'latin1'), $yymatches) : preg_match($yy_global_pattern,$this->data, $yymatches, null, $this->counter)) {
326  $yysubmatches = $yymatches;
327  $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns
328  if (!count($yymatches)) {
329  throw new Exception('Error: lexing failed because a rule matched' .
330  ' an empty string. Input "' . substr($this->data,
331  $this->counter, 5) . '... state NAKED_STRING_VALUE');
332  }
333  next($yymatches); // skip global match
334  $this->token = key($yymatches); // token number
335  if ($tokenMap[$this->token]) {
336  // extract sub-patterns for passing to lex function
337  $yysubmatches = array_slice($yysubmatches, $this->token + 1,
338  $tokenMap[$this->token]);
339  } else {
340  $yysubmatches = array();
341  }
342  $this->value = current($yymatches); // token value
343  $r = $this->{'yy_r3_' . $this->token}($yysubmatches);
344  if ($r === null) {
345  $this->counter += ($this->mbstring_overload ? mb_strlen($this->value,'latin1'): strlen($this->value));
346  $this->line += substr_count($this->value, "\n");
347  // accept this token
348  return true;
349  } elseif ($r === true) {
350  // we have changed state
351  // process this token in the new state
352  return $this->yylex();
353  } elseif ($r === false) {
354  $this->counter += ($this->mbstring_overload ? mb_strlen($this->value,'latin1'): strlen($this->value));
355  $this->line += substr_count($this->value, "\n");
356  if ($this->counter >= ($this->mbstring_overload ? mb_strlen($this->data,'latin1'): strlen($this->data))) {
357  return false; // end of input
358  }
359  // skip this token
360  continue;
361  } } else {
362  throw new Exception('Unexpected input at line' . $this->line .
363  ': ' . $this->data[$this->counter]);
364  }
365  break;
366  } while (true);
367 
368  } // end function
369 
370 
372  function yy_r3_1($yy_subpatterns)
373  {
374 
376  $this->yypopstate();
377  }
378 
379 
380 
381  function yylex4()
382  {
383  $tokenMap = array (
384  1 => 0,
385  2 => 0,
386  3 => 0,
387  );
388  if ($this->counter >= ($this->mbstring_overload ? mb_strlen($this->data,'latin1'): strlen($this->data))) {
389  return false; // end of input
390  }
391  $yy_global_pattern = "/\G([ \t\r]+)|\G([^\n]+?(?=[ \t\r]*\n))|\G(\n)/iS";
392 
393  do {
394  if ($this->mbstring_overload ? preg_match($yy_global_pattern, mb_substr($this->data, $this->counter,2000000000,'latin1'), $yymatches) : preg_match($yy_global_pattern,$this->data, $yymatches, null, $this->counter)) {
395  $yysubmatches = $yymatches;
396  $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns
397  if (!count($yymatches)) {
398  throw new Exception('Error: lexing failed because a rule matched' .
399  ' an empty string. Input "' . substr($this->data,
400  $this->counter, 5) . '... state COMMENT');
401  }
402  next($yymatches); // skip global match
403  $this->token = key($yymatches); // token number
404  if ($tokenMap[$this->token]) {
405  // extract sub-patterns for passing to lex function
406  $yysubmatches = array_slice($yysubmatches, $this->token + 1,
407  $tokenMap[$this->token]);
408  } else {
409  $yysubmatches = array();
410  }
411  $this->value = current($yymatches); // token value
412  $r = $this->{'yy_r4_' . $this->token}($yysubmatches);
413  if ($r === null) {
414  $this->counter += ($this->mbstring_overload ? mb_strlen($this->value,'latin1'): strlen($this->value));
415  $this->line += substr_count($this->value, "\n");
416  // accept this token
417  return true;
418  } elseif ($r === true) {
419  // we have changed state
420  // process this token in the new state
421  return $this->yylex();
422  } elseif ($r === false) {
423  $this->counter += ($this->mbstring_overload ? mb_strlen($this->value,'latin1'): strlen($this->value));
424  $this->line += substr_count($this->value, "\n");
425  if ($this->counter >= ($this->mbstring_overload ? mb_strlen($this->data,'latin1'): strlen($this->data))) {
426  return false; // end of input
427  }
428  // skip this token
429  continue;
430  } } else {
431  throw new Exception('Unexpected input at line' . $this->line .
432  ': ' . $this->data[$this->counter]);
433  }
434  break;
435  } while (true);
436 
437  } // end function
438 
439 
440  const COMMENT = 4;
441  function yy_r4_1($yy_subpatterns)
442  {
443 
444  return false;
445  }
446  function yy_r4_2($yy_subpatterns)
447  {
448 
450  }
451  function yy_r4_3($yy_subpatterns)
452  {
453 
455  $this->yypopstate();
456  }
457 
458 
459 
460  function yylex5()
461  {
462  $tokenMap = array (
463  1 => 0,
464  2 => 0,
465  );
466  if ($this->counter >= ($this->mbstring_overload ? mb_strlen($this->data,'latin1'): strlen($this->data))) {
467  return false; // end of input
468  }
469  $yy_global_pattern = "/\G(\\.)|\G(.*?(?=[\.=[\]\r\n]))/iS";
470 
471  do {
472  if ($this->mbstring_overload ? preg_match($yy_global_pattern, mb_substr($this->data, $this->counter,2000000000,'latin1'), $yymatches) : preg_match($yy_global_pattern,$this->data, $yymatches, null, $this->counter)) {
473  $yysubmatches = $yymatches;
474  $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns
475  if (!count($yymatches)) {
476  throw new Exception('Error: lexing failed because a rule matched' .
477  ' an empty string. Input "' . substr($this->data,
478  $this->counter, 5) . '... state SECTION');
479  }
480  next($yymatches); // skip global match
481  $this->token = key($yymatches); // token number
482  if ($tokenMap[$this->token]) {
483  // extract sub-patterns for passing to lex function
484  $yysubmatches = array_slice($yysubmatches, $this->token + 1,
485  $tokenMap[$this->token]);
486  } else {
487  $yysubmatches = array();
488  }
489  $this->value = current($yymatches); // token value
490  $r = $this->{'yy_r5_' . $this->token}($yysubmatches);
491  if ($r === null) {
492  $this->counter += ($this->mbstring_overload ? mb_strlen($this->value,'latin1'): strlen($this->value));
493  $this->line += substr_count($this->value, "\n");
494  // accept this token
495  return true;
496  } elseif ($r === true) {
497  // we have changed state
498  // process this token in the new state
499  return $this->yylex();
500  } elseif ($r === false) {
501  $this->counter += ($this->mbstring_overload ? mb_strlen($this->value,'latin1'): strlen($this->value));
502  $this->line += substr_count($this->value, "\n");
503  if ($this->counter >= ($this->mbstring_overload ? mb_strlen($this->data,'latin1'): strlen($this->data))) {
504  return false; // end of input
505  }
506  // skip this token
507  continue;
508  } } else {
509  throw new Exception('Unexpected input at line' . $this->line .
510  ': ' . $this->data[$this->counter]);
511  }
512  break;
513  } while (true);
514 
515  } // end function
516 
517 
518  const SECTION = 5;
519  function yy_r5_1($yy_subpatterns)
520  {
521 
523  }
524  function yy_r5_2($yy_subpatterns)
525  {
526 
528  $this->yypopstate();
529  }
530 
531 
532  function yylex6()
533  {
534  $tokenMap = array (
535  1 => 0,
536  2 => 0,
537  );
538  if ($this->counter >= ($this->mbstring_overload ? mb_strlen($this->data,'latin1'): strlen($this->data))) {
539  return false; // end of input
540  }
541  $yy_global_pattern = "/\G(\"\"\"(?=[ \t\r]*[\n#;]))|\G([\S\s])/iS";
542 
543  do {
544  if ($this->mbstring_overload ? preg_match($yy_global_pattern, mb_substr($this->data, $this->counter,2000000000,'latin1'), $yymatches) : preg_match($yy_global_pattern,$this->data, $yymatches, null, $this->counter)) {
545  $yysubmatches = $yymatches;
546  $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns
547  if (!count($yymatches)) {
548  throw new Exception('Error: lexing failed because a rule matched' .
549  ' an empty string. Input "' . substr($this->data,
550  $this->counter, 5) . '... state TRIPPLE');
551  }
552  next($yymatches); // skip global match
553  $this->token = key($yymatches); // token number
554  if ($tokenMap[$this->token]) {
555  // extract sub-patterns for passing to lex function
556  $yysubmatches = array_slice($yysubmatches, $this->token + 1,
557  $tokenMap[$this->token]);
558  } else {
559  $yysubmatches = array();
560  }
561  $this->value = current($yymatches); // token value
562  $r = $this->{'yy_r6_' . $this->token}($yysubmatches);
563  if ($r === null) {
564  $this->counter += ($this->mbstring_overload ? mb_strlen($this->value,'latin1'): strlen($this->value));
565  $this->line += substr_count($this->value, "\n");
566  // accept this token
567  return true;
568  } elseif ($r === true) {
569  // we have changed state
570  // process this token in the new state
571  return $this->yylex();
572  } elseif ($r === false) {
573  $this->counter += ($this->mbstring_overload ? mb_strlen($this->value,'latin1'): strlen($this->value));
574  $this->line += substr_count($this->value, "\n");
575  if ($this->counter >= ($this->mbstring_overload ? mb_strlen($this->data,'latin1'): strlen($this->data))) {
576  return false; // end of input
577  }
578  // skip this token
579  continue;
580  } } else {
581  throw new Exception('Unexpected input at line' . $this->line .
582  ': ' . $this->data[$this->counter]);
583  }
584  break;
585  } while (true);
586 
587  } // end function
588 
589 
590  const TRIPPLE = 6;
591  function yy_r6_1($yy_subpatterns)
592  {
593 
595  $this->yypopstate();
596  $this->yypushstate(self::START);
597  }
598  function yy_r6_2($yy_subpatterns)
599  {
600 
601  if ($this->mbstring_overload) {
602  $to = mb_strlen($this->data,'latin1');
603  } else {
604  $to = strlen($this->data);
605  }
606  preg_match("/\"\"\"[ \t\r]*[\n#;]/",$this->data,$match,PREG_OFFSET_CAPTURE,$this->counter);
607  if (isset($match[0][1])) {
608  $to = $match[0][1];
609  } else {
610  $this->compiler->trigger_template_error ("missing or misspelled literal closing tag");
611  }
612  if ($this->mbstring_overload) {
613  $this->value = mb_substr($this->data,$this->counter,$to-$this->counter,'latin1');
614  } else {
615  $this->value = substr($this->data,$this->counter,$to-$this->counter);
616  }
618  }
619 
620 
621 }
622 ?>
if(strlen($date2)== '10') if($type== 'users-by-age'&&a_priv('admin_users', true)) elseif($type== 'forums-count'&&a_priv('admin_content', true)) elseif($type== 'forums-categories'&&a_priv('admin_content', true)) elseif($type== 'users-count'&&a_priv('admin_users', true)) elseif($type== 'product-categories'&&a_priv('admin_products', true)) elseif($type== 'users-by-sex'&&a_priv('admin_users', true)) elseif($type== 'users-by-country'&&a_priv('admin_users', true)) elseif($type== 'sales'&&a_priv('admin_sales', true))
Definition: chart-data.php:160
Smarty Internal Plugin Configfilelexer.
$match
Definition: search.php:86

This documentation for Open ecommerce PEEL Shopping and PEEL.fr has been generated by Doxygen on Thu Oct 15 2015 14:41:17 - Peel ecommerce is a product of Agence web Advisto SAS. All rights reserved.