Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

1441 lines (1277 sloc) 54.718 kb
<?xml version="1.0" encoding="UTF-8"?>
<package packagerversion="1.9.0RC1" version="2.0" xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0 http://pear.php.net/dtd/tasks-1.0.xsd http://pear.php.net/dtd/package-2.0 http://pear.php.net/dtd/package-2.0.xsd">
<name>HTML_Template_Flexy</name>
<channel>pear.php.net</channel>
<summary>An extremely powerful Tokenizer driven Template engine</summary>
<description>HTML_Template_Flexy started it&apos;s life as a simplification of HTML_Template_Xipe,
however in Version 0.2, It became one of the first template engine to use a real Lexer,
rather than regex&apos;es, making it possible to do things like ASP.net or Cold Fusion tags.
However, it still has a very simple set of goals.
- Very Simple API,
o easy to learn...
o prevents to much logic going in templates
- Easy to write document&apos;able code
o By using object vars for a template rather than &apos;assign&apos;, you
can use phpdoc comments to list what variable you use.
- Editable in WYSIWYG editors
o you can create full featured templates, that doesnt get broken every time you edit with
Dreamweaver(tm) or Mozilla editor
o Uses namespaced attributes to add looping/conditionals
- Extremely Fast,
o runtime is at least 4 time smaller than most other template engines (eg. Smarty)
o uses compiled templates, as a result it is many times faster on blocks and loops than
than Regex templates (eg. IT/phplib)
- Safer (for cross site scripting attacks)
o All variables default to be output as HTML escaped (overridden with the :h modifier)
- Multilanguage support
o Parses strings out of template, so you can build translation tools
o Compiles language specific templates (so translation is only done once, not on every request)
- Full dynamic element support (like ASP.NET), so you can pick elements to replace at runtime
Features:
- {variable} to echo $object-&gt;variable
- {method()} to echo $object-&gt;method();
- {foreach:var,key,value} to PHP foreach loops
- tag attributes FLEXY:FOREACH, FLEXY:IF for looping and conditional HTML inclusion
- {if:variable} to PHP If statement
- {if:method()} to PHP If statement
- {else:} and {end:} to close or alternate If statements
- FORM to HTML_Template_Flexy_Element&apos;s
- replacement of INPUT, TEXTAREA and SELECT tags with HTML_Template_Flexy_Element code
use FLEXY:IGNORE (inherited) and FLEXY:IGNOREONLY (single) to prevent replacements
- FLEXY:START/FLEXY:STARTCHILDREN tags to define where template starts/finishes
- support for urlencoded braces {} in HTML attributes.
- documentation in the pear manual
- examples at http://svn.php.net/pear/packages/HTML_Template_Flexy/trunk/tests/</description>
<lead>
<name>Alan Knowles</name>
<user>alan_k</user>
<email>alan@akbkhome.com</email>
<active>yes</active>
</lead>
<date>2011-08-29</date>
<version>
<release>1.3.12</release>
<api>1.3.0</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
Minor fixes and feature release
Bug Fixes
#18763 - Fix is_a() for 5.3.7+ due to php-core stupidity
#----- - Support for new PEAR5 class.
Features
#----- - support for CommonPageID when using Translation2
</notes>
<contents>
<dir baseinstalldir="/" name="/">
<file baseinstalldir="/" name="examples/EMPTY_FOLDERS_NOTHING_IN_HERE" role="doc" />
<file baseinstalldir="/" name="HTML/Template/Flexy.php" role="php" />
<file baseinstalldir="/" name="HTML/Template/Flexy/Assign.php" role="php" />
<file baseinstalldir="/" name="HTML/Template/Flexy/compileAll.php" role="php" />
<file baseinstalldir="/" name="HTML/Template/Flexy/Compiler.php" role="php" />
<file baseinstalldir="/" name="HTML/Template/Flexy/Element.php" role="php" />
<file baseinstalldir="/" name="HTML/Template/Flexy/example.ini" role="data" />
<file baseinstalldir="/" name="HTML/Template/Flexy/Factory.php" role="php" />
<file baseinstalldir="/" name="HTML/Template/Flexy/Plugin.php" role="php" />
<file baseinstalldir="/" name="HTML/Template/Flexy/SmartyAPI.php" role="php" />
<file baseinstalldir="/" name="HTML/Template/Flexy/Test.php" role="php" />
<file baseinstalldir="/" name="HTML/Template/Flexy/Token.php" role="php" />
<file baseinstalldir="/" name="HTML/Template/Flexy/Tokenizer.lex" role="data" />
<file baseinstalldir="/" name="HTML/Template/Flexy/Tokenizer.php" role="php" />
<file baseinstalldir="/" name="HTML/Template/Flexy/Translator.php" role="php" />
<file baseinstalldir="/" name="HTML/Template/Flexy/Tree.php" role="php" />
<file baseinstalldir="/" name="HTML/Template/Flexy/Compiler/Flexy.php" role="php" />
<file baseinstalldir="/" name="HTML/Template/Flexy/Compiler/Regex.php" role="php" />
<file baseinstalldir="/" name="HTML/Template/Flexy/Compiler/SmartyConvertor.php" role="php" />
<file baseinstalldir="/" name="HTML/Template/Flexy/Compiler/Standard.php" role="php" />
<file baseinstalldir="/" name="HTML/Template/Flexy/Compiler/Flexy/CustomFlexyAttributes.php" role="php" />
<file baseinstalldir="/" name="HTML/Template/Flexy/Compiler/Flexy/Flexy.php" role="php" />
<file baseinstalldir="/" name="HTML/Template/Flexy/Compiler/Flexy/Tag.php" role="php" />
<file baseinstalldir="/" name="HTML/Template/Flexy/Compiler/Regex/BodyOnly.php" role="php" />
<file baseinstalldir="/" name="HTML/Template/Flexy/Compiler/Regex/Mail.php" role="php" />
<file baseinstalldir="/" name="HTML/Template/Flexy/Compiler/Regex/Math.php" role="php" />
<file baseinstalldir="/" name="HTML/Template/Flexy/Compiler/Regex/Php.php" role="php" />
<file baseinstalldir="/" name="HTML/Template/Flexy/Compiler/Regex/RtfSimpleTags.php" role="php" />
<file baseinstalldir="/" name="HTML/Template/Flexy/Compiler/Regex/SimpleTags.php" role="php" />
<file baseinstalldir="/" name="HTML/Template/Flexy/Compiler/Regex/Xml.php" role="php" />
<file baseinstalldir="/" name="HTML/Template/Flexy/Compiler/Standard/Flexy.php" role="php" />
<file baseinstalldir="/" name="HTML/Template/Flexy/Compiler/Standard/Tag.php" role="php" />
<file baseinstalldir="/" name="HTML/Template/Flexy/Element/Xul.php" role="php" />
<file baseinstalldir="/" name="HTML/Template/Flexy/Plugin/Savant.php" role="php" />
<file baseinstalldir="/" name="HTML/Template/Flexy/templates/translator.html" role="doc" />
<file baseinstalldir="/" name="HTML/Template/Flexy/Token/Cdata.php" role="php" />
<file baseinstalldir="/" name="HTML/Template/Flexy/Token/Else.php" role="php" />
<file baseinstalldir="/" name="HTML/Template/Flexy/Token/End.php" role="php" />
<file baseinstalldir="/" name="HTML/Template/Flexy/Token/EndTag.php" role="php" />
<file baseinstalldir="/" name="HTML/Template/Flexy/Token/Foreach.php" role="php" />
<file baseinstalldir="/" name="HTML/Template/Flexy/Token/If.php" role="php" />
<file baseinstalldir="/" name="HTML/Template/Flexy/Token/Method.php" role="php" />
<file baseinstalldir="/" name="HTML/Template/Flexy/Token/Processing.php" role="php" />
<file baseinstalldir="/" name="HTML/Template/Flexy/Token/Tag.php" role="php" />
<file baseinstalldir="/" name="HTML/Template/Flexy/Token/Text.php" role="php" />
<file baseinstalldir="/" name="HTML/Template/Flexy/Token/Var.php" role="php" />
<file baseinstalldir="/" name="tests/make_tests.php" role="test" />
<file baseinstalldir="/" name="tests/test.php" role="test" />
<file baseinstalldir="HTML/Template" name="tests/testsuite.php" role="test" />
<file baseinstalldir="HTML/Template" name="tests/test_blocks.html.phpt" role="test" />
<file baseinstalldir="HTML/Template" name="tests/test_bug_2959.html.phpt" role="test" />
<file baseinstalldir="HTML/Template" name="tests/test_conditions.html.phpt" role="test" />
<file baseinstalldir="HTML/Template" name="tests/test_error_foreach.html.phpt" role="test" />
<file baseinstalldir="HTML/Template" name="tests/test_flexy_tojavascript.html.phpt" role="test" />
<file baseinstalldir="HTML/Template" name="tests/test_forms.html.phpt" role="test" />
<file baseinstalldir="HTML/Template" name="tests/test_function.html.phpt" role="test" />
<file baseinstalldir="HTML/Template" name="tests/test_globals.html.phpt" role="test" />
<file baseinstalldir="HTML/Template" name="tests/test_image_view.html.phpt" role="test" />
<file baseinstalldir="HTML/Template" name="tests/test_include.html.phpt" role="test" />
<file baseinstalldir="HTML/Template" name="tests/test_javascript.html.phpt" role="test" />
<file baseinstalldir="HTML/Template" name="tests/test_looping.html.phpt" role="test" />
<file baseinstalldir="HTML/Template" name="tests/test_methods.html.phpt" role="test" />
<file baseinstalldir="HTML/Template" name="tests/test_namespaces.html.phpt" role="test" />
<file baseinstalldir="HTML/Template" name="tests/test_plugin_modifiers.html.phpt" role="test" />
<file baseinstalldir="HTML/Template" name="tests/test_raw_php.html.phpt" role="test" />
<file baseinstalldir="HTML/Template" name="tests/test_raw_text.html.phpt" role="test" />
<file baseinstalldir="HTML/Template" name="tests/test_style.html.phpt" role="test" />
<file baseinstalldir="/" name="tests/test_usesname.html.phpt" role="test" />
<file baseinstalldir="HTML/Template" name="tests/test_variables.html.phpt" role="test" />
<file baseinstalldir="/" name="tests/treeTest.php" role="test" />
<file baseinstalldir="/" name="tests/results2/blocks.html.en.php" role="test" />
<file baseinstalldir="/" name="tests/results2/blocks.html.en.php#block1" role="test" />
<file baseinstalldir="/" name="tests/results2/blocks.html.en.php#block2" role="test" />
<file baseinstalldir="/" name="tests/results2/blocks.html.gettext.serial" role="test" />
<file baseinstalldir="/" name="tests/results2/forms.html.elements.serial" role="test" />
<file baseinstalldir="/" name="tests/results2/forms.html.en.php" role="test" />
<file baseinstalldir="/" name="tests/results2/forms.html.gettext.serial" role="test" />
<file baseinstalldir="/" name="tests/results2/forms.result.html" role="test" />
<file baseinstalldir="/" name="tests/results2/function.html.en.php" role="test" />
<file baseinstalldir="/" name="tests/results2/function.html.gettext.serial" role="test" />
<file baseinstalldir="/" name="tests/results2/function.result.html" role="test" />
<file baseinstalldir="/" name="tests/results2/globals.html.en.php" role="test" />
<file baseinstalldir="/" name="tests/results2/globals.html.gettext.serial" role="test" />
<file baseinstalldir="/" name="tests/results2/namespaces.html.en.php" role="test" />
<file baseinstalldir="/" name="tests/results2/raw_php.html.en.php" role="test" />
<file baseinstalldir="/" name="tests/smarty/index.tpl" role="test" />
<file baseinstalldir="/" name="tests/smarty/index.tpl.html" role="test" />
<file baseinstalldir="HTML/Template" name="tests/smarty/smartytest.php" role="test" />
<file baseinstalldir="HTML/Template" name="tests/templates/blocks.html" role="test" />
<file baseinstalldir="HTML/Template" name="tests/templates/bug_2959.html" role="test" />
<file baseinstalldir="HTML/Template" name="tests/templates/conditions.html" role="test" />
<file baseinstalldir="HTML/Template" name="tests/templates/error_foreach.html" role="test" />
<file baseinstalldir="/" name="tests/templates/flexy_raw_with_element.html" role="test" />
<file baseinstalldir="HTML/Template" name="tests/templates/flexy_tojavascript.html" role="test" />
<file baseinstalldir="HTML/Template" name="tests/templates/forms.html" role="test" />
<file baseinstalldir="HTML/Template" name="tests/templates/function.html" role="test" />
<file baseinstalldir="HTML/Template" name="tests/templates/globals.html" role="test" />
<file baseinstalldir="HTML/Template" name="tests/templates/image_view.html" role="test" />
<file baseinstalldir="HTML/Template" name="tests/templates/include.html" role="test" />
<file baseinstalldir="/" name="tests/templates/includes.html" role="test" />
<file baseinstalldir="/" name="tests/templates/include_block.html" role="test" />
<file baseinstalldir="HTML/Template" name="tests/templates/javascript.html" role="test" />
<file baseinstalldir="HTML/Template" name="tests/templates/looping.html" role="test" />
<file baseinstalldir="HTML/Template" name="tests/templates/methods.html" role="test" />
<file baseinstalldir="HTML/Template" name="tests/templates/namespaces.html" role="test" />
<file baseinstalldir="HTML/Template" name="tests/templates/plugin_modifiers.html" role="test" />
<file baseinstalldir="HTML/Template" name="tests/templates/raw_php.html" role="test" />
<file baseinstalldir="HTML/Template" name="tests/templates/raw_text.html" role="test" />
<file baseinstalldir="HTML/Template" name="tests/templates/style.html" role="test" />
<file baseinstalldir="/" name="tests/templates/usesname.html" role="test" />
<file baseinstalldir="HTML/Template" name="tests/templates/variables.html" role="test" />
<file baseinstalldir="/" name="tests/trees/blocks.html.tree" role="test" />
<file baseinstalldir="/" name="tests/trees/conditions.html.tree" role="test" />
<file baseinstalldir="/" name="tests/trees/error_foreach.html.tree" role="test" />
<file baseinstalldir="/" name="tests/trees/flexy_tojavascript.html.tree" role="test" />
<file baseinstalldir="/" name="tests/trees/forms.html.tree" role="test" />
<file baseinstalldir="/" name="tests/trees/function.html.tree" role="test" />
<file baseinstalldir="/" name="tests/trees/globals.html.tree" role="test" />
<file baseinstalldir="/" name="tests/trees/image_view.html.tree" role="test" />
<file baseinstalldir="/" name="tests/trees/includes.html.tree" role="test" />
<file baseinstalldir="/" name="tests/trees/javascript.html.tree" role="test" />
<file baseinstalldir="/" name="tests/trees/looping.html.tree" role="test" />
<file baseinstalldir="/" name="tests/trees/methods.html.tree" role="test" />
<file baseinstalldir="/" name="tests/trees/namespaces.html.tree" role="test" />
<file baseinstalldir="/" name="tests/trees/plugin_modifiers.html.tree" role="test" />
<file baseinstalldir="/" name="tests/trees/raw_php.html.tree" role="test" />
<file baseinstalldir="/" name="tests/trees/raw_text.html.tree" role="test" />
<file baseinstalldir="/" name="tests/trees/variables.html.tree" role="test" />
<file baseinstalldir="/" name="ChangeLog" role="data" />
<file baseinstalldir="/" name="TODO" role="data" />
</dir>
</contents>
<dependencies>
<required>
<php>
<min>4.3</min>
</php>
<pearinstaller>
<min>1.4.0b1</min>
</pearinstaller>
</required>
<optional>
<package>
<name>HTML_Javascript</name>
<channel>pear.php.net</channel>
<min>1.1.0</min>
</package>
<package>
<name>File_Gettext</name>
<channel>pear.php.net</channel>
<min>0.2.0</min>
</package>
<package>
<name>Translation2</name>
<channel>pear.php.net</channel>
<min>0.0.1</min>
</package>
</optional>
</dependencies>
<phprelease />
<changelog>
<release>
<date>2011-01-11</date>
<version>
<release>1.3.11</release>
<api>1.3.0</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
Minor fixes and feature release
Bug Fixes
#----- - PHP5 E_STRICT warnings removed
</notes>
</release>
<release>
<date>2010-06-07</date>
<version>
<release>1.3.10</release>
<api>1.3.0</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
Minor fixes and feature release
Bug Fixes
#17390 - id nameuses replacement got broken on previous commit (Christophe Husson)
#17210 - remove error suppression
#16978 - support non-ascii vars
#14895 - local environment settings in test (clockwerx)
New Features/Changes
#16554 - support dontCompile option
#----- - provisional support for label property of elements outputing as associated
label content (Stephane Matamontero)
#----- - new option disableTranslate - blocks all translation features,
like writing .serial files. (Stephane Matamontero)
#----- - Element merge code moved element class - reducing size of base class (Alan)
#----- - SVN layout changed. (clockwerx)
</notes>
</release>
<!-- these are all in the wrong order now!!! -->
<release>
<version>
<release>0.1</release>
<api>0.1</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<date>2002-09-07</date>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
First PEAR release,
- Renamed to HTML_Flexy_Template to conform to PEAR standards
- Added more phpdoc comments to filters
- Removed getTemplateDir method (legacy/unused)
- Added multilanguage support options[&apos;locale&apos;] - in theory a i18n filter could be added.
Othewise it just checks to see if a template/compiled template with ????.{locale}.???
exists
- added staticQuickTemplate($template,$object) for quickly including subtemplates.
- added {q_include:#aaaaa.html#} to simpletags to support quicktemplate.
- changed to DIRECTORY_SEPERATOR and removed base directory check in windows.
</notes>
</release>
<release>
<version>
<release>0.2</release>
<api>0.2</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<date>2003-02-03</date>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
Major overhall of engine
- Introduction of Lex based Parser. - A real syntax checking
Template generator
- Ability to do Coldfusion style HTML attributes like foreach=&quot;abc,b,c&quot; in TR or any tag.
- Automatically converts form elements (INPUT, TEXTAREA, SELECT) contents to suitable PHP code
and adds error messages.
- docs temporarily at http://devel.akbkhome.com/peardoc2/package.html.html-template-flexy.html
Note: Filter features of original HTML_Template_Flexy are now depreciated.
Note: This is not backwards compatible with version 0.1!
</notes>
</release>
<release>
<version>
<release>0.3</release>
<api>0.3</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<date>2003-02-06</date>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
Bug fixes
- allow usage with only constructor options
- fixed form elements - should be htmlspecialchars, rather than urlencoding
- new Tokenizer is enabled by default - set &apos;useLegacy&apos; in config/options to
use the old regex replacer.
- no variables are added (eg. o.*, a.* etc. to the page unless useLegacy is set)
- parsers are now private methods. (internal change)
New Features
- FLEXYSTART and FLEXYSTARTCHILDREN tags added so when use you include sub
templates, you can avoid including HEAD etc. tags.
</notes>
</release>
<release>
<version>
<release>0.4</release>
<api>0.4</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<date>2003-04-17</date>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
Warning BC breaking release:
- It is likely that form code may break with this due to the quickform integration
- likely issues: you will probably have to load the template and assign data to it
using $template-&gt;setQuickForm($this);
which will then expose $template-&gt;quickform as the template Object.
Bug fixes
- fixed #literal# chopping bug (Yuri Dyakonov)
- fixed XML/XHTML support (no more munging of cases)
- fixed Fatal Error messages - with more details
- fixed whitespace in doctype tags. (wierd lexer stuff)
Features
- quickforms (3) integration added.
- quickforms with multiple forms $flexyobj-&gt;quickforms[0.....]
- Initial gettext/multilanguage support
- support variable[12] as a valid variable name.
- does syntax checking on form element names
- fixed {outputBody()} (no prefix var methods)
- added url_rewrite for HREF and SRC tags - see example.ini for more details
- added compileAll.php script for bulk compilation on servers that do not have
write access to the directories they are serving off.
- Added extra Option - nonHTML to not make tokens of HTML tags, and enable postprocessing
of compiled template to replace ?&gt;\n with ?&gt;\n\n (aimed at email templates)
- Added extra Option - allowPHP to enable PHP code in template to be left alone. - defaults
to off (eg. no PHP allowed) -
- added support for &lt;TAG IF=&quot;somevar.xxxx&quot; and
&lt;TAG IF=&quot;somevar.method()&quot; maps to if (the test) &lt;TAG .....
- handles elements with same name, like radio buttons - although performing modifications on
them can be tricky..
While may thanks are owed to the many beta testers, special mention to Xavier
for spotting some really annoying little bugs.
</notes>
</release>
<release>
<version>
<release>0.4.1</release>
<api>0.4.1</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<date>2003-06-11</date>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
Bug fixes
- fixed #literal# support for method calls - hopefully finally (Yuri Dyakonov)
- BC support for getOptions call on objects (Marcin Galczynski)
Features
- method calls with literals at end can now use modifiers (:h/:u etc.)
</notes>
</release>
<release>
<version>
<release>0.5</release>
<api>0.5</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<date>2003-09-03</date>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
Warning: BC Breaking release
Warning: Still in Beta Testing.. (although most of the API should now be settled)
Due to the conclusion that the quickforms integration was not only messy, but
a heavy weight to be carried. The whole form/dynamic element layer was re-engineered.
And the dependancy on QuickForms removed
New Features
HTML_Template_Flexy_Element, is a small simple representation of generic HTML,
it is used to store the representation of form elements, and any HTML element
which contains the FLEXY:DYNAMIC attribute.
you can override elements, by using the new second argument to outputObject($object,$elements)
where $elements is an associate array of (form name)=&gt;Element
and the data in the elements array is merged with the visable template at runtime.
(so you only need to define what is different to the HTML, not the whole tag.)
You can make any tag &apos;dynamic&apos;, by just tagging it. - if you replace the element
in the elements array with an object that implements a toHtml method, This will be
called rather than the drawn element.
A Utility class, HTML_Template_Flexy_Factory offers common static methods, like
- creating element values from a key=&gt;value array (eg. Dataobjects-&gt;toArray())
- setting error messages (as suffixes to elements)
- flag something as required. (prefixing strings to elements)
Compiler Abstraction
The Compiler code in Flexy is now abstracted out, to make it possible to write
Other compilers and use the same caching/loading mechanism. (the old regex compiler
is included as an example of this.)
Other BC Issues:
all Flexy attributes must now be prefixed with &quot;flexy:&quot; namespace (eg. if, foreach, startchildren etc.)
Other New Features
- support for array strings on variables and methods = eg. {somevar[xxx][yyy].toHtml():h}
- added new Modifiers :r (print_r), and :n (number_format), and in future may make available user defined modifiers
</notes>
</release>
<release>
<version>
<release>0.5.1</release>
<api>0.5.1</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<date>2003-09-04</date>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
Fixes
- bufferedOutputObject correctly deals with elements array (Stephan Wentz)
Note: See Version 0.5 release notes concerning BC issues with 0.4 series
</notes>
</release>
<release>
<version>
<release>0.6</release>
<api>0.6</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<date>2003-12-20</date>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
This is a major fix release, along with quite a few new usefull features,
many thanks to the various bug reporters, and especially from the Damein Turner and
The Seagull framework Team
Hopefully, it is now the last beta before a stable release.....
New features
- &amp;lt;flexy:include src=&quot;xxx.html&quot;/&gt; to include other templates
- &amp;lt;flexy:toJavascript flexy:prefix=&quot;js_name_prefix_&quot; jsvar=&quot;php_flexy_var&quot; ....&gt;
uses HTML_Javascript_Convert to import PHP variables into Javascript.
- new modifier :b (for NL2BR + HTMLSPECIALCHARS)
- support for mulitple paths in templateDir
- attribute flexy:raw=&quot;{checked}&quot; allows you to to put raw data into a tag.
- -- double minus, is valid inside comments (not really valid XHTML though)
- global flexyIgnore option, to prevent global conversion to Elements.
- better support for elements where name=&quot;someval[]&quot;
Fixes
- array syntax supported in attributes (eg. urlencoded)
- setting values of elements with type works (bug #460)
- methods with multiple arguments fixed.
- HTML_Template_Flexy_Element::removeAttribute() works
(removing attributes is done by setting them to false)
- include error on EndTag
- closed element (eg. with /&gt; at end, can be used with flexy:if=
- radio buttons should auto create id&apos;s if none are set.
- xdebug recursion level increased (as the compiler recursion is high)
- buffered output with $elements fixed.
Note: See Version 0.5 release notes concerning BC issues with 0.4 series
</notes>
</release>
<release>
<version>
<release>0.6.1</release>
<api>0.6.1</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<date>2003-12-21</date>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
Bugfix release
- got javascript script wrapper wrong.
</notes>
</release>
<release>
<version>
<release>0.6.2</release>
<api>0.6.2</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<date>2004-01-20</date>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
Minor Bugfix / mini feature release
- support flexy:if with method arguments eg.
flexy:if=&quot;somemethod(#with#,some,#args#)&quot;
- foreach works on objects and arrays. : eg.
flexy:foreach=&quot;someobject&quot;
</notes>
</release>
<release>
<version>
<release>0.6.3</release>
<api>0.6.3</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<date>2004-01-21</date>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
Minor Bugfix
- fixed class=&quot;{some_method(with_some_args)}&quot;
</notes>
</release>
<release>
<version>
<release>0.7</release>
<api>0.7</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<date>2004-04-03</date>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
Last Beta release - (eg. it&apos;s a RC Release - next one will be stable!!! hopefully)
Minor Bugfix
- fixed bug #643 (compile incorrectly tests for string on windows.)
- fixed bug #615 constructor can not return errors
* check for compileDir isDir is in the compile() anyway..
- fix bug 1120: remove necessity to use flexy:ignoreonly,
* if a input tag has {variable} the engine assumes you dont want use a flexy_element.
- fix bug #809 - extra minuses in comments
(too may ---&gt; caused problems )
- fix bug #874 (literals with commas in flexy:if)
flexy:if=(#aaa,bbb#) correctly seen as a single attribute
- fix bug 739 - syntax checking on foreach
flexy:foreach=&quot;singlevalue&quot; now flagged as error.
- /flexy:include and toJavascript closers now correctly ignored.
- fix #856 - fix get_class usage.
- Fix bug when too many closing tags could zero the stack and delete parts of the template.
New Features
- config option templateDirOrder=reverse, allows you to prefer the first found template,
rather than the last found template (when using theme type configurations)
- Engine uses File_Gettext if gettext is not found. (or textdomain is set.)
- Provisional SmartyConverter compiler,
* provides a basic Coversion of Smarty to Flexy templates
- Provisional SmartyAPI emulator added.
* allows drop in replacement of flexy with simple code that uses Smarty.
- strict option
so variable can emit errors if they are not defined.
- multiSource option
for enabling themes type systems, where you can override the default template folder
with your own custom designs.
Behaviour changed
- templateDir can be an array, or string seperated by the system path seperatory
(; on windows,: on unix)
- If a file exists in multiple paths, then The LAST FOUND template will be used.
(previously this emited an error)
- If you use multiple paths in the template_dir, then the path will be modified to
write to {compileDir}/{basename(actualTemplateDir)}_{md5(actualTemplateDir)}/...template..
</notes>
</release>
<release>
<version>
<release>0.7.1</release>
<api>0.7.1</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<date>2004-04-07</date>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
Last Beta releases - (eg. it&apos;s a RC Release - stable will be within a month!!! hopefully)
Security: *** THIS AFFECTS __ALL__ PREVIOUS RELEASES ****
HTML_Template_Flexy_Element::setOptions and HTML_Template_Flexy_Element::setValue
with textareas did not htmlspecialchars escape text automatically -
opening up potential for cross site scripting posibliities..
Bugs:
radio buttons and hidden fields with same name could be created - blanking out the radio buttons
url_rewrite option is now syntax tested.
Features:
An attempt to create base Compile directory if it doesnt exist.
</notes>
</release>
<release>
<version>
<release>0.8.0</release>
<api>0.8.0</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<date>2004-04-22</date>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
Feature addition release:
Moving to stable is posponed another month, so these new features get a thorough testing.
Bugs / Fixes:
* fixed overzealous closing on some tags
* fixed double html escaping of some dynamic attributes
* ignore empty url_rewrite options (eg. images/:/templates/images,,)
* fixed recursion death, on &amp;lt;s&amp;gt; tags
* fixed flexy {variables} inside attributes=&apos;that are single quoted&apos;
* unknown namespaces are assumed to be HTML (so XUL with html works ok)
Features:
* Translation2 transparent translation backend support
$options[&apos;Translation2&apos;] = array(
&apos;driver&apos; =&gt; &apos;dataobjectsimple&apos;,
&apos;options&apos; =&gt; array()
)
will instantate Translation2 once , and call it to translate
all strings found when compiling.
* Strings to be translated can be explicitly marked by encapsulating them
in {_( ....... )_}
Parsing is done prior to tokenizing, so you can include {variables} inside
the translation strings.
* Access to private variables and methods now possible eg.
{_myprivate_var}
** requires option[&apos;privates&apos;] = true
* Access to super global variables now possible eg.
{_SESSION[lang]} {_GET[posted]} {_POST[posted]}
{_REQUEST[lang]} {GLOBALS[posted]} {_COOKIES[posted]}
** requires option[&apos;globals&apos;] = true
(as per all variable, these are html escaped by default, for security reasons,
over-ride with the :h modifier)
* Access to php functions now possible
{GLOBALS.date(mydate,#d/m/y#)}
** requires option[&apos;globalfunctions&apos;] = true
** this is a big security hole if you dont trust your template authors,
it exposes exec() etc.
* New Test infrastructure in CVS - enabling better unit testing.
</notes>
</release>
<release>
<version>
<release>0.8.1</release>
<api>0.8.1</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<date>2004-04-24</date>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
Bugfix release:
Moving to stable Planned Sometime after Late May 2004
Bugs / Fixes:
* Stoped Javascript being striped when language= tag not used.
* PHP5 tested
* javscript and php code not added to gettext string list.
Add test suite to package.
</notes>
</release>
<release>
<version>
<release>0.8.2</release>
<api>0.8.2</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<date>2004-05-05</date>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
Bugfix release:
Moving to stable Planned Sometime after Late May 2004
Bugs / Fixes:
* Bug #1274
* Test added for Bug #1310
* fix Flexy_Element::setOptions / Flexy_Element::setValue, using a value of 0
highlighting everything.
* Closing Tags for XHTML closers correctly placed at end of tag.
(Flexy_Element only)
* url_rewriting now works in &amp;lt;?xml-stylesheet tags. (they are treaded similar to
normal html tags now. (and only the opening &amp;lt; is written using php.
* closers for namepaced tags are now output (big oops bug..)
</notes>
</release>
<release>
<version>
<release>0.9.0</release>
<api>0.9.0</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<date>2004-05-06</date>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
minor BC break release:
Moving to stable Planned Sometime after Late May 2004
BC Break on Gettext string storage.
* during parsing of the template flexy builds an array of strings that
can be used to automate translation.
The strings in this array used to be escaped (similar to addslashes).
This proved to be a bad decision (As the unescaping and escaping got too messy)
- the strings are now stored as they are found. (albiet still trimmed)
New Features:
* strings from option tags, and value of input tags are added to gettext array.
* ability to generate namespaced options (eg. for XUL)
$x = new HTML_Template_Flexy_Element(&apos;html:select&apos;);
$x-&gt;setOptions(array(1=&gt;&apos;test&apos;));
</notes>
</release>
<release>
<version>
<release>0.9.1</release>
<api>0.9.1</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<date>2004-06-17</date>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
Feature addition release
support for function blocks
&lt;flexy:function name=&quot;myfunction&quot;&gt; define a block here &lt;/flexy:function&gt;
&lt;flexy:function call=&quot;myfunction&quot;&gt; calls the function &lt;/flexy:functio&gt;
&lt;flexy:function call=&quot;{somevar}&quot;&gt; variable function calls &lt;/flexy:function&gt;
support for static template compiles
options[compiler] = raw
plugin support and user defined modifiers using plugins
{this.plugin(#name#,var,var):h}
{var:formatdate} (calls plugin
{var:formatnumber}
Assign API support using setData() and setDataByRef()
</notes>
</release>
<release>
<version>
<release>0.9.2</release>
<api>0.9.2</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<date>2004-06-24</date>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
Feature addition release
support for id blocks
$flexy-&gt;compile(&apos;sometemplate.html#mytag&apos;);
will compile a file {compileDir}/sometemplate.html#mytag
which contains the tag and contents of &lt;span id=&quot;mytag&quot;&gt; ... &lt;/span&gt;
flexy:function call=&quot;xxx&quot; checks that the user defined function block exists
</notes>
</release>
<release>
<version>
<release>1.0.0</release>
<api>1.0.0</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<date>2004-08-07</date>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
The Long Awaited Gold Release.
Bug Fixes:
#1675 - CRLF fixes on windows
#------ Elements with matching key = value where incorrectly rendered.
Tweaks:
* minor changes to simple Smarty Template Converter/Processor
* Default Compiler is now called Flexy
* Added Translator tool to package (see Translator.php source for usage)
* Translator Tool includes clearTemplateCache - removes all files.
* Some error message improvements
* Added Tree.php - A HTML to Tree par ser, which can be used to process HTML,
or will eventually replace the Tree parsing code in the compiler.
tests/treeTest.php shows example usage
* HTML_Template_Flexy_Element used with &lt;FORM&gt; tags, now honours override property
* Minor reduction in size of parser Nodes
</notes>
</release>
<release>
<version>
<release>1.0.1</release>
<api>1.0.1</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<date>2004-08-09</date>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
Minor Bug Fix Release
Bugs
#------ Fix Missing include of Token.php
</notes>
</release>
<release>
<version>
<release>1.1.0</release>
<api>1.1.0</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<date>2004-12-18</date>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
Minor Feature Release
Changes
Note: This release may include some changes which may break BC, (in which case they
_are_ bugs and will be fixed.).
Features
#------ Forms without names, now are not generated as HTML_Elements, rather than given a default name.
#------ support for -ve numbers in {arrays[-1]}
#------ support for variable replacements in commented out blocks of styles
#2074 - allow literal numbers in methods, eg. {somemethod(3,#astring#,avar)}
Features
#------ Limited support for Xul in Elements
#2097 Support for mixing flexy vars within dynamic elements.
(If this causes problems, please file a bug report.)
#------ Forms without names render as plain HTML, rather than generating dynamic
elements.
#------ createToken code is simplified and supports writing the position of a token
(generally for usage in the Tree.php file for parsing html only.)
#------ Fixed tree builder so it is more tolerant of malformed HTML (eg. form tags
with closures in the wrong part of the html tree)
#------ Style element now works with flexy tags (rather than ignoring them within
comments)
#------ Support for translation of alt tags of IMG
</notes>
</release>
<release>
<version>
<release>1.1.1</release>
<api>1.1.1</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<date>2004-12-22</date>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
Minor Feature Release
Changes
Note: This release does break BC in templates using the Translation tools,
(which since they are undocumented should really be regarded as beta I guess.).
Support for Conversion of
&lt;b&gt;this is {atag} in a sentence&lt;/b&gt;
to a translatable string:
&quot;this is %s in a sentence&quot;
Is now NOT supported, it will result in 2 strings
&quot;this is&quot;
&quot;in a sentence&quot;
To effect a similar result, the translation markers should
now be used:
&lt;b&gt;{_(this is {atag} in a sentence)_}&lt;/b&gt;
will convert into a translatable string
&quot;this is {atag} in a sentence&quot;
Features / Fixes
#------ support for translatable markers in html attributes added:
eg. &lt;a href=&quot;{_(http://www.example.com)_}&quot;&gt;.....
#3003 {var} replaced with %s - fixed by removing all string merging code.
</notes>
</release>
<release>
<version>
<release>1.1.2</release>
<api>1.1.2</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<date>2004-12-28</date>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
Minor BugFix Release
Features / Fixes
#3041 - Removed Warning raised during compilation.
</notes>
</release>
<release>
<version>
<release>1.2.0</release>
<api>1.2.0</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<date>2004-12-28</date>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
Minor Feature Release
phpt testsuite has replaced previous CVS diff tests. (and in turn picked up
a few bugs)
Features / Fixes
#---- - Nested included templates &lt;flexy:include src=&quot;....&quot;/&gt; inherit parent variables.
#---- - Fixed PHP code detection
#---- - option[&apos;allowPHP&apos;] = &apos;delete&apos;, will just remove php code, rather than
barf with error, or just add it.
#---- - CDATA sections supported, with limited flexy tags (eg. foreach and variables only)
#---- - Plugins now show correct warning when loading fails.
#---- - Plugins as modifiers work correctly
(fixed previous bug if they started with h/r/t etc. they got ignored.)
#3129 - add note that setRequired/setError/freeze are depreciated
(they should really be examples, that end user can modify, rather than a method)
#3145 - fixed missing ; in an error message.
</notes>
</release>
<release>
<version>
<release>1.2.1</release>
<api>1.2.1</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<date>2005-01-27</date>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
Minor Bugfix Release
Features / Fixes
#---- - Pass by reference warning fixed.
#---- - Left debuging code in plugins
A very nice introduction to plugin&apos;s exists here:
http://seagull.phpkitchen.com/docs/wakka.php?wakka=Howto/Flexy/Plugins
</notes>
</release>
<release>
<version>
<release>1.2.2</release>
<api>1.2.2</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<date>2005-07-23</date>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
Minor Bugfix Release
- Support Variables in Attributes of Flexy Elements (I would not recomend doing this, but
it appears to work!)
- Removed support for merging text and variables automatically for creating translation strings
(It never worked very well) the recommend way to mix variables and text for translation is to
use the translation markers {_( translation block with {flexy} {methods()} )_}
* Note these do not work correcty inside attributes values yet! - but will be fixed in the next release.
- Support for translator storing title= attribute values from &lt;a&gt; tags.
- Unix privaliges are 0664 for translation strings and element data.
Features / Fixes
bug #4103 - &amp; replaced with &amp;amp; in attribute values of flexy elements
(&amp;nbsp; is still broken however.)
bug #3885 - Flexy_Factory::setRequired() did not reset return values correctly (note this feature is depreciated)
--- ----- - Fixed Number format modifier (found by new test suite)
--- ----- - Fixed Attribute method calls modifiers being chopped.
bug #3946 - Using flexy:raw (to put stuff like &quot;checked&quot; in) now produces a warning when used
with dynamic elements (use flexy:ignore=&quot;yes&quot;) to stop them being dynamic.
</notes>
</release>
<release>
<version>
<release>1.2.3</release>
<api>1.2.3</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<date>2005-10-29</date>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
Minor Bugfix Release
Feature Requests:
bug #5752 - add support for :e modifier == htmlentities() call.
* flexy:nameuses also replaces in id (obviously if %s in included)
Fixes
* dont bork with error if value is not set when setValue() on a
radio button is called.
* fix up flexy:nameuses with radio buttons.
* php4.4 compatibility issues (return by ref stuff)
* summarize security issues with SimpleTags backend
</notes>
</release>
<release>
<version>
<release>1.2.4</release>
<api>1.2.4</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<date>2006-01-20</date>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
Minor Bugfix / New Feature Release
Bugs
----
#6152 - default to using key in optgroup when novalue not set
#5267 - checkboxes using [], with ids
#5752 - add support for :e modifier == htmlentities() call.
Features/Changes and Fixes
--------------------------
* add ability to remove unused translations (in HTML_Template_Flexy_Translator,
tidy up javascript a little (ivan)
* add support for gettext Translation2 backend - Requires uptodate version of
Gettext/Translation2 packages ... (ivan)
* remove warning from compiled template, when trying to merge possibly
non-existant elements
* remove short tags output from Simpletags compiler backend. + lots of
whitespace changes, for some reason... (Demian Turner)
* basic charset support in HTML_Template_Flexy_Element ... this is
a todo for the rendering layer though... (eg. utf8 / big5 sent to htmlspecialchars)
* de-escaping of &amp;amp;nbsp; only used in select option text - removed this feature from
other elements
* add XUL checkbox support.
* correctly replace linefeeds on XUL textbox&apos;s
* better handling of XUL textbox and menulist elements converted to
Flexy XUL Elements
* flexy:nameuses also replaces in id (obviously if %s is included)
</notes>
</release>
<release>
<date>2006-11-10</date>
<version>
<release>1.2.5</release>
<api>1.2.5</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
Minor Bugfix / Minor Feature Release
Bugs
#9157 - fix regex that tests translation strings - support multilanguage text
Feature Request
#7483 - implement subtemplating with variable passing support Thanks to anil at m3
Fixes
gettext based translationns using Translation2 now work
</notes>
</release>
<release>
<date>2008-01-30</date>
<version>
<release>1.3.0</release>
<api>1.3.0</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
Bug Fix and Minor Feature release
Bug Fixes
#7609 - user defined compilers causing warnings
#11751 - E_NOTICE in CustomFlexyAttributes, fix WS/TAB issue.
#9336 - nasty kludge fix to workaround stupidest decision in PHP history ;)
-fix PHP5/4 warning issues with is_a
#10830 - support title= on most tags, and alt= on input tags.
#12036 - prevent generation of closing tags for link, meta, hr, br
#9591 / #11740 - radio buttons can auto generate ID if none given
#10002 - setData with array/object
#9157 - native language regex support
New Features
#7609 - support user defined compilers as compiler object
#11741 - getOptions / clearOptions - thx to justdev
#---- - add experimental toJSON feature. flexy:toJSON
#12265 - support label in Element
#----- - change setlocale to use LC_MESSAGES to prevent bugs with strtoupper
#10248 - attributes: flexy:content, flexy:replace, flexy:omittag
#8008 - flexy:include src= allow variables { }
#9436 - support background for url rewriting
</notes>
</release>
<release>
<date>2008-01-31</date>
<version>
<release>1.3.1</release>
<api>1.3.0</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
Minor Bug Fix release
Bug Fixes
#13010 - Missing CustomFlexyAttributes.php file
</notes>
</release>
<release>
<date>2008-01-31</date>
<version>
<release>1.3.2</release>
<api>1.3.0</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
Major Bug Fix release
Bug Fixes
#13016 - Version 1.3.1 (and probably 1.3.0) where completely broken by CustomFlexyAttributes change
Patch has been reverted - pending re-implementation.
</notes>
</release>
<release>
<date>2008-02-27</date>
<version>
<release>1.3.3</release>
<api>1.3.0</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
Minor Bug Fix release
Bug Fixes
#9336, #13016, #13022, #13076, #13179 - is_a depreciation fix (hang internals for this!)
</notes>
</release>
<release>
<date>2008-05-05</date>
<version>
<release>1.3.4</release>
<api>1.3.0</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
Minor Bug Fix release
Bug Fixes
#13419 - Windows compile throwed error with LC_MESSAGES - we now use LC_ALL and check for it.
#----- - PHP4 parse error in Flexy compiler
#----- - flexy:toJSON incorrectly created variables using json_encode (PHP5 only)
</notes>
</release>
<release>
<date>2009-03-12</date>
<version>
<release>1.3.6</release>
<api>1.3.0</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
Minor Bug Fix release
Bug Fixes
#----- - fix include to only pass variables created by template, rather than
flood the subtemplate - fixes various segfaults.
#----- - Add scopeVars fetch for better include
#----- - add some extra checks for writing merging elements
#14105 - Empty element tag ending with /&gt; and flexy:replace
#15961 - customflexyattributes ignores multiple flexy attributes.
#14984 - PHP5 class_exists compat
#15272 - inherrited namesues checkboxes get wrong names - patch by Heikki Uusitalo
#15279 - early return from checkbox code with [] in name. - may have knock on effects
#15874 - single API for error reporting in Compiler/Flexy/Tag.php - to show
filename/line/tag etc.
#15263 - php5 merge elements needs to clone objects
#14899 - flexy:xhtml honored by element - fix by Geoff Beaumon
#14897 - xhtml not honored by element input etc.
#13887 - use is_callable on plugins
Request #14893 - improve PHPCS (clockwerx)
</notes>
</release>
<release>
<date>2009-03-13</date>
<version>
<release>1.3.7</release>
<api>1.3.0</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
Friday the 13th Release - Minor Bug Fixes
Bug Fixes
#16026 - Fix is_callable in plugins - (refix to #13887)
#----- - Fix new include feature adding blank vars
</notes>
</release>
<release>
<version>
<release>1.3.9</release>
<api>1.3.0</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<date>2009-03-24</date>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
Fix The Unlucky Release - Minor Bug Fixes
Bug Fixes
#----- - Plugin was broken by last fix in last release.
</notes>
</release>
</changelog>
</package>
Jump to Line
Something went wrong with that request. Please try again.