Commit Graph

85 Commits

Author SHA1 Message Date
Simon Wisselink c47756b489 Re-organized rendering (read source / compile / cache) process to avoid circular dependencies. 2023-01-26 12:58:15 +01:00
Simon Wisselink 047b73d4a1 Pushed Lexers/Parsers into VCS again in order to be able to deliver using Packagist/Composer 2023-01-26 12:57:46 +01:00
Simon Wisselink 169cd924df Re-organized rendering (read source / compile / cache) process to avoid circular dependencies.
Deactivated merge_compiled_includes and the {include inline} attribute. They don't seem to do much in terms of performance, but we'll
have to check back.
2023-01-25 16:59:10 +01:00
Simon Wisselink 46dfed3837 Updated the changelog 2023-01-24 22:45:35 +01:00
Simon Wisselink 0e380a1748 fixes in source files 2023-01-24 16:05:38 +01:00
Simon Wisselink 1a8ee6ebda Merge branch 'master' into smarty5 2023-01-24 12:53:58 +01:00
Simon Wisselink ecfa4bfa16 Fixed getCachedContent 2023-01-24 12:09:47 +01:00
Simon Wisselink 9cc60f5e38 Convert isset and empty to modifiercomilers, and smooth the error handling to fix unit tests. 2023-01-24 12:01:20 +01:00
Simon Wisselink 431d77505f Fixed all scope assignment bugs 2023-01-24 10:16:00 +01:00
Simon Wisselink 2cf658c9c3 Fix function call compilation using {functionname} syntax for in-template defined functions. 2023-01-23 16:56:42 +01:00
Simon Wisselink ecac24d073 Fixed bug in {include} variable assignment and removed some unused/unrequired code 2023-01-23 16:40:27 +01:00
Simon Wisselink 34a0a2876b Fix major {include} bug 2023-01-23 15:56:26 +01:00
Simon Wisselink 3922c1eb1e Fixed the {if} failures. 2023-01-23 15:34:29 +01:00
Simon Wisselink 68c59e6627 Fix all foreach unit tests 2023-01-23 15:16:45 +01:00
Simon Wisselink ad2703dd75 Handle BC registered compilers and missed parameters for openTag and closeTag. 2023-01-23 12:08:36 +01:00
Simon Wisselink f1c3ac4395 Fixed all inheritance issues 2023-01-23 11:45:29 +01:00
Simon Wisselink 7c02bb9a63 Fix inhertiance implementation for $smarty.block.child 2023-01-23 08:47:49 +01:00
Simon Wisselink bdb379d8fb Simply the "isFresh" method by not including the first param anymore. Fix a couple of unit tests by respecting tag_nocache set by nocache vars used in a tag. 2023-01-22 22:44:45 +01:00
Simon Wisselink 2d2d052557 Fix default plugin handler 2023-01-21 00:03:08 +01:00
Simon Wisselink f1f3874780 Made exception msgs exactly the same again, fixing some unit tests 2023-01-20 23:45:27 +01:00
Simon Wisselink 4ea8838d3b Fix testRegisterCompilerFunction by parsing argument correctly. 2023-01-20 23:42:08 +01:00
Simon Wisselink 03430c4f94 Fixed block append/prepend functionality 2023-01-20 23:16:41 +01:00
Simon Wisselink 2fbf67b32e Moved handling of smarty.block.* to special compilers, because they aren't real tags. Organized tag-stack handling in compiler, unified nocache handling in compiler. 2023-01-20 17:22:00 +01:00
Simon Wisselink 390f34318d Fixed cacheability of block plugins. 2023-01-19 23:29:10 +01:00
Simon Wisselink 27dd3e4c57 Fix function caching function name 2023-01-19 22:35:03 +01:00
Simon Wisselink 41c8bd3035 @var integer > @var int for vsCode 2023-01-19 22:32:06 +01:00
Simon Wisselink 38cad9723e Fix searchParents parameter, fixing GetTemplateVarsTest 2023-01-19 22:30:16 +01:00
Simon Wisselink f5b432dea4 Fixed scope in variable assignments in included and extended templates, fixed dependencies for testing freshness of caches. Added some unit tests and fixed a class reference to pass some more tests. 2023-01-13 23:29:05 +01:00
Simon Wisselink 5c74dc4a83 Replaced a bunch of direct property access with getters/setters. 2023-01-13 16:55:15 +01:00
Simon Wisselink 3be63a3418 Removed unneeded magic setters/getters/destructors and the like. 2023-01-13 15:56:25 +01:00
Simon Wisselink cdf1ed2a50 Simplified the (no)caching architecture by:
- removing support for $cache_attrs for registered plugins,
- removing the undocumented {make_nocache} tag and the deprecated {insert} tag and associated code
- removing support for a compile_id property on include tags.

