1<?xml version="1.0" encoding="UTF-8"?> 2<package packagerversion="1.9.4" 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_Sigma</name> 4 <channel>pear.php.net</channel> 5 <summary>An implementation of Integrated Templates API with template 'compilation' added</summary> 6 <description>HTML_Template_Sigma implements Integrated Templates API designed by Ulf Wendel. 7 8Features: 9* Nested blocks. Nesting is controlled by the engine. 10* Ability to include files from within template: <!-- INCLUDE --> 11* Automatic removal of empty blocks and unknown variables (methods to manually tweak/override this are also available) 12* Methods for runtime addition and replacement of blocks in templates 13* Ability to insert simple function calls into templates: func_uppercase('Hello world!') and to define callback functions for these 14* 'Compiled' templates: the engine has to parse a template file using regular expressions to find all the blocks and variable placeholders. This is a very "expensive" operation and is an overkill to do on every page request: templates seldom change on production websites. Thus this feature: an internal representation of the template structure is saved into a file and this file gets loaded instead of the source one on subsequent requests (unless the source changes) 15* PHPUnit-based tests to define correct behaviour 16* Usage examples for most of the features are available, look in the docs/ directory</description> 17 <lead> 18 <name>Alexey Borzov</name> 19 <user>avb</user> 20 <email>avb@php.net</email> 21 <active>yes</active> 22 </lead> 23 <date>2014-01-13</date> 24 <time>09:33:52</time> 25 <version> 26 <release>1.3.0</release> 27 <api>1.2.0</api> 28 </version> 29 <stability> 30 <release>stable</release> 31 <api>stable</api> 32 </stability> 33 <license uri="http://www.php.net/license">PHP License</license> 34 <notes> 35* Implemented a more robust cache writing algorithm, this should prevent 36 writing empty cache files and reading incomplete ones (bug #19220) 37* Got rid of deprecated 'e' modifier for preg_replace(), 38 preg_replace_callback() is now used instead (bug #20068) 39* Fixed built-in 'j' callback to allow using escaped strings in inline JS 40 41* Updated code to better conform to PEAR coding standards 42* Updated code and tests to generate fewer errors under PHP5 43* The minimum PHP version is now 4.3.0, as file_get_contents() is used 44 </notes> 45 <contents> 46 <dir baseinstalldir="/" name="/"> 47 <file baseinstalldir="/" md5sum="7ff9c08e9ad53d6b830521c711cf4236" name="docs/templates/example_1.html" role="doc" /> 48 <file baseinstalldir="/" md5sum="8730abb99b6fbdc7bf2f2ce8dc74c7d8" name="docs/templates/example_2.html" role="doc" /> 49 <file baseinstalldir="/" md5sum="1628b07f622b3e748aa47ed2a11e22a0" name="docs/templates/example_3.html" role="doc" /> 50 <file baseinstalldir="/" md5sum="74c4a22843a171bb7b55539e027c9b19" name="docs/templates/example_3_add.html" role="doc" /> 51 <file baseinstalldir="/" md5sum="6f90c42a2f079149d9a58ce58ea6ce41" name="docs/templates/example_3_include.html" role="doc" /> 52 <file baseinstalldir="/" md5sum="0a1b539755d7aa543688ad1ae6d60a3a" name="docs/templates/example_3_replace_1.html" role="doc" /> 53 <file baseinstalldir="/" md5sum="17afcfb5c40babbff51c100228622ad5" name="docs/templates/example_3_replace_2.html" role="doc" /> 54 <file baseinstalldir="/" md5sum="b03d728576d17f62c58533696031dade" name="docs/templates/example_4.html" role="doc" /> 55 <file baseinstalldir="/" md5sum="1fb2751f0ee9c6312960609aa456aca3" name="docs/example_1.php" role="doc" /> 56 <file baseinstalldir="/" md5sum="9381deb549fbbb132952675e87a9887b" name="docs/example_2.php" role="doc" /> 57 <file baseinstalldir="/" md5sum="5cc48875673e470e8c0715de25c16de9" name="docs/example_3.php" role="doc" /> 58 <file baseinstalldir="/" md5sum="f00e0ed0c25299044ab06322b0383597" name="docs/example_4.php" role="doc" /> 59 <file baseinstalldir="/" md5sum="e50de49b74a1d96bb77ddae2d0abdfc3" name="tests/templates/addblock.html" role="test" /> 60 <file baseinstalldir="/" md5sum="22e56437378e53d08ba07d3dd2aa4b85" name="tests/templates/blockiteration.html" role="test" /> 61 <file baseinstalldir="/" md5sum="4173bf97eec43787532e247ef9b2611a" name="tests/templates/blocks.html" role="test" /> 62 <file baseinstalldir="/" md5sum="85dcfcf8b0f846b443a01dec6452b564" name="tests/templates/callback.html" role="test" /> 63 <file baseinstalldir="/" md5sum="04279f8629778ba83bc224c8d70cf9cf" name="tests/templates/globals.html" role="test" /> 64 <file baseinstalldir="/" md5sum="db5b226eff0218c831749c07042529f2" name="tests/templates/include.html" role="test" /> 65 <file baseinstalldir="/" md5sum="d9a6425eebdfc6981465b4a228dbee51" name="tests/templates/loadtemplatefile.html" role="test" /> 66 <file baseinstalldir="/" md5sum="5c7e2e9c32306db4b6667d2b57f1c0ac" name="tests/templates/replaceblock.html" role="test" /> 67 <file baseinstalldir="/" md5sum="310552db4653b34dbb0f993847572fc5" name="tests/templates/__include.html" role="test" /> 68 <file baseinstalldir="/" md5sum="63a4663ae20d7a81b917e9d76c18a184" name="tests/AllTests.php" role="test"> 69 <tasks:replace from="@package_version@" to="version" type="package-info" /> 70 </file> 71 <file baseinstalldir="/" md5sum="bf748b833ff26c1ab25772bbe2f6fbf8" name="tests/Sigma_api_testcase.php" role="test"> 72 <tasks:replace from="@package_version@" to="version" type="package-info" /> 73 </file> 74 <file baseinstalldir="/" md5sum="dd27cf66cf5cc3b7f84aaafd66971f9e" name="tests/Sigma_bug_testcase.php" role="test"> 75 <tasks:replace from="@package_version@" to="version" type="package-info" /> 76 </file> 77 <file baseinstalldir="/" md5sum="7b3c75a1999d078926346894393c3258" name="tests/Sigma_cache_testcase.php" role="test"> 78 <tasks:replace from="@package_version@" to="version" type="package-info" /> 79 </file> 80 <file baseinstalldir="/" md5sum="a93928809492b5457914ced65d932d6f" name="tests/Sigma_usage_testcase.php" role="test"> 81 <tasks:replace from="@package_version@" to="version" type="package-info" /> 82 </file> 83 <file baseinstalldir="/" md5sum="3fe76788249a11eb076a4c1dee495d4c" name="HTML/Template/Sigma.php" role="php"> 84 <tasks:replace from="@package_version@" to="version" type="package-info" /> 85 </file> 86 </dir> 87 </contents> 88 <dependencies> 89 <required> 90 <php> 91 <min>4.3.0</min> 92 </php> 93 <pearinstaller> 94 <min>1.5.4</min> 95 </pearinstaller> 96 <extension> 97 <name>ctype</name> 98 </extension> 99 </required> 100 </dependencies> 101 <phprelease /> 102 <changelog> 103 <release> 104 <version> 105 <release>1.2.0</release> 106 <api>1.2.0</api> 107 </version> 108 <stability> 109 <release>stable</release> 110 <api>stable</api> 111 </stability> 112 <date>2008-07-22</date> 113 <license uri="http://www.php.net/license">PHP License</license> 114 <notes> 115Changed unit tests to use current PHPUnit from http://www.phpunit.de/ rather 116than old unsupported one from http://pear.php.net/ 117 118Implemented parts of request #12221 (thanks to Carsten Wiedmann for ideas and 119their initial implementation) 120 * It is now possible to add comments to the template file that are removed 121 from output: <!-- COMMENT --> ... <!-- /COMMENT --> 122 * Added new builtin callbacks 'e' and 'r' for htmlentities() and 123 rawurlencode(), respectively 124 * Added the 'charset' option for builtin 'h' and 'e' callbacks 125 </notes> 126 </release> 127 <release> 128 <version> 129 <release>1.1.6</release> 130 <api>1.1.5</api> 131 </version> 132 <stability> 133 <release>stable</release> 134 <api>stable</api> 135 </stability> 136 <date>2007-05-19</date> 137 <license uri="http://www.php.net/license">PHP License</license> 138 <notes> 139Migrate to package.xml version 2.0, use proper header comment blocks. 140Minor fixes to phpdoc comments, no code changes since previous release. 141 </notes> 142 </release> 143 <release> 144 <version> 145 <release>1.1.5</release> 146 <api>1.1.5</api> 147 </version> 148 <stability> 149 <release>stable</release> 150 <api>stable</api> 151 </stability> 152 <date>2006-05-31</date> 153 <license uri="http://www.php.net/license">PHP License</license> 154 <notes> 155Fixed bug #6346: typo in _buildFunctionList() 156Fixed bug #6902: correctly handle drive letters and path separators on Windows 157Fixed bug #6905: use 'b' modifier for fopen() to prevent problems with cached templates on Windows 158Calling setCacheRoot() with an empty argument will now disable caching. It was impossible 159to disable it with previous behaviour. 160 161Added possibility to pass arrays as second arguments to setVariable() and setGlobalVariable(), 162this will assign values to placeholders of the form {varName.arrayKey} in the template. 163Thanks to Franz Pentenrieder <franz at quox.net> for idea and original implementation. 164 </notes> 165 </release> 166 <release> 167 <version> 168 <release>1.1.4</release> 169 <api>1.1.2</api> 170 </version> 171 <stability> 172 <release>stable</release> 173 <api>stable</api> 174 </stability> 175 <date>2005-11-05</date> 176 <license uri="http://www.php.net/license">PHP License</license> 177 <notes> 178Fixed bug #5168: Prevent problems with template functions in included files 179 </notes> 180 </release> 181 <release> 182 <version> 183 <release>1.1.3</release> 184 <api>1.1.2</api> 185 </version> 186 <stability> 187 <release>stable</release> 188 <api>stable</api> 189 </stability> 190 <date>2005-08-09</date> 191 <license uri="http://www.php.net/license">PHP License</license> 192 <notes> 193* Fixed bug #4896 (loading a zero-length template file caused a warning) 194* Fixed bug #5012 (placeholder delimiters were hardcoded in several places, 195 which prevented using custom delimiters) 196 </notes> 197 </release> 198 <release> 199 <version> 200 <release>1.1.2</release> 201 <api>1.1.2</api> 202 </version> 203 <stability> 204 <release>stable</release> 205 <api>stable</api> 206 </stability> 207 <date>2004-10-20</date> 208 <license uri="http://www.php.net/license">PHP License</license> 209 <notes> 210Changed the code for parsing template function arguments. It will 211now correctly unescape the escaped quotes within quoted arguments 212(see bug #1840). 213The new code throws errors on bogus arguments. If you previously 214relied on undocumented behaviour of argument parsing method, your 215code may break: test before upgrading. 216 </notes> 217 </release> 218 <release> 219 <version> 220 <release>1.1.1</release> 221 <api>1.1.1</api> 222 </version> 223 <stability> 224 <release>stable</release> 225 <api>stable</api> 226 </stability> 227 <date>2004-05-31</date> 228 <license uri="http://www.php.net/license">PHP License</license> 229 <notes> 230Callbacks are not called if the block containing them is empty. Thanks 231to Sergey Vasiliev for the suggestion. 232 </notes> 233 </release> 234 <release> 235 <version> 236 <release>1.1.0</release> 237 <api>1.1.0</api> 238 </version> 239 <stability> 240 <release>stable</release> 241 <api>stable</api> 242 </stability> 243 <date>2004-04-14</date> 244 <license uri="http://www.php.net/license">PHP License</license> 245 <notes> 246* Fixed #876 (get_class() and get_class_methods() usage with PHP5) 247 Unit tests run on PHP5, all tests pass. 248* Added clearVariables() method (see also #939) 249* Added shorthand syntax for callbacks: {var:callback} instead of 250 func_callback({var}) 251* Added builtin callbacks 252 'h' for htmlspecialchars() 253 'u' for urlencode() 254 'j' to escape the string for usage in Javascript 255 256This release is dedicated to Lukas Smith 257 </notes> 258 </release> 259 <release> 260 <version> 261 <release>1.0.2</release> 262 <api>1.0.1</api> 263 </version> 264 <stability> 265 <release>stable</release> 266 <api>stable</api> 267 </stability> 268 <date>2003-10-02</date> 269 <license uri="http://www.php.net/license">PHP License</license> 270 <notes> 271* Removed _callbackExists() method, is_callable() is used instead 272* Check for SIGMA_OK instead of PEAR::isError() where possible 273* Fixed unit tests packaging. Should work OK in PEAR installation 274 </notes> 275 </release> 276 <release> 277 <version> 278 <release>1.0.1</release> 279 <api>1.0.1</api> 280 </version> 281 <stability> 282 <release>stable</release> 283 <api>stable</api> 284 </stability> 285 <date>2003-05-20</date> 286 <license uri="http://www.php.net/license">PHP License</license> 287 <notes> 288* Added getBlockList() and getPlaceholderList() methods (thanks to Markus Wolff for the idea). 289* HTML_Template_IT compatibility: get() does not clear the parsed block contents by default. 290* Removed obsolete docs, current ones are in the PEAR manual. 291 </notes> 292 </release> 293 <release> 294 <version> 295 <release>1.0</release> 296 <api>1.0</api> 297 </version> 298 <stability> 299 <release>stable</release> 300 <api>stable</api> 301 </stability> 302 <date>2003-04-28</date> 303 <license uri="http://www.php.net/license">PHP License</license> 304 <notes> 305This release has Sigma's template functions/callbacks infrastructure significantly enhanced. 306This unfortunately means some backwards compatibility breaks. If you were using callbacks before, please carefully examine the release notes and test you scripts before upgrading to 1.0. 307If you weren't using callbacks due to their shortcomings it is a good time to give them a try, consult docs/example_4.php for some of their possible applications. 308 309Template functions/callbacks changes and incompatibilities: 310 311* Templates are parsed for function calls not only on setTemplate()/loadTemplatefile(), but on addBlock()/addBlockfile() and replaceBlock()/replaceBlockfile() as well. 312* The arguments to template functions can now contain variable placeholders: func_uppercase('Hello, {username}!'). 313* Template functions are now compatible with template caching. 314* Method setCallbackFunction() now accepts a callback that is compatible with call_user_func() as its second argument. Its third argument is used to control variable substitution in function arguments. 315* Method performCallback() was removed. Callbacks are now called automatically when the block containing them is parse()'d. 316* Callbacks are now called via call_user_func_array() instead of call_user_func(). This makes it possible to use built-in functions as callbacks, but also means that you have to rewrite your old functions! 317* Usage example is available in docs/example_4.php 318 319Other changes: 320 321* Option 'use_preg' was removed. 322* Stricter error checking when doing addBlockfile() with a prepared template. 323 </notes> 324 </release> 325 <release> 326 <version> 327 <release>0.9.2</release> 328 <api>0.9.2</api> 329 </version> 330 <stability> 331 <release>stable</release> 332 <api>stable</api> 333 </stability> 334 <date>2003-04-21</date> 335 <license uri="http://www.php.net/license">PHP License</license> 336 <notes> 337* Added usage examples 338* Added the cache FAQ 339* This is the last 0.9.x release unless some bugs are found. The 1.0 release will 340 have callbacks significantly redone and will require changes to your scripts if 341 you use callbacks. 342 </notes> 343 </release> 344 <release> 345 <version> 346 <release>0.9.1</release> 347 <api>0.9.1</api> 348 </version> 349 <stability> 350 <release>stable</release> 351 <api>stable</api> 352 </stability> 353 <date>2003-04-18</date> 354 <license uri="http://www.php.net/license">PHP License</license> 355 <notes> 356* Fix: if source template does not exist, do not load the 'prepared' one, throw an error instead. 357 Thanks to Maxim Panasiuk for the report. 358 </notes> 359 </release> 360 <release> 361 <version> 362 <release>0.9</release> 363 <api>0.9</api> 364 </version> 365 <stability> 366 <release>stable</release> 367 <api>stable</api> 368 </stability> 369 <date>2003-04-04</date> 370 <license uri="http://www.php.net/license">PHP License</license> 371 <notes> 372Initial PEAR release 373 </notes> 374 </release> 375 </changelog> 376</package> 377