Login   Register  
PHP Classes
elePHPant
Icontem

File: CHANGELOG

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Valics Lehel  >  Fast Template  >  CHANGELOG  >  Download  
File: CHANGELOG
Role: Auxiliary data
Content type: text/plain
Description: CHANGELOG from previsious versions
Class: Fast Template
Updated revision of CDI Fast Template engine
Author: By
Last change: Changelog
Date: 2009-03-19 09:02
Size: 13,383 bytes
 

Contents

Class file image Download
CHANGELOG - cls_fast_template.php
1.6.2 Changes: 

error return for capture on empty template filename.

1.6.1 Changes:

$template = ereg_replace ( "{([A-Za-z0-9_\.]+)}", "", $template ); - it was introduced a-z, because the regex used in the line to remove unset variables only checked for all caps, while lowercase variables are allowed by the class.

var $REWRITE_TEMPLATE_PATH = array ("../",""); - this is an example, you can replace anything. The ideea behind this addition is that on visual editors, the paths from template directory is usually ../images/filename.gif or @import "../css/other.css";, but in the real world (when you call it on the site) require images/filename.gif or @import "css/other.css";. So we replace ../ with nothing. Very useful in visual editors like Adobe Dreamweaver. 

==================================
1.6.0 Changes:

$IE_UTF_INCLUDE=true; -  using base href as he should. Set true if IE7 is not working

Rewrite of documentation style, we hope is much more cleaner.

==================================

1.5.3 Changes: 16 August 2007 

Niels Bugge found a bug in rewrite_src_path, in CSS files 
it didnt support the background images style="background:url(...);"

if utf file includes are done, IE is not using base href as he should. 
Set true if IE7 is not working.
var $IE_UTF_INCLUDE=false; (default false)

ereg_replace in one place was left, now is str_replace. We still prefer ereg_replace, 
but seems in many hosting companies are disabled.

function value_defined / if (isset($field{0}) && $field{0}=='.')

function parse_template /  file_get_contents($file_path) : implode("\n", file($file_path));

==================================
1.5.2 Changes: 31 December 2006 

If one of template file (usually page header) contains link to external
style file (like this <link rel="STYLESHEET" type="text/css" href="st.css">)
teplate parser returns HTML gererated with an error.
Live example <link rel="STYLESHEET" type="text/css" href="st.css" st.css>

Removed because it deletes newline in textareas.
TX to Martin Fasani
$template = ereg_replace("([\n]+)", "\n", $template);

var $CACHE_PATH =   '/tmp'; instead of var $CACHE_PATH =   './tmp';

some other small corrections.

==================================
1.5.1 Changes: 6 June 2006 

In the script ' was used instead of \” for the html code which made the javascript crash (FireFox 1.5.0.4)

==================================
1.5.0 Changes: 31 May 2006 

Documentation now is in DOCS folder, we hope better documented.

function rewrite_link_href_callback

function rewrite_src_path - Rewrite js, css, and img src from template to a
custom path

function set_output_rewrite_src_path - Rewrite all src="template_path/file"
found in the document, very helpful when you want to edit the work template 
in a visual editor without any connection to the script path that will 
summon the work template output content.

function pre_filter - very helpful when we want to run some filter before
the template being parsed

FastWrite and FastPrint improved

Anyway, there are a lot of improvements, documented in the DOCS folder.
Please review it.
Also, we have included 1.3.0 to have the possibility to view a DIFF.

==================================
1.3.0 Changes: 24 March 2005 

Added DELETE_CACHE function, to delete files what is older then expire time.

Added file extension to cache for example now a cache file name will be 
62327a34b389dca70c7c15e9d81e57bd.ft (notice the extension .ft) This was
necessary because of DELETE_CAHCE function

Added include block which include another template by statement (like SSI do)
<!--#include file="include2.html"-->
It is usefull if you have several different templates for different parts of 
page and you dont need to write any php code to gather all "blocks" of the page.
Also is very helpfull from designer point of view, he will see in a visual editor te result.

==================================
1.2.0 Changes: 18 January 2005 

