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 &apos;compilation&apos; 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: &lt;!-- INCLUDE --&gt;
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(&apos;Hello world!&apos;) and to define callback functions for these
14* &apos;Compiled&apos; templates: the engine has to parse a template file using regular expressions to find all the blocks and variable placeholders. This is a very &quot;expensive&quot; 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 &apos;e&apos; modifier for preg_replace(),
38  preg_replace_callback() is now used instead (bug #20068)
39* Fixed built-in &apos;j&apos; 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: &lt;!-- COMMENT --&gt; ... &lt;!-- /COMMENT --&gt;
122 * Added new builtin callbacks &apos;e&apos; and &apos;r&apos; for htmlentities() and
123   rawurlencode(), respectively
124 * Added the &apos;charset&apos; option for builtin &apos;h&apos; and &apos;e&apos; 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 &apos;b&apos; 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 &lt;franz at quox.net&gt; 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	&apos;h&apos; for htmlspecialchars()
253	&apos;u&apos; for urlencode()
254	&apos;j&apos; 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&apos;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&apos;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(&apos;Hello, {username}!&apos;).
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()&apos;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 &apos;use_preg&apos; 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 &apos;prepared&apos; 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