Commit Graph

182 Commits

Author SHA1 Message Date
Simon Wisselink ad364d3138 Fixed that using count() would trigger a deprecation notice. 2024-08-14 00:43:41 +02:00
Simon Wisselink 76881c8d33 Merge pull request from GHSA-4rmg-292m-wg3w
* Fixed a code injection vulnerability in extends-tag

* update tests for smarty v4
2024-05-28 22:44:30 +02:00
Simon Wisselink 9656f553d1 Throw deprecation notice about unregistered functions without changing the compilation flow (#985)
Fixes #964
2024-04-05 17:41:54 +02:00
Simon Wisselink c7a271323b Using unsupported PHP functions and unregistered static class methods in modifiers and expressions now triggers a deprecation notice
* Using unsupported PHP functions and unregistered static class methods in modifiers and expressions now triggers a deprecation notice because we will drop support for this in the next major release
2024-03-18 14:44:29 +01:00
Hunman 613c5d691c Make SmartyCompilerException play nicer with error handler libraries (#782)
* Make SmartyCompilerException play nicer with error handler libraries

Added a new constructor, which accepts a filename and a line number too
(similar to ErrorException, except no severity parameter)
This way error handlers will display the correct file's correct line as
the source of the exception, instead of the template's line in the
core of the parser (php file)

Kept the __toString() method, but removed $source, $desc, and $template

* Revert the breaking changes
2022-11-22 21:58:13 +01:00
Alec Smecher 0fb29024e7 #155 Adapt Smarty upper/lower functions to be codesafe (e.g. for Turkish locale) (#586)
* Implemented locale safe strotoupper, strolower and ucfirst functions for translating user string to filenames etc.

Fixes #155

Co-Authored-By: Alexkurd <7689609+Alexkurd@users.noreply.github.com>
2022-09-22 23:32:55 +02:00
Simon Wisselink 560475a2f2 Do not use obsolete smarty properties '_dir_perms', '_file_perms', 'plugin_search_order' in our own code. (#772) 2022-07-17 00:13:57 +02:00
Simon Wisselink 05f1a7deda Replace '*/' in user supplied input in C-style comments with '* /'. 2022-05-16 12:34:49 +02:00
Thomas A. Hirsch 8d3a7af308 Cherry-picked from da76d927ed
Co-Authored-By: Thomas BACCELLI <tbaccelli@gmail.com>
2022-01-18 15:56:23 +01:00
Simon Wisselink 39b69f0142 Feature/php8 support (#629)
Adds support for PHP8.0, dropping support for PHP7.0 and below.

Backwards incompatible changes:
- Dropped support for php asp tags in templates (removed from php since php7.0)
- Dropped deprecated API calls that where only accessible through SmartyBC
- Dropped support for {php} and {include_php} tags and embedded PHP in templates. Embedded PHP will now be passed through as is.
- Removed all PHP_VERSION_ID and compare_version checks and conditional code blocks that are now no longer required
- Dropped deprecated SMARTY_RESOURCE_CHAR_SET and SMARTY_RESOURCE_DATE_FORMAT constants
- Dropped deprecated Smarty::muteExpectedErrors and Smarty::unmuteExpectedErrors API methods
- Dropped deprecated $smarty->getVariable() method. Use $smarty->getTemplateVars() instead.
- $smarty->registerResource() no longer accepts an array of callback functions

See the changelog for more details.

Switched CI from Travis to Github CI.
2021-10-13 12:15:17 +02:00
Simon Wisselink 19ef8342aa Strip now removes whitespaces after comment (#582)
* Mark text sections as to be stripped, but do not strip them right away. Combine equivalent sections in chunks at the template level and strip combined chunks where possible.
- simplified Smarty_Internal_TemplateCompilerBase::processText along the way
Fixes #447
2020-04-13 22:27:42 +02:00
Simon Wisselink 4396351d75 Switched to a more advanced regex to test wheter parameter is a variable (#567)
* This appears to fix #453, #498, #499 and possibly more issues.
2020-04-13 22:24:29 +02:00
uwetews 2c60503dfc - bugfix some custom left and right delimiters like '{^' '^}' did not work
https://github.com/smarty-php/smarty/issues/450 https://github.com/smarty-php/smarty/pull/482
2018-08-31 17:32:44 +02:00
uwetews 4f7cd8f1b3 - reformating for PSR-2 coding standards https://github.com/smarty-php/smarty/pull/483 2018-08-31 16:45:09 +02:00
uwetews 799b5cb342 - fix PSR-2 coding standards and PHPDoc blocks https://github.com/smarty-php/smarty/pull/452
https://github.com/smarty-php/smarty/pull/475
    https://github.com/smarty-php/smarty/pull/473
  - bugfix PHP5.2 compatibility https://github.com/smarty-php/smarty/pull/472
2018-08-19 02:35:46 +02:00
Sławomir Kaleta 2404095783 Update PSR-2 2018-06-12 09:58:15 +02:00
Uwe Tews cc4d8fa1a0 - bugfix strip-block produces different output in Smarty v3.1.32 https://github.com/smarty-php/smarty/issues/436 2018-05-17 16:04:48 +02:00
Uwe Tews 115e178884 - bugfix plugins may not be loaded when setMergeCompiledIncludes is true https://github.com/smarty-php/smarty/issues/435 2018-05-17 04:40:58 +02:00
Uwe Tews 336c07c23f - bugfix plugins may not be loaded if {function} or {block} tags are executed in nocache mode
https://github.com/smarty-php/smarty/issues/371
2018-03-28 07:15:29 +02:00
Uwe Tews a5961606f3 - bugfix extends resource did not work with user defined left/right delimiter https://github.com/smarty-php/smarty/issues/419 2018-03-16 18:44:47 +01:00
Uwe Tews 96fd914cc1 bugfix rework of newline spacing between tag code and template text.
now again identical with Smarty2 (forum topic 26878)
2017-11-20 04:07:51 +01:00
Uwe Tews 3fc8abeb98 code cleanup and optimizations 3.1.32-dev-34 2017-11-06 01:02:56 +01:00
Uwe Tews dd9c076dfa - correction of PHPDoc blocks
- minor code cleanup
2017-10-26 10:25:41 +02:00
Uwe Tews 3d7dece088 - bugfix custom delimiters could fail since modification of version 3.1.32-dev-23
https://github.com/smarty-php/smarty/issues/394
2017-10-21 13:14:14 +02:00
Uwe Tews 6b97d5cdd5 - unclosed block tag in double quted string must throw compiler exception.
https://github.com/smarty-php/smarty/issues/391 https://github.com/smarty-php/smarty/issues/392
2017-10-12 20:15:42 +02:00
uwetews 5448fecc9d - fix spelling https://github.com/smarty-php/smarty/commit/e3eda8a5f5653d8abb960eb1bc47e3eca679b1b4#commitcomment-21803095 2017-04-24 18:21:37 +02:00
uwetews e3eda8a5f5 - correct generated code on empty() and isset() call, observe change PHP behaviour since PHP 5.5
https://github.com/smarty-php/smarty/issues/347
2017-04-17 05:32:24 +02:00
uwetews 29388b8baa - correct generated code on empty() and isset() call, observe change PHP behaviour since PHP 5.5
https://github.com/smarty-php/smarty/issues/347 (reverted from commit cfd8bf32b0)
2017-04-17 05:04:44 +02:00
uwetews cfd8bf32b0 - correct generated code on empty() and isset() call, observe change PHP behaviour since PHP 5.5
https://github.com/smarty-php/smarty/issues/347
2017-04-17 03:49:39 +02:00
uwetews 6d85c715f1 - bugfix array_merge() parameter should be checked https://github.com/smarty-php/smarty/issues/350 2017-04-13 07:15:46 +02:00
uwetews 3c07a28434 - optimization move runtime extension for template functions into Smarty objects 2016-10-08 06:07:14 +02:00
uwetews b8acd7ea17 - bugfix some $smarty special template variables are no longer accessed as real variable.
using them on calls like {if isset($smarty.foo)} or {if empty($smarty.foo)} will fail
    http://www.smarty.net/forums/viewtopic.php?t=26222
2016-09-20 14:21:39 +02:00
uwetews 62099617ae - improvement {foreach} observe {break n} and {continue n} nesting levels when restoring saved $item and $key variables 2016-09-09 22:54:42 +02:00
uwetews e82f966682 - bugfix using nocache like attribute with value true like {plugin nocache=true} did not work https://github.com/smarty-php/smarty/issues/285 2016-09-07 00:06:17 +02:00
uwetews ffa270c395 04.08.2015
- improvement move template function source parameter into extension
2016-08-04 23:10:26 +02:00
uwetews 38b13661fe - bugfix enable debugging could fail when template objects did already exists https://github.com/smarty-php/smarty/issues/237 2016-07-13 01:07:53 +02:00
uwetews 353ee1a490 - bugfix PHP 7 compatibility on registered compiler plugins https://github.com/smarty-php/smarty/issues/241 2016-07-13 00:12:58 +02:00
uwetews 6ef0d0eaa0 - optimization and cleanup of resource code 2016-05-15 11:13:31 +02:00
uwetews 2cb03512f7 - bugfix {strip} remove space on linebreak between html tags https://github.com/smarty-php/smarty/issues/213 2016-04-29 00:24:47 +02:00
uwetews abf5be58ad - improvement rework of 'scope' attribute handling see see NEW_FEATURES.txt https://github.com/smarty-php/smarty/issues/194
https://github.com/smarty-php/smarty/issues/186 https://github.com/smarty-php/smarty/issues/179
2016-03-09 01:01:32 +01:00
uwetews a884855818 - bugfix {strip} must keep space between hmtl tags. Broken by changes of 10.2.2016 https://github.com/smarty-php/smarty/issues/184 2016-02-20 17:24:48 +01:00
uwetews 0735ff9605 - optimization make compiler tag object cache static for higher compilation speed 2016-02-14 20:57:21 +01:00
uwetews 30328d318c - optimization of tag attribute compiling 2016-02-14 19:58:55 +01:00
uwetews 0f7f0d87b6 - new tag {make_nocache} read NEW_FEATURES.txt https://github.com/smarty-php/smarty/issues/110 2016-02-14 02:54:38 +01:00
uwetews 9c37394ccb - bugfix other {strip} error with output tags between hmtl https://github.com/smarty-php/smarty/issues/180 2016-02-10 21:12:35 +01:00
uwetews b8fb986327 - bugfix {strip} must keep space on output creating smarty tags within html tags https://github.com/smarty-php/smarty/issues/177 other update for BC 2016-02-10 03:49:09 +01:00
uwetews 417088bdb7 - bugfix {strip} must keep space on output creating smarty tags within html tags https://github.com/smarty-php/smarty/issues/177 2016-02-10 03:17:32 +01:00
uwetews 08db1a4a3f - bugfix {strip} must keep space on output creating smarty tags within html tags https://github.com/smarty-php/smarty/issues/177 2016-02-10 01:12:57 +01:00
uwetews 2f62b99173 - update/bugfix scope attribute handling reworked. Read the newfeatures.txt file 2016-02-09 23:27:07 +01:00
uwetews b04486a091 - reformat all code for unique style 2016-02-09 01:27:15 +01:00