RE: [SMARTY-DEV] Odd behaviour using 2.4.2
| From: | .SMK. | Date: | Sat, 22 Feb 2003 19:15:18 +0000 |
| Subject: | RE: [SMARTY-DEV] Odd behaviour using 2.4.2 | ||
| References: | 1 | Groups: | php.smarty.dev |
| Request: | Send a blank email to php-smarty-dev+get-821@lists.php.net to get a copy of this message | ||
Ok, I've made a patch that (hopefully) fixes a couple of things:
* full support for floats /w optionally exponents
* added support for bit shift, increment/decrement op
* fixed <> operator (I think it was a typo, wasn't it??)
Cheers,
.SMK.
-----Original Message-----
From: Garland Foster [mailto:garland_foster@salutia.com]
Sent: Saturday, February 22, 2003 6:05 PM
To: smarty-dev@lists.php.net; smarty-general@lists.php.net
Subject: [SMARTY-DEV] Odd behaviour using 2.4.2
Hi all,
I upgraded some apps to Smarty 2.4.2
I'm getting errors in compiled templates in templates that worked with
2.3.x
Examples:
{if $foo > 0.01}
is getting compiled as
<?php if ($this->_tpl_vars['comments_threshold'] > 0 .01): ?>
Note: there's a white space between the 0 and .01 making PHP throw an
error.
I also have errors with
{if $foo <> 4}
that is getting compiled with a whitespace between the '<' and '>'
breaking PHP too.
what's happening?
1092c1092,1094 < \-?\d+(?:\.\d+)?|\.\d+|!==|<=>|===|==|!=|<=|>=|\&\&|\|\||\(|\)|,|\!|\^|=|\&|\~|<|>|\||\%|\+|\-|\/|\*|\@ | # valid non-word token --- > \-?\d*\.\d+(?i:e\d+)? | # valid float (optional exp) > \-?\d+ | # valid integer > !==|<>|===|==|!=|<=|>=|<<|>>|\+\+|\-\-|\&\&|\|\||\(|\)|,|\!|\^|=|\&|\~|<|>|\||\%|\+|\-|\/|\*|\@ | # valid non-word token 1112,1134c1114,1142 < case '!': < case '%': < case '!==': < case '==': < case '===': < case '>': < case '<': < case '!=': < case '<=': < case '>=': < case '&&': < case '||': < case '|': < case '^': < case '&': < case '~': < case ')': < case ',': < case '+': < case '-': < case '*': < case '/': < case '@': --- > case '!==': > case '<>': > case '===': > case '==': > case '!=': > case '<=': > case '>=': > case '<<': > case '>>': > case '++': > case '--': > case '&&': > case '||': > case ')': > case ',': > case '!': > case '^': > case '=': > case '&': > case '~': > case '<': > case '>': > case '|': > case '%': > case '+': > case '-': > case '/': > case '*': > case '@':
1092c1092,1094 < \-?\d+(?:\.\d+)?|\.\d+|!==|<=>|===|==|!=|<=|>=|\&\&|\|\||\(|\)|,|\!|\^|=|\&|\~|<|>|\||\%|\+|\-|\/|\*|\@ | # valid non-word token --- > \-?\d*\.\d+(?i:e\d+)? | # valid float (optional exp) > \-?\d+ | # valid integer > !==|<>|===|==|!=|<=|>=|<<|>>|\+\+|\-\-|\&\&|\|\||\(|\)|,|\!|\^|=|\&|\~|<|>|\||\%|\+|\-|\/|\*|\@ | # valid non-word token 1112,1134c1114,1142 < case '!': < case '%': < case '!==': < case '==': < case '===': < case '>': < case '<': < case '!=': < case '<=': < case '>=': < case '&&': < case '||': < case '|': < case '^': < case '&': < case '~': < case ')': < case ',': < case '+': < case '-': < case '*': < case '/': < case '@': --- > case '!==': > case '<>': > case '===': > case '==': > case '!=': > case '<=': > case '>=': > case '<<': > case '>>': > case '++': > case '--': > case '&&': > case '||': > case ')': > case ',': > case '!': > case '^': > case '=': > case '&': > case '~': > case '<': > case '>': > case '|': > case '%': > case '+': > case '-': > case '/': > case '*': > case '@':