Files
smarty/RELEASE_NOTES

183 lines
8.3 KiB
Plaintext
Raw Normal View History

2001-06-29 19:35:06 +00:00
1.4.4
-----
A few bug fixes, debugging console function for control via URL, and overLib
integration.
2001-06-25 13:05:43 +00:00
1.4.3
-----
2001-06-29 19:35:06 +00:00
This release has a few bug fixes and several enhancements. Smarty now supports
template security for third-party template editing. These features disallow the
ability for someone to execute commands or PHP code from the template language.
Smarty also now has a built-in debugging console, which is a javascript pop-up
window that displays all the included template names and assigned variables.
2001-06-25 13:05:43 +00:00
2001-05-29 18:59:10 +00:00
1.4.2
-----
This was mostly one bug fix with variable scoping within included templates
and a few documentation changes and updates. See the ChangeLog file for full
details.
2001-05-16 19:53:43 +00:00
1.4.1
-----
It seems that the EX_LOCK logic from the previous release didn't fix all the
problems with windows platforms. Hopefully this one does. It basically
disables file locking on windows, so there is a potential that two programs
could write over the same file at the same time, fyi.
The reset is minor bug fixes, please refer to the ChangeLog file.
2001-04-11 20:54:35 +00:00
1.4.0
-----
2001-04-19 21:08:17 +00:00
IMPORTANT NOTICE
Smarty now has a new syntax for accessing elements within section loops. The
new syntax is easier to use and nicely handles data structures of any
2001-05-09 14:06:59 +00:00
complexity. Consequently, this breaks the old syntax.
Here is an example of the syntax change:
old syntax:
{$sec1/sec2/sec3/customer.phone}
new syntax:
{$customer[$sec1][$sec2][$sec3].phone}
The section names used to come first, followed by the variable name. Now the
variable name always comes first, followed by the section names in brackets.
You can access variable indexes anywhere, depending on how you passed the
variables in.
To fix your current templates, we have provided a script that will adjust the
syntax for you. Located in misc/fix_vars.php, run this script from the the
command line, giving each template as an argument. Be sure to use absolute
pathnames, or pathnames relative to the executing script. Probably the easiest
way to do this is to copy the fix_vars.php script into your template directory
and run 'php -q fix_vars.php *.tpl' Be sure you have proper write permission,
and backup your scripts first to be safe! The examples in the 1.4.0
documentation have been updated to reflect the changes.
2001-04-24 15:16:14 +00:00
cd /path/to/templates
cp /path/to/fix_vars.php .
find . -name "*.tpl" -exec php -q ./fix_vars.php {} \;
2001-04-25 15:49:51 +00:00
NEW AND IMPROVED COMPILATION PROCESS
2001-04-19 21:08:17 +00:00
Smarty 1.4.0 also has a new compilation process. Instead of compiling all the
templates up front, it now compiles them at runtime. This has several
advantages. First of all, there is no longer a need to have a single template
directory. You can now have arbitrary template sources, such as multiple
directories or even database calls. This also speeds the performance of Smarty
when $compile_check is enabled, since it is only checking the template that is
being executed instead of everything found in the template directory. The
$tpl_file_ext is no longer needed, but kept for backward compatability.
2001-04-19 16:18:17 +00:00
Templates can now be named anything you like with any extension.
2001-04-11 20:54:35 +00:00
2001-04-19 21:08:17 +00:00
MINOR FIXES
2001-04-19 16:18:17 +00:00
A workaround for LOCK_EX on Windows systems was added, and changed a couple of
2001-04-19 21:08:17 +00:00
file permissions for better security on public servers.
$show_info_header is now defaulted to false instead of true. This header causes
problems when displaying content other than HTML, so now you must explicitly
set this flag to true to show the header information (or change the default in
your copy of Smarty.)
2001-04-26 17:27:40 +00:00
Documentation is written in docbook format. I updated the docbook -> HTML
generating software & style-sheets, and consequently the examples are no longer
in a different background color. If anyone wants to contribute a better
stylesheet or help with documentation, drop me a line. <monte@ispi.net>
CHANGES/ENHANCEMENTS/UPDATES
2001-04-11 20:54:35 +00:00
date_format, html_select_date and html_select_time used to require a unix
timestamp as the format of the date passed into the template. Smarty is now a
bit smarter at this. It will take a unix timestamp, a mysql timestamp, or any
date string that is parsable by strtotime, such as 10/01/2001 or 2001-10-01,
etc. Just give some formats a try and see what works.
2001-04-11 20:54:35 +00:00
2001-04-30 14:08:00 +00:00
Smarty now has template prefilters, meaning that you can run your templates
2001-04-19 21:08:17 +00:00
through custom functions before they are compiled. This is good for things like
2001-04-25 14:52:52 +00:00
removing unwanted comments, keeping an eye on words or functionality people are
2001-04-30 14:08:00 +00:00
putting in templates, translating XML -> HTML, etc. See the register_prefilter
2001-04-25 14:52:52 +00:00
documentation for more info.
2001-04-19 21:08:17 +00:00
2001-04-25 15:49:51 +00:00
Another addition are the so-called compiler functions. These are custom
functions registered by the user that are executed at compilation time of the
template. They can be used to inject PHP code or time-sensitive static content
into the compiled template.
2001-04-30 14:08:00 +00:00
The run-time custom functions are now passed the Smarty object as the second
2001-04-25 15:49:51 +00:00
parameter. This can be used, for example, to assign or clear template variables
from inside the custom function.
2001-04-26 17:27:40 +00:00
clear_compile_dir() was added for clearing out compiled versions of your
templates. Not something normally needed, but you may have a need for this if
you have $compile_check set to false and you periodically update templates via
some automated process. As of 1.4.0, uncompiled templates _always_ get
2001-04-30 14:08:00 +00:00
compiled regardless of $compile_check setting, although they won't be checked
2001-04-26 17:27:40 +00:00
for recompile if $compile_check is set to false.
2001-04-26 16:08:12 +00:00
You can now refer to properties of objects assigned from PHP by using the '->'
symbol and specifying the property name after it, e.g. $foo->bar.
2001-04-26 17:27:40 +00:00
{php}{/php} tags were added to embed php into the templates. Not normally
needed, but some circumstances may call for it. Check out the "componentized
2001-05-09 14:06:59 +00:00
templates" tip in the documentation for an example.
{capture}{/capture} and {counter} functions were added. See the documentation
for a complete description and examples.
2001-04-26 17:27:40 +00:00
2001-04-19 21:08:17 +00:00
UPGRADE NOTES
2001-04-24 15:16:14 +00:00
The format of the files created in the $compile_dir are now a bit different.
The compiled template filename is the template resource name url-encoded.
Therefore, all compiled files are now in the top directory of $compile_dir.
This was done to make way for arbitrary template resources. Each compiled
2001-04-30 14:08:00 +00:00
template also has a header that states what template resource was used to
create it. From a unix command prompt, you can use "head -2 *" to see the first
two lines of each file.
2001-04-24 15:16:14 +00:00
When upgrading to 1.4.0, you will want to clear out all your old files in the
$compile_dir. If you have $compile_check set to false and the compiled template
does not yet exist, it will compile it regardless of this setting. This way you
can clear out the $compile_dir and not worry about setting $compile_check to
true to get the inital compilation under way.
2001-04-11 20:54:35 +00:00
1.3.2
-----
Smarty now has (an optional) header prepended to the output of the Smarty
templates. This displays the Smarty version and the date/time when the page was
generated. This is useful for debugging your cache routines, and purely
informational so there is evidence that the page was generated by Smarty. Set
$show_info_header to false to disable it.
{config_load ...} performance was tuned by placing the loaded variables into a
global array, so basically a config file is read from the file system and
placed into a php array structure only once, no matter how many times it is
called in any of the templates. The scope of the loaded variables has changed a
bit as well. Variables loaded by config_load used to be treated as global
variables, meaning that parent templates (templates that included the current
template) could see them. Now the default behavior is such that loaded
variables are only visible by the current template and child templates (all
templates included after the {config_load ...} is called.) To mimic the
original behavior, provide the attribute "global=yes" like so: {config_load
file="mystuff.conf" global=yes}. Now when you load in mystuff.conf, the
variables will be visible to parent templates (merged with any existing config
variables.)
A formatting attribute was added to the {math ...} function, adding the ability
to control the format of the output. Use the same formatting syntax as the PHP
function sprintf().
{html_select_time ...} was added, a custom function that works much like
{html_select_date ...} except it displays time elements instead of dates.
A few custom modifiers were added: count_characters, count_words,
count_sentences, count_paragraphs. All pretty self-explanatory.