Fixes a bug in extends: resources by propagating the nocache-hashes between a master template and it's subtemplates in \Smarty\Template::_subTemplateRender. This might need further improvement.
2023-01-13 15:47:57 +01:00
Simon Wisselink e0f2c36d4d converted 3 public properties on Template into getters/setters. unified Template creation code. Provided a getter/setter for the has_nocache_code property. Removed the useless DataObject class. Fixed a few tests. Removed the variable-allow-php-templates property from the docs. 2023-01-13 00:04:08 +01:00
Simon Wisselink 541f0821f0 Replace direct access to inheritance property on Template object by proper getter. 2023-01-12 10:11:10 +01:00
Simon Wisselink 536721d457 Removed the allowUndefinedVars check from the smarty error handlers, because undefined vars no longer throw an error, unless smarty->error_unassigned is set to true. 2023-01-12 09:59:10 +01:00
Simon Wisselink 577f910e49 removed phpplugin, removed now unused uncompiled handler and all checks for this, fixed a refactorbug in InheritanceRuntime. Moved getRenderedTemplateCode method to Smarty\Template. Renamed Cache en Compiled base class to GeneratedPhpFile for more clarity and distinction from Resource classes. Inlined Cached::create into its only caller. Some other minor improvements. Removed php7.1 CI tests. 2023-01-11 23:33:12 +01:00
Simon Wisselink 1fe5050a04 Fix configfile tests 2023-01-11 13:05:42 +01:00
Simon Wisselink 22ce23b47b Made variable scoping more sensible 2023-01-11 11:22:24 +01:00
Simon Wisselink ad245ccd0c Fixed minor unit tests 2023-01-11 00:00:07 +01:00
Simon Wisselink 51075e0421 WIP fixing the complicated variables scopes architecture. Right now more tests are failing than before... :( 2023-01-10 23:49:33 +01:00
Simon Wisselink 3d10630510 WIP rewriting variable scopes 2023-01-10 17:35:34 +01:00
Simon Wisselink 5052ce0d88 WIP 2023-01-10 14:54:21 +01:00
Simon Wisselink 9651dafbce WIP replacing direct access tpl_vars with proper getter/setters. 2023-01-10 14:46:33 +01:00
Simon Wisselink b424657fd9 Fix bug in calling BC function handlers. 2023-01-10 14:45:58 +01:00
Simon Wisselink 9016dd9908 Added strlen function, fixing some unit tests 2023-01-09 11:54:13 +01:00
Simon Wisselink e124f71dd8 Fixed issue related to scoping of left/right delimiter overrides 2023-01-09 11:25:09 +01:00
Simon Wisselink 34d5d6d024 Rewrote global static global_tpl_vars to getters/setters on Smarty class, fixing several test cases. Added a ::getValue() method to Variable. 2023-01-09 09:55:22 +01:00
Simon Wisselink c5de83b09f Fixed modifiercompiler handling multiple/chained modifiers 2023-01-09 09:53:15 +01:00
Simon Wisselink e1d395e140 Fixed stream resources 2023-01-07 23:22:58 +01:00
Simon Wisselink fd64cc688a Removed PHP functions and checks for the already removed php modifiers. Re-implemented functions as regular functions. Probably should compile these directly. 2023-01-07 23:06:47 +01:00
Simon Wisselink e595cd2a5d Fixed BC loading of resource pluging from dir and all ResourcePluginTest tests 2023-01-06 21:53:37 +01:00