/**
 * $HeadURL: https://xtpl.svn.sourceforge.net/svnroot/xtpl/trunk/changelog.txt $
 * $Id: changelog.txt 21 2007-05-29 18:01:15Z cocomp $
 *
 * Changelog for XTemplate & CachingXTemplate:
 * For latest log information always use svn log <filename> in a checked out working copy
 * or svn log https://xtpl.svn.sourceforge.net/svnroot/xtpl/trunk/<filename> for direct access
 *
 * r21 | cocomp | 2007-05-29 19:00:00 +0000 (Tue, 29 May 2007) | 1 line
 * Added facility for constructor $tpldir to be an array of file paths, the first path supplied that has the file is matched
 *
 * r20 | cocomp | 2007-01-11 03:39:26 +0000 (Thu, 11 Jan 2007) | 1 line
 * Initial commit CachingXTemplate subclass
 *
 * r18 | cocomp | 2007-01-11 03:29:11 +0000 (Thu, 11 Jan 2007) | 2 lines
 * Major update for initial PHP 5 version
 * Deprecated: PHP 4 constructor, SetNullString (use set_null_string) and SetNullBlock (use set_null_block). Added sf Feature request #1529478. Fixed SF Bug #1261828. Introduced comment_preg property. Refactored assign method - may break some old functionality! Constructor now only calls restart method
 *
 * r12 | cocomp | 2006-05-02 15:47:11 +0100 (Tue, 02 May 2006) | 2 lines
 * Removed new line at end of file
 *
 * r11 | cocomp | 2006-05-02 15:27:19 +0100 (Tue, 02 May 2006) | 7 lines
 * 2006/05/02:
 *
 * - Added $over_write parameter to assign method which defaults to false. The
 *  behaviour is therefore to always overwrite the name/value array
 * - Fixed bug in regexes for older php version (specifically php 4.2.2) that
 *  caused regex to fail
 *
 * r10 | cocomp | 2005-08-17 10:57:58 +0100 (Wed, 17 Aug 2005) | 11 lines
 * Changelog
 * 2005/08/17:
 *
 * - Improved phpDoc entries
 * - Added support for XTPL_DIR constant from SF Feature request 1202027:  Kenneth Kalmer
 * - Added support for comments in {FILE } includes e.g. {FILE "somefile.xtpl"# An included file}
 * - Rewritten assign method, now checks if $val is an array instead of $name which never would be. Also added new parameter for stripslashes support e.g. $xtpl->assign('var', 'var', get_magic_quotes_qpc());
 * - Moved most regular expressions to use | as delimiter
 * - Improved output with regard to block tags and line endings - much better for xml output
 * - Added support for empty files in file includes - previously required at least one byte
 *
 * r9 | cocomp | 2005-04-11 12:20:28 +0100 (Mon, 11 Apr 2005) | 2 lines
 * Fixed backslashes issue (properly\!)
 *
 * r8 | cocomp | 2005-04-11 11:00:47 +0100 (Mon, 11 Apr 2005) | 2 lines
 * Added restart() method sf:641407 feature request
 *
 * r7 | cocomp | 2005-04-08 10:17:37 +0100 (Fri, 08 Apr 2005) | 2 lines
 * Fixed bug with backslashes sf:810773 & updated docs
 *
 * r5 | cocomp | 2005-04-07 13:02:52 +0100 (Thu, 07 Apr 2005) | 2 lines
 * MAJOR UPDATE: E_ALL safe, better internal documentation, code readability ++, many bugfixes and new features - considered stable
 *
 * r4 | cocomp | 2005-04-06 14:22:44 +0100 (Wed, 06 Apr 2005) | 2 lines
 * Renamed xtemplate.inc to xtemplate.class.php
 */

/**
 * Contributors:
 *
 * Original Author / Maintainer:
 * Barnabas Debreceni [cranx@users.sourceforge.net] Copyright (c) 2000-2001
 *
 * Current Author / Maintainer:
 * Jeremy Coates [cocomp@users.sourceforge.net] Copyright (c) 2002-2007
 *
 * Ivar Smolin <okul@linux.ee> (14-march-2001)
 * - made some code optimizations
 * Bert Jandehoop <bert.jandehoop@users.info.wau.nl> (26-june-2001)
 * - new feature to substitute template files by other templates
 * - new method array_loop()
 *
 * Various contributions over the years from:
 * Code: Noel Walsh (NW), John Carter (JC)
 * Bug reporting: SadGeezer
 */

/**
 * Changelog Archive
 *
 *****
 *
 * Stuff from development outside sourceforge
 *
 * Revision 1.2  2003/12/05 22:22:17  jeremy
 * Removed duplicate function call in out method
 *
 * Revision 1.1.1.1  2003/10/29 20:22:43  jeremy
 * Initial Import
 *
 * Revision 1.1  2003/06/25 17:17:52  jeremy
 * Initial Import
 *
 * Revision 1.4  2001/08/17 18:25:45  jeremy
 * Sorted greedy matching regular expression in parse function preg_match_all line 166: added ? after .* when looking for comments
 *
 *****
 *
 * Old log stuff
 *
 * Revision 1.2  2001/09/19 14:11:25  cranx
 * fixed a bug in the whitespace-stripping block variable interpolating regexp.
 *
 * Revision 1.1  2001/07/11 10:42:39  cranx
 * added:
 * - filename substitution, no nested arrays for the moment, sorry
 * (including happens when assigning, so assign filevar in the outside blocks first!)
 *
 * Revision 1.5  2001/07/11 10:39:08  cranx
 * added:
 * - we can now specify base dir
 * - array_loop()
 * - trigger_error in _set_error
 *
 * modified:
 * - newline bugs fixed (for XML)
 * - in out(): content-length header added
 * - whiles changed to foreach
 * - from now on, the class is php4 only :P
 *
 *****
 *
 * Old stuff from original releases
 *
 * xtemplate class 0.3pre
 * !!! {FILE {VAR}} file variable interpolation may still be buggy !!!
 */