* Added test to see what changed exactly
* Treat undefined vars and array access of a null or false variables
equivalent across all supported PHP versions
* Removed 2 tests that produce inconsistent results between PHP7.x versions.
* Fix regex matching for slightly different error message for php7.1
* 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
* PHP8.2 compatibility
* PHP8.2 compatibility : Fixed unit tests
* PHP8.2 compatibility : Replace ENT_COMPAT by ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401
* PHP8.2 compatibility : Remove deprecated utf8_decode
* PHP8.2 compatibility : Remove HTML-ENTITIES parameter
* Removed some unused code for clarity, updated the changelog.
* More concise escape implementation and unit test to cover both modifierplugin and modifiercompiler.
* Fix htmlall unescape of quotes without mbstring too
Co-authored-by: Simon Wisselink <s.wisselink@iwink.nl>
* Corrected bug #578, where underscore characters were being stripped from template names when using a custom resource
* Increased the maximum template name length to 127 characters when using a custom resource
* 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>
Fixed a PHP 8.1 deprecation error: trim(): Passing null to parameter #1 ($string) of type string is deprecated in cacheresource_keyvaluestore.php on line 247 and in cacheresource_keyvaluestore.php on line 431