[ Index ] |
PHP Cross Reference of vtigercrm-6.1.0 |
[Summary view] [Print] [Text view]
1 ===== Smarty-3.1.7 ===== 2 18.12.2011 3 - bugfix strings ending with " in multiline strings of config files failed to compile (isse #67) 4 - added chaining to Smarty_Internal_Templatebase 5 - changed unloadFilter() to not return a boolean in favor of chaining and API conformity 6 - bugfix unregisterObject() raised notice when object to unregister did not exist 7 - changed internals to use Smarty::$_MBSTRING ($_CHARSET, $_DATE_FORMAT) for better unit testing 8 - added Smarty::$_UTF8_MODIFIER for proper PCRE charset handling (Forum Topic 20452) 9 - added Smarty_Security::isTrustedUri() and Smarty_Security::$trusted_uri to validate 10 remote resource calls through {fetch} and {html_image} (Forum Topic 20627) 11 12 17.12.2011 13 - improvement of compiling speed by new handling of plain text blocks in the lexer/parser (issue #68) 14 15 16.12.2011 16 - bugfix the source exits flag and timestamp was not setup when template was in php include path (issue #69) 17 18 9.12.2011 19 - bugfix {capture} tags around recursive {include} calls did throw exception (Forum Topic 20549) 20 - bugfix $auto_literal = false did not work with { block} tags in child templates (Forum Topic 20581) 21 - bugfix template inheritance: do not include code of {include} in overloaded {block} into compiled 22 parent template (Issue #66} 23 - bugfix template inheritance: {$smarty.block.child} in nested child {block} tags did not return expected 24 result (Forum Topic 20564) 25 26 ===== Smarty-3.1.6 ===== 27 30.11.2011 28 - bugfix is_cache() for individual cached subtemplates with $smarty->caching = CACHING_OFF did produce 29 an exception (Forum Topic 20531) 30 31 29.11.2011 32 - bugfix added exception if the default plugin handler did return a not static callback (Forum Topic 20512) 33 34 25.11.2011 35 - bugfix {html_select_date} and {html_slecet_time} did not default to current time if "time" was not specified 36 since r4432 (issue 60) 37 38 24.11.2011 39 - bugfix a subtemplate later used as main template did use old variable values 40 41 21.11.2011 42 - bugfix cache file could include unneeded modifier plugins under certain condition 43 44 18.11.2011 45 - bugfix declare all directory properties private to map direct access to getter/setter also on extended Smarty class 46 47 16.11.2011 48 - bugfix Smarty_Resource::load() did not always return a proper resource handler (Forum Topic 20414) 49 - added escape argument to html_checkboxes and html_radios (Forum Topic 20425) 50 51 ===== Smarty-3.1.5 ===== 52 14.11.2011 53 - bugfix allow space between function name and open bracket (forum topic 20375) 54 55 09.11.2011 56 - bugfix different behaviour of uniqid() on cygwin. See https://bugs.php.net/bug.php?id=34908 57 (forum topic 20343) 58 59 01.11.2011 60 - bugfix {if} and {while} tags without condition did not throw a SmartyCompilerException (Issue #57) 61 - bugfix multiline strings in config files could fail on longer strings (reopened Issue #55) 62 63 22.10.2011 64 - bugfix smarty_mb_from_unicode() would not decode unicode-points properly 65 - bugfix use catch Exception instead UnexpectedValueException in 66 clearCompiledTemplate to be PHP 5.2 compatible 67 68 21.10.2011 69 - bugfix apostrophe in plugins_dir path name failed (forum topic 20199) 70 - improvement sha1() for array keys longer than 150 characters 71 - add Smarty::$allow_ambiguous_resources to activate unique resource handling (Forum Topic 20128) 72 73 20.10.2011 74 - @silenced unlink() in Smarty_Internal_Write_File since debuggers go haywire without it. 75 - bugfix Smarty::clearCompiledTemplate() threw an Exception if $cache_id was not present in $compile_dir when $use_sub_dirs = true. 76 - bugfix {html_select_date} and {html_select_time} did not properly handle empty time arguments (Forum Topic 20190) 77 - improvement removed unnecessary sha1() 78 79 19.10.2011 80 - revert PHP4 constructor message 81 - fixed PHP4 constructor message 82 83 ===== Smarty-3.1.4 ===== 84 19.10.2011 85 - added exception when using PHP4 style constructor 86 87 16.10.2011 88 - bugfix testInstall() did not propery check cache_dir and compile_dir 89 90 15.10.2011 91 - bugfix Smarty_Resource and Smarty_CacheResource runtime caching (Forum Post 75264) 92 93 14.10.2011 94 - bugfix unique_resource did not properly apply to compiled resources (Forum Topic 20128) 95 - add locking to custom resources (Forum Post 75252) 96 - add Smarty_Internal_Template::clearCache() to accompany isCached() fetch() etc. 97 98 13.10.2011 99 - add caching for config files in Smarty_Resource 100 - bugfix disable of caching after isCached() call did not work (Forum Topic 20131) 101 - add concept unique_resource to combat potentially ambiguous template_resource values when custom resource handlers are used (Forum Topic 20128) 102 - bugfix multiline strings in config files could fail on longer strings (Issue #55) 103 104 11.10.2011 105 - add runtime checks for not matching {capture}/{/capture} calls (Forum Topic 20120) 106 107 10.10.2011 108 - bugfix variable name typo in {html_options} and {html_checkboxes} (Issue #54) 109 - bugfix <?xml> tag did create wrong output when caching enabled and the tag was in included subtemplate 110 - bugfix Smarty_CacheResource_mysql example was missing strtotime() calls 111 112 ===== Smarty-3.1.3 ===== 113 07.10.2011 114 - improvement removed html comments from {mailto} (Forum Topic 20092) 115 - bugfix testInstall() would not show path to internal plugins_dir (Forum Post 74627) 116 - improvement testInstall() now showing resolved paths and checking the include_path if necessary 117 - bugfix html_options plugin did not handle object values properly (Issue #49, Forum Topic 20049) 118 - improvement html_checkboxes and html_radios to accept null- and object values, and label_ids attribute 119 - improvement removed some unnecessary count()s 120 - bugfix parent pointer was not set when fetch() for other template was called on template object 121 122 06.10.2011 123 - bugfix switch lexer internals depending on mbstring.func_overload 124 - bugfix start_year and end_year of {html_select_date} did not use current year as offset base (Issue #53) 125 126 05.10.2011 127 - bugfix of problem introduced with r4342 by replacing strlen() with isset() 128 - add environment configuration issue with mbstring.func_overload Smarty cannot compensate for (Issue #45) 129 - bugfix nofilter tag option did not disable default modifier 130 - bugfix html_options plugin did not handle null- and object values properly (Issue #49, Forum Topic 20049) 131 132 04.10.2011 133 - bugfix assign() in plugins called in subtemplates did change value also in parent template 134 - bugfix of problem introduced with r4342 on math plugin 135 - bugfix output filter should not run on individually cached subtemplates 136 - add unloadFilter() method 137 - bugfix has_nocache_code flag was not reset before compilation 138 139 ===== Smarty-3.1.2 ===== 140 03.10.2011 141 - improvement add internal $joined_template_dir property instead computing it on the fly several times 142 143 01.10.2011 144 - improvement replaced most in_array() calls by more efficient isset() on array_flip()ed haystacks 145 - improvement replaced some strlen($foo) > 3 calls by isset($foo[3]) 146 - improvement Smarty_Internal_Utility::clearCompiledTemplate() removed redundant strlen()s 147 148 29.09.2011 149 - improvement of Smarty_Internal_Config::loadConfigVars() dropped the in_array for index look up 150 151 28.09.2011 152 - bugfix on template functions called nocache calling other template functions 153 154 27.09.2011 155 - bugfix possible warning "attempt to modify property of non-object" in {section} (issue #34) 156 - added chaining to Smarty_Internal_Data so $smarty->assign('a',1)->assign('b',2); is possible now 157 - bugfix remove race condition when a custom resource did change timestamp during compilation 158 - bugfix variable property did not work on objects variable in template 159 - bugfix smarty_make_timestamp() failed to process DateTime objects properly 160 - bugfix wrong resource could be used on compile check of custom resource 161 162 26.09.2011 163 - bugfix repeated calls to same subtemplate did not make use of cached template object 164 165 24.09.2011 166 - removed internal muteExpectedErrors() calls in favor of having the implementor call this once from his application 167 - optimized muteExpectedErrors() to pass errors to the latest registered error handler, if appliccable 168 - added compile_dir and cache_dir to list of muted directories 169 - improvment better error message for undefined templates at {include} 170 171 23.09.2011 172 - remove unused properties 173 - optimization use real function instead anonymous function for preg_replace_callback 174 - bugfix a relative {include} in child template blocks failed 175 - bugfix direct setting of $template_dir, $config_dir, $plugins_dir in __construct() of an 176 extended Smarty class created problems 177 - bugfix error muting was not implemented for cache locking 178 179 ===== Smarty 3.1.1 ===== 180 22.09.2011 181 - bugfix {foreachelse} does fail if {section} was nested inside {foreach} 182 - bugfix debug.tpl did not display correctly when it was compiled with escape_html = true 183 184 21.09.2011 185 - bugfix look for mixed case plugin file names as in 3.0 if not found try all lowercase 186 - added $error_muting to suppress error messages even for badly implemented error_handlers 187 - optimized autoloader 188 - reverted ./ and ../ handling in fetch() and display() - they're allowed again 189 190 20.09.2011 191 - bugfix removed debug echo output while compiling template inheritance 192 - bugfix relative paths in $template_dir broke relative path resolving in {include "../foo.tpl"} 193 - bugfix {include} did not work inside nested {block} tags 194 - bugfix {assign} with scope root and global did not work in all cases 195 196 19.09.2011 197 - bugfix regression in Smarty_CacheReource_KeyValueStore introduced by r4261 198 - bugfix output filter shall not run on included subtemplates 199 200 18.09.2011 201 - bugfix template caching did not care about file.tpl in different template_dir 202 - bugfix {include $file} was broken when merge_compiled_incluges = true 203 - bugfix {include} was broken when merge_compiled_incluges = true and same indluded template 204 was used in different main templates in one compilation run 205 - bugfix for Smarty2 style compiler plugins on unnamed attribute passing like {tag $foo $bar} 206 - bugfix debug.tpl did not display correctly when it was compiled with escape_html = true 207 208 17.09.2011 209 - bugfix lock_id for file resource would create invalid filepath 210 - bugfix resource caching did not care about file.tpl in different template_dir 211 212 ===== Smarty 3.1.0 ===== 213 15/09/2011 214 - optimization of {foreach}; call internal _count() method only when "total" or "last" {foreach} properties are used 215 216 11/09/2011 217 - added unregisterObject() methode 218 219 06/09/2011 220 - bugfix isset() did not work in templates on config variables 221 222 03/09/2011 223 - bugfix createTemplate() must default to cache_id and compile_id of Smarty object 224 - bugfix Smarty_CacheResource_KeyValueStore must include $source->uid in cache filepath to keep templates with same 225 name but different folders seperated 226 - added cacheresource.apc.php example in demo folder 227 228 02/09/2011 229 - bugfix cache lock file must use absolute filepath 230 231 01/09/2011 232 - update of cache locking 233 234 30/08/2011 235 - added locking mechanism to CacheResource API (implemented with File and KeyValueStores) 236 237 28/08/2011 238 - bugfix clearCompileTemplate() did not work for specific template subfolder or resource 239 240 27/08/2011 241 - bugfix {$foo|bar+1} did create syntax error 242 243 26/08/2011 244 - bugfix when generating nocache code which contains double \ 245 - bugfix handle race condition if cache file was deleted between filemtime and include 246 247 17/08/2011 248 - bugfix CacheResource_Custom bad internal fetch() call 249 250 15/08/2011 251 - bugfix CacheResource would load content twice for KeyValueStore and Custom handlers 252 253 06/08/2011 254 - bugfix {include} with scope attribute could execute in wrong scope 255 - optimization of compile_check processing 256 257 03/08/2011 258 - allow comment tags to comment {block} tags out in child templates 259 260 26/07/2011 261 - bugfix experimental getTags() method did not work 262 263 24/07/2011 264 - sure opened output buffers are closed on exception 265 - bugfix {foreach} did not work on IteratorAggregate 266 267 22/07/2011 268 - clear internal caches on clearAllCache(), clearCache(), clearCompiledTemplate() 269 270 21/07/2011 271 - bugfix value changes of variable values assigned to Smarty object could not be seen on repeated $smarty->fetch() calls 272 273 17/07/2011 274 - bugfix {$smarty.block.child} did drop a notice at undefined child 275 276 15/07/2011 277 - bugfix individual cache_lifetime of {include} did not work correctly inside {block} tags 278 - added caches for Smarty_Template_Source and Smarty_Template_Compiled to reduce I/O for multiple cache_id rendering 279 280 14/07/2011 281 - made Smarty::loadPlugin() respect the include_path if required 282 283 13/07/2011 284 - optimized internal file write functionality 285 - bugfix PHP did eat line break on nocache sections 286 - fixed typo of Smarty_Security properties $allowed_modifiers and $disabled_modifiers 287 288 06/07/2011 289 - bugfix variable modifier must run befor gereral filtering/escaping 290 291 04/07/2011 292 - bugfix use (?P<name>) syntax at preg_match as some pcre libraries failed on (?<name>) 293 - some performance improvement when using generic getter/setter on template objects 294 295 30/06/2011 296 - bugfix generic getter/setter of Smarty properties used on template objects did throw exception 297 - removed is_dir and is_readable checks from directory setters for better performance 298 299 28/06/2011 300 - added back support of php template resource as undocumented feature 301 - bugfix automatic recompilation on version change could drop undefined index notice on old 3.0 cache and compiled files 302 - update of README_3_1_DEV.txt and moved into the distribution folder 303 - improvement show first characters of eval and string templates instead sha1 Uid in debug window 304 305 ===== Smarty 3.1-RC1 ===== 306 25/06/2011 307 - revert change of 17/06/2011. $_smarty varibale removed. call loadPlugin() from inside plugin code if required 308 - code cleanup, remove no longer used properties and methods 309 - update of PHPdoc comments 310 311 23/06/2011 312 - bugfix {html_select_date} would not respect current time zone 313 314 19/06/2011 315 - added $errors argument to testInstall() functions to suppress output. 316 - added plugin-file checks to testInstall() 317 318 18/06/2011 319 - bugfix mixed use of same subtemplate inline and not inline in same script could cause a warning during compilation 320 321 17/06/2011 322 - bugfix/change use $_smarty->loadPlugin() when loading nested depending plugins via loadPlugin 323 - bugfix {include ... inline} within {block}...{/block} did fail 324 325 16/06/2011 326 - bugfix do not overwrite '$smarty' template variable when {include ... scope=parent} is called 327 - bugfix complete empty inline subtemplates did fail 328 329 15/06/2011 330 - bugfix template variables where not accessable within inline subtemplates 331 332 12/06/2011 333 - bugfix removed unneeded merging of template variable when fetching includled subtemplates 334 335 10/06/2011 336 - made protected properties $template_dir, $plugins_dir, $cache_dir, $compile_dir, $config_dir accessible via magic methods 337 338 09/06/2011 339 - fix smarty security_policy issue in plugins {html_image} and {fetch} 340 341 05/06/2011 342 - update of SMARTY_VERSION 343 - bugfix made getTags() working again 344 345 04/06/2011 346 - allow extends resource in file attribute of {extends} tag 347 348 03/06/2011 349 - added {setfilter} tag to set filters for variable output 350 - added escape_html property to control autoescaping of variable output 351 352 27/05/2011 353 - added allowed/disabled tags and modifiers in security for sandboxing 354 355 23/05/2011 356 - added base64: and urlencode: arguments to eval and string resource types 357 358 22/05/2011 359 - made time-attribute of {html_select_date} and {html_select_time} accept arrays as defined by attributes prefix and field_array 360 361 13/05/2011 362 - remove setOption / getOption calls from SamrtyBC class 363 364 02/05/2011 365 - removed experimental setOption() getOption() methods 366 - output returned content also on opening tag calls of block plugins 367 - rewrite of default plugin handler 368 - compile code of variable filters for better performance 369 370 20/04/2011 371 - allow {php} {include_php} tags and PHP_ALLOW handling only with the SmartyBC class 372 - removed support of php template resource 373 374 20/04/2011 375 - added extendsall resource example 376 - optimization of template variable access 377 - optimization of subtemplate handling {include} 378 - optimization of template class 379 380 01/04/2011 381 - bugfix quote handling in capitalize modifier 382 383 28/03/2011 384 - bugfix stripslashes() requried when using PCRE e-modifier 385 386 04/03/2011 387 - upgrade to new PHP_LexerGenerator version 0.4.0 for better performance 388 389 27/02/2011 390 - ignore .svn folders when clearing cache and compiled files 391 - string resources do not need a modify check 392 393 26/02/2011 394 - replaced smarty_internal_wrapper by SmartyBC class 395 - load utility functions as static methods instead through __call() 396 - bugfix in extends resource when subresources are used 397 - optimization of modify checks 398 399 25/02/2011 400 - use $smarty->error_unassigned to control NOTICE handling on unassigned variables 401 402 21/02/2011 403 - added new new compile_check mode COMPILECHECK_CACHEMISS 404 - corrected new cloning behaviour of createTemplate() 405 - do no longer store the compiler object as property in the compile_tag classes to avoid possible memory leaks 406 during compilation 407 408 19/02/2011 409 - optimizations on merge_compiled_includes handling 410 - a couple of optimizations and bugfixes related to new resource structure 411 412 17/02/2011 413 - changed ./ and ../ behaviour 414 415 14/02/2011 416 - added {block ... hide} option to supress block if no child is defined 417 418 13/02/2011 419 - update handling of recursive subtemplate calls 420 - bugfix replace $smarty->triggerError() by exception in smarty_internal_resource_extends.php 421 422 12/02/2011 423 - new class Smarty_Internal_TemplateBase with shared methods of Smarty and Template objects 424 - optimizations of template processing 425 - made register... methods permanet 426 - code for default_plugin_handler 427 - add automatic recompilation at version change 428 429 04/02/2011 430 - change in Smarty_CacheResource_Custom 431 - bugfix cache_lifetime did not compile correctly at {include} after last update 432 - moved isCached processing into CacheResource class 433 - bugfix new CacheResource API did not work with disabled compile_check 434 435 03/02/2011 436 - handle template content as function to improve speed on multiple calls of same subtemplate and isCached()/display() calls 437 - bugfixes and improvents in the new resource API 438 - optimizations of template class code 439 440 25/01/2011 441 - optimized function html_select_time 442 443 22/01/2011 444 - added Smarty::$use_include_path configuration directive for Resource API 445 446 21/01/2011 447 - optimized function html_select_date 448 449 19/01/2011 450 - optimized outputfilter trimwhitespace 451 452 18/01/2011 453 - bugfix Config to use Smarty_Resource to fetch sources 454 - optimized Smarty_Security's isTrustedDir() and isTrustedPHPDir() 455 456 17/01/2011 457 - bugfix HTTP headers for CGI SAPIs 458 459 16/01/2011 460 - optimized internals of Smarty_Resource and Smarty_CacheResource 461 462 14/01/2011 463 - added modifiercompiler escape to improve performance of escaping html, htmlall, url, urlpathinfo, quotes, javascript 464 - added support to choose template_dir to load from: [index]filename.tpl 465 466 12/01/2011 467 - added unencode modifier to revert results of encode modifier 468 - added to_charset and from_charset modifier for character encoding 469 470 11/01/2011 471 - added SMARTY_MBSTRING to generalize MBString detection 472 - added argument $lc_rest to modifier.capitalize to lower-case anything but the first character of a word 473 - changed strip modifier to consider unicode white-space, too 474 - changed wordwrap modifier to accept UTF-8 strings 475 - changed count_sentences modifier to consider unicode characters and treat sequences delimited by ? and ! as sentences, too 476 - added argument $double_encode to modifier.escape (applies to html and htmlall only) 477 - changed escape modifier to be UTF-8 compliant 478 - changed textformat block to be UTF-8 compliant 479 - optimized performance of mailto function 480 - fixed spacify modifier so characters are not prepended and appended, made it unicode compatible 481 - fixed truncate modifier to properly use mb_string if possible 482 - removed UTF-8 frenzy from count_characters modifier 483 - fixed count_words modifier to treat "hello-world" as a single word like str_count_words() does 484 - removed UTF-8 frenzy from upper modifier 485 - removed UTF-8 frenzy from lower modifier 486 487 01/01/2011 488 - optimize smarty_modified_escape for hex, hexentity, decentity. 489 490 28/12/2010 491 - changed $tpl_vars, $config_vars and $parent to belong to Smarty_Internal_Data 492 - added Smarty::registerCacheResource() for dynamic cache resource object registration 493 494 27/12/2010 495 - added Smarty_CacheResource API and refactored existing cache resources accordingly 496 - added Smarty_CacheResource_Custom and Smarty_CacheResource_Mysql 497 498 26/12/2010 499 - added Smarty_Resource API and refactored existing resources accordingly 500 - added Smarty_Resource_Custom and Smarty_Resource_Mysql 501 - bugfix Smarty::createTemplate() to return properly cloned template instances 502 503 24/12/2010 504 - optimize smarty_function_escape_special_chars() for PHP >= 5.2.3 505 506 ===== SVN 3.0 trunk ===== 507 14/05/2011 508 - bugfix error handling at stream resources 509 510 13/05/2011 511 - bugfix condition starting with "-" did fail at {if} and {while} tags 512 513 22/04/2011 514 - bugfix allow only fixed string as file attribute at {extends} tag 515 516 01/04/2011 517 - bugfix do not run filters and default modifier when displaying the debug template 518 - bugfix of embedded double quotes within multi line strings (""") 519 520 29/03/2011 521 - bugfix on error message in smarty_internal_compile_block.php 522 - bugfix mb handling in strip modifier 523 - bugfix for Smarty2 style registered compiler function on unnamed attribute passing like {tag $foo $bar} 524 525 17/03/2011 526 - bugfix on default {function} parameters when {function} was used in nocache sections 527 - bugfix on compiler object destruction. compiler_object property was by mistake unset. 528 529 09/03/2011 530 -bugfix a variable filter should run before modifers on an output tag (see change of 23/07/2010) 531 532 08/03/2011 533 - bugfix loading config file without section should load only defaults 534 535 03/03/2011 536 - bugfix "smarty" template variable was not recreated when cached templated had expired 537 - bugfix internal rendered_content must be cleared after subtemplate was included 538 539 01/03/2011 540 - bugfix replace modifier did not work in 3.0.7 on systems without multibyte support 541 - bugfix {$smarty.template} could return in 3.0.7 parent template name instead of 542 child name when it needed to compile 543 544 25/02/2011 545 - bugfix for Smarty2 style compiler plugins on unnamed attribute passing like {tag $foo $bar} 546 547 24/02/2011 548 - bugfix $smarty->clearCache('some.tpl') did by mistake cache the template object 549 550 18/02/2011 551 - bugfix removed possible race condition when isCached() was called for an individually cached subtemplate 552 - bugfix force default debug.tpl to be loaded by the file resource 553 554 17/02/2011 555 -improvement not to delete files starting with '.' from cache and template_c folders on clearCompiledTemplate() and clearCache() 556 557 16/02/2011 558 -fixed typo in exception message of Smarty_Internal_Template 559 -improvement allow leading spaces on } tag closing if auto_literal is enabled 560 561 13/02/2011 562 - bufix replace $smarty->triggerError() by exception 563 - removed obsolete {popup_init..} plugin from demo templates 564 - bugfix replace $smarty->triggerError() by exception in smarty_internal_resource_extends.php 565 566 ===== Smarty 3.0.7 ===== 567 09/02/2011 568 - patched vulnerability when using {$smarty.template} 569 570 01/02/2011 571 - removed assert() from config and template parser 572 573 31/01/2011 574 - bugfix the lexer/parser did fail on special characters like VT 575 576 16/01/2011 577 -bugfix of ArrayAccess object handling in internal _count() method 578 -bugfix of Iterator object handling in internal _count() method 579 580 14/01/2011 581 -bugfix removed memory leak while processing compileAllTemplates 582 583 12/01/2011 584 - bugfix in {if} and {while} tag compiler when using assignments as condition and nocache mode 585 586 10/01/2011 587 - bugfix when using {$smarty.block.child} and name of {block} was in double quoted string 588 - bugfix updateParentVariables() was called twice when leaving {include} processing 589 590 - bugfix mb_str_replace in replace and escape modifiers work with utf8 591 592 31/12/2010 593 - bugfix dynamic configuration of $debugging_crtl did not work 594 - bugfix default value of $config_read_hidden changed to false 595 - bugfix format of attribute array on compiler plugins 596 - bugfix getTemplateVars() could return value from wrong scope 597 598 28/12/2010 599 - bugfix multiple {append} tags failed to compile. 600 601 22/12/2010 602 - update do not clone the Smarty object an internal createTemplate() calls to increase performance 603 604 21/12/2010 605 - update html_options to support class and id attrs 606 607 17/12/2010 608 - bugfix added missing support of $cache_attrs for registered plugins 609 610 15/12/2010 611 - bugfix assignment as condition in {while} did drop an E_NOTICE 612 613 14/12/2010 614 - bugfix when passing an array as default parameter at {function} tag 615 616 13/12/2010 617 - bugfix {$smarty.template} in child template did not return right content 618 - bugfix Smarty3 did not search the PHP include_path for template files 619 620 ===== Smarty 3.0.6 ===== 621 622 12/12/2010 623 - bugfix fixed typo regarding yesterdays change to allow streamWrapper 624 625 11/12/2010 626 - bugfix nested block tags in template inheritance child templates did not work correctly 627 - bugfix {$smarty.current_dir} in child template did not point to dir of child template 628 - bugfix changed code when writing temporary compiled files to allow stream_wrapper 629 630 06/12/2010 631 - bugfix getTemplateVars() should return 'null' instead dropping E_NOTICE on an unassigned variable 632 633 05/12/2010 634 - bugfix missing declaration of $smarty in Smarty class 635 - bugfix empty($foo) in {if} did drop a notice when $foo was not assigned 636 637 01/12/2010 638 - improvement of {debug} tag output 639 640 27/11/2010 641 -change run output filter before cache file is written. (same as in Smarty2) 642 643 24/11/2011 644 -bugfix on parser at !$foo|modifier 645 -change parser logic when assignments used as condition in {if] and {while} to allow assign to array element 646 647 23/11/2011 648 -bugfix allow integer as attribute name in plugin calls 649 -change trimm whitespace from error message, removed long list of expected tokens 650 651 22/11/2010 652 - bugfix on template inheritance when an {extends} tag was inserted by a prefilter 653 - added error message for illegal variable file attributes at {extends...} tags 654 655 ===== Smarty 3.0.5 ===== 656 657 658 19/11/2010 659 - bugfix on block plugins with modifiers 660 661 18/11/2010 662 - change on handling of unassigned template variable -- default will drop E_NOTICE 663 - bugfix on Smarty2 wrapper load_filter() did not work 664 665 17/11/2010 666 - bugfix on {call} with variable function name 667 - bugfix on {block} if name did contain '-' 668 - bugfix in function.fetch.php , referece to undefined $smarty 669 670 16/11/2010 671 - bugfix whitespace in front of "<?php" in smarty_internal_compile_private_block_plugin.php 672 - bugfix {$smarty.now} did compile incorrectly 673 - bugfix on reset(),end(),next(),prev(),current() within templates 674 - bugfix on default parameter for {function} 675 676 15/11/2010 677 - bugfix when using {$smarty.session} as object 678 - bugfix scoping problem on $smarty object passed to filters 679 - bugfix captured content could not be accessed globally 680 - bugfix Smarty2 wrapper functions could not be call from within plugins 681 682 ===== Smarty 3.0.4 ===== 683 684 14/11/2010 685 - bugfix isset() did not allow multiple parameter 686 - improvment of some error messages 687 - bugfix html_image did use removed property $request_use_auto_globals 688 - small performace patch in Smarty class 689 690 13/11/2010 691 - bugfix overloading problem when $smarty->fetch()/display() have been used in plugins 692 (introduced with 3.0.2) 693 - code cleanup 694 695 ===== Smarty 3.0.3 ===== 696 697 13/11/2010 698 - bugfix on {debug} 699 - reverted location of loadPlugin() to Smarty class 700 - fixed comments in plugins 701 - fixed internal_config (removed unwanted code line) 702 - improvement remove last linebreak from {function} definition 703 704 ===== Smarty 3.0.2 ===== 705 706 12/11/2010 707 - reactivated $error_reporting property handling 708 - fixed typo in compile_continue 709 - fixed security in {fetch} plugin 710 - changed back plugin parameters to two. second is template object 711 with transparent access to Smarty object 712 - fixed {config_load} scoping form compile time to run time 713 714 ===== Smarty 3.0.0 ===== 715 716 717 718 11/11/2010 719 - major update including some API changes 720 721 10/11/2010 722 - observe compile_id also for config files 723 724 09/11/2010 725 -bugfix on complex expressions as start value for {for} tag 726 request_use_auto_globals 727 04/11/2010 728 - bugfix do not allow access of dynamic and private object members of assigned objects when 729 security is enabled. 730 731 01/11/2010 732 - bugfix related to E_NOTICE change. {if empty($foo)} did fail when $foo contained a string 733 734 28/10/2010 735 - bugfix on compiling modifiers within $smarty special vars like {$smarty.post.{$foo|lower}} 736 737 27/10/2010 738 - bugfix default parameter values did not work for template functions included with {include} 739 740 25/10/2010 741 - bugfix for E_NOTICE change, array elements did not work as modifier parameter 742 743 20/10/2010 744 - bugfix for the E_NOTICE change 745 746 19/10/2010 747 - change Smarty does no longer mask out E_NOTICE by default during template processing 748 749 13/10/2010 750 - bugfix removed ambiguity between ternary and stream variable in template syntax 751 - bugfix use caching properties of template instead of smarty object when compiling child {block} 752 - bugfix {*block}...{/block*} did throw an exception in template inheritance 753 - bugfix on template inheritance using nested eval or string resource in {extends} tags 754 - bugfix on output buffer handling in isCached() method 755 756 ===== RC4 ===== 757 758 01/10/2010 759 - added {break} and {continue} tags for flow control of {foreach},{section},{for} and {while} loops 760 - change of 'string' resource. It's no longer evaluated and compiled files are now stored 761 - new 'eval' resource which evaluates a template without saving the compiled file 762 - change in isCached() method to allow multiple calls for the same template 763 764 25/09/2010 765 - bugfix on some compiling modifiers 766 767 24/09/2010 768 - bugfix merge_compiled_includes flag was not restored correctly in {block} tag 769 770 22/09/2010 771 - bugfix on default modifier 772 773 18/09/2010 774 - bugfix untility compileAllConfig() did not create sha1 code for compiled template file names if template_dir was defined with no trailing DS 775 - bugfix on templateExists() for extends resource 776 777 17/09/2010 778 - bugfix {$smarty.template} and {$smarty.current_dir} did not compile correctly within {block} tags 779 - bugfix corrected error message on missing template files in extends resource 780 - bugfix untility compileAllTemplates() did not create sha1 code for compiled template file names if template_dir was defined with no trailing DS 781 782 16/09/2010 783 - bugfix when a doublequoted modifier parameter did contain Smarty tags and ':' 784 785 15/09/2010 786 - bugfix resolving conflict between '<%'/'%>' as custom Smarty delimiter and ASP tags 787 - use ucfirst for resource name on internal resource class names 788 789 12/09/2010 790 - bugfix for change of 08/09/2010 (final {block} tags in subtemplates did not produce correct results) 791 792 10/09/2010 793 - bugfix for change of 08/09/2010 (final {block} tags in subtemplates did not produce correct results) 794 795 08/09/2010 796 - allow multiple template inheritance branches starting in subtemplates 797 798 07/09/2010 799 - bugfix {counter} and {cycle} plugin assigned result to smarty variable not in local(template) scope 800 - bugfix templates containing just {strip} {/strip} tags did produce an error 801 802 803 23/08/2010 804 - fixed E_STRICT errors for uninitialized variables 805 806 22/08/2010 807 - added attribute cache_id to {include} tag 808 809 13/08/2010 810 - remove exception_handler property from Smarty class 811 - added Smarty's own exceptions SmartyException and SmartyCompilerException 812 813 09/08/2010 814 - bugfix on modifier with doublequoted strings as parameter containing embedded tags 815 816 06/08/2010 817 - bugfix when cascading some modifier like |strip|strip_tags modifier 818 819 05/08/2010 820 - added plugin type modifiercompiler to produce compiled modifier code 821 - changed standard modifier plugins to the compiling versions whenever possible 822 - bugfix in nocache sections {include} must not cache the subtemplate 823 824 02/08/2010 825 - bugfix strip did not work correctly in conjunction with comment lines 826 827 31/07/2010 828 - bugfix on nocache attribute at {assign} and {append} 829 830 30/07/2010 831 - bugfix passing scope attributes in doublequoted strings did not work at {include} {assign} and {append} 832 833 25/07/2010 834 - another bugfix of change from 23/07/2010 when compiling modifer 835 836 24/07/2010 837 - bugfix of change from 23/07/2010 when compiling modifer 838 839 23/07/2010 840 - changed execution order. A variable filter does now run before modifiers on output of variables 841 - bugfix use always { and } as delimiter for debug.tpl 842 843 844 22/07/2010 845 - bugfix in templateExists() methode 846 847 20/07/2010 848 - fixed handling of { strip } tag with whitespaces 849 850 15/07/2010 851 - bufix {$smarty.template} does include now the relative path, not just filename 852 853 ===== RC3 ===== 854 855 856 857 858 15/07/2010 859 - make the date_format modifier work also on objects of the DateTime class 860 - implementation of parsetrees in the parser to close security holes and remove unwanted empty line in HTML output 861 862 08/07/2010 863 - bugfix on assigning multidimensional arrays within templates 864 - corrected bugfix for truncate modifier 865 866 07/07/2010 867 - bugfix the truncate modifier needs to check if the string is utf-8 encoded or not 868 - bugfix support of script files relative to trusted_dir 869 870 06/07/2010 871 - create exception on recursive {extends} calls 872 - fixed reported line number at "unexpected closing tag " exception 873 - bugfix on escape:'mail' modifier 874 - drop exception if 'item' variable is equal 'from' variable in {foreach} tag 875 876 01/07/2010 877 - removed call_user_func_array calls for optimization of compiled code when using registered modifiers and plugins 878 879 25/06/2010 880 - bugfix escaping " when block tags are used within doublequoted strings 881 882 24/06/2010 883 - replace internal get_time() calls with standard PHP5 microtime(true) calls in Smarty_Internal_Utility 884 - added $smarty->register->templateClass() and $smarty->unregister->templateClass() methods for supporting static classes with namespace 885 886 887 22/06/2010 888 - allow spaces between typecast and value in template syntax 889 - bugfix get correct count of traversables in {foreach} tag 890 891 21/06/2010 892 - removed use of PHP shortags SMARTY_PHP_PASSTHRU mode 893 - improved speed of cache->clear() when a compile_id was specified and use_sub_dirs is true 894 895 20/06/2010 896 - replace internal get_time() calls with standard PHP5 microtime(true) calls 897 - closed security hole when php.ini asp_tags = on 898 899 18/06/2010 900 - added __toString method to the Smarty_Variable class 901 902 903 14/06/2010 904 - make handling of Smarty comments followed by newline BC to Smarty2 905 906 907 ===== RC2 ===== 908 909 910 911 13/06/2010 912 - bugfix Smarty3 did not handle hexadecimals like 0x0F as numerical value 913 - bugifx Smarty3 did not accept numerical constants like .1 or 2. (without a leading or trailing digit) 914 915 11/06/2010 916 - bugfix the lexer did fail on larger {literal} ... {/literal} sections 917 918 03/06/2010 919 - bugfix on calling template functions like Smarty tags 920 921 01/06/2010 922 - bugfix on template functions used with template inheritance 923 - removed /* vim: set expandtab: */ comments 924 - bugfix of auto literal problem introduce with fix of 31/05/2010 925 926 31/05/2010 927 - bugfix the parser did not allow some smarty variables with special name like $for, $if, $else and others. 928 929 27/05/2010 930 - bugfix on object chaining using variable properties 931 - make scope of {counter} and {cycle} tags again global as in Smarty2 932 933 26/05/2010 934 - bugfix removed decrepated register_resource call in smarty_internal_template.php 935 936 25/05/2010 937 - rewrite of template function handling to improve speed 938 - bugfix on file dependency when merge_compiled_includes = true 939 940 941 16/05/2010 942 - bugfix when passing parameter with numeric name like {foo 1='bar' 2='blar'} 943 944 14/05/2010 945 - bugfix compile new config files if compile_check and force_compile = false 946 - added variable static classes names to template syntax 947 948 11/05/2010 949 - bugfix make sure that the cache resource is loaded in all conditions when template methods getCached... are called externally 950 - reverted the change 0f 30/04/2010. With the exception of forward references template functions can be again called by a standard tag. 951 952 10/05/2010 953 - bugfix on {foreach} and {for} optimizations of 27/04/2010 954 955 09/05/2010 956 - update of template and config file parser because of minor parser generator bugs 957 958 07/05/2010 959 - bugfix on {insert} 960 961 06/05/2010 962 - bugfix when merging compiled templates and objects are passed as parameter of the {include} tag 963 964 05/05/2010 965 - bugfix on {insert} to cache parameter 966 - implementation of $smarty->default_modifiers as in Smarty2 967 - bugfix on getTemplateVars method 968 969 01/05/2010 970 - bugfix on handling of variable method names at object chaning 971 972 30/04/2010 973 - bugfix when comparing timestamps in sysplugins/smarty_internal_config.php 974 - work around of a substr_compare bug in older PHP5 versions 975 - bugfix on template inheritance for tag names starting with "block" 976 - bugfix on {function} tag with name attribute in doublequoted strings 977 - fix to make calling of template functions unambiguously by madatory usage of the {call} tag 978 979 ===== RC1 ===== 980 981 27/04/2010 982 - change default of $debugging_ctrl to 'NONE' 983 - optimization of compiled code of {foreach} and {for} loops 984 - change of compiler for config variables 985 986 27/04/2010 987 - bugfix in $smarty->cache->clear() method. (do not cache template object) 988 989 990 17/04/2010 991 - security fix in {math} plugin 992 993 994 12/04/2010 995 - bugfix in smarty_internal_templatecompilerbase (overloaded property) 996 - removed parser restrictions in using true,false and null as ID 997 998 07/04/2010 999 - bugfix typo in smarty_internal_templatecompilerbase 1000 1001 31/03/2010 1002 - compile locking by touching old compiled files to avoid concurrent compilations 1003 1004 29/03/2010 1005 - bugfix allow array definitions as modifier parameter 1006 - bugfix observe compile_check property when loading config files 1007 - added the template object as third filter parameter 1008 1009 25/03/2010 1010 - change of utility->compileAllTemplates() log messages 1011 - bugfix on nocache code in {function} tags 1012 - new method utility->compileAllConfig() to compile all config files 1013 1014 24/03/2010 1015 - bugfix on register->modifier() error messages 1016 1017 23/03/2010 1018 - bugfix on template inheritance when calling multiple child/parent relations 1019 - bugfix on caching mode SMARTY_CACHING_LIFETIME_SAVED and cache_lifetime = 0 1020 1021 22/03/2010 1022 - bugfix make directory separator operating system independend in compileAllTemplates() 1023 1024 21/03/2010 1025 - removed unused code in compileAllTemplates() 1026 1027 19/03/2010 1028 - bugfix for multiple {/block} tags on same line 1029 1030 17/03/2010 1031 - bugfix make $smarty->cache->clear() function independent from caching status 1032 1033 16/03/2010 1034 - bugfix on assign attribute at registered template objects 1035 - make handling of modifiers on expression BC to Smarty2 1036 1037 15/03/2010 1038 - bugfix on block plugin calls 1039 1040 11/03/2010 1041 - changed parsing of <?php and ?> back to Smarty2 behaviour 1042 1043 08/03/2010 1044 - bugfix on uninitialized properties in smarty_internal_template 1045 - bugfix on $smarty->disableSecurity() 1046 1047 04/03/2010 1048 - bugfix allow uppercase chars in registered resource names 1049 - bugfix on accessing chained objects of static classes 1050 1051 01/03/2010 1052 - bugfix on nocache code in {block} tags if child template was included by {include} 1053 1054 27/02/2010 1055 - allow block tags inside double quoted string 1056 1057 26/02/2010 1058 - cache modified check implemented 1059 - support of access to a class constant from an object (since PHP 5.3) 1060 1061 24/02/2010 1062 - bugfix on expressions in doublequoted string enclosed in backticks 1063 - added security property $static_classes for static class security 1064 1065 18/02/2010 1066 - bugfix on parsing Smarty tags inside <?xml ... ?> 1067 - bugfix on truncate modifier 1068 1069 17/02/2010 1070 - removed restriction that modifiers did require surrounding parenthesis in some cases 1071 - added {$smarty.block.child} special variable for template inheritance 1072 1073 16/02/2010 1074 - bugfix on <?xml ... ?> tags for all php_handling modes 1075 - bugfix on parameter of variablefilter.htmlspecialchars.php plugin 1076 1077 14/02/2010 1078 - added missing _plugins property in smarty.class.php 1079 - bugfix $smarty.const... inside doublequoted strings and backticks was compiled into wrong PHP code 1080 1081 12/02/2010 1082 - bugfix on nested {block} tags 1083 - changed Smarty special variable $smarty.parent to $smarty.block.parent 1084 - added support of nested {bock} tags 1085 1086 10/02/2010 1087 - avoid possible notice on $smarty->cache->clear(...), $smarty->clear_cache(....) 1088 - allow Smarty tags inside <? ... ?> tags in SMARTY_PHP_QUOTE and SMARTY_PHP_PASSTHRU mode 1089 - bugfix at new "for" syntax like {for $x=1 to 10 step 2} 1090 1091 09/02/2010 1092 - added $smarty->_tag_stack for tracing block tag hierarchy 1093 1094 08/02/2010 1095 - bugfix use template fullpath at §smarty->cache->clear(...), $smarty->clear_cache(....) 1096 - bugfix of cache filename on extended templates when force_compile=true 1097 1098 07/02/2010 1099 - bugfix on changes of 05/02/2010 1100 - preserve line endings type form template source 1101 - API changes (see README file) 1102 1103 05/02/2010 1104 - bugfix on modifier and block plugins with same name 1105 1106 02/02/2010 1107 - retaining newlines at registered functions and function plugins 1108 1109 01/25/2010 1110 - bugfix cache resource was not loaded when caching was globally off but enabled at a template object 1111 - added test that $_SERVER['SCRIPT_NAME'] does exist in Smarty.class.php 1112 1113 01/22/2010 1114 - new method $smarty->createData([$parent]) for creating a data object (required for bugfixes below) 1115 - bugfix config_load() method now works also on a data object 1116 - bugfix get_config_vars() method now works also on a data and template objects 1117 - bugfix clear_config() method now works also on a data and template objects 1118 1119 01/19/2010 1120 - bugfix on plugins if same plugin was called from a nocache section first and later from a cached section 1121 1122 1123 ###beta 7### 1124 1125 1126 01/17/2010 1127 - bugfix on $smarty.const... in double quoted strings 1128 1129 01/16/2010 1130 - internal change of config file lexer/parser on handling of section names 1131 - bugfix on registered objects (format parameter of register_object was not handled correctly) 1132 1133 01/14/2010 1134 - bugfix on backslash within single quoted strings 1135 - bugfix allow absolute filepath for config files 1136 - bugfix on special Smarty variable $smarty.cookies 1137 - revert handling of newline on no output tags like {if...} 1138 - allow special characters in config file section names for Smarty2 BC 1139 1140 01/13/2010 1141 - bugfix on {if} tags 1142 1143 01/12/2010 1144 - changed back modifer handling in parser. Some restrictions still apply: 1145 if modifiers are used in side {if...} expression or in mathematical expressions 1146 parentheses must be used. 1147 - bugfix the {function..} tag did not accept the name attribute in double quotes 1148 - closed possible security hole at <?php ... ?> tags 1149 - bugfix of config file parser on large config files 1150 1151 1152 ###beta 6#### 1153 1154 01/11/2010 1155 - added \n to the compiled code of the {if},{else},{elseif},{/if} tags to get output of newlines as expected by the template source 1156 - added missing support of insert plugins 1157 - added optional nocache attribute to {block} tags in parent template 1158 - updated <?php...?> handling supporting now heredocs and newdocs. (thanks to Thue Jnaus Kristensen) 1159 1160 01/09/2010 1161 - bugfix on nocache {block} tags in parent templates 1162 1163 01/08/2010 1164 - bugfix on variable filters. filter/nofilter attributes did not work on output statements 1165 1166 01/07/2010 1167 - bugfix on file dependency at template inheritance 1168 - bugfix on nocache code at template inheritance 1169 1170 01/06/2010 1171 - fixed typo in smarty_internal_resource_registered 1172 - bugfix for custom delimiter at extends resource and {extends} tag 1173 1174 01/05/2010 1175 - bugfix sha1() calculations at extends resource and some general improvments on sha1() handling 1176 1177 1178 01/03/2010 1179 - internal change on building cache files 1180 1181 01/02/2010 1182 - update cached_timestamp at the template object after cache file is written to avoid possible side effects 1183 - use internally always SMARTY_CACHING_LIFETIME_* constants 1184 1185 01/01/2010 1186 - bugfix for obtaining plugins which must be included (related to change of 12/30/2009) 1187 - bugfix for {php} tag (trow an exception if allow_php_tag = false) 1188 1189 12/31/2009 1190 - optimization of generated code for doublequoted strings containing variables 1191 - rewrite of {function} tag handling 1192 - can now be declared in an external subtemplate 1193 - can contain nocache sections (nocache_hash handling) 1194 - can be called in noccache sections (nocache_hash handling) 1195 - new {call..} tag to call template functions with a variable name {call name=$foo} 1196 - fixed nocache_hash handling in merged compiled templates 1197 1198 12/30/2009 1199 - bugfix for plugins defined in the script as smarty_function_foo 1200 1201 12/29/2009 1202 - use sha1() for filepath encoding 1203 - updates on nocache_hash handling 1204 - internal change on merging some data 1205 - fixed cache filename for custom resources 1206 1207 12/28/2009 1208 - update for security fixes 1209 - make modifier plugins always trusted 1210 - fixed bug loading modifiers in child template at template inheritance 1211 1212 12/27/2009 1213 --- this is a major update with a couple of internal changes --- 1214 - new config file lexer/parser (thanks to Thue Jnaus Kristensen) 1215 - template lexer/parser fixes for PHP and {literal} handing (thanks to Thue Jnaus Kristensen) 1216 - fix on registered plugins with different type but same name 1217 - rewrite of plugin handling (optimized execution speed) 1218 - closed a security hole regarding PHP code injection into cache files 1219 - fixed bug in clear cache handling 1220 - Renamed a couple of internal classes 1221 - code cleanup for merging compiled templates 1222 - couple of runtime optimizations (still not all done) 1223 - update of getCachedTimestamp() 1224 - fixed bug on modifier plugins at nocache output 1225 1226 12/19/2009 1227 - bugfix on comment lines in config files 1228 1229 12/17/2009 1230 - bugfix of parent/global variable update at included/merged subtemplates 1231 - encode final template filepath into filename of compiled and cached files 1232 - fixed {strip} handling in auto literals 1233 1234 12/16/2009 1235 - update of changelog 1236 - added {include file='foo.tpl' inline} inline option to merge compiled code of subtemplate into the calling template 1237 1238 12/14/2009 1239 - fixed sideefect of last modification (objects in array index did not work anymore) 1240 1241 12/13/2009 1242 - allow boolean negation ("!") as operator on variables outside {if} tag 1243 1244 12/12/2009 1245 - bugfix on single quotes inside {function} tag 1246 - fix short append/prepend attributes in {block} tags 1247 1248 12/11/2009 1249 - bugfix on clear_compiled_tpl (avoid possible warning) 1250 1251 12/10/2009 1252 - bugfix on {function} tags and template inheritance 1253 1254 12/05/2009 1255 - fixed problem when a cached file was fetched several times 1256 - removed unneeded lexer code 1257 1258 12/04/2009 1259 - added max attribute to for loop 1260 - added security mode allow_super_globals 1261 1262 12/03/2009 1263 - template inheritance: child templates can now call functions defined by the {function} tag in the parent template 1264 - added {for $foo = 1 to 5 step 2} syntax 1265 - bugfix for {$foo.$x.$y.$z} 1266 1267 12/01/2009 1268 - fixed parsing of names of special formated tags like if,elseif,while,for,foreach 1269 - removed direct access to constants in templates because of some syntax problems 1270 - removed cache resource plugin for mysql from the distribution 1271 - replaced most hard errors (exceptions) by softerrors(trigger_error) in plugins 1272 - use $template_class property for template class name when compiling {include},{eval} and {extends} tags 1273 1274 11/30/2009 1275 - map 'true' to SMARTY_CACHING_LIFETIME_CURRENT for the $smarty->caching parameter 1276 - allow {function} tags within {block} tags 1277 1278 11/28/2009 1279 - ignore compile_id at debug template 1280 - added direct access to constants in templates 1281 - some lexer/parser optimizations 1282 1283 11/27/2009 1284 - added cache resource MYSQL plugin 1285 1286 11/26/2009 1287 - bugfix on nested doublequoted strings 1288 - correct line number on unknown tag error message 1289 - changed {include} compiled code 1290 - fix on checking dynamic varibales with error_unassigned = true 1291 1292 11/25/2009 1293 - allow the following writing for boolean: true, TRUE, True, false, FALSE, False 1294 - {strip} tag functionality rewritten 1295 1296 11/24/2009 1297 - bugfix for $smarty->config_overwrite = false 1298 1299 11/23/2009 1300 - suppress warnings on unlink caused by race conditions 1301 - correct line number on unknown tag error message 1302 1303 ------- beta 5 1304 11/23/2009 1305 - fixed configfile parser for text starting with a numeric char 1306 - the default_template_handler_func may now return a filepath to a template source 1307 1308 11/20/2009 1309 - bugfix for empty config files 1310 - convert timestamps of registered resources to integer 1311 1312 11/19/2009 1313 - compiled templates are no longer touched with the filemtime of template source 1314 1315 11/18/2009 1316 - allow integer as attribute name in plugin calls 1317 1318 ------- beta 4 1319 11/18/2009 1320 - observe umask settings when setting file permissions 1321 - avoide unneeded cache file creation for subtemplates which did occur in some situations 1322 - make $smarty->_current_file available during compilation for Smarty2 BC 1323 1324 11/17/2009 1325 - sanitize compile_id and cache_id (replace illegal chars with _) 1326 - use _dir_perms and _file_perms properties at file creation 1327 - new constant SMARTY_RESOURCE_DATE_FORMAT (default '%b %e, %Y') which is used as default format in modifier date_format 1328 - added {foreach $array as $key=>$value} syntax 1329 - renamed extend tag and resource to extends: {extends file='foo.tol'} , $smarty->display('extends:foo.tpl|bar.tpl); 1330 - bugfix cycle plugin 1331 1332 11/15/2009 1333 - lexer/parser optimizations on quoted strings 1334 1335 11/14/2009 1336 - bugfix on merging compiled templates when source files got removed or renamed. 1337 - bugfix modifiers on registered object tags 1338 - fixed locaion where outputfilters are running 1339 - fixed config file definitions at EOF 1340 - fix on merging compiled templates with nocache sections in nocache includes 1341 - parser could run into a PHP error on wrong file attribute 1342 1343 11/12/2009 1344 - fixed variable filenames in {include_php} and {insert} 1345 - added scope to Smarty variables in the {block} tag compiler 1346 - fix on nocache code in child {block} tags 1347 1348 11/11/2009 1349 - fixed {foreachelse}, {forelse}, {sectionelse} compiled code at nocache variables 1350 - removed checking for reserved variables 1351 - changed debugging handling 1352 1353 11/10/2009 1354 - fixed preg_qoute on delimiters 1355 1356 11/09/2009 1357 - lexer/parser bugfix 1358 - new SMARTY_SPL_AUTOLOAD constant to control the autoloader option 1359 - bugfix for {function} block tags in included templates 1360 1361 11/08/2009 1362 - fixed alphanumeric array index 1363 - bugfix on complex double quoted strings 1364 1365 11/05/2009 1366 - config_load method can now be called on data and template objects 1367 1368 11/04/2009 1369 - added typecasting support for template variables 1370 - bugfix on complex indexed special Smarty variables 1371 1372 11/03/2009 1373 - fixed parser error on objects with special smarty vars 1374 - fixed file dependency for {incude} inside {block} tag 1375 - fixed not compiling on non existing compiled templates when compile_check = false 1376 - renamed function names of autoloaded Smarty methods to Smarty_Method_.... 1377 - new security_class property (default is Smarty_Security) 1378 1379 11/02/2009 1380 - added neq,lte,gte,mod as aliases to if conditions 1381 - throw exception on illegal Smarty() constructor calls 1382 1383 10/31/2009 1384 - change of filenames in sysplugins folder for internal spl_autoload function 1385 - lexer/parser changed for increased compilation speed 1386 1387 10/27/2009 1388 - fixed missing quotes in include_php.php 1389 1390 10/27/2009 1391 - fixed typo in method.register_resource 1392 - pass {} through as literal 1393 1394 10/26/2009 1395 - merge only compiled subtemplates into the compiled code of the main template 1396 1397 10/24/2009 1398 - fixed nocache vars at internal block tags 1399 - fixed merging of recursive includes 1400 1401 10/23/2009 1402 - fixed nocache var problem 1403 1404 10/22/2009 1405 - fix trimwhitespace outputfilter parameter 1406 1407 10/21/2009 1408 - added {$foo++}{$foo--} syntax 1409 - buxfix changed PHP "if (..):" to "if (..){" because of possible bad code when concenating PHP tags 1410 - autoload Smarty internal classes 1411 - fixed file dependency for config files 1412 - some code optimizations 1413 - fixed function definitions on some autoloaded methodes 1414 - fixed nocache variable inside if condition of {if} tag 1415 1416 10/20/2009 1417 - check at compile time for variable filter to improve rendering speed if no filter is used 1418 - fixed bug at combination of {elseif} tag and {...} in double quoted strings of static class parameter 1419 1420 10/19/2009 1421 - fixed compiled template merging on variable double quoted strings as name 1422 - fixed bug in caching mode 2 and cache_lifetime -1 1423 - fixed modifier support on block tags 1424 1425 10/17/2009 1426 - remove ?>\n<?php and ?><?php sequences from compiled template 1427 1428 10/15/2009 1429 - buxfix on assigning array elements inside templates 1430 - parser bugfix on array access 1431 1432 10/15/2009 1433 - allow bit operator '&' inside {if} tag 1434 - implementation of ternary operator 1435 1436 10/13/2009 1437 - do not recompile evaluated templates if reused just with other data 1438 - recompile config files when config properties did change 1439 - some lexer/parser otimizations 1440 1441 10/11/2009 1442 - allow {block} tags inside included templates 1443 - bugfix for resource plugins in Smarty2 format 1444 - some optimizations of internal.template.php 1445 1446 10/11/2009 1447 - fixed bug when template with same name is used with different data objects 1448 - fixed bug with double quoted name attribute at {insert} tag 1449 - reenabled assign_by_ref and append_by_ref methodes 1450 1451 10/07/2009 1452 - removed block nesting checks for {capture} 1453 1454 10/05/2009 1455 - added support of "isinstance" to {if} tag 1456 1457 10/03/2009 1458 - internal changes to improve performance 1459 - fix registering of filters for classes 1460 1461 10/01/2009 1462 - removed default timezone setting 1463 - reactivated PHP resource for simple PHP templates. Must set allow_php_templates = true to enable 1464 - {PHP} tag can be enabled by allow_php_tag = true 1465 1466 09/30/2009 1467 - fixed handling template_exits methode for all resource types 1468 - bugfix for other cache resources than file 1469 - the methodes assign_by_ref is now wrapped to assign, append_by_ref to append 1470 - allow arrays of variables pass in display, fetch and createTemplate calls 1471 $data = array('foo'=>'bar','foo2'=>'blar'); 1472 $smarty->display('my.tpl',$data); 1473 1474 09/29/2009 1475 - changed {php} tag handling 1476 - removed support of Smarty::instance() 1477 - removed support of PHP resource type 1478 - improved execution speed of {foreach} tags 1479 - fixed bug in {section} tag 1480 1481 09/23/2009 1482 - improvements and bugfix on {include} tag handling 1483 NOTICE: existing compiled template and cache files must be deleted 1484 1485 09/19/2009 1486 - replace internal "eval()" calls by "include" during rendering process 1487 - speed improvment for templates which have included subtemplates 1488 the compiled code of included templates is merged into the compiled code of the parent template 1489 - added logical operator "xor" for {if} tag 1490 - changed parameter ordering for Smarty2 BC 1491 fetch($template, $cache_id = null, $compile_id = null, $parent = null) 1492 display($template, $cache_id = null, $compile_id = null, $parent = null) 1493 createTemplate($template, $cache_id = null, $compile_id = null, $parent = null) 1494 - property resource_char_set is now replaced by constant SMARTY_RESOURCE_CHAR_SET 1495 - fixed handling of classes in registered blocks 1496 - speed improvement of lexer on text sections 1497 1498 09/01/2009 1499 - dropped nl2br as plugin 1500 - added '<>' as comparission operator in {if} tags 1501 - cached caching_lifetime property to cache_liftime for backward compatibility with Smarty2. 1502 {include} optional attribute is also now cache_lifetime 1503 - fixed trigger_error methode (moved into Smarty class) 1504 - version is now Beta!!! 1505 1506 1507 08/30/2009 1508 - some speed optimizations on loading internal plugins 1509 1510 1511 08/29/2009 1512 - implemented caching of registered Resources 1513 - new property 'auto_literal'. if true(default) '{ ' and ' }' interpreted as literal, not as Smarty delimiter 1514 1515 1516 08/28/2009 1517 - Fix on line breaks inside {if} tags 1518 1519 08/26/2009 1520 - implemented registered resources as in Smarty2. NOTE: caching does not work yet 1521 - new property 'force_cache'. if true it forces the creation of a new cache file 1522 - fixed modifiers on arrays 1523 - some speed optimization on loading internal classes 1524 1525 1526 08/24/2009 1527 - fixed typo in lexer definition for '!==' operator 1528 - bugfix - the ouput of plugins was not cached 1529 - added global variable SCRIPT_NAME 1530 1531 08/21/2009 1532 - fixed problems whitespace in conjuction with custom delimiters 1533 - Smarty tags can now be used as value anywhere 1534 1535 08/18/2009 1536 - definition of template class name moded in internal.templatebase.php 1537 - whitespace parser changes 1538 1539 08/12/2009 1540 - fixed parser problems 1541 1542 08/11/2009 1543 - fixed parser problems with custom delimiter 1544 1545 08/10/2009 1546 - update of mb support in plugins 1547 1548 1549 08/09/2009 1550 - fixed problems with doublequoted strings at name attribute of {block} tag 1551 - bugfix at scope attribute of {append} tag 1552 1553 08/08/2009 1554 - removed all internal calls of Smarty::instance() 1555 - fixed code in double quoted strings 1556 1557 08/05/2009 1558 - bugfix mb_string support 1559 - bugfix of \n.\t etc in double quoted strings 1560 1561 07/29/2009 1562 - added syntax for variable config vars like #$foo# 1563 1564 07/28/2009 1565 - fixed parsing of $smarty.session vars containing objects 1566 1567 07/22/2009 1568 - fix of "$" handling in double quoted strings 1569 1570 07/21/2009 1571 - fix that {$smarty.current_dir} return correct value within {block} tags. 1572 1573 07/20/2009 1574 - drop error message on unmatched {block} {/block} pairs 1575 1576 07/01/2009 1577 - fixed smarty_function_html_options call in plugin function.html_select_date.php (missing ,) 1578 1579 06/24/2009 1580 - fixed smarty_function_html_options call in plugin function.html_select_date.php 1581 1582 06/22/2009 1583 - fix on \n and spaces inside smarty tags 1584 - removed request_use_auto_globals propert as it is no longer needed because Smarty 3 will always run under PHP 5 1585 1586 1587 06/18/2009 1588 - fixed compilation of block plugins when caching enabled 1589 - added $smarty.current_dir which returns the current working directory 1590 1591 06/14/2009 1592 - fixed array access on super globals 1593 - allow smarty tags within xml tags 1594 1595 06/13/2009 1596 - bugfix at extend resource: create unique files for compiled template and cache for each combination of template files 1597 - update extend resource to handle appen and prepend block attributes 1598 - instantiate classes of plugins instead of calling them static 1599 1600 06/03/2009 1601 - fixed repeat at block plugins 1602 1603 05/25/2009 1604 - fixed problem with caching of compiler plugins 1605 1606 05/14/2009 1607 - fixed directory separator handling 1608 1609 05/09/2009 1610 - syntax change for stream variables 1611 - fixed bug when using absolute template filepath and caching 1612 1613 05/08/2009 1614 - fixed bug of {nocache} tag in included templates 1615 1616 05/06/2009 1617 - allow that plugins_dir folder names can end without directory separator 1618 1619 05/05/2009 1620 - fixed E_STRICT incompabilities 1621 - {function} tag bug fix 1622 - security policy definitions have been moved from plugins folder to file Security.class.php in libs folder 1623 - added allow_super_global configuration to security 1624 1625 04/30/2009 1626 - functions defined with the {function} tag now always have global scope 1627 1628 04/29/2009 1629 - fixed problem with directory setter methodes 1630 - allow that cache_dir can end without directory separator 1631 1632 04/28/2009 1633 - the {function} tag can no longer overwrite standard smarty tags 1634 - inherit functions defined by the {fuction} tag into subtemplates 1635 - added {while <statement>} sytax to while tag 1636 1637 04/26/2009 1638 - added trusted stream checking to security 1639 - internal changes at file dependency check for caching 1640 1641 04/24/2009 1642 - changed name of {template} tag to {function} 1643 - added new {template} tag 1644 1645 04/23/2009 1646 - fixed access of special smarty variables from included template 1647 1648 04/22/2009 1649 - unified template stream syntax with standard Smarty resource syntax $smarty->display('mystream:mytemplate') 1650 1651 04/21/2009 1652 - change of new style syntax for forach. Now: {foreach $array as $var} like in PHP 1653 1654 04/20/2009 1655 - fixed "$foo.bar ..." variable replacement in double quoted strings 1656 - fixed error in {include} tag with variable file attribute 1657 1658 04/18/2009 1659 - added stream resources ($smarty->display('mystream://mytemplate')) 1660 - added stream variables {$mystream:myvar} 1661 1662 04/14/2009 1663 - fixed compile_id handling on {include} tags 1664 - fixed append/prepend attributes in {block} tag 1665 - added {if 'expression' is in 'array'} syntax 1666 - use crc32 as hash for compiled config files. 1667 1668 04/13/2009 1669 - fixed scope problem with parent variables when appending variables within templates. 1670 - fixed code for {block} without childs (possible sources for notice errors removed) 1671 1672 04/12/2009 1673 - added append and prepend attribute to {block} tag 1674 1675 04/11/2009 1676 - fixed variables in 'file' attribute of {extend} tag 1677 - fixed problems in modifiers (if mb string functions not present) 1678 1679 04/10/2009 1680 - check if mb string functions available otherwise fallback to normal string functions 1681 - added global variable scope SMARTY_GLOBAL_SCOPE 1682 - enable 'variable' filter by default 1683 - fixed {$smarty.block.parent.foo} 1684 - implementation of a 'variable' filter as replacement for default modifier 1685 1686 04/09/2009 1687 - fixed execution of filters defined by classes 1688 - compile the always the content of {block} tags to make shure that the filters are running over it 1689 - syntax corrections on variable object property 1690 - syntax corrections on array access in dot syntax 1691 1692 04/08/2009 1693 - allow variable object property 1694 1695 04/07/2009 1696 - changed variable scopes to SMARTY_LOCAL_SCOPE, SMARTY_PARENT_SCOPE, SMARTY_ROOT_SCOPE to avoid possible conflicts with user constants 1697 - Smarty variable global attribute replaced with scope attribute 1698 1699 04/06/2009 1700 - variable scopes LOCAL_SCOPE, PARENT_SCOPE, ROOT_SCOPE 1701 - more getter/setter methodes 1702 1703 04/05/2009 1704 - replaced new array looping syntax {for $foo in $array} with {foreach $foo in $array} to avoid confusion 1705 - added append array for short form of assign {$foo[]='bar'} and allow assignments to nested arrays {$foo['bla']['blue']='bar'} 1706 1707 04/04/2009 1708 - make output of template default handlers cachable and save compiled source 1709 - some fixes on yesterdays update 1710 1711 04/03/2006 1712 - added registerDefaultTemplateHandler methode and functionallity 1713 - added registerDefaultPluginHandler methode and functionallity 1714 - added {append} tag to extend Smarty array variabled 1715 1716 04/02/2009 1717 - added setter/getter methodes 1718 - added $foo@first and $foo@last properties at {for} tag 1719 - added $set_timezone (true/false) property to setup optionally the default time zone 1720 1721 03/31/2009 1722 - bugfix smarty.class and internal.security_handler 1723 - added compile_check configuration 1724 - added setter/getter methodes 1725 1726 03/30/2009 1727 - added all major setter/getter methodes 1728 1729 03/28/2009 1730 - {block} tags can be nested now 1731 - md5 hash function replace with crc32 for speed optimization 1732 - file order for exted resource inverted 1733 - clear_compiled_tpl and clear_cache_all will not touch .svn folder any longer 1734 1735 03/27/2009 1736 - added extend resource 1737 1738 03/26/2009 1739 - fixed parser not to create error on `word` in double quoted strings 1740 - allow PHP array(...) 1741 - implemented $smarty.block.name.parent to access parent block content 1742 - fixed smarty.class 1743 1744 1745 03/23/2009 1746 - fixed {foreachelse} and {forelse} tags 1747 1748 03/22/2009 1749 - fixed possible sources for notice errors 1750 - rearrange SVN into distribution and development folders 1751 1752 03/21/2009 1753 - fixed exceptions in function plugins 1754 - fixed notice error in Smarty.class.php 1755 - allow chained objects to span multiple lines 1756 - fixed error in modifers 1757 1758 03/20/2009 1759 - moved /plugins folder into /libs folder 1760 - added noprint modifier 1761 - autoappend a directory separator if the xxxxx_dir definition have no trailing one 1762 1763 03/19/2009 1764 - allow array definition as modifer parameter 1765 - changed modifier to use multi byte string funktions. 1766 1767 03/17/2009 1768 - bugfix 1769 1770 03/15/2009 1771 - added {include_php} tag for BC 1772 - removed @ error suppression 1773 - bugfix fetch did always repeat output of first call when calling same template several times 1774 - PHPunit tests extended 1775 1776 03/13/2009 1777 - changed block syntax to be Smarty like {block:titel} -> {block name=titel} 1778 - compiling of {block} and {extend} tags rewriten for better performance 1779 - added special Smarty variable block ($smarty.block.foo} returns the parent definition of block foo 1780 - optimization of {block} tag compiled code. 1781 - fixed problem with escaped double quotes in double quoted strings 1782 1783 03/12/2009 1784 - added support of template inheritance by {extend } and {block } tags. 1785 - bugfix comments within literals 1786 - added scope attribuie to {include} tag 1787 1788 03/10/2009 1789 - couple of bugfixes and improvements 1790 - PHPunit tests extended 1791 1792 03/09/2009 1793 - added support for global template vars. {assign_global...} $smarty->assign_global(...) 1794 - added direct_access_security 1795 - PHPunit tests extended 1796 - added missing {if} tag conditions like "is div by" etc. 1797 1798 03/08/2009 1799 - splitted up the Compiler class to make it easier to use a coustom compiler 1800 - made default plugins_dir relative to Smarty root and not current working directory 1801 - some changes to make the lexer parser better configurable 1802 - implemented {section} tag for Smarty2 BC 1803 1804 03/07/2009 1805 - fixed problem with comment tags 1806 - fixed problem with #xxxx in double quoted string 1807 - new {while} tag implemented 1808 - made lexer and paser class configurable as $smarty property 1809 - Smarty method get_template_vars implemented 1810 - Smarty method get_registered_object implemented 1811 - Smarty method trigger_error implemented 1812 - PHPunit tests extended 1813 1814 03/06/2009 1815 - final changes on config variable handling 1816 - parser change - unquoted strings will by be converted into single quoted strings 1817 - PHPunit tests extended 1818 - some code cleanup 1819 - fixed problem on catenate strings with expression 1820 - update of count_words modifier 1821 - bugfix on comment tags 1822 1823 1824 03/05/2009 1825 - bugfix on <?xml...> tag with caching enabled 1826 - changes on exception handling (by Monte) 1827 1828 03/04/2009 1829 - added support for config variables 1830 - bugfix on <?xml...> tag 1831 1832 03/02/2009 1833 - fixed unqouted strings within modifier parameter 1834 - bugfix parsing of mofifier parameter 1835 1836 03/01/2009 1837 - modifier chaining works now as in Smarty2 1838 1839 02/28/2009 1840 - changed handling of unqouted strings 1841 1842 02/26/2009 1843 - bugfix 1844 - changed $smarty.capture.foo to be global for Smarty2 BC. 1845 1846 02/24/2009 1847 - bugfix {php} {/php} tags for backward compatibility 1848 - bugfix for expressions on arrays 1849 - fixed usage of "null" value 1850 - added $smarty.foreach.foo.first and $smarty.foreach.foo.last 1851 1852 02/06/2009 1853 - bugfix for request variables without index for example $smarty.get 1854 - experimental solution for variable functions in static class 1855 1856 02/05/2009 1857 - update of popup plugin 1858 - added config variables to template parser (load config functions still missing) 1859 - parser bugfix for empty quoted strings 1860 1861 02/03/2009 1862 - allow array of objects as static class variabales. 1863 - use htmlentities at source output at template errors. 1864 1865 02/02/2009 1866 - changed search order on modifiers to look at plugins folder first 1867 - parser bug fix for modifier on array elements $foo.bar|modifier 1868 - parser bug fix on single quoted srings 1869 - internal: splitted up compiler plugin files 1870 1871 02/01/2009 1872 - allow method chaining on static classes 1873 - special Smarty variables $smarty.... implemented 1874 - added {PHP} {/PHP} tags for backward compatibility 1875 1876 01/31/2009 1877 - added {math} plugin for Smarty2 BC 1878 - added template_exists method 1879 - changed Smarty3 method enable_security() to enableSecurity() to follow camelCase standards 1880 1881 01/30/2009 1882 - bugfix in single quoted strings 1883 - changed syntax for variable property access from $foo:property to $foo@property because of ambiguous syntax at modifiers 1884 1885 01/29/2009 1886 - syntax for array definition changed from (1,2,3) to [1,2,3] to remove ambiguous syntax 1887 - allow {for $foo in [1,2,3]} syntax 1888 - bugfix in double quoted strings 1889 - allow <?xml...?> tags in template even if short_tags are enabled 1890 1891 01/28/2009 1892 - fixed '!==' if condition. 1893 1894 01/28/2009 1895 - added support of {strip} {/strip} tag. 1896 1897 01/27/2009 1898 - bug fix on backticks in double quoted strings at objects 1899 1900 01/25/2009 1901 - Smarty2 modfiers added to SVN 1902 1903 01/25/2009 1904 - bugfix allow arrays at object properties in Smarty syntax 1905 - the template object is now passed as additional parameter at plugin calls 1906 - clear_compiled_tpl methode completed 1907 1908 01/20/2009 1909 - access to class constants implemented ( class::CONSTANT ) 1910 - access to static class variables implemented ( class::$variable ) 1911 - call of static class methodes implemented ( class::methode() ) 1912 1913 01/16/2009 1914 - reallow leading _ in variable names {$_var} 1915 - allow array of objects {$array.index->methode()} syntax 1916 - finished work on clear_cache and clear_cache_all methodes 1917 1918 01/11/2009 1919 - added support of {literal} tag 1920 - added support of {ldelim} and {rdelim} tags 1921 - make code compatible to run with E_STRICT error setting 1922 1923 01/08/2009 1924 - moved clear_assign and clear_all_assign to internal.templatebase.php 1925 - added assign_by_ref, append and append_by_ref methodes 1926 1927 01/02/2009 1928 - added load_filter methode 1929 - fished work on filter handling 1930 - optimization of plugin loading 1931 1932 12/30/2008 1933 - added compiler support of registered object 1934 - added backtick support in doubled quoted strings for backward compatibility 1935 - some minor bug fixes and improvments 1936 1937 12/23/2008 1938 - fixed problem of not working "not" operator in if-expressions 1939 - added handling of compiler function plugins 1940 - finished work on (un)register_compiler_function methode 1941 - finished work on (un)register_modifier methode 1942 - plugin handling from plugins folder changed for modifier plugins 1943 deleted - internal.modifier.php 1944 - added modifier chaining to parser 1945 1946 12/17/2008 1947 - finished (un)register_function methode 1948 - finished (un)register_block methode 1949 - added security checking for PHP functions in PHP templates 1950 - plugin handling from plugins folder rewritten 1951 new - internal.plugin_handler.php 1952 deleted - internal.block.php 1953 deleted - internal.function.php 1954 - removed plugin checking from security handler 1955 1956 12/16/2008 1957 1958 - new start of this change_log file
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Fri Nov 28 20:08:37 2014 | Cross-referenced by PHPXref 0.7.1 |