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'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'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'able code 14 o By using object vars for a template rather than 'assign', 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->variable 33- {method()} to echo $object->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'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 <xxxx flexy:contents="....">These contents</xxx> in flexy->compiler->contentStrings 85 #----- - support for full tag in flexy:contents="{standard.flexy[arg].stuff()}" 86 #----- - change default encoding to UTF-8 87 #----- - expose compiler when its used as flexy->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['locale'] - 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="abc,b,c" 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 'useLegacy' 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->setQuickForm($this); 408 which will then expose $template->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->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 ?>\n with ?>\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 <TAG IF="somevar.xxxx" and 435 <TAG IF="somevar.method()" maps to if (the test) <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)=>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 'dynamic', 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=>value array (eg. Dataobjects->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 "flexy:" 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 - &lt;flexy:include src="xxx.html"/> to include other templates 554 - &lt;flexy:toJavascript flexy:prefix="js_name_prefix_" jsvar="php_flexy_var" ....> 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="{checked}" 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="someval[]" 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 /> at end, can be used with flexy:if= 571 - radio buttons should auto create id'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="somemethod(#with#,some,#args#)" 610 - foreach works on objects and arrays. : eg. 611 flexy:foreach="someobject" 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="{some_method(with_some_args)}" 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'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 ---> 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="singlevalue" 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'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 &lt;s&gt; tags 736 * fixed flexy {variables} inside attributes='that are single quoted' 737 * unknown namespaces are assumed to be HTML (so XUL with html works ok) 738 739Features: 740 * Translation2 transparent translation backend support 741 $options['Translation2'] = array( 742 'driver' => 'dataobjectsimple', 743 'options' => 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['privates'] = 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['globals'] = 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['globalfunctions'] = 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 &lt;?xml-stylesheet tags. (they are treaded similar to 821 normal html tags now. (and only the opening &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('html:select'); 853 $x->setOptions(array(1=>'test')); 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<flexy:function name="myfunction"> define a block here </flexy:function> 872<flexy:function call="myfunction"> calls the function </flexy:functio> 873<flexy:function call="{somevar}"> variable function calls </flexy:function> 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->compile('sometemplate.html#mytag'); 902 will compile a file {compileDir}/sometemplate.html#mytag 903 which contains the tag and contents of <span id="mytag"> ... </span> 904 905flexy:function call="xxx" 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 <FORM> 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 <b>this is {atag} in a sentence</b> 1018 1019 to a translatable string: 1020 "this is %s in a sentence" 1021 1022 Is now NOT supported, it will result in 2 strings 1023 "this is" 1024 "in a sentence" 1025 1026 To effect a similar result, the translation markers should 1027 now be used: 1028 1029 <b>{_(this is {atag} in a sentence)_}</b> 1030 1031 will convert into a translatable string 1032 "this is {atag} in a sentence" 1033 1034 1035 Features / Fixes 1036 #------ support for translatable markers in html attributes added: 1037 eg. <a href="{_(http://www.example.com)_}">..... 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 <flexy:include src="...."/> inherit parent variables. 1078 #---- - Fixed PHP code detection 1079 #---- - option['allowPHP'] = 'delete', 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'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 <a> tags. 1135 - Unix privaliges are 0664 for translation strings and element data. 1136 1137 1138 Features / Fixes 1139 bug #4103 - & replaced with &amp; in attribute values of flexy elements 1140 (&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 "checked" in) now produces a warning when used 1145 with dynamic elements (use flexy:ignore="yes") 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;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'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 /> 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