UNPKG

generator-scheme-web

Version:

A Yeoman generator for Scheme Designs web project scafolding

1,301 lines (955 loc) 82.2 kB
===== trunk ===== ===== 3.1.16 ===== 15.12.2013 - bugfix {include} with {block} tag handling (forum topic 24599, 24594, 24682) (Issue 161) Read 3.1.16_RELEASE_NOTES for more details - enhancement additional debug output at $smarty->_parserdebug = true; 07.11.2013 - bugfix too restrictive handling of {include} within {block} tags. 3.1.15 did throw errors where 3.1.14 did not (forum topic 24599) - bugfix compiler could fail if PHP mbstring.func_overload is enabled (Issue 164) 28.10.2013 - bugfix variable resource name at custom resource plugin did not work within {block} tags (Issue 163) - bugfix notice "Trying to get property of non-object" removed (Issue 163) - bugfix correction of modifier capitalize fix from 3.10.2013 (issue 159) - bugfix multiple {block}s with same name in parent did not work (forum topic 24631) 20.10.2013 - bugfix a variable file name at {extends} tag did fail (forum topic 24618) 14.10.2013 - bugfix yesterdays fix could result in an undefined variable 13.10.2013 - bugfix variable names on {include} in template inheritance did unextepted error message (forum topic 24594) (Issue 161) .- bugfix relative includes with same name like {include './foo.tpl'} from different folder failed (forum topic 24590)(Issue 161) 04.10.2013 - bugfix variable file names at {extends} had been disbabled by mistake with the rewrite of template inheritance of 24.08.2013 (forum topic 24585) 03.10.2013 - bugfix loops using modifier capitalize did eat up memory (issue 159) ===== Smarty 3.1.15 ===== 01.10.2013 - use current delimiters in compiler error messages (issue 157) - improvement on performance when using error handler and multiple template folders (issue 152) 17.09.2013 - improvement added patch for additional SmartyCompilerException properties for better access to scource information (forum topic 24559) 16.09.2013 - bugfix recompiled templates did not show on first request with zend opcache cache (forum topic 24320) 13.09.2013 - bugfix html_select_time defaulting error for the Meridian dropdown (forum topic 24549) 09.09.2012 - bugfix incorrect compiled code with array(object,method) callback at registered Variable Filter (forum topic 24542) 27.08.2013 - bugfix delimiter followed by linebreak did not work as auto literal after update from 24.08.2013 (forum topic 24518) 24.08.2013 - bugfix and enhancement Because several recent problems with template inheritance the {block} tag compiler has been rewriten - Error messages shown now the correct child template file and line number - The compiler could fail on some larger UTF-8 text block (forum topic 24455) - The {strip} tag can now be placed outside {block} tags in child templates (forum topic 24289) - change SmartyException::$escape is now false by default - change PHP traceback has been remove for SmartyException and SmartyCompilerException 14.08.2013 - bugfix compiled filepath of config file did not observe different config_dir (forum topic 24493) 13.08.2013 - bugfix the internal resource cache did not observe config_dir changes (forum topic 24493) 12.08.2013 - bugfix internal $tmpx variables must be unique over all inheritance templates (Issue 149) 10.08.2013 - bugfix a newline was eaten when a <?xml ... ?> was passed by a Smarty variable and caching was enabled (forum topic 24482) 29.07.2013 - bugfix headers already send warning thrown when using 'SMARTY_DEBUG=on' from URL (Issue 148) 27.07.2013 - enhancement allow access to properties of registered opjects for Smarty2 BC (forum topic 24344) 26.07.2013 - bugfix template inheritance nesting problem (forum topic 24387) 15.7.2013 - update code generated by PSR-2 standards fixer which introduced PHP 5.4 incompatibilities of 14.7.2013 14.7.2013 - bugfix increase of internal maximum parser stacksize to allow more complex tag code {forum topic 24426} - update for PHP 5.4 compatibility - reformat source to PSR-2 standard 12.7.2013 - bugfix Do not remove '//' from file path at normalization (Issue 142) 2.7.2013 - bugfix trimwhitespace would replace captured items in wrong order (forum topic 24387) ===== Smarty-3.1.14 ===== 27.06.2013 - bugfix removed PHP 5.5 deprecated preg_replace /e option in modifier capitalize (forum topic 24389) 17.06.2013 - fixed spelling in sources and documentation (from smarty-developers forum Veres Lajos) - enhancement added constant SMARTY::CLEAR_EXPIRED for the change of 26.05.2013 (forum topic 24310) - bugfix added smarty_security.php to composer.json (Issue 135) 26.05.2013 - enhancement an expire_time of -1 in clearCache() and clearAllCache() will delete outdated cache files by their individual cache_lifetime used at creation (forum topic 24310) 21.05.2013 - bugfix modifier strip_tags:true was compiled into wrong code (Forum Topic 24287) - bugfix /n after ?> in Smarty.class.php did start output buffering (Issue 138) 25.04.2013 - bugfix escape and wordrap modifier could be compiled into wrong code when used in {nocache}{/nocache} section but caching is disabled (Forum Topic 24260) 05.04.2013 - bugfix post filter must not run when compiling inheritance child blocks (Forum Topic 24094) - bugfix after the fix for Issue #130 compiler exceptions got double escaped (Forum Topic 24199) 28.02.2013 - bugfix nocache blocks could be lost when using CACHING_LIFETIME_SAVED (Issue #133) - bugfix Compile ID gets nulled when compiling child blocks (Issue #134) 24.01.2013 - bugfix wrong tag type in smarty_internal_templatecompilerbase.php could cause wrong plugin search order (Forum Topic 24028) ===== Smarty-3.1.13 ===== 13.01.2013 - enhancement allow to disable exception message escaping by SmartyException::$escape = false; (Issue #130) 09.01.2013 - bugfix compilation did fail when a prefilter did modify an {extends} tag c - bugfix template inheritance could fail if nested {block} tags in childs did contain {$smarty.block.child} (Issue #127) - bugfix template inheritance could fail if {block} tags in childs did have similar name as used plugins (Issue #128) - added abstract method declaration doCompile() in Smarty_Internal_TemplateCompilerBase (Forum Topic 23969) 06.01.2013 - Allow '://' URL syntax in template names of stream resources (Issue #129) 27.11.2012 - bugfix wrong variable usage in smarty_internal_utility.php (Issue #125) 26.11.2012 - bugfix global variable assigned within template function are not seen after template function exit (Forum Topic 23800) 24.11.2012 - made SmartyBC loadable via composer (Issue #124) 20.11.2012 - bugfix assignGlobal() called from plugins did not work (Forum Topic 23771) 13.11.2012 - adding attribute "strict" to html_options, html_checkboxes, html_radios to only print disabled/readonly attributes if their values are true or "disabled"/"readonly" (Issue #120) 01.11.2012 - bugfix muteExcpetedErrors() would screw up for non-readable paths (Issue #118) ===== Smarty-3.1.12 ===== 14.09.2012 - bugfix template inheritance failed to compile with delimiters {/ and /} (Forum Topic 23008) 11.09.2012 - bugfix escape Smarty exception messages to avoid possible script execution 10.09.2012 - bugfix tag option flags and shorttag attributes did not work when rdel started with '=' (Forum Topic 22979) 31.08.2012 - bugfix resolving relative paths broke in some circumstances (Issue #114) 22.08.2012 - bugfix test MBString availability through mb_split, as it could've been compiled without regex support (--enable-mbregex). Either we get MBstring's full package, or we pretend it's not there at all. 21.08.2012 - bugfix $auto_literal = false did not work with { block} tags in child templates (problem was reintroduced after fix in 3.1.7)(Forum Topic 20581) 17.08.2012 - bugfix compiled code of nocache sections could contain wrong escaping (Forum Topic 22810) 15.08.2012 - bugfix template inheritance did produce wrong code if subtemplates with {block} was included several times (from smarty-developers forum) 14.08.2012 - bugfix PHP5.2 compatibility compromised by SplFileInfo::getBasename() (Issue 110) 01.08.2012 - bugfix avoid PHP error on $smarty->configLoad(...) with invalid section specification (Forum Topic 22608) 30.07.2012 -bugfix {assign} in a nocache section should not overwrite existing variable values during compilation (issue 109) 28.07.2012 - bugfix array access of config variables did not work (Forum Topic 22527) 19.07.2012 - bugfix the default plugin handler did create wrong compiled code for static class methods from external script files (issue 108) ===== Smarty-3.1.11 ===== 30.06.2012 - bugfix {block.. hide} did not work as nested child (Forum Topic 22216) 25.06.2012 - bugfix the default plugin handler did not allow static class methods for modifier (issue 85) 24.06.2012 - bugfix escape modifier support for PHP < 5.2.3 (Forum Topic 21176) 11.06.2012 - bugfix the patch for Topic 21856 did break tabs between tag attributes (Forum Topic 22124) ===== Smarty-3.1.10 ===== 09.06.2012 - bugfix the compiler did ignore registered compiler plugins for closing tags (Forum Topic 22094) - bugfix the patch for Topic 21856 did break multiline tags (Forum Topic 22124) ===== Smarty-3.1.9 ===== 07.06.2012 - bugfix fetch() and display() with relative paths (Issue 104) - bugfix treat "0000-00-00" as 0 in modifier.date_format (Issue 103) 24.05.2012 - bugfix Smarty_Internal_Write_File::writeFile() could cause race-conditions on linux systems (Issue 101) - bugfix attribute parameter names of plugins may now contain also "-" and ":" (Forum Topic 21856) - bugfix add compile_id to cache key of of source (Issue 97) 22.05.2012 - bugfix recursive {include} within {section} did fail (Smarty developer group) 12.05.2012 - bugfix {html_options} did not properly escape values (Issue 98) 03.05.2012 - bugfix make HTTP protocall version variable (issue 96) 02.05.2012 - bugfix {nocache}{block}{plugin}... did produce wrong compiled code when caching is disabled (Forum Topic 21572, issue 95) 12.04.2012 - bugfix Smarty did eat the linebreak after the <?xml...?> closing tag (Issue 93) - bugfix concurrent cache updates could create a warning (Forum Topic 21403) 08.04.2012 - bugfix "\\" was not escaped correctly when generating nocache code (Forum Topic 21364) 30.03.2012 - bugfix template inheritance did not throw exception when a parent template was deleted (issue 90) 27.03.2012 - bugfix prefilter did run multiple times on inline subtemplates compiled into several main templates (Forum Topic 21325) - bugfix implement Smarty2's behaviour of variables assigned by reference in SmartyBC. {assign} will affect all references. (issue 88) 21.03.2012 - bugfix compileAllTemplates() and compileAllConfig() did not return the number of compiled files (Forum Topic 21286) 13.03.2012 - correction of yesterdays bugfix (Forum Topic 21175 and 21182) 12.03.2012 - bugfix a double quoted string of "$foo" did not compile into PHP "$foo" (Forum Topic 21175) - bugfix template inheritance did set $merge_compiled_includes globally true 03.03.2012 - optimization of compiling speed when same modifier was used several times 02.03.2012 - enhancement the default plugin handler can now also resolve undefined modifier (Smarty::PLUGIN_MODIFIER) (Issue 85) ===== Smarty-3.1.8 ===== 19.02.2012 - bugfix {include} could result in a fatal error if used in appended or prepended nested {block} tags (reported by mh and Issue 83) - enhancement added Smarty special variable $smarty.template_object to return the current template object (Forum Topic 20289) 07.02.2012 - bugfix increase entropy of internal function names in compiled and cached template files (Forum Topic 20996) - enhancement cacheable parameter added to default plugin handler, same functionality as in registerPlugin (request by calguy1000) 06.02.2012 - improvement stream_resolve_include_path() added to Smarty_Internal_Get_Include_Path (Forum Topic 20980) - bugfix fetch('extends:foo.tpl') always yielded $source->exists == true (Forum Topic 20980) - added modifier unescape:"url", fix (Forum Topic 20980) - improvement replaced some calls of preg_replace with str_replace (Issue 73) 30.01.2012 - bugfix Smarty_Security internal $_resource_dir cache wasn't properly propagated 27.01.2012 - bugfix Smarty did not a template name of "0" (Forum Topic 20895) 20.01.2012 - bugfix typo in Smarty_Internal_Get_IncludePath did cause runtime overhead (Issue 74) - improvment remove unneeded assigments (Issue 75 and 76) - fixed typo in template parser - bugfix output filter must not run before writing cache when template does contain nocache code (Issue 71) 02.01.2012 - bugfix {block foo nocache} did not load plugins within child {block} in nocache mode (Forum Topic 20753) 29.12.2011 - bugfix enable more entropy in Smarty_Internal_Write_File for "more uniqueness" and Cygwin compatibility (Forum Topic 20724) - bugfix embedded quotes in single quoted strings did not compile correctly in {nocache} sections (Forum Topic 20730) 28.12.2011 - bugfix Smarty's internal header code must be excluded from postfilters (issue 71) 22.12.2011 - bugfix the new lexer of 17.12.2011 did fail if mbstring.func_overload != 0 (issue 70) (Forum Topic 20680) - bugfix template inheritace did fail if mbstring.func_overload != 0 (issue 70) (Forum Topic 20680) 20.12.2011 - bugfix template inheritance: {$smarty.block.child} in nested child {block} tags did not return content after {$smarty.block.child} (Forum Topic 20564) ===== Smarty-3.1.7 ===== 18.12.2011 - bugfix strings ending with " in multiline strings of config files failed to compile (issue #67) - added chaining to Smarty_Internal_Templatebase - changed unloadFilter() to not return a boolean in favor of chaining and API conformity - bugfix unregisterObject() raised notice when object to unregister did not exist - changed internals to use Smarty::$_MBSTRING ($_CHARSET, $_DATE_FORMAT) for better unit testing - added Smarty::$_UTF8_MODIFIER for proper PCRE charset handling (Forum Topic 20452) - added Smarty_Security::isTrustedUri() and Smarty_Security::$trusted_uri to validate remote resource calls through {fetch} and {html_image} (Forum Topic 20627) 17.12.2011 - improvement of compiling speed by new handling of plain text blocks in the lexer/parser (issue #68) 16.12.2011 - bugfix the source exits flag and timestamp was not setup when template was in php include path (issue #69) 9.12.2011 - bugfix {capture} tags around recursive {include} calls did throw exception (Forum Topic 20549) - bugfix $auto_literal = false did not work with { block} tags in child templates (Forum Topic 20581) - bugfix template inheritance: do not include code of {include} in overloaded {block} into compiled parent template (Issue #66} - bugfix template inheritance: {$smarty.block.child} in nested child {block} tags did not return expected result (Forum Topic 20564) ===== Smarty-3.1.6 ===== 30.11.2011 - bugfix is_cache() for individual cached subtemplates with $smarty->caching = CACHING_OFF did produce an exception (Forum Topic 20531) 29.11.2011 - bugfix added exception if the default plugin handler did return a not static callback (Forum Topic 20512) 25.11.2011 - bugfix {html_select_date} and {html_slecet_time} did not default to current time if "time" was not specified since r4432 (issue 60) 24.11.2011 - bugfix a subtemplate later used as main template did use old variable values 21.11.2011 - bugfix cache file could include unneeded modifier plugins under certain condition 18.11.2011 - bugfix declare all directory properties private to map direct access to getter/setter also on extended Smarty class 16.11.2011 - bugfix Smarty_Resource::load() did not always return a proper resource handler (Forum Topic 20414) - added escape argument to html_checkboxes and html_radios (Forum Topic 20425) ===== Smarty-3.1.5 ===== 14.11.2011 - bugfix allow space between function name and open bracket (forum topic 20375) 09.11.2011 - bugfix different behaviour of uniqid() on cygwin. See https://bugs.php.net/bug.php?id=34908 (forum topic 20343) 01.11.2011 - bugfix {if} and {while} tags without condition did not throw a SmartyCompilerException (Issue #57) - bugfix multiline strings in config files could fail on longer strings (reopened Issue #55) 22.10.2011 - bugfix smarty_mb_from_unicode() would not decode unicode-points properly - bugfix use catch Exception instead UnexpectedValueException in clearCompiledTemplate to be PHP 5.2 compatible 21.10.2011 - bugfix apostrophe in plugins_dir path name failed (forum topic 20199) - improvement sha1() for array keys longer than 150 characters - add Smarty::$allow_ambiguous_resources to activate unique resource handling (Forum Topic 20128) 20.10.2011 - @silenced unlink() in Smarty_Internal_Write_File since debuggers go haywire without it. - bugfix Smarty::clearCompiledTemplate() threw an Exception if $cache_id was not present in $compile_dir when $use_sub_dirs = true. - bugfix {html_select_date} and {html_select_time} did not properly handle empty time arguments (Forum Topic 20190) - improvement removed unnecessary sha1() 19.10.2011 - revert PHP4 constructor message - fixed PHP4 constructor message ===== Smarty-3.1.4 ===== 19.10.2011 - added exception when using PHP4 style constructor 16.10.2011 - bugfix testInstall() did not propery check cache_dir and compile_dir 15.10.2011 - bugfix Smarty_Resource and Smarty_CacheResource runtime caching (Forum Post 75264) 14.10.2011 - bugfix unique_resource did not properly apply to compiled resources (Forum Topic 20128) - add locking to custom resources (Forum Post 75252) - add Smarty_Internal_Template::clearCache() to accompany isCached() fetch() etc. 13.10.2011 - add caching for config files in Smarty_Resource - bugfix disable of caching after isCached() call did not work (Forum Topic 20131) - add concept unique_resource to combat potentially ambiguous template_resource values when custom resource handlers are used (Forum Topic 20128) - bugfix multiline strings in config files could fail on longer strings (Issue #55) 11.10.2011 - add runtime checks for not matching {capture}/{/capture} calls (Forum Topic 20120) 10.10.2011 - bugfix variable name typo in {html_options} and {html_checkboxes} (Issue #54) - bugfix <?xml> tag did create wrong output when caching enabled and the tag was in included subtemplate - bugfix Smarty_CacheResource_mysql example was missing strtotime() calls ===== Smarty-3.1.3 ===== 07.10.2011 - improvement removed html comments from {mailto} (Forum Topic 20092) - bugfix testInstall() would not show path to internal plugins_dir (Forum Post 74627) - improvement testInstall() now showing resolved paths and checking the include_path if necessary - bugfix html_options plugin did not handle object values properly (Issue #49, Forum Topic 20049) - improvement html_checkboxes and html_radios to accept null- and object values, and label_ids attribute - improvement removed some unnecessary count()s - bugfix parent pointer was not set when fetch() for other template was called on template object 06.10.2011 - bugfix switch lexer internals depending on mbstring.func_overload - bugfix start_year and end_year of {html_select_date} did not use current year as offset base (Issue #53) 05.10.2011 - bugfix of problem introduced with r4342 by replacing strlen() with isset() - add environment configuration issue with mbstring.func_overload Smarty cannot compensate for (Issue #45) - bugfix nofilter tag option did not disable default modifier - bugfix html_options plugin did not handle null- and object values properly (Issue #49, Forum Topic 20049) 04.10.2011 - bugfix assign() in plugins called in subtemplates did change value also in parent template - bugfix of problem introduced with r4342 on math plugin - bugfix output filter should not run on individually cached subtemplates - add unloadFilter() method - bugfix has_nocache_code flag was not reset before compilation ===== Smarty-3.1.2 ===== 03.10.2011 - improvement add internal $joined_template_dir property instead computing it on the fly several times 01.10.2011 - improvement replaced most in_array() calls by more efficient isset() on array_flip()ed haystacks - improvement replaced some strlen($foo) > 3 calls by isset($foo[3]) - improvement Smarty_Internal_Utility::clearCompiledTemplate() removed redundant strlen()s 29.09.2011 - improvement of Smarty_Internal_Config::loadConfigVars() dropped the in_array for index look up 28.09.2011 - bugfix on template functions called nocache calling other template functions 27.09.2011 - bugfix possible warning "attempt to modify property of non-object" in {section} (issue #34) - added chaining to Smarty_Internal_Data so $smarty->assign('a',1)->assign('b',2); is possible now - bugfix remove race condition when a custom resource did change timestamp during compilation - bugfix variable property did not work on objects variable in template - bugfix smarty_make_timestamp() failed to process DateTime objects properly - bugfix wrong resource could be used on compile check of custom resource 26.09.2011 - bugfix repeated calls to same subtemplate did not make use of cached template object 24.09.2011 - removed internal muteExpectedErrors() calls in favor of having the implementor call this once from his application - optimized muteExpectedErrors() to pass errors to the latest registered error handler, if appliccable - added compile_dir and cache_dir to list of muted directories - improvment better error message for undefined templates at {include} 23.09.2011 - remove unused properties - optimization use real function instead anonymous function for preg_replace_callback - bugfix a relative {include} in child template blocks failed - bugfix direct setting of $template_dir, $config_dir, $plugins_dir in __construct() of an extended Smarty class created problems - bugfix error muting was not implemented for cache locking ===== Smarty 3.1.1 ===== 22.09.2011 - bugfix {foreachelse} does fail if {section} was nested inside {foreach} - bugfix debug.tpl did not display correctly when it was compiled with escape_html = true 21.09.2011 - bugfix look for mixed case plugin file names as in 3.0 if not found try all lowercase - added $error_muting to suppress error messages even for badly implemented error_handlers - optimized autoloader - reverted ./ and ../ handling in fetch() and display() - they're allowed again 20.09.2011 - bugfix removed debug echo output while compiling template inheritance - bugfix relative paths in $template_dir broke relative path resolving in {include "../foo.tpl"} - bugfix {include} did not work inside nested {block} tags - bugfix {assign} with scope root and global did not work in all cases 19.09.2011 - bugfix regression in Smarty_CacheReource_KeyValueStore introduced by r4261 - bugfix output filter shall not run on included subtemplates 18.09.2011 - bugfix template caching did not care about file.tpl in different template_dir - bugfix {include $file} was broken when merge_compiled_incluges = true - bugfix {include} was broken when merge_compiled_incluges = true and same indluded template was used in different main templates in one compilation run - bugfix for Smarty2 style compiler plugins on unnamed attribute passing like {tag $foo $bar} - bugfix debug.tpl did not display correctly when it was compiled with escape_html = true 17.09.2011 - bugfix lock_id for file resource would create invalid filepath - bugfix resource caching did not care about file.tpl in different template_dir ===== Smarty 3.1.0 ===== 15/09/2011 - optimization of {foreach}; call internal _count() method only when "total" or "last" {foreach} properties are used 11/09/2011 - added unregisterObject() method 06/09/2011 - bugfix isset() did not work in templates on config variables 03/09/2011 - bugfix createTemplate() must default to cache_id and compile_id of Smarty object - bugfix Smarty_CacheResource_KeyValueStore must include $source->uid in cache filepath to keep templates with same name but different folders separated - added cacheresource.apc.php example in demo folder 02/09/2011 - bugfix cache lock file must use absolute filepath 01/09/2011 - update of cache locking 30/08/2011 - added locking mechanism to CacheResource API (implemented with File and KeyValueStores) 28/08/2011 - bugfix clearCompileTemplate() did not work for specific template subfolder or resource 27/08/2011 - bugfix {$foo|bar+1} did create syntax error 26/08/2011 - bugfix when generating nocache code which contains double \ - bugfix handle race condition if cache file was deleted between filemtime and include 17/08/2011 - bugfix CacheResource_Custom bad internal fetch() call 15/08/2011 - bugfix CacheResource would load content twice for KeyValueStore and Custom handlers 06/08/2011 - bugfix {include} with scope attribute could execute in wrong scope - optimization of compile_check processing 03/08/2011 - allow comment tags to comment {block} tags out in child templates 26/07/2011 - bugfix experimental getTags() method did not work 24/07/2011 - sure opened output buffers are closed on exception - bugfix {foreach} did not work on IteratorAggregate 22/07/2011 - clear internal caches on clearAllCache(), clearCache(), clearCompiledTemplate() 21/07/2011 - bugfix value changes of variable values assigned to Smarty object could not be seen on repeated $smarty->fetch() calls 17/07/2011 - bugfix {$smarty.block.child} did drop a notice at undefined child 15/07/2011 - bugfix individual cache_lifetime of {include} did not work correctly inside {block} tags - added caches for Smarty_Template_Source and Smarty_Template_Compiled to reduce I/O for multiple cache_id rendering 14/07/2011 - made Smarty::loadPlugin() respect the include_path if required 13/07/2011 - optimized internal file write functionality - bugfix PHP did eat line break on nocache sections - fixed typo of Smarty_Security properties $allowed_modifiers and $disabled_modifiers 06/07/2011 - bugfix variable modifier must run befor gereral filtering/escaping 04/07/2011 - bugfix use (?P<name>) syntax at preg_match as some pcre libraries failed on (?<name>) - some performance improvement when using generic getter/setter on template objects 30/06/2011 - bugfix generic getter/setter of Smarty properties used on template objects did throw exception - removed is_dir and is_readable checks from directory setters for better performance 28/06/2011 - added back support of php template resource as undocumented feature - bugfix automatic recompilation on version change could drop undefined index notice on old 3.0 cache and compiled files - update of README_3_1_DEV.txt and moved into the distribution folder - improvement show first characters of eval and string templates instead sha1 Uid in debug window ===== Smarty 3.1-RC1 ===== 25/06/2011 - revert change of 17/06/2011. $_smarty varibale removed. call loadPlugin() from inside plugin code if required - code cleanup, remove no longer used properties and methods - update of PHPdoc comments 23/06/2011 - bugfix {html_select_date} would not respect current time zone 19/06/2011 - added $errors argument to testInstall() functions to suppress output. - added plugin-file checks to testInstall() 18/06/2011 - bugfix mixed use of same subtemplate inline and not inline in same script could cause a warning during compilation 17/06/2011 - bugfix/change use $_smarty->loadPlugin() when loading nested depending plugins via loadPlugin - bugfix {include ... inline} within {block}...{/block} did fail 16/06/2011 - bugfix do not overwrite '$smarty' template variable when {include ... scope=parent} is called - bugfix complete empty inline subtemplates did fail 15/06/2011 - bugfix template variables where not accessable within inline subtemplates 12/06/2011 - bugfix removed unneeded merging of template variable when fetching includled subtemplates 10/06/2011 - made protected properties $template_dir, $plugins_dir, $cache_dir, $compile_dir, $config_dir accessible via magic methods 09/06/2011 - fix smarty security_policy issue in plugins {html_image} and {fetch} 05/06/2011 - update of SMARTY_VERSION - bugfix made getTags() working again 04/06/2011 - allow extends resource in file attribute of {extends} tag 03/06/2011 - added {setfilter} tag to set filters for variable output - added escape_html property to control autoescaping of variable output 27/05/2011 - added allowed/disabled tags and modifiers in security for sandboxing 23/05/2011 - added base64: and urlencode: arguments to eval and string resource types 22/05/2011 - made time-attribute of {html_select_date} and {html_select_time} accept arrays as defined by attributes prefix and field_array 13/05/2011 - remove setOption / getOption calls from SamrtyBC class 02/05/2011 - removed experimental setOption() getOption() methods - output returned content also on opening tag calls of block plugins - rewrite of default plugin handler - compile code of variable filters for better performance 20/04/2011 - allow {php} {include_php} tags and PHP_ALLOW handling only with the SmartyBC class - removed support of php template resource 20/04/2011 - added extendsall resource example - optimization of template variable access - optimization of subtemplate handling {include} - optimization of template class 01/04/2011 - bugfix quote handling in capitalize modifier 28/03/2011 - bugfix stripslashes() requried when using PCRE e-modifier 04/03/2011 - upgrade to new PHP_LexerGenerator version 0.4.0 for better performance 27/02/2011 - ignore .svn folders when clearing cache and compiled files - string resources do not need a modify check 26/02/2011 - replaced smarty_internal_wrapper by SmartyBC class - load utility functions as static methods instead through __call() - bugfix in extends resource when subresources are used - optimization of modify checks 25/02/2011 - use $smarty->error_unassigned to control NOTICE handling on unassigned variables 21/02/2011 - added new new compile_check mode COMPILECHECK_CACHEMISS - corrected new cloning behaviour of createTemplate() - do no longer store the compiler object as property in the compile_tag classes to avoid possible memory leaks during compilation 19/02/2011 - optimizations on merge_compiled_includes handling - a couple of optimizations and bugfixes related to new resource structure 17/02/2011 - changed ./ and ../ behaviour 14/02/2011 - added {block ... hide} option to suppress block if no child is defined 13/02/2011 - update handling of recursive subtemplate calls - bugfix replace $smarty->triggerError() by exception in smarty_internal_resource_extends.php 12/02/2011 - new class Smarty_Internal_TemplateBase with shared methods of Smarty and Template objects - optimizations of template processing - made register... methods permanet - code for default_plugin_handler - add automatic recompilation at version change 04/02/2011 - change in Smarty_CacheResource_Custom - bugfix cache_lifetime did not compile correctly at {include} after last update - moved isCached processing into CacheResource class - bugfix new CacheResource API did not work with disabled compile_check 03/02/2011 - handle template content as function to improve speed on multiple calls of same subtemplate and isCached()/display() calls - bugfixes and improvents in the new resource API - optimizations of template class code 25/01/2011 - optimized function html_select_time 22/01/2011 - added Smarty::$use_include_path configuration directive for Resource API 21/01/2011 - optimized function html_select_date 19/01/2011 - optimized outputfilter trimwhitespace 18/01/2011 - bugfix Config to use Smarty_Resource to fetch sources - optimized Smarty_Security's isTrustedDir() and isTrustedPHPDir() 17/01/2011 - bugfix HTTP headers for CGI SAPIs 16/01/2011 - optimized internals of Smarty_Resource and Smarty_CacheResource 14/01/2011 - added modifiercompiler escape to improve performance of escaping html, htmlall, url, urlpathinfo, quotes, javascript - added support to choose template_dir to load from: [index]filename.tpl 12/01/2011 - added unencode modifier to revert results of encode modifier - added to_charset and from_charset modifier for character encoding 11/01/2011 - added SMARTY_MBSTRING to generalize MBString detection - added argument $lc_rest to modifier.capitalize to lower-case anything but the first character of a word - changed strip modifier to consider unicode white-space, too - changed wordwrap modifier to accept UTF-8 strings - changed count_sentences modifier to consider unicode characters and treat sequences delimited by ? and ! as sentences, too - added argument $double_encode to modifier.escape (applies to html and htmlall only) - changed escape modifier to be UTF-8 compliant - changed textformat block to be UTF-8 compliant - optimized performance of mailto function - fixed spacify modifier so characters are not prepended and appended, made it unicode compatible - fixed truncate modifier to properly use mb_string if possible - removed UTF-8 frenzy from count_characters modifier - fixed count_words modifier to treat "hello-world" as a single word like str_count_words() does - removed UTF-8 frenzy from upper modifier - removed UTF-8 frenzy from lower modifier 01/01/2011 - optimize smarty_modified_escape for hex, hexentity, decentity. 28/12/2010 - changed $tpl_vars, $config_vars and $parent to belong to Smarty_Internal_Data - added Smarty::registerCacheResource() for dynamic cache resource object registration 27/12/2010 - added Smarty_CacheResource API and refactored existing cache resources accordingly - added Smarty_CacheResource_Custom and Smarty_CacheResource_Mysql 26/12/2010 - added Smarty_Resource API and refactored existing resources accordingly - added Smarty_Resource_Custom and Smarty_Resource_Mysql - bugfix Smarty::createTemplate() to return properly cloned template instances 24/12/2010 - optimize smarty_function_escape_special_chars() for PHP >= 5.2.3 ===== SVN 3.0 trunk ===== 14/05/2011 - bugfix error handling at stream resources 13/05/2011 - bugfix condition starting with "-" did fail at {if} and {while} tags 22/04/2011 - bugfix allow only fixed string as file attribute at {extends} tag 01/04/2011 - bugfix do not run filters and default modifier when displaying the debug template - bugfix of embedded double quotes within multi line strings (""") 29/03/2011 - bugfix on error message in smarty_internal_compile_block.php - bugfix mb handling in strip modifier - bugfix for Smarty2 style registered compiler function on unnamed attribute passing like {tag $foo $bar} 17/03/2011 - bugfix on default {function} parameters when {function} was used in nocache sections - bugfix on compiler object destruction. compiler_object property was by mistake unset. 09/03/2011 -bugfix a variable filter should run before modifiers on an output tag (see change of 23/07/2010) 08/03/2011 - bugfix loading config file without section should load only defaults 03/03/2011 - bugfix "smarty" template variable was not recreated when cached templated had expired - bugfix internal rendered_content must be cleared after subtemplate was included 01/03/2011 - bugfix replace modifier did not work in 3.0.7 on systems without multibyte support - bugfix {$smarty.template} could return in 3.0.7 parent template name instead of child name when it needed to compile 25/02/2011 - bugfix for Smarty2 style compiler plugins on unnamed attribute passing like {tag $foo $bar} 24/02/2011 - bugfix $smarty->clearCache('some.tpl') did by mistake cache the template object 18/02/2011 - bugfix removed possible race condition when isCached() was called for an individually cached subtemplate - bugfix force default debug.tpl to be loaded by the file resource 17/02/2011 -improvement not to delete files starting with '.' from cache and template_c folders on clearCompiledTemplate() and clearCache() 16/02/2011 -fixed typo in exception message of Smarty_Internal_Template -improvement allow leading spaces on } tag closing if auto_literal is enabled 13/02/2011 - bufix replace $smarty->triggerError() by exception - removed obsolete {popup_init..} plugin from demo templates - bugfix replace $smarty->triggerError() by exception in smarty_internal_resource_extends.php ===== Smarty 3.0.7 ===== 09/02/2011 - patched vulnerability when using {$smarty.template} 01/02/2011 - removed assert() from config and template parser 31/01/2011 - bugfix the lexer/parser did fail on special characters like VT 16/01/2011 -bugfix of ArrayAccess object handling in internal _count() method -bugfix of Iterator object handling in internal _count() method 14/01/2011 -bugfix removed memory leak while processing compileAllTemplates 12/01/2011 - bugfix in {if} and {while} tag compiler when using assignments as condition and nocache mode 10/01/2011 - bugfix when using {$smarty.block.child} and name of {block} was in double quoted string - bugfix updateParentVariables() was called twice when leaving {include} processing - bugfix mb_str_replace in replace and escape modifiers work with utf8 31/12/2010 - bugfix dynamic configuration of $debugging_crtl did not work - bugfix default value of $config_read_hidden changed to false - bugfix format of attribute array on compiler plugins - bugfix getTemplateVars() could return value from wrong scope 28/12/2010 - bugfix multiple {append} tags failed to compile. 22/12/2010 - update do not clone the Smarty object an internal createTemplate() calls to increase performance 21/12/2010 - update html_options to support class and id attrs 17/12/2010 - bugfix added missing support of $cache_attrs for registered plugins 15/12/2010 - bugfix assignment as condition in {while} did drop an E_NOTICE 14/12/2010 - bugfix when passing an array as default parameter at {function} tag 13/12/2010 - bugfix {$smarty.template} in child template did not return right content - bugfix Smarty3 did not search the PHP include_path for template files ===== Smarty 3.0.6 ===== 12/12/2010 - bugfix fixed typo regarding yesterdays change to allow streamWrapper 11/12/2010 - bugfix nested block tags in template inheritance child templates did not work correctly - bugfix {$smarty.current_dir} in child template did not point to dir of child template - bugfix changed code when writing temporary compiled files to allow stream_wrapper 06/12/2010 - bugfix getTemplateVars() should return 'null' instead dropping E_NOTICE on an unassigned variable 05/12/2010 - bugfix missing declaration of $smarty in Smarty class - bugfix empty($foo) in {if} did drop a notice when $foo was not assigned 01/12/2010 - improvement of {debug} tag output 27/11/2010 -change run output filter before cache file is written. (same as in Smarty2) 24/11/2011 -bugfix on parser at !$foo|modifier -change parser logic when assignments used as condition in {if] and {while} to allow assign to array element 23/11/2011 -bugfix allow integer as attribute name in plugin calls -change trimm whitespace from error message, removed long list of expected tokens 22/11/2010 - bugfix on template inheritance when an {extends} tag was inserted by a prefilter - added error message for illegal variable file attributes at {extends...} tags ===== Smarty 3.0.5 ===== 19/11/2010 - bugfix on block plugins with modifiers 18/11/2010 - change on handling of unassigned template variable -- default will drop E_NOTICE - bugfix on Smarty2 wrapper load_filter() did not work 17/11/2010 - bugfix on {call} with variable function name - bugfix on {block} if name did contain '-' - bugfix in function.fetch.php , referece to undefined $smarty 16/11/2010 - bugfix whitespace in front of "<?php" in smarty_internal_compile_private_block_plugin.php - bugfix {$smarty.now} did compile incorrectly - bugfix on reset(),end(),next(),prev(),current() within templates - bugfix on default parameter for {function} 15/11/2010 - bugfix when using {$smarty.session} as object - bugfix scoping problem on $smarty object passed to filters - bugfix captured content could not be accessed globally - bugfix Smarty2 wrapper functions could not be call from within plugins ===== Smarty 3.0.4 ===== 14/11/2010 - bugfix isset() did not allow multiple parameter - improvment of some error messages - bugfix html_image did use removed property $request_use_auto_globals - small performace patch in Smarty class 13/11/2010 - bugfix overloading problem when $smarty->fetch()/display() have been used in plugins (introduced with 3.0.2) - code cleanup ===== Smarty 3.0.3 ===== 13/11/2010 - bugfix on {debug} - reverted location of loadPlugin() to Smarty class - fixed comments in plugins - fixed internal_config (removed unwanted code line) - improvement remove last linebreak from {function} definition ===== Smarty 3.0.2 ===== 12/11/2010 - reactivated $error_reporting property handling - fixed typo in compile_continue - fixed security in {fetch} plugin - changed back plugin parameters to two. second is template object with transparent access to Smarty object - fixed {config_load} scoping form compile time to run time ===== Smarty 3.0.0 ===== 11/11/2010 - major update including some API changes 10/11/2010 - observe compile_id also for config files 09/11/2010 -bugfix on complex expressions as start value for {for} tag request_use_auto_globals 04/11/2010 - bugfix do not allow access of dynamic and private object members of assigned objects when security is enabled. 01/11/2010 - bugfix related to E_NOTICE change. {if empty($foo)} did fail when $foo contained a string 28/10/2010 - bugfix on compiling modifiers within $smarty special vars like {$smarty.post.{$foo|lower}} 27/10/2010 - bugfix default parameter values did not work for template functions included with {include} 25/10/2010 - bugfix for E_NOTICE change, array elements did not work as modifier parameter 20/10/2010 - bugfix for the E_NOTICE change 19/10/2010 - change Smarty does no longer mask out E_NOTICE by default during template processing 13/10/2010 - bugfix removed ambiguity between ternary and stream variable in template syntax - bugfix use caching properties of template instead of smarty object when compiling child {block} - bugfix {*block}...{/block*} did throw an exception in template inheritance - bugfix on template inheritance using nested eval or string resource in {extends} tags - bugfix on output buffer handling in isCached() method ===== RC4 ===== 01/10/2010 - added {break} and {continue} tags for flow control of {foreach},{section},{for} and {while} loops - change of 'string' resource. It's no longer evaluated and compiled files are now stored - new 'eval' resource which evaluates a template without saving the compiled file - change in isCached() method to allow multiple calls for the same template 25/09/2010 - bugfix on some compiling modifiers 24/09/2010 - bugfix merge_compiled_includes flag was not restored correctly in {block} tag 22/09/2010 - bugfix on default modifier 18/09/2010 - bugfix untility compileAllConfig() did not create sha1 code for compiled template file names if template_dir was defined with no trailing DS - bugfix on templateExists() for extends resource 17/09/2010 - bugfix {$smarty.template} and {$smarty.current_dir} did not compile correctly within {block} tags - bugfix corrected error message on missing template files in extends resource - bugfix untility compileAllTemplates() did not create sha1 code for compiled template file names if template_dir was defined with no trailing DS 16/09/2010 - bugfix when a doublequoted modifier parameter did contain Smarty tags and ':' 15/09/2010 - bugfix resolving conflict between '<%'/'%>' as custom Smarty delimiter and ASP tags - use ucfirst for resource name on internal resource class names 12/09/2010 - bugfix for change of 08/09/2010 (final {block} tags in subtemplates did not produce correct results) 10/09/2010 - bugfix for change of 08/09/2010 (final {block} tags in subtemplates did not produce correct results) 08/09/2010 - allow multiple template inheritance branches starting in subtemplates 07/09/2010 - bugfix {counter} and {cycle} plugin assigned result to smarty variable not in local(template) scope - bugfix templates containing just {strip} {/strip} tags did produce an error 23/08/2010 - fixed E_STRICT errors for uninitialized variables 22/08/2010 - added attribute cache_id to {include} tag 13/08/2010 - remove exception_handler property from Smarty class - added Smarty's own exceptions SmartyException and SmartyCompilerException 09/08/2010 - bugfix on modifier with doublequoted strings as parameter containing embedded tags 06/08/2010 - bugfix when cascading some modifier like |strip|strip_tags modifier 05/08/2010 - added plugin type modifiercompiler to produce compiled modifier code - changed standard modifier plugins to the compiling versions whenever possible - bugfix in nocache sections {include} must not cache the subtemplate 02/08/2010 - bugfix strip did not work correctly in conjunction with comment lines 31/07/2010 - bugfix on nocache attribute at {assign} and {append} 30/07/2010 - bugfix passing scope attributes in doublequoted strings did not work at {include} {assign} and {append} 25/07/2010 - another bugfix of change from 23/07/2010 when compiling modifier 24/07/2010 - bugfix of change from 23/07/2010 when compiling modifier 23/07/2010 - changed execution order. A variable filter does now run before modifiers on output of variables - bugfix use always { and } as delimiter for debug.tpl 22/07/2010 - bugfix in templateExists() method 20/07/2010 - fixed handling of { strip } tag with whitespaces 15/07/2010 - bufix {$smarty.template} does include now the relative path, not just filename ===== RC3 ===== 15/07/2010 - make the date_format modifier work also on objects of the DateTime class - implementation of parsetrees in the parser to close security holes and remove unwanted empty line in HTML output 08/07/2010 - bugfix on assigning multidimensional arrays within templates - corrected bugfix for truncate modifier 07/07/2010 - bugfix the truncate modifier needs to check if the string is utf-8 encoded or not - bugfix support of script files relative to trusted_dir 06/07/2010 - create exception on recursive {extends} calls - fixed reported line number at "unexpected closing tag " exception - bugfix on escape:'mail' modifier - drop exception if 'item' variable is equal 'from' variable in {foreach} tag 01/07/2010 - removed call_user_func_array calls for optimization of compiled code when using registered modifiers and plugins 25/06/2010 - bugfix escaping " when block tags are used within doublequoted strings 24/06/2010 - replace internal get_time() calls with standard PHP5 microtime(true) calls in Smarty_Internal_Utility - added $smarty->register->templateClass() and $smarty->unregister->templateClass() methods for supporting static classes with namespace 22/06/2010 - allow spaces between typecast and value in template syntax - bugfix get correct count of traversables in {foreach} tag 21/06/2010 - removed use of PHP shortags SMARTY_PHP_PASSTHRU mode - improved speed of cache->clear() when a compile_id was specified and use_sub_dirs is true 20/06/2010 - replace internal get_time() calls with standard PHP5 microtime(true) calls - closed security hole when php.ini asp_tags = on 18/06/2010 - added __toString method to the Smarty_Variable class 14/06/2010 - make handling of Smarty comments followed by newline BC to Smarty2 ===== RC2 ===== 13/06/2010 - bugfix Smarty3 did not handle hexadecimals like 0x0F as numerical value - bugifx Smarty3 did not accept numerical constants like .1 or 2. (without a leading or trailing digit) 11/06/2010 - bugfix the lexer did fail on larger {literal} ... {/literal} sections 03/06/2010 - bugfix on calling template functions like Smarty tags 01/06/2010 - bugfix on template functions used with template inheritance - removed /* vim: set expandtab: */ comments - bugfix of auto literal problem introduce with fix of 31/05/2010 31/05/2010 - bugfix the parser did not allow some smarty variables with special name like $for, $if, $else and others. 27/05/2010 - bugfix on object chaining using variable properties - make scope of {counter} and {cycle} tags again global as in Smarty2 26/05/2010 - bugfix removed decrepated register_resource call in smarty_internal_template.php 25/05/2010 - rewrite of template function handling to improve speed - bugfix on file dependency when merge_compiled_includes = true 16/05/2010 - bugfix when passing parameter with numeric name like {foo 1='bar' 2='blar'} 14/05/2010 - bugfix compile new config files if compile_check and force_compile = false - added variable static classes names to template syntax 11/05/2010 - bugfix make sure that the cache resource is loaded in all conditions when template methods getCached... are called externally - reverted the change 0f 30/04/2010. With the exception of forward references template functions can be again called by a standard tag. 10/05/2010 - bugfix on {foreach} and {for} optimizations of 27/04/2010 09/05/2010 - update of template and config file parser because of minor parser generator bugs 07/05/2010 - bugfix on {insert} 06/05/2010 - bugfix when merging compiled templates and objects are passed as parameter of the {include} tag 05/05/2010 - bugfix on {insert} to cache parameter - implementation of $smarty->default_modifiers as in Smarty2 - bugfix on getTemplateVars method 01/05/2010 - bugfix on handling of variable method names at object chaning 30/04/2010 - bugfix when comparing timestamps in sysplugins/smarty_internal_config.php - work around of a substr_compare bug in older PHP5 versions - bugfix on template in