1<?xml version="1.0" encoding="UTF-8"?>
2<package packagerversion="1.9.5" 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">
3 <name>HTML_Template_Flexy</name>
4 <channel>pear.php.net</channel>
5 <summary>An extremely powerful Tokenizer driven Template engine</summary>
6 <description>HTML_Template_Flexy started it&apos;s life as a simplification of HTML_Template_Xipe,
7however in Version 0.2, It became one of the first template engine to use a real Lexer,
8rather than regex&apos;es, making it possible to do things like ASP.net or Cold Fusion tags.
9However, it still has a very simple set of goals.
10- Very Simple API,
11   o easy to learn...
12   o prevents to much logic going in templates
13- Easy to write document&apos;able code
14   o By using object vars for a template rather than &apos;assign&apos;, you
15     can use phpdoc comments to list what variable you use.
16- Editable in WYSIWYG editors
17   o you can create full featured templates, that doesnt get broken every time you edit with
18     Dreamweaver(tm) or Mozilla editor
19   o Uses namespaced attributes to add looping/conditionals
20- Extremely Fast,
21   o runtime is at least 4 time smaller than most other template engines (eg. Smarty)
22   o uses compiled templates, as a result it is many times faster on blocks and loops than
23     than Regex templates (eg. IT/phplib)
24- Safer (for cross site scripting attacks)
25   o All variables default to be output as HTML escaped (overridden with the :h modifier)
26- Multilanguage support
27   o Parses strings out of template, so you can build translation tools
28   o Compiles language specific templates (so translation is only done once, not on every request)
29- Full dynamic element support (like ASP.NET), so you can pick elements to replace at runtime
30
31Features:
32- {variable} to echo $object-&gt;variable
33- {method()} to echo $object-&gt;method();
34- {foreach:var,key,value} to PHP foreach loops
35- tag attributes FLEXY:FOREACH, FLEXY:IF for looping and conditional HTML inclusion
36- {if:variable} to PHP If statement
37- {if:method()} to PHP If statement
38- {else:} and {end:} to close or alternate If statements
39- FORM to HTML_Template_Flexy_Element&apos;s
40- replacement of INPUT, TEXTAREA and SELECT tags with HTML_Template_Flexy_Element code
41  use FLEXY:IGNORE (inherited) and FLEXY:IGNOREONLY (single) to prevent replacements
42- FLEXY:START/FLEXY:STARTCHILDREN tags to define where template starts/finishes
43- support for urlencoded braces {} in HTML attributes.
44- documentation in the pear manual
45
46- examples at http://svn.php.net/pear/packages/HTML_Template_Flexy/trunk/tests/</description>
47 <lead>
48  <name>Alan Knowles</name>
49  <user>alan_k</user>
50  <email>alan@akbkhome.com</email>
51  <active>yes</active>
52 </lead>
53 <date>2014-11-21</date>
54 <time>04:23:54</time>
55 <version>
56  <release>1.3.13</release>
57  <api>1.3.0</api>
58 </version>
59 <stability>
60  <release>stable</release>
61  <api>stable</api>
62 </stability>
63 <license uri="http://www.php.net/license">PHP License</license>
64 <notes>
65Minor fixes and feature release - includes PHP5 depricated fixes
66
67Bug Fixes
68
69   #18825 - old cvs link on package description.. update to what will be broken soon.. svn link...
70   #----- - replace \e with preg_callback
71   #----- - work around  https://bugs.php.net/bug.php?id=62796
72   #----- -  support placeholder translation  in password fields correctly
73   #----- -  more fixes for placeholder translation, and better support for translator Dataobjects / fix static on factory
74   #----- -  output for json should use encodeunsafe, otherwise header gets sent
75   #----- - ignore the string translation code on non-html templates - you can still use the {_(....)_} translation placeholder to flag a translatable string
76
77New Features
78
79
80  #----- -  add support for placeholder html5 tag for translation
81  #----- - Add support for DB_DataObject based template translations requires DB_DataObject to be autoloaded or required before use.
82  #----- - add test code for bug 19880
83  #----- - add raw include and json including for flexy:include src=  type=raw|json name=[jsname]
84  #----- - support for storing original text from &lt;xxxx flexy:contents=&quot;....&quot;&gt;These contents&lt;/xxx&gt; in flexy-&gt;compiler-&gt;contentStrings
85  #----- - support for full tag in flexy:contents=&quot;{standard.flexy[arg].stuff()}&quot;
86  #----- - change default encoding to UTF-8
87  #----- - expose compiler when its used as flexy-&gt;compiler
88  #----- - move translation code into core class, and support element translation of input type=submit value=xxxxx
89  #----- - add extra comment on var, and hide error reporting on ob_end_clean - which output spurious warnings
90  #----- - tidy up code for output to file - ob_ methods playing up quite a bit on different versions of PHP
91  #----- - add outputObjectToFile - a memory friendly outputObject , which can not use inline functions, as support is not available in some servers..
92  #----- -  remove pass by ref on object, as it is not needed any more
93  #----- -  add new method resolvePath - that enables quering of where the template physicaly resides
94  #----- -  PHP5.4 E_ALL change support
95 </notes>
96 <contents>
97  <dir baseinstalldir="/" name="/">
98   <file baseinstalldir="/" md5sum="8a8ff096b84107b3646a9bfc9b2b24e7" name="examples/EMPTY_FOLDERS_NOTHING_IN_HERE" role="doc" />
99   <file baseinstalldir="/" md5sum="1e26f0ba876ae1a609e01dcf2066cc90" name="HTML/Template/Flexy.php" role="php" />
100   <file baseinstalldir="/" md5sum="bfa3491d8334b50462882db8b2ca04d6" name="HTML/Template/Flexy/Assign.php" role="php" />
101   <file baseinstalldir="/" md5sum="688d7f20bc057097ceaf258165f36f92" name="HTML/Template/Flexy/compileAll.php" role="php" />
102   <file baseinstalldir="/" md5sum="3ef081a55e4280b62142599f36a31953" name="HTML/Template/Flexy/Compiler.php" role="php" />
103   <file baseinstalldir="/" md5sum="66e3aead5e9c5b5997f66a9982c4422b" name="HTML/Template/Flexy/Element.php" role="php" />
104   <file baseinstalldir="/" md5sum="4145fc313dae9ebd14e291459fbd06cf" name="HTML/Template/Flexy/example.ini" role="data" />
105   <file baseinstalldir="/" md5sum="b33dc1e2261a6ad3b4bd5feaeec5831a" name="HTML/Template/Flexy/Factory.php" role="php" />
106   <file baseinstalldir="/" md5sum="e395f5076338039e05c561e484aaaa80" name="HTML/Template/Flexy/Plugin.php" role="php" />
107   <file baseinstalldir="/" md5sum="fc4658baafaa77ae2a6e8b022cc5d422" name="HTML/Template/Flexy/SmartyAPI.php" role="php" />
108   <file baseinstalldir="/" md5sum="ee34ec9e54d3309436ddd171ff07fcb1" name="HTML/Template/Flexy/Test.php" role="php" />
109   <file baseinstalldir="/" md5sum="53b318f0844fb0257fc233d55e849d98" name="HTML/Template/Flexy/Token.php" role="php" />
110   <file baseinstalldir="/" md5sum="4c1d354936d0a6deebb877866dd842d5" name="HTML/Template/Flexy/Tokenizer.lex" role="data" />
111   <file baseinstalldir="/" md5sum="b070ba42cbf188c0528c4a5140f2ea58" name="HTML/Template/Flexy/Tokenizer.php" role="php" />
112   <file baseinstalldir="/" md5sum="a090ef7f855c5147582ae8e525dec8eb" name="HTML/Template/Flexy/Translator.php" role="php" />
113   <file baseinstalldir="/" md5sum="6213708e6c31707d0091f075e6ea760f" name="HTML/Template/Flexy/Tree.php" role="php" />
114   <file baseinstalldir="/" md5sum="e1c350a2a1e60fbd8d7a99b184b9658a" name="HTML/Template/Flexy/Compiler/Flexy.php" role="php" />
115   <file baseinstalldir="/" md5sum="3da6781e0356db33b44a1250325c49a5" name="HTML/Template/Flexy/Compiler/Regex.php" role="php" />
116   <file baseinstalldir="/" md5sum="4c9945950d33eda39e541380dd014b9a" name="HTML/Template/Flexy/Compiler/SmartyConvertor.php" role="php" />
117   <file baseinstalldir="/" md5sum="7014f6e13456c000e06bbfd573a965ab" name="HTML/Template/Flexy/Compiler/Standard.php" role="php" />
118   <file baseinstalldir="/" md5sum="66c35a0b5767ed1033fb8e2060d1b27c" name="HTML/Template/Flexy/Compiler/Flexy/CustomFlexyAttributes.php" role="php" />
119   <file baseinstalldir="/" md5sum="58c8a13b079dea87f19472bb2a6fcadc" name="HTML/Template/Flexy/Compiler/Flexy/Flexy.php" role="php" />
120   <file baseinstalldir="/" md5sum="19eb97615bbd3469ebf00d0b560d67d2" name="HTML/Template/Flexy/Compiler/Flexy/Tag.php" role="php" />
121   <file baseinstalldir="/" md5sum="5600f9b49e119cf8ee44999220e5f7c8" name="HTML/Template/Flexy/Compiler/Regex/BodyOnly.php" role="php" />
122   <file baseinstalldir="/" md5sum="70ece2c2644c51395e81234c486f3416" name="HTML/Template/Flexy/Compiler/Regex/Mail.php" role="php" />
123   <file baseinstalldir="/" md5sum="b9f9c81da386f12400fe0630af5d0154" name="HTML/Template/Flexy/Compiler/Regex/Math.php" role="php" />
124   <file baseinstalldir="/" md5sum="3e2f98d5c5d22ba6a13b879a57c8744e" name="HTML/Template/Flexy/Compiler/Regex/Php.php" role="php" />
125   <file baseinstalldir="/" md5sum="7eadfd696244f811af8cdfb84efd229f" name="HTML/Template/Flexy/Compiler/Regex/RtfSimpleTags.php" role="php" />
126   <file baseinstalldir="/" md5sum="50d0fae9745807634c89d6e726c1ce36" name="HTML/Template/Flexy/Compiler/Regex/SimpleTags.php" role="php" />
127   <file baseinstalldir="/" md5sum="ede68cf8ce6fcd2444bc8cc46dbb7c4f" name="HTML/Template/Flexy/Compiler/Regex/Xml.php" role="php" />
128   <file baseinstalldir="/" md5sum="9c964314aacc2237b2b112dfb9100260" name="HTML/Template/Flexy/Compiler/Standard/Flexy.php" role="php" />
129   <file baseinstalldir="/" md5sum="98f9ac4e0dedb31552a487295363dbd9" name="HTML/Template/Flexy/Compiler/Standard/Tag.php" role="php" />
130   <file baseinstalldir="/" md5sum="382629e3731ee535540cb02ce61a37b7" name="HTML/Template/Flexy/Element/Xul.php" role="php" />
131   <file baseinstalldir="/" md5sum="851121e801a08c234d60cc38741e805a" name="HTML/Template/Flexy/Plugin/Savant.php" role="php" />
132   <file baseinstalldir="/" md5sum="de220a60d41b99938c85b8ddf1fb7aa6" name="HTML/Template/Flexy/templates/translator.html" role="doc" />
133   <file baseinstalldir="/" md5sum="c809d4ece552759f3e6d3d6454da7d6e" name="HTML/Template/Flexy/Token/Cdata.php" role="php" />
134   <file baseinstalldir="/" md5sum="228564e96cb58d8f65aea1b7c37ab0ff" name="HTML/Template/Flexy/Token/Else.php" role="php" />
135   <file baseinstalldir="/" md5sum="035fc84102a5116910f74c366fa0e8e9" name="HTML/Template/Flexy/Token/End.php" role="php" />
136   <file baseinstalldir="/" md5sum="68970d75465520d4bf525abdc854ba6f" name="HTML/Template/Flexy/Token/EndTag.php" role="php" />
137   <file baseinstalldir="/" md5sum="392341c807a0935fe8e97a76ff591c28" name="HTML/Template/Flexy/Token/Foreach.php" role="php" />
138   <file baseinstalldir="/" md5sum="890a1829e0c18d9eb9278543daf30275" name="HTML/Template/Flexy/Token/If.php" role="php" />
139   <file baseinstalldir="/" md5sum="acc8e75eeec480f821538aecc1b4ca26" name="HTML/Template/Flexy/Token/Method.php" role="php" />
140   <file baseinstalldir="/" md5sum="288c7b2c14db2ac0c16e33a696bee56b" name="HTML/Template/Flexy/Token/Processing.php" role="php" />
141   <file baseinstalldir="/" md5sum="175cbc4eaf5a9a1a1f7439e306b24a3a" name="HTML/Template/Flexy/Token/Tag.php" role="php" />
142   <file baseinstalldir="/" md5sum="1b3549e04fac83611c89a4654135fbb7" name="HTML/Template/Flexy/Token/Text.php" role="php" />
143   <file baseinstalldir="/" md5sum="5100b6cac66756474916741d3fd2c6e2" name="HTML/Template/Flexy/Token/Var.php" role="php" />
144   <file baseinstalldir="/" md5sum="ded76467f24864875821f99d4228234d" name="tests/make_tests.php" role="test" />
145   <file baseinstalldir="/" md5sum="2f28c628e7fb0ad75e007cc257ba3b4f" name="tests/test.php" role="test" />
146   <file baseinstalldir="HTML/Template" md5sum="3625999541b17a1ad60755d80295f950" name="tests/testsuite.php" role="test" />
147   <file baseinstalldir="HTML/Template" md5sum="c5e87c139c5ae80064f042f3877ecf12" name="tests/test_blocks.html.phpt" role="test" />
148   <file baseinstalldir="HTML/Template" md5sum="13a67a45a034741e2806ea436a6dc5ca" name="tests/test_bug_2959.html.phpt" role="test" />
149   <file baseinstalldir="HTML/Template" md5sum="6c503743b6a04b17568530cc9e2615b1" name="tests/test_conditions.html.phpt" role="test" />
150   <file baseinstalldir="HTML/Template" md5sum="492b0b13e8ad4364bbbfe952d331d4ec" name="tests/test_error_foreach.html.phpt" role="test" />
151   <file baseinstalldir="HTML/Template" md5sum="37be06544794b46dab851f6eaccff3c9" name="tests/test_flexy_tojavascript.html.phpt" role="test" />
152   <file baseinstalldir="HTML/Template" md5sum="bd43df454f0dbe161686eac451593d67" name="tests/test_forms.html.phpt" role="test" />
153   <file baseinstalldir="HTML/Template" md5sum="89c780d12736ca98318fe3409cea7dc4" name="tests/test_function.html.phpt" role="test" />
154   <file baseinstalldir="HTML/Template" md5sum="f3a3a39555edcfaf0d0765ab61cec40b" name="tests/test_globals.html.phpt" role="test" />
155   <file baseinstalldir="HTML/Template" md5sum="c39eee821bb7aa89110f846a04623d82" name="tests/test_image_view.html.phpt" role="test" />
156   <file baseinstalldir="HTML/Template" md5sum="5dbd847c008d55e79c4fc2bbff92e97f" name="tests/test_include.html.phpt" role="test" />
157   <file baseinstalldir="HTML/Template" md5sum="dc00c7e50511608a3f402cc03c7daa21" name="tests/test_javascript.html.phpt" role="test" />
158   <file baseinstalldir="HTML/Template" md5sum="a00cbf6d0409ffeff97a894988943c94" name="tests/test_looping.html.phpt" role="test" />
159   <file baseinstalldir="HTML/Template" md5sum="5278f64f1cfa3df3842c226283cd944a" name="tests/test_methods.html.phpt" role="test" />
160   <file baseinstalldir="HTML/Template" md5sum="409091e3ed2cde1cb6495e778f6ced61" name="tests/test_namespaces.html.phpt" role="test" />
161   <file baseinstalldir="HTML/Template" md5sum="9ee43d2ed621fe2dac980c0796b8540b" name="tests/test_plugin_modifiers.html.phpt" role="test" />
162   <file baseinstalldir="HTML/Template" md5sum="123f511810275ef16d5306fd47504f86" name="tests/test_raw_php.html.phpt" role="test" />
163   <file baseinstalldir="HTML/Template" md5sum="f9ed3aaa5f75a38caf121f3dd6eb12c2" name="tests/test_raw_text.html.phpt" role="test" />
164   <file baseinstalldir="HTML/Template" md5sum="4473b55ff2741406ca64bf0658b9d423" name="tests/test_style.html.phpt" role="test" />
165   <file baseinstalldir="/" md5sum="bc1aa46072e083dcdfaa08b4724b22e7" name="tests/test_usesname.html.phpt" role="test" />
166   <file baseinstalldir="HTML/Template" md5sum="875e8857ec36342934b53fa4743bc047" name="tests/test_variables.html.phpt" role="test" />
167   <file baseinstalldir="/" md5sum="32846cdfe2b7475e7671af2baae4736f" name="tests/treeTest.php" role="test" />
168   <file baseinstalldir="/" md5sum="d4d718a2280911c0dc80700738cdea14" name="tests/results2/blocks.html.en.php" role="test" />
169   <file baseinstalldir="/" md5sum="d4d718a2280911c0dc80700738cdea14" name="tests/results2/blocks.html.en.php#block1" role="test" />
170   <file baseinstalldir="/" md5sum="d4d718a2280911c0dc80700738cdea14" name="tests/results2/blocks.html.en.php#block2" role="test" />
171   <file baseinstalldir="/" md5sum="c2548393d6d96cbcd763d6d1944f3614" name="tests/results2/blocks.html.gettext.serial" role="test" />
172   <file baseinstalldir="/" md5sum="e4b0f536193c13c8ba3d2d7d27b6c7df" name="tests/results2/forms.html.elements.serial" role="test" />
173   <file baseinstalldir="/" md5sum="3755a69d9d24db0e1693473982cc7d85" name="tests/results2/forms.html.en.php" role="test" />
174   <file baseinstalldir="/" md5sum="423fa9978f4b7bc27235682db399c0df" name="tests/results2/forms.html.gettext.serial" role="test" />
175   <file baseinstalldir="/" md5sum="c5ecb2551e3321086bb5b2e0c4fc11bf" name="tests/results2/forms.result.html" role="test" />
176   <file baseinstalldir="/" md5sum="37499c536346c5f65416be72f37d9cd9" name="tests/results2/function.html.en.php" role="test" />
177   <file baseinstalldir="/" md5sum="09f20b7aac9757418d6ccd84d088db96" name="tests/results2/function.html.gettext.serial" role="test" />
178   <file baseinstalldir="/" md5sum="53c32ef96941908697f839670b466836" name="tests/results2/function.result.html" role="test" />
179   <file baseinstalldir="/" md5sum="1bd88a1891ee582279df978265906ab4" name="tests/results2/globals.html.en.php" role="test" />
180   <file baseinstalldir="/" md5sum="ae5ed1a39ee851e0cf028e0ca78fe1ae" name="tests/results2/globals.html.gettext.serial" role="test" />
181   <file baseinstalldir="/" md5sum="99565e3b1b6cb11aac03f3358639c4f2" name="tests/results2/namespaces.html.en.php" role="test" />
182   <file baseinstalldir="/" md5sum="286930545142448be66d9f6e0f2d596e" name="tests/results2/raw_php.html.en.php" role="test" />
183   <file baseinstalldir="/" md5sum="fb3a8ccc4563ec6937b5fd89fd706c5c" name="tests/smarty/index.tpl" role="test" />
184   <file baseinstalldir="/" md5sum="c807c30a4358d1d7a54c77c96a2c4595" name="tests/smarty/index.tpl.html" role="test" />
185   <file baseinstalldir="HTML/Template" md5sum="3b3e007b020eec530319c965ed843bd3" name="tests/smarty/smartytest.php" role="test" />
186   <file baseinstalldir="HTML/Template" md5sum="d4d718a2280911c0dc80700738cdea14" name="tests/templates/blocks.html" role="test" />
187   <file baseinstalldir="HTML/Template" md5sum="fbf7a7a90c23b2a905582406c4ad8613" name="tests/templates/bug_2959.html" role="test" />
188   <file baseinstalldir="HTML/Template" md5sum="d6fe8fdffa3c44b1d99342cb1c149348" name="tests/templates/conditions.html" role="test" />
189   <file baseinstalldir="HTML/Template" md5sum="fc2b96c50e63a7bc363df5e2ac2ae0a8" name="tests/templates/error_foreach.html" role="test" />
190   <file baseinstalldir="/" md5sum="80b9e7696aecfdf1f9d35bd6ce5aae33" name="tests/templates/flexy_raw_with_element.html" role="test" />
191   <file baseinstalldir="HTML/Template" md5sum="9324b07b02f21e7dbae6b2c0a19e73ac" name="tests/templates/flexy_tojavascript.html" role="test" />
192   <file baseinstalldir="HTML/Template" md5sum="e5e5e94e4dd2da8f178aad24298f50a1" name="tests/templates/forms.html" role="test" />
193   <file baseinstalldir="HTML/Template" md5sum="71ab5a8cbb8e51e7e7f7436f0e8df24d" name="tests/templates/function.html" role="test" />
194   <file baseinstalldir="HTML/Template" md5sum="28ac18df2f5ab965bb25baec11c09ef5" name="tests/templates/globals.html" role="test" />
195   <file baseinstalldir="HTML/Template" md5sum="2c9b6aaf510fa6e512b6b00852e09798" name="tests/templates/image_view.html" role="test" />
196   <file baseinstalldir="HTML/Template" md5sum="f3e61317f6443b809bd986336c1dcf20" name="tests/templates/include.html" role="test" />
197   <file baseinstalldir="/" md5sum="d41d8cd98f00b204e9800998ecf8427e" name="tests/templates/includes.html" role="test" />
198   <file baseinstalldir="/" md5sum="4c400b538197b3e9130813d88ec92642" name="tests/templates/include_block.html" role="test" />
199   <file baseinstalldir="HTML/Template" md5sum="2767e4c309d7659e13d85c23a4827dd2" name="tests/templates/javascript.html" role="test" />
200   <file baseinstalldir="HTML/Template" md5sum="03eeab3f9a872dfbc6d69c3a707f4545" name="tests/templates/looping.html" role="test" />
201   <file baseinstalldir="HTML/Template" md5sum="7b8e6f45f4c21ada4afa8cfc760420b8" name="tests/templates/methods.html" role="test" />
202   <file baseinstalldir="HTML/Template" md5sum="9c96bc467c89afa389a17a679e178ed1" name="tests/templates/namespaces.html" role="test" />
203   <file baseinstalldir="HTML/Template" md5sum="9b366667c6cb9526e3f4fd061bd2406b" name="tests/templates/plugin_modifiers.html" role="test" />
204   <file baseinstalldir="HTML/Template" md5sum="0e4982d2f4c462c96489d6330626634f" name="tests/templates/raw_php.html" role="test" />
205   <file baseinstalldir="HTML/Template" md5sum="a7d8c5005c607ad254eb5f35fabee9a1" name="tests/templates/raw_text.html" role="test" />
206   <file baseinstalldir="HTML/Template" md5sum="372d27c6c2405534a78e5dcca4b31a53" name="tests/templates/style.html" role="test" />
207   <file baseinstalldir="/" md5sum="9be3036b0bb05a41b3084d1a69012f64" name="tests/templates/usesname.html" role="test" />
208   <file baseinstalldir="HTML/Template" md5sum="93468f558bf2e9e181cf07cfd81d31e3" name="tests/templates/variables.html" role="test" />
209   <file baseinstalldir="/" md5sum="9f5f2e908c7131a8fef93027099017b4" name="tests/trees/blocks.html.tree" role="test" />
210   <file baseinstalldir="/" md5sum="19a1cc5c1cb122c05b4fba81098478ea" name="tests/trees/conditions.html.tree" role="test" />
211   <file baseinstalldir="/" md5sum="a24dcae72c885c46684f7e0500e8bbc7" name="tests/trees/error_foreach.html.tree" role="test" />
212   <file baseinstalldir="/" md5sum="72689abdf3107438b267ea1635b291a6" name="tests/trees/flexy_tojavascript.html.tree" role="test" />
213   <file baseinstalldir="/" md5sum="49040d18e8e36ceb688787c521abe215" name="tests/trees/forms.html.tree" role="test" />
214   <file baseinstalldir="/" md5sum="d4138e8347e7150ace16dce2b792c536" name="tests/trees/function.html.tree" role="test" />
215   <file baseinstalldir="/" md5sum="d459ed56c6af86e624f2136f92d43868" name="tests/trees/globals.html.tree" role="test" />
216   <file baseinstalldir="/" md5sum="06cbfc7e94c26e295b1fe382884418d6" name="tests/trees/image_view.html.tree" role="test" />
217   <file baseinstalldir="/" md5sum="f5b327bf31b3ea57509b56c4aa0c1613" name="tests/trees/includes.html.tree" role="test" />
218   <file baseinstalldir="/" md5sum="1549bc9eb38e61210abead2dbe6405f6" name="tests/trees/javascript.html.tree" role="test" />
219   <file baseinstalldir="/" md5sum="ab9007488ae47e398db0250dc884289f" name="tests/trees/looping.html.tree" role="test" />
220   <file baseinstalldir="/" md5sum="61b43b38e1a09893692e48fba59f5b7b" name="tests/trees/methods.html.tree" role="test" />
221   <file baseinstalldir="/" md5sum="206dfb504c19e252ad6708310aef5d30" name="tests/trees/namespaces.html.tree" role="test" />
222   <file baseinstalldir="/" md5sum="b185c03322f7ab9d09ebc47e2fc3e4dd" name="tests/trees/plugin_modifiers.html.tree" role="test" />
223   <file baseinstalldir="/" md5sum="e693f6f92e06e0b4e8a15d399aa28f19" name="tests/trees/raw_php.html.tree" role="test" />
224   <file baseinstalldir="/" md5sum="e95960a770ee57f7982119180df5badf" name="tests/trees/raw_text.html.tree" role="test" />
225   <file baseinstalldir="/" md5sum="8dba9452a5ca27ec3b12323a0c6cad4d" name="tests/trees/variables.html.tree" role="test" />
226   <file baseinstalldir="/" md5sum="bc32a98e207b4016f5d5edbde34484b5" name="ChangeLog" role="data" />
227   <file baseinstalldir="/" md5sum="f3b361e49bbb1bb73fd368fab38e2a8b" name="TODO" role="data" />
228  </dir>
229 </contents>
230 <dependencies>
231  <required>
232   <php>
233    <min>5.0</min>
234   </php>
235   <pearinstaller>
236    <min>1.4.0b1</min>
237   </pearinstaller>
238  </required>
239  <optional>
240   <package>
241    <name>HTML_Javascript</name>
242    <channel>pear.php.net</channel>
243    <min>1.1.0</min>
244   </package>
245   <package>
246    <name>File_Gettext</name>
247    <channel>pear.php.net</channel>
248    <min>0.2.0</min>
249   </package>
250   <package>
251    <name>Translation2</name>
252    <channel>pear.php.net</channel>
253    <min>0.0.1</min>
254   </package>
255  </optional>
256 </dependencies>
257 <phprelease />
258 <changelog>
259  <release>
260   <date>2011-08-29</date>
261   <date>2011-01-11</date>
262   <version>
263    <release>1.3.12</release>
264    <api>1.3.0</api>
265   </version>
266   <version>
267    <release>1.3.11</release>
268    <api>1.3.0</api>
269   </version>
270   <stability>
271    <release>stable</release>
272    <api>stable</api>
273   </stability>
274   <stability>
275    <release>stable</release>
276    <api>stable</api>
277   </stability>
278   <license uri="http://www.php.net/license">PHP License</license>
279   <license uri="http://www.php.net/license">PHP License</license>
280   <notes>
281
282   </notes>
283  </release>
284  <release>
285   <date>2010-06-07</date>
286   <version>
287    <release>1.3.10</release>
288    <api>1.3.0</api>
289   </version>
290   <stability>
291    <release>stable</release>
292    <api>stable</api>
293   </stability>
294   <license uri="http://www.php.net/license">PHP License</license>
295   <notes>
296Minor fixes and feature release
297
298Bug Fixes
299
300   #17390 - id nameuses replacement got broken on previous commit (Christophe Husson)
301   #17210 - remove error suppression
302   #16978 - support non-ascii vars
303   #14895 - local environment settings in test  (clockwerx)
304
305
306
307New Features/Changes
308  #16554 - support dontCompile option
309  #----- - provisional support for label property of elements outputing as associated
310           label content (Stephane Matamontero)
311  #----- - new option disableTranslate - blocks all translation features,
312           like writing .serial files. (Stephane Matamontero)
313  #----- - Element merge code moved element class - reducing size of base class (Alan)
314  #----- - SVN layout changed. (clockwerx)
315   </notes>
316  </release>
317  <release>
318   <version>
319    <release>0.1</release>
320    <api>0.1</api>
321   </version>
322   <stability>
323    <release>beta</release>
324    <api>beta</api>
325   </stability>
326   <date>2002-09-07</date>
327   <license uri="http://www.php.net/license">PHP License</license>
328   <notes>
329First PEAR release,
330      - Renamed to HTML_Flexy_Template to conform to PEAR standards
331      - Added more phpdoc comments to filters
332      - Removed getTemplateDir method (legacy/unused)
333      - Added multilanguage support options[&apos;locale&apos;] - in theory a i18n filter could be added.
334        Othewise it just checks to see if a template/compiled template with ????.{locale}.???
335        exists
336      - added staticQuickTemplate($template,$object) for quickly including subtemplates.
337      - added {q_include:#aaaaa.html#} to simpletags to support quicktemplate.
338      - changed to DIRECTORY_SEPERATOR and removed base directory check in windows.
339   </notes>
340  </release>
341  <release>
342   <version>
343    <release>0.2</release>
344    <api>0.2</api>
345   </version>
346   <stability>
347    <release>beta</release>
348    <api>beta</api>
349   </stability>
350   <date>2003-02-03</date>
351   <license uri="http://www.php.net/license">PHP License</license>
352   <notes>
353Major overhall of engine
354
355- Introduction of Lex based Parser. - A real syntax checking
356  Template generator
357- Ability to do Coldfusion style HTML attributes like foreach=&quot;abc,b,c&quot; in TR or any tag.
358- Automatically converts form elements (INPUT, TEXTAREA, SELECT) contents to suitable PHP code
359  and adds error messages.
360
361- docs temporarily at http://devel.akbkhome.com/peardoc2/package.html.html-template-flexy.html
362
363Note: Filter features of original HTML_Template_Flexy are now depreciated.
364Note: This is not backwards compatible with version 0.1!
365   </notes>
366  </release>
367  <release>
368   <version>
369    <release>0.3</release>
370    <api>0.3</api>
371   </version>
372   <stability>
373    <release>beta</release>
374    <api>beta</api>
375   </stability>
376   <date>2003-02-06</date>
377   <license uri="http://www.php.net/license">PHP License</license>
378   <notes>
379Bug fixes
380  - allow usage with only constructor options
381  - fixed form elements - should be htmlspecialchars, rather than urlencoding
382  - new Tokenizer is enabled by default - set &apos;useLegacy&apos; in config/options to
383    use the old regex replacer.
384  - no variables are added (eg. o.*, a.* etc. to the page unless useLegacy is set)
385  - parsers are now private methods. (internal change)
386
387New Features
388  - FLEXYSTART and FLEXYSTARTCHILDREN tags added so when use you include sub
389    templates, you can avoid including HEAD etc. tags.
390   </notes>
391  </release>
392  <release>
393   <version>
394    <release>0.4</release>
395    <api>0.4</api>
396   </version>
397   <stability>
398    <release>beta</release>
399    <api>beta</api>
400   </stability>
401   <date>2003-04-17</date>
402   <license uri="http://www.php.net/license">PHP License</license>
403   <notes>
404Warning BC breaking release:
405  - It is likely that form code may break with this due to the quickform integration
406  - likely issues: you will probably have to load the template and assign data to it
407    using $template-&gt;setQuickForm($this);
408    which will then expose $template-&gt;quickform as the template Object.
409
410
411
412Bug fixes
413  - fixed #literal# chopping bug (Yuri Dyakonov)
414  - fixed XML/XHTML support (no more munging of cases)
415  - fixed Fatal Error messages - with more details
416  - fixed whitespace in doctype tags. (wierd lexer stuff)
417
418
419
420Features
421  - quickforms (3) integration added.
422  - quickforms with multiple forms $flexyobj-&gt;quickforms[0.....]
423  - Initial gettext/multilanguage support
424  - support variable[12] as a valid variable name.
425  - does syntax checking on form element names
426  - fixed {outputBody()} (no prefix var methods)
427  - added url_rewrite for HREF and SRC tags - see example.ini for more details
428  - added compileAll.php script for bulk compilation on servers that do not have
429    write access to the directories they are serving off.
430  - Added extra Option - nonHTML to not make tokens of HTML tags, and enable postprocessing
431    of compiled template to replace ?&gt;\n with ?&gt;\n\n (aimed at email templates)
432  - Added extra Option - allowPHP to enable PHP code in template to be left alone. - defaults
433    to off (eg. no PHP allowed) -
434  - added support for &lt;TAG IF=&quot;somevar.xxxx&quot; and
435    &lt;TAG  IF=&quot;somevar.method()&quot; maps to if (the test) &lt;TAG .....
436  - handles elements with same name, like radio buttons  - although performing modifications on
437    them can be tricky..
438
439
440While may thanks are owed to the many beta testers, special mention to Xavier
441for spotting some really annoying little bugs.
442   </notes>
443  </release>
444  <release>
445   <version>
446    <release>0.4.1</release>
447    <api>0.4.1</api>
448   </version>
449   <stability>
450    <release>beta</release>
451    <api>beta</api>
452   </stability>
453   <date>2003-06-11</date>
454   <license uri="http://www.php.net/license">PHP License</license>
455   <notes>
456Bug fixes
457 - fixed #literal# support for method calls - hopefully finally (Yuri Dyakonov)
458 - BC support for  getOptions call on objects (Marcin Galczynski)
459
460Features
461 - method calls with literals at end can now use modifiers (:h/:u etc.)
462   </notes>
463  </release>
464  <release>
465   <version>
466    <release>0.5</release>
467    <api>0.5</api>
468   </version>
469   <stability>
470    <release>beta</release>
471    <api>beta</api>
472   </stability>
473   <date>2003-09-03</date>
474   <license uri="http://www.php.net/license">PHP License</license>
475   <notes>
476Warning: BC Breaking release
477Warning: Still in Beta Testing.. (although most of the API should now be settled)
478
479Due to the conclusion that the quickforms integration was not only messy, but
480a heavy weight to be carried. The whole form/dynamic element layer was re-engineered.
481And the dependancy on QuickForms removed
482
483New Features
484  HTML_Template_Flexy_Element, is a small simple representation of  generic HTML,
485  it is used to store the representation of form elements, and any HTML element
486  which contains the FLEXY:DYNAMIC attribute.
487
488  you can override elements, by using the new second argument to outputObject($object,$elements)
489  where $elements is an associate array of (form name)=&gt;Element
490  and the data in the elements array is merged with the visable template at runtime.
491  (so you only need to define what is different to the HTML, not the whole tag.)
492
493  You can make any tag &apos;dynamic&apos;, by just tagging it. - if you replace the element
494  in the elements array with an object that implements a toHtml method, This will be
495  called rather than the drawn element.
496
497  A Utility class, HTML_Template_Flexy_Factory offers common static methods, like
498  - creating element values from a key=&gt;value array (eg. Dataobjects-&gt;toArray())
499  - setting error messages (as suffixes to elements)
500  - flag something as required. (prefixing strings to elements)
501
502
503Compiler Abstraction
504  The Compiler code in Flexy is now abstracted out, to make it possible to write
505  Other compilers and use the same caching/loading mechanism. (the old regex compiler
506  is included as an example of this.)
507
508Other BC Issues:
509  all Flexy attributes must now be prefixed with &quot;flexy:&quot; namespace (eg. if, foreach, startchildren etc.)
510
511Other New Features
512  - support for array strings on variables and methods = eg. {somevar[xxx][yyy].toHtml():h}
513  - added new Modifiers :r (print_r), and :n (number_format), and in future may make available user defined modifiers
514   </notes>
515  </release>
516  <release>
517   <version>
518    <release>0.5.1</release>
519    <api>0.5.1</api>
520   </version>
521   <stability>
522    <release>beta</release>
523    <api>beta</api>
524   </stability>
525   <date>2003-09-04</date>
526   <license uri="http://www.php.net/license">PHP License</license>
527   <notes>
528Fixes
529  - bufferedOutputObject correctly deals with elements array (Stephan Wentz)
530
531Note: See Version 0.5  release notes concerning BC issues with 0.4 series
532   </notes>
533  </release>
534  <release>
535   <version>
536    <release>0.6</release>
537    <api>0.6</api>
538   </version>
539   <stability>
540    <release>beta</release>
541    <api>beta</api>
542   </stability>
543   <date>2003-12-20</date>
544   <license uri="http://www.php.net/license">PHP License</license>
545   <notes>
546This is a major fix release, along with quite a few new usefull features,
547many thanks to the various bug reporters, and especially from the Damein Turner and
548The Seagull framework Team
549
550Hopefully, it is now the last beta before a stable release.....
551
552  New features
553  - &amp;lt;flexy:include src=&quot;xxx.html&quot;/&gt; to include other templates
554  - &amp;lt;flexy:toJavascript flexy:prefix=&quot;js_name_prefix_&quot; jsvar=&quot;php_flexy_var&quot; ....&gt;
555    uses HTML_Javascript_Convert to import PHP variables into Javascript.
556  - new modifier :b (for NL2BR + HTMLSPECIALCHARS)
557  - support for mulitple paths in templateDir
558  - attribute flexy:raw=&quot;{checked}&quot; allows you to to put raw data into a tag.
559  - -- double minus, is valid inside comments (not really valid XHTML though)
560  - global flexyIgnore option, to prevent global conversion to Elements.
561  - better support for elements where name=&quot;someval[]&quot;
562
563  Fixes
564  - array syntax supported in attributes (eg. urlencoded)
565  - setting values of elements with type works (bug #460)
566  - methods with multiple arguments fixed.
567  - HTML_Template_Flexy_Element::removeAttribute() works
568    (removing attributes is done by setting them to false)
569  - include error on EndTag
570  - closed element (eg. with /&gt; at end, can be used with flexy:if=
571  - radio buttons should auto create id&apos;s if none are set.
572  - xdebug recursion level increased (as the compiler recursion is high)
573  - buffered output with $elements fixed.
574
575
576Note: See Version 0.5  release notes concerning BC issues with 0.4 series
577   </notes>
578  </release>
579  <release>
580   <version>
581    <release>0.6.1</release>
582    <api>0.6.1</api>
583   </version>
584   <stability>
585    <release>beta</release>
586    <api>beta</api>
587   </stability>
588   <date>2003-12-21</date>
589   <license uri="http://www.php.net/license">PHP License</license>
590   <notes>
591Bugfix release
592  - got javascript script wrapper wrong.
593   </notes>
594  </release>
595  <release>
596   <version>
597    <release>0.6.2</release>
598    <api>0.6.2</api>
599   </version>
600   <stability>
601    <release>beta</release>
602    <api>beta</api>
603   </stability>
604   <date>2004-01-20</date>
605   <license uri="http://www.php.net/license">PHP License</license>
606   <notes>
607Minor Bugfix / mini feature release
608  - support flexy:if with method arguments eg.
609     flexy:if=&quot;somemethod(#with#,some,#args#)&quot;
610  - foreach works on objects and arrays. : eg.
611    flexy:foreach=&quot;someobject&quot;
612   </notes>
613  </release>
614  <release>
615   <version>
616    <release>0.6.3</release>
617    <api>0.6.3</api>
618   </version>
619   <stability>
620    <release>beta</release>
621    <api>beta</api>
622   </stability>
623   <date>2004-01-21</date>
624   <license uri="http://www.php.net/license">PHP License</license>
625   <notes>
626Minor Bugfix
627  - fixed class=&quot;{some_method(with_some_args)}&quot;
628   </notes>
629  </release>
630  <release>
631   <version>
632    <release>0.7</release>
633    <api>0.7</api>
634   </version>
635   <stability>
636    <release>beta</release>
637    <api>beta</api>
638   </stability>
639   <date>2004-04-03</date>
640   <license uri="http://www.php.net/license">PHP License</license>
641   <notes>
642Last Beta release - (eg. it&apos;s a RC Release - next one will be stable!!! hopefully)
643
644
645
646Minor Bugfix
647  - fixed bug #643 (compile incorrectly tests for string on windows.)
648  - fixed bug #615 constructor can not return errors
649   * check for compileDir isDir is in the compile() anyway..
650  - fix bug 1120: remove necessity to use flexy:ignoreonly,
651    * if a input tag has {variable} the engine assumes you dont want use a flexy_element.
652  - fix bug #809 - extra minuses in comments
653    (too may ---&gt; caused problems )
654  - fix bug #874 (literals with commas in flexy:if)
655    flexy:if=(#aaa,bbb#) correctly seen as a single attribute
656  - fix bug 739 - syntax checking on foreach
657    flexy:foreach=&quot;singlevalue&quot; now flagged as error.
658  - /flexy:include and toJavascript closers now correctly ignored.
659  - fix #856 - fix get_class usage.
660  - Fix bug when too many closing tags could zero the stack and delete parts of the template.
661
662
663
664New Features
665  - config option templateDirOrder=reverse, allows you to prefer the first found template,
666    rather than the last found template (when using theme type configurations)
667  - Engine uses File_Gettext if gettext is not found. (or textdomain is set.)
668  - Provisional SmartyConverter compiler,
669    * provides a basic Coversion of Smarty to Flexy templates
670  - Provisional SmartyAPI emulator added.
671    * allows drop in replacement of flexy with simple code that uses Smarty.
672  - strict option
673    so variable can emit errors if they are not defined.
674  - multiSource option
675    for enabling themes type systems, where you can override the default template folder
676    with your own custom designs.
677
678
679Behaviour changed
680  - templateDir can be an array, or string seperated by the system path seperatory
681  (; on windows,: on unix)
682  - If a file exists in multiple paths, then The LAST FOUND template will be used.
683  (previously this emited an error)
684  - If you use multiple paths in the template_dir, then the path will be modified to
685  write to {compileDir}/{basename(actualTemplateDir)}_{md5(actualTemplateDir)}/...template..
686   </notes>
687  </release>
688  <release>
689   <version>
690    <release>0.7.1</release>
691    <api>0.7.1</api>
692   </version>
693   <stability>
694    <release>beta</release>
695    <api>beta</api>
696   </stability>
697   <date>2004-04-07</date>
698   <license uri="http://www.php.net/license">PHP License</license>
699   <notes>
700Last Beta releases - (eg. it&apos;s a RC Release -  stable will be within a month!!! hopefully)
701
702Security: *** THIS AFFECTS __ALL__ PREVIOUS RELEASES ****
703  HTML_Template_Flexy_Element::setOptions and HTML_Template_Flexy_Element::setValue
704  with textareas did not htmlspecialchars escape text automatically -
705  opening up potential for cross site scripting posibliities..
706
707Bugs:
708  radio buttons and hidden fields with same name could be created - blanking out the radio buttons
709  url_rewrite option is now syntax tested.
710
711Features:
712  An attempt to create base Compile directory if it doesnt exist.
713   </notes>
714  </release>
715  <release>
716   <version>
717    <release>0.8.0</release>
718    <api>0.8.0</api>
719   </version>
720   <stability>
721    <release>beta</release>
722    <api>beta</api>
723   </stability>
724   <date>2004-04-22</date>
725   <license uri="http://www.php.net/license">PHP License</license>
726   <notes>
727Feature addition release:
728
729  Moving to stable is posponed another month, so these new features get a thorough testing.
730
731Bugs / Fixes:
732  * fixed overzealous closing on some tags
733  * fixed double html escaping of some dynamic attributes
734  * ignore empty url_rewrite options (eg. images/:/templates/images,,)
735  * fixed recursion death, on &amp;lt;s&amp;gt; tags
736  * fixed flexy {variables} inside attributes=&apos;that are single quoted&apos;
737  * unknown namespaces are assumed to be HTML (so XUL with html works ok)
738
739Features:
740  * Translation2 transparent translation backend support
741    $options[&apos;Translation2&apos;] = array(
742            &apos;driver&apos; =&gt; &apos;dataobjectsimple&apos;,
743            &apos;options&apos; =&gt; array()
744      )
745    will instantate Translation2 once , and call it to translate
746    all strings found when compiling.
747
748  * Strings to be translated can be explicitly marked by encapsulating them
749    in {_( ....... )_}
750    Parsing is done prior to tokenizing, so you can include {variables} inside
751    the translation strings.
752
753  * Access to private variables and methods now possible eg.
754    {_myprivate_var}
755    ** requires option[&apos;privates&apos;] = true
756
757  * Access to super global variables now possible eg.
758    {_SESSION[lang]} {_GET[posted]} {_POST[posted]}
759    {_REQUEST[lang]} {GLOBALS[posted]} {_COOKIES[posted]}
760    ** requires option[&apos;globals&apos;] = true
761    (as per all variable, these are html escaped by default, for security reasons,
762     over-ride with the :h modifier)
763
764  * Access to php functions now possible
765    {GLOBALS.date(mydate,#d/m/y#)}
766    ** requires option[&apos;globalfunctions&apos;] = true
767    ** this is a big security hole if you dont trust your template authors,
768       it exposes exec() etc.
769
770  * New Test infrastructure in CVS - enabling better unit testing.
771   </notes>
772  </release>
773  <release>
774   <version>
775    <release>0.8.1</release>
776    <api>0.8.1</api>
777   </version>
778   <stability>
779    <release>beta</release>
780    <api>beta</api>
781   </stability>
782   <date>2004-04-24</date>
783   <license uri="http://www.php.net/license">PHP License</license>
784   <notes>
785Bugfix release:
786
787  Moving to stable Planned Sometime after Late May 2004
788
789Bugs / Fixes:
790  * Stoped Javascript being striped when language= tag not used.
791  * PHP5 tested
792  * javscript and php code not added to gettext string list.
793
794Add test suite to package.
795   </notes>
796  </release>
797  <release>
798   <version>
799    <release>0.8.2</release>
800    <api>0.8.2</api>
801   </version>
802   <stability>
803    <release>beta</release>
804    <api>beta</api>
805   </stability>
806   <date>2004-05-05</date>
807   <license uri="http://www.php.net/license">PHP License</license>
808   <notes>
809Bugfix release:
810
811Moving to stable Planned Sometime after Late May 2004
812
813Bugs / Fixes:
814  * Bug #1274
815  * Test added for Bug #1310
816  * fix Flexy_Element::setOptions / Flexy_Element::setValue, using a value of 0
817    highlighting everything.
818  * Closing Tags for XHTML closers correctly placed at end of tag.
819    (Flexy_Element only)
820  * url_rewriting now works in &amp;lt;?xml-stylesheet tags. (they are treaded similar to
821    normal html tags now. (and only the opening &amp;lt; is written using php.
822  * closers for namepaced tags are now output (big oops bug..)
823   </notes>
824  </release>
825  <release>
826   <version>
827    <release>0.9.0</release>
828    <api>0.9.0</api>
829   </version>
830   <stability>
831    <release>beta</release>
832    <api>beta</api>
833   </stability>
834   <date>2004-05-06</date>
835   <license uri="http://www.php.net/license">PHP License</license>
836   <notes>
837minor BC break release:
838
839Moving to stable Planned Sometime after Late May 2004
840
841BC Break on Gettext string storage.
842  * during parsing of the template  flexy builds an array of strings that
843    can be used to automate translation.
844    The strings in this array used to be escaped (similar to addslashes).
845
846    This proved to be a bad decision (As the unescaping and escaping got too messy)
847     - the strings are now stored as they are found. (albiet still trimmed)
848
849New Features:
850  * strings from option tags, and value of input tags are added to gettext array.
851  * ability to generate namespaced options (eg. for XUL)
852    $x = new HTML_Template_Flexy_Element(&apos;html:select&apos;);
853    $x-&gt;setOptions(array(1=&gt;&apos;test&apos;));
854   </notes>
855  </release>
856  <release>
857   <version>
858    <release>0.9.1</release>
859    <api>0.9.1</api>
860   </version>
861   <stability>
862    <release>beta</release>
863    <api>beta</api>
864   </stability>
865   <date>2004-06-17</date>
866   <license uri="http://www.php.net/license">PHP License</license>
867   <notes>
868Feature addition release
869
870support for function blocks
871&lt;flexy:function name=&quot;myfunction&quot;&gt; define a  block here  &lt;/flexy:function&gt;
872&lt;flexy:function call=&quot;myfunction&quot;&gt; calls the function &lt;/flexy:functio&gt;
873&lt;flexy:function call=&quot;{somevar}&quot;&gt; variable function calls &lt;/flexy:function&gt;
874
875support for static template compiles
876options[compiler] = raw
877
878plugin support and user defined modifiers using plugins
879{this.plugin(#name#,var,var):h}
880{var:formatdate}  (calls plugin
881{var:formatnumber}
882
883Assign API support using setData() and setDataByRef()
884   </notes>
885  </release>
886  <release>
887   <version>
888    <release>0.9.2</release>
889    <api>0.9.2</api>
890   </version>
891   <stability>
892    <release>beta</release>
893    <api>beta</api>
894   </stability>
895   <date>2004-06-24</date>
896   <license uri="http://www.php.net/license">PHP License</license>
897   <notes>
898Feature addition release
899
900support for id blocks
901  $flexy-&gt;compile(&apos;sometemplate.html#mytag&apos;);
902  will compile a file {compileDir}/sometemplate.html#mytag
903  which contains the tag and contents of &lt;span id=&quot;mytag&quot;&gt; ... &lt;/span&gt;
904
905flexy:function call=&quot;xxx&quot; checks that the user defined function block exists
906   </notes>
907  </release>
908  <release>
909   <version>
910    <release>1.0.0</release>
911    <api>1.0.0</api>
912   </version>
913   <stability>
914    <release>stable</release>
915    <api>stable</api>
916   </stability>
917   <date>2004-08-07</date>
918   <license uri="http://www.php.net/license">PHP License</license>
919   <notes>
920The Long Awaited Gold Release.
921
922Bug Fixes:
923  #1675 - CRLF fixes on windows
924  #------ Elements with matching key = value where incorrectly rendered.
925
926Tweaks:
927  * minor changes to simple Smarty Template Converter/Processor
928  * Default Compiler is now called Flexy
929  * Added Translator tool to package (see Translator.php source for usage)
930  * Translator Tool includes clearTemplateCache - removes all files.
931  * Some error message improvements
932  * Added Tree.php - A HTML to Tree par ser, which can be used to process HTML,
933      or will eventually replace the Tree parsing code in the compiler.
934      tests/treeTest.php shows example usage
935  * HTML_Template_Flexy_Element used with &lt;FORM&gt; tags, now honours override property
936  * Minor reduction in size of parser Nodes
937   </notes>
938  </release>
939  <release>
940   <version>
941    <release>1.0.1</release>
942    <api>1.0.1</api>
943   </version>
944   <stability>
945    <release>stable</release>
946    <api>stable</api>
947   </stability>
948   <date>2004-08-09</date>
949   <license uri="http://www.php.net/license">PHP License</license>
950   <notes>
951Minor Bug Fix Release
952
953Bugs
954  #------ Fix Missing include of Token.php
955   </notes>
956  </release>
957  <release>
958   <version>
959    <release>1.1.0</release>
960    <api>1.1.0</api>
961   </version>
962   <stability>
963    <release>stable</release>
964    <api>stable</api>
965   </stability>
966   <date>2004-12-18</date>
967   <license uri="http://www.php.net/license">PHP License</license>
968   <notes>
969Minor Feature Release
970
971 Changes
972  Note: This release may include some changes which may break BC, (in which case they
973  _are_ bugs and will be fixed.).
974
975
976
977
978 Features
979  #------ Forms without names, now are not generated as HTML_Elements, rather than given a default name.
980  #------ support for -ve numbers in {arrays[-1]}
981  #------ support for variable replacements in commented out blocks of styles
982  #2074 - allow literal numbers in methods, eg. {somemethod(3,#astring#,avar)}
983          Features
984  #------ Limited support for Xul in Elements
985  #2097   Support for mixing flexy vars within dynamic elements.
986          (If this causes problems, please file a bug report.)
987  #------ Forms without names render as plain HTML, rather than generating dynamic
988          elements.
989  #------ createToken code is simplified and supports writing the position of a token
990          (generally for usage in the Tree.php file for parsing html only.)
991  #------ Fixed tree builder so it is more tolerant of malformed HTML (eg. form tags
992          with closures in the wrong part of the html tree)
993  #------ Style element now works with flexy tags (rather than ignoring them within
994          comments)
995  #------ Support for translation of alt tags of IMG
996   </notes>
997  </release>
998  <release>
999   <version>
1000    <release>1.1.1</release>
1001    <api>1.1.1</api>
1002   </version>
1003   <stability>
1004    <release>stable</release>
1005    <api>stable</api>
1006   </stability>
1007   <date>2004-12-22</date>
1008   <license uri="http://www.php.net/license">PHP License</license>
1009   <notes>
1010Minor Feature Release
1011
1012 Changes
1013  Note: This release does break BC in templates using the Translation tools,
1014  (which since they are undocumented should really be regarded as beta I guess.).
1015
1016  Support for Conversion of
1017  &lt;b&gt;this is {atag} in a sentence&lt;/b&gt;
1018
1019  to a translatable string:
1020  &quot;this is %s in a sentence&quot;
1021
1022  Is now NOT supported, it will result in 2 strings
1023  &quot;this is&quot;
1024  &quot;in a sentence&quot;
1025
1026  To effect a similar result, the translation markers should
1027  now be used:
1028
1029  &lt;b&gt;{_(this is {atag} in a sentence)_}&lt;/b&gt;
1030
1031  will convert into a translatable string
1032  &quot;this is {atag} in a sentence&quot;
1033
1034
1035 Features / Fixes
1036  #------ support for translatable markers in html attributes added:
1037          eg. &lt;a href=&quot;{_(http://www.example.com)_}&quot;&gt;.....
1038  #3003   {var} replaced with %s - fixed by removing all string merging code.
1039   </notes>
1040  </release>
1041  <release>
1042   <version>
1043    <release>1.1.2</release>
1044    <api>1.1.2</api>
1045   </version>
1046   <stability>
1047    <release>stable</release>
1048    <api>stable</api>
1049   </stability>
1050   <date>2004-12-28</date>
1051   <license uri="http://www.php.net/license">PHP License</license>
1052   <notes>
1053Minor BugFix Release
1054
1055 Features / Fixes
1056  #3041 - Removed Warning raised during compilation.
1057   </notes>
1058  </release>
1059  <release>
1060   <version>
1061    <release>1.2.0</release>
1062    <api>1.2.0</api>
1063   </version>
1064   <stability>
1065    <release>stable</release>
1066    <api>stable</api>
1067   </stability>
1068   <date>2004-12-28</date>
1069   <license uri="http://www.php.net/license">PHP License</license>
1070   <notes>
1071Minor Feature Release
1072  phpt testsuite has replaced previous CVS diff tests. (and in turn picked up
1073  a few bugs)
1074
1075
1076 Features / Fixes
1077  #---- - Nested included templates &lt;flexy:include src=&quot;....&quot;/&gt; inherit parent variables.
1078  #---- - Fixed PHP code detection
1079  #---- - option[&apos;allowPHP&apos;] = &apos;delete&apos;, will just remove php code, rather than
1080          barf with error, or just add it.
1081  #---- - CDATA sections supported, with limited flexy tags (eg. foreach and variables only)
1082  #---- - Plugins now show correct warning when loading fails.
1083  #---- - Plugins as modifiers work correctly
1084          (fixed previous bug if they started with h/r/t etc. they got ignored.)
1085
1086  #3129 - add note that setRequired/setError/freeze are depreciated
1087          (they should really be examples, that end user can modify, rather than a method)
1088  #3145 - fixed missing ; in an error message.
1089   </notes>
1090  </release>
1091  <release>
1092   <version>
1093    <release>1.2.1</release>
1094    <api>1.2.1</api>
1095   </version>
1096   <stability>
1097    <release>stable</release>
1098    <api>stable</api>
1099   </stability>
1100   <date>2005-01-27</date>
1101   <license uri="http://www.php.net/license">PHP License</license>
1102   <notes>
1103Minor Bugfix Release
1104
1105
1106 Features / Fixes
1107  #---- - Pass by reference warning fixed.
1108  #---- - Left debuging code in plugins
1109
1110  A very nice introduction to plugin&apos;s exists here:
1111      http://seagull.phpkitchen.com/docs/wakka.php?wakka=Howto/Flexy/Plugins
1112   </notes>
1113  </release>
1114  <release>
1115   <version>
1116    <release>1.2.2</release>
1117    <api>1.2.2</api>
1118   </version>
1119   <stability>
1120    <release>stable</release>
1121    <api>stable</api>
1122   </stability>
1123   <date>2005-07-23</date>
1124   <license uri="http://www.php.net/license">PHP License</license>
1125   <notes>
1126Minor Bugfix Release
1127
1128  - Support Variables in Attributes of Flexy Elements (I would not recomend doing this, but
1129    it appears to work!)
1130  - Removed support for merging text and variables automatically for creating translation strings
1131   (It never worked very well) the recommend way to mix variables and text for translation is to
1132   use the  translation markers {_( translation block with {flexy} {methods()} )_}
1133    * Note these do not work correcty inside attributes values yet! - but will be fixed in the next release.
1134  - Support for translator storing title= attribute values from &lt;a&gt; tags.
1135  - Unix privaliges are 0664 for translation strings and element data.
1136
1137
1138 Features / Fixes
1139  bug #4103 - &amp; replaced with &amp;amp; in attribute values of flexy elements
1140      (&amp;nbsp; is still broken however.)
1141  bug #3885 - Flexy_Factory::setRequired() did not reset return values correctly (note this feature is depreciated)
1142  --- ----- - Fixed Number format modifier (found by new test suite)
1143  --- ----- - Fixed Attribute method calls modifiers being chopped.
1144  bug #3946 - Using flexy:raw (to put stuff like &quot;checked&quot; in) now produces a warning when used
1145             with dynamic elements (use flexy:ignore=&quot;yes&quot;) to stop them being dynamic.
1146   </notes>
1147  </release>
1148  <release>
1149   <version>
1150    <release>1.2.3</release>
1151    <api>1.2.3</api>
1152   </version>
1153   <stability>
1154    <release>stable</release>
1155    <api>stable</api>
1156   </stability>
1157   <date>2005-10-29</date>
1158   <license uri="http://www.php.net/license">PHP License</license>
1159   <notes>
1160Minor Bugfix Release
1161
1162
1163  Feature Requests:
1164      bug #5752 - add support for :e modifier == htmlentities() call.
1165      * flexy:nameuses also replaces in id (obviously if %s in included)
1166
1167  Fixes
1168      * dont bork with error if value is not set when setValue() on a
1169        radio button is called.
1170      * fix up flexy:nameuses with radio buttons.
1171      * php4.4 compatibility issues (return by ref stuff)
1172      * summarize security issues with SimpleTags backend
1173   </notes>
1174  </release>
1175  <release>
1176   <version>
1177    <release>1.2.4</release>
1178    <api>1.2.4</api>
1179   </version>
1180   <stability>
1181    <release>stable</release>
1182    <api>stable</api>
1183   </stability>
1184   <date>2006-01-20</date>
1185   <license uri="http://www.php.net/license">PHP License</license>
1186   <notes>
1187Minor Bugfix / New Feature Release
1188
1189
1190  Bugs
1191  ----
1192  #6152 - default to using key in optgroup when novalue not set
1193  #5267 - checkboxes using [], with ids
1194  #5752 - add support for :e modifier == htmlentities() call.
1195
1196
1197  Features/Changes and Fixes
1198  --------------------------
1199  * add ability to remove unused translations (in HTML_Template_Flexy_Translator,
1200    tidy up javascript a little (ivan)
1201
1202  * add support for gettext Translation2 backend - Requires uptodate version of
1203    Gettext/Translation2 packages ... (ivan)
1204
1205  * remove warning from compiled template, when trying to merge possibly
1206    non-existant elements
1207
1208  * remove short tags output from Simpletags compiler backend. + lots of
1209    whitespace changes, for some reason... (Demian Turner)
1210
1211  * basic charset support in HTML_Template_Flexy_Element ... this is
1212    a todo for the rendering layer though... (eg. utf8 / big5 sent to htmlspecialchars)
1213
1214  * de-escaping of &amp;amp;nbsp; only used in select option text - removed this feature from
1215    other elements
1216
1217  * add XUL checkbox support.
1218
1219  * correctly replace linefeeds on XUL textbox&apos;s
1220
1221  * better handling of XUL textbox and menulist elements converted to
1222    Flexy XUL Elements
1223
1224  * flexy:nameuses also replaces in id (obviously if %s is included)
1225   </notes>
1226  </release>
1227  <release>
1228   <date>2006-11-10</date>
1229   <version>
1230    <release>1.2.5</release>
1231    <api>1.2.5</api>
1232   </version>
1233   <stability>
1234    <release>stable</release>
1235    <api>stable</api>
1236   </stability>
1237   <license uri="http://www.php.net/license">PHP License</license>
1238   <notes>
1239Minor Bugfix / Minor Feature Release
1240      Bugs
1241      #9157 - fix regex that tests translation strings - support multilanguage text
1242      Feature Request
1243      #7483 - implement subtemplating with variable passing support Thanks to anil at m3
1244      Fixes
1245      gettext based translationns using Translation2 now work
1246   </notes>
1247  </release>
1248  <release>
1249   <date>2008-01-30</date>
1250   <version>
1251    <release>1.3.0</release>
1252    <api>1.3.0</api>
1253   </version>
1254   <stability>
1255    <release>stable</release>
1256    <api>stable</api>
1257   </stability>
1258   <license uri="http://www.php.net/license">PHP License</license>
1259   <notes>
1260Bug Fix and Minor Feature release
1261
1262   Bug Fixes
1263       #7609  - user defined compilers causing warnings
1264       #11751 - E_NOTICE in CustomFlexyAttributes, fix WS/TAB issue.
1265       #9336  - nasty kludge fix to workaround stupidest decision in PHP history ;)
1266              -fix PHP5/4 warning issues with is_a
1267       #10830 - support title= on most tags, and alt= on input tags.
1268       #12036 - prevent generation of closing tags for link, meta, hr, br
1269       #9591 / #11740 - radio buttons can auto generate ID if none given
1270       #10002 - setData with array/object
1271       #9157 - native language regex support
1272
1273   New Features
1274       #7609  - support user defined compilers as compiler object
1275       #11741 - getOptions / clearOptions - thx to justdev
1276       #----  - add experimental toJSON feature. flexy:toJSON
1277       #12265 - support label in Element
1278       #----- - change setlocale to use LC_MESSAGES to prevent bugs with strtoupper
1279       #10248 - attributes: flexy:content, flexy:replace, flexy:omittag
1280       #8008 - flexy:include src= allow variables { }
1281       #9436 - support background for url rewriting
1282   </notes>
1283  </release>
1284  <release>
1285   <date>2008-01-31</date>
1286   <version>
1287    <release>1.3.1</release>
1288    <api>1.3.0</api>
1289   </version>
1290   <stability>
1291    <release>stable</release>
1292    <api>stable</api>
1293   </stability>
1294   <license uri="http://www.php.net/license">PHP License</license>
1295   <notes>
1296Minor Bug Fix release
1297
1298   Bug Fixes
1299       #13010  - Missing CustomFlexyAttributes.php file
1300   </notes>
1301  </release>
1302  <release>
1303   <date>2008-01-31</date>
1304   <version>
1305    <release>1.3.2</release>
1306    <api>1.3.0</api>
1307   </version>
1308   <stability>
1309    <release>stable</release>
1310    <api>stable</api>
1311   </stability>
1312   <license uri="http://www.php.net/license">PHP License</license>
1313   <notes>
1314Major Bug Fix release
1315
1316   Bug Fixes
1317       #13016  - Version 1.3.1 (and probably 1.3.0) where completely broken by CustomFlexyAttributes change
1318                 Patch has been reverted - pending re-implementation.
1319   </notes>
1320  </release>
1321  <release>
1322   <date>2008-02-27</date>
1323   <version>
1324    <release>1.3.3</release>
1325    <api>1.3.0</api>
1326   </version>
1327   <stability>
1328    <release>stable</release>
1329    <api>stable</api>
1330   </stability>
1331   <license uri="http://www.php.net/license">PHP License</license>
1332   <notes>
1333Minor Bug Fix release
1334
1335   Bug Fixes
1336       #9336, #13016, #13022, #13076, #13179  - is_a depreciation fix (hang internals for this!)
1337   </notes>
1338  </release>
1339  <release>
1340   <date>2008-05-05</date>
1341   <version>
1342    <release>1.3.4</release>
1343    <api>1.3.0</api>
1344   </version>
1345   <stability>
1346    <release>stable</release>
1347    <api>stable</api>
1348   </stability>
1349   <license uri="http://www.php.net/license">PHP License</license>
1350   <notes>
1351Minor Bug Fix release
1352
1353   Bug Fixes
1354       #13419 - Windows compile throwed error with LC_MESSAGES - we now use LC_ALL and check for it.
1355       #----- - PHP4 parse error in Flexy compiler
1356       #----- - flexy:toJSON incorrectly created variables using json_encode (PHP5 only)
1357   </notes>
1358  </release>
1359  <release>
1360   <date>2009-03-12</date>
1361   <version>
1362    <release>1.3.6</release>
1363    <api>1.3.0</api>
1364   </version>
1365   <stability>
1366    <release>stable</release>
1367    <api>stable</api>
1368   </stability>
1369   <license uri="http://www.php.net/license">PHP License</license>
1370   <notes>
1371Minor Bug Fix release
1372
1373   Bug Fixes
1374
1375	#----- - fix include to only pass variables created by template, rather than
1376               flood the subtemplate - fixes various segfaults.
1377	#----- - Add scopeVars fetch for better include
1378	#----- - add some extra checks for writing merging elements
1379	#14105 - Empty element tag ending with /&gt; and flexy:replace
1380	#15961 - customflexyattributes  ignores multiple flexy attributes.
1381	#14984 - PHP5 class_exists compat
1382	#15272 - inherrited namesues checkboxes get wrong names - patch by Heikki Uusitalo
1383	#15279 - early return from checkbox code with [] in name. - may have knock on effects
1384	#15874 - single API for error reporting in Compiler/Flexy/Tag.php - to show
1385            filename/line/tag etc.
1386	#15263 - php5 merge elements needs to clone objects
1387	#14899 - flexy:xhtml honored by element - fix by Geoff Beaumon
1388
1389
1390	#14897 - xhtml not honored by element input etc.
1391	#13887 - use is_callable on plugins
1392   Request #14893 - improve PHPCS (clockwerx)
1393   </notes>
1394  </release>
1395  <release>
1396   <date>2009-03-13</date>
1397   <version>
1398    <release>1.3.7</release>
1399    <api>1.3.0</api>
1400   </version>
1401   <stability>
1402    <release>stable</release>
1403    <api>stable</api>
1404   </stability>
1405   <license uri="http://www.php.net/license">PHP License</license>
1406   <notes>
1407Friday the 13th Release - Minor Bug Fixes
1408
1409   Bug Fixes
1410
1411	#16026 - Fix is_callable in plugins - (refix to #13887)
1412   #----- - Fix new include feature adding blank vars
1413   </notes>
1414  </release>
1415  <release>
1416   <version>
1417    <release>1.3.9</release>
1418    <api>1.3.0</api>
1419   </version>
1420   <stability>
1421    <release>stable</release>
1422    <api>stable</api>
1423   </stability>
1424   <date>2009-03-24</date>
1425   <license uri="http://www.php.net/license">PHP License</license>
1426   <notes>
1427Fix The Unlucky Release - Minor Bug Fixes
1428
1429   Bug Fixes
1430
1431
1432   #----- - Plugin was broken by last fix in last release.
1433   </notes>
1434  </release>
1435 </changelog>
1436</package>
1437