Added FastTemplate::parse_and_return($template_name) method. Parse template and return it as string
Can be used instead FastTemplate::parse() && FastTemplate::fetch

Added FastTemplate::get_root() method. Returns root template dir. Use this method insted 
direct access to FastTemplate::ROOT variable to follow OOP paradigm

Added templates comments. Smth like {* This is a comment *} This will be parsed and
get out from final page.

Added support for inline dynamic blocks.
In this new way, now lines are parsed and if needed, then will be corrected to put it
new lines, to avoid errors <!-- BEGIN or END -->.

Added support for access object fields using get() or getId() methods from templates
(For ex. {Object.field} = Object->get('field')  && {Object.id} = Object->getId() )
It is something like using JavaBeans in JSP

New FastTemplate::define() - now supports array and name and value as parameter

Added FastTemplate::assign_from_array($array, $keys)
Assign template variables from assoc. array with same name.  For ex.
FastTemplate::assign_from_array($_SERVER, array('SERVER_NAME','QUERY_SRING'));

==================================
1.1.9 Changes: 28 December 2004 

var $CACHING = ""; was added, missed in 1.1.8

FastWrite function was modified, added an IF for empty templates.

function setCacheTime($time), this will overwrite cache defined in 
var $UPDT_TIME  =   '60'; Usage is now 
// ex. CACHE will be used
$ft->setCacheTime(300);
$ft->USE_CACHE();
So for example in some pages you want to use default value, 60 second,
but on the other page you want 300 seconds.

function self_script was modified, $fname = $_SERVER['REQUEST_URI'];
ex: http://yourdomain.com/products.php?id=13 was ok, but
http://yourdomain.com/products.php/productname/13/ cached same page.
Now cache is working right.
      
Some ereg_replace was left and changed to str_replace

Other minor cosmetics on source

==================================
1.1.8 Changes: 3 November 2004 

FastWrite function was cleaned up. In some cases not worked.

ereg_replace for some unknown reason was uncommented in 1.1.7, now is OK again.
// $template = ereg_replace("{([A-Z0-9_]+)}","",$template);
$template = str_replace("{([A-Z0-9_]+)}","",$template); // GRAFX

==================================
1.1.7 Changes: 12 August 2004 

function self_script () was improved by P Pavlovic ppavlovic@mail.ru
Problem with current function is that ignores GET parameters and it 
serves same cached page for different GET parameters. With this modification,
this problem is overcomed.

Set internal character encoding to UTF-8. We added a header which make that 
every header to be transofrmed into UTF-8. This is not a Fast Template function, 
but help to send in all files a header and is work very well. 
We are looking for testers!!! If you don't want this features, uncomment this line
header("Content-Type: text/html; charset=UTF-8"); 

var $CACHE_PATH =   './cache'; was renamed to var $CACHE_PATH =   './tmp';

==================================
1.1.6 Changes: 29 April 2004 

get_magic_quotes_gpc() problem on some servers are fixed. Seems that some 
servers not read magic quotes correcttly and template files are messed up.

==================================
1.1.5 Changes: 8 March 2004 

Allyson Francisco de Paula Reis came out with some improvements on cache function. 
Wilfried Trinkl added Fast Write function, usefull when you want to write to a file. 
Some clean-up on examples and on FastWrite and Language Assign new examples. 

==================================
1.1.4 Changes: 18 February 2004 

We have found an older modification of Allyson Francisco de Paula Reis, 
who added "Cache functions". We merge into our version. 

==================================
1.1.3 Changes: 05 January 2004 

used str_replace instead of ereg_replace, this latest is not installed 
on a lot of servers and give out error.

added Pattern Assign - when variables or constants are the same as the 
template keys, these functions may be used as they are. Using these 
functions, can help you reduce the number of the assign functions in the 
php files, very useful for language files

Changed back to .html files all .tpl, is more easier to edit to dummy users. 

Renamed class.FastTemplate.php3 to cls_fast_template.php 

modified debug module to Level 1 is showing all info + added WARNINGS, 
Level 2 will popup the window only if WARNINGS are present, very helpfull 
only when you want to see BUGS on your page

==================================
1.1.2 Changes: 06 July 2002 - Added debug console, silient removal 
of not-assigned dynamic blocks, ability of including php code into 
templates 

==================================
1.1.1 Changes: 24 April 2002 - Adopted for PHP4 

==================================
1.1.0 Changes: Jun 27 1999  13:32:00

	This is a major update. Version jump due to finally getting my code
	converted over to CVS.

	Added clear_dynamic():
		Ran into a few instances where a dynamic block was not going to be
		used, so now there's a way to remove it from a template.

	Added get_assigned(): Christian Brandel cbrandel@gmx.de
		Returns the value of a variable previously set using assign(), if
		any.

	Modified FastPrint():
		FastPrint would have been an illegal construct in PHP4/Zend. Fixed. 
		Personal Note: I don't have access to the PHP4 beta even though I've
		asked repeatedly, so pardon me if I get a bit irritated when I'm
		told that what I write would be a "Bug" in something that doesn't
		exist yet, I don't have access to, isn't in public use yet, and I
		can't test my code against.

		The next PHP4 Beta user that sends me a "bug report" had better be
		wearing asbestos underwear.

	Modified assign(): (numerous)
		You can now assign(BLAH,"") and get away with it. (Empty values for
		a key outside of an array context)

	Modified is_safe():
		It now just checks to be sure the template file exists. All of the
		other file checks have been ditched. (Speed speed speed, that's all
		I want damn it! :)

	Modified set_root(): 
		I ditched the regexes used here in favor of substr() and ord()
		and chr() calls. It's faster and much more accurate. See below as to
		why this was done.

	Modified get_template():
		Speed tweek. implode( file() ) is faster than the combined fopen(),
		fread( filesize() ), fclose()

		****************************************************
		****   WARNING WARNING WARNING WARNING WARNING	****
		****    POSSIBLE CONFLICT IN OLDER TEMPLATES	****
		****************************************************

	Modified parse_dynamic(): Chad Cunningham, ccunning@math.ohio-state.edu
		Now allows arbitrary whitespace before and after the beginning of
		the <!-- BEGIN DYNAMIC BLOCK tags.  This may cause problems in
		existing templates!  The only allowed text on the line is the BEGIN
		and END syntax! If there's =anything= else on the line other than
		whitespace, it'll fail.

	Modified (template wide) regex use:

	I went on a regex rampage. Regular Expressions are expensive and the
	more you use them the slower your program becomes. I've been weak and
	have been using regular expressions where they really weren't needed. To
	increase processing speed, whenever possible, all regular expressions
	have been ditched.  This affects set_root, parse_dynamic, clear_dynamic,
	and parse.  (Basically, all the routines that make this class work :-)

	The major change was in the parse_dynamic() routine.  This used two
	regular expressions for every line of every template.  That was way too
	expensive. Those two regex calls have since been replaced with a single
	trim() on each line of the template. This greatly increases dynamic
	template parsing speed.

	The crude benchmark I set up shows that the change was definitely worth
	it, with  10% to 20% speed increases.

	Removed a few useless escapes from most of the regex's. (numerous)

	Once again, I tried to replace as many regexes as possible with
	str_replace().  Once again, no matter what build I use, str_replace
	randomly core dumps the httpd process. (3.0.0, 3.0.5, 3.0.6, 3.0.7) I
	left the lines there, just search for str_replace in the code and change
	the comments if you want to try using str_replace. I'd love to hear if
	someone has a build of PHP where this doesn't core dump Apache.


==================================
0.8 Changes: Apr 03 1999  08:00:00

	Maintenance released. Fixed a few typos that snuck into the last
	revision. (Mostly in areas I couldn't test, like WIN32 stuff)

==================================
0.7	Changes:

	Added define_dynamic() and parse_dynamic(). (parse_dynamic() is an
	internal method, if you call it you bought it.) See the man page for
	more information on define_dynamic().

==================================
0.6	Changes: (never released)

	Fixed a minor bug in the set_root() when used on a WIN32 box.

	Removed most of the fatal exits from calls to error(). The class will
	only exit if the get_template() method fails to load a template file.

==================================
0.5	Initial Public Release 1999/21/01 19:09:00