} sytax to while tag
-
-04/26/2009
-- added trusted stream checking to security
-- internal changes at file dependency check for caching
-
-04/24/2009
-- changed name of {template} tag to {function}
-- added new {template} tag
-
-04/23/2009
-- fixed access of special smarty variables from included template
-
-04/22/2009
-- unified template stream syntax with standard Smarty resource syntax $smarty->display('mystream:mytemplate')
-
-04/21/2009
-- change of new style syntax for forach. Now: {foreach $array as $var} like in PHP
-
-04/20/2009
-- fixed "$foo.bar ..." variable replacement in double quoted strings
-- fixed error in {include} tag with variable file attribute
-
-04/18/2009
-- added stream resources ($smarty->display('mystream://mytemplate'))
-- added stream variables {$mystream:myvar}
-
-04/14/2009
-- fixed compile_id handling on {include} tags
-- fixed append/prepend attributes in {block} tag
-- added {if 'expression' is in 'array'} syntax
-- use crc32 as hash for compiled config files.
-
-04/13/2009
-- fixed scope problem with parent variables when appending variables within templates.
-- fixed code for {block} without childs (possible sources for notice errors removed)
-
-04/12/2009
-- added append and prepend attribute to {block} tag
-
-04/11/2009
-- fixed variables in 'file' attribute of {extend} tag
-- fixed problems in modifiers (if mb string functions not present)
-
-04/10/2009
-- check if mb string functions available otherwise fallback to normal string functions
-- added global variable scope SMARTY_GLOBAL_SCOPE
-- enable 'variable' filter by default
-- fixed {$smarty.block.parent.foo}
-- implementation of a 'variable' filter as replacement for default modifier
-
-04/09/2009
-- fixed execution of filters defined by classes
-- compile the always the content of {block} tags to make shure that the filters are running over it
-- syntax corrections on variable object property
-- syntax corrections on array access in dot syntax
-
-04/08/2009
-- allow variable object property
-
-04/07/2009
-- changed variable scopes to SMARTY_LOCAL_SCOPE, SMARTY_PARENT_SCOPE, SMARTY_ROOT_SCOPE to avoid possible conflicts with user constants
-- Smarty variable global attribute replaced with scope attribute
-
-04/06/2009
-- variable scopes LOCAL_SCOPE, PARENT_SCOPE, ROOT_SCOPE
-- more getter/setter methods
-
-04/05/2009
-- replaced new array looping syntax {for $foo in $array} with {foreach $foo in $array} to avoid confusion
-- added append array for short form of assign {$foo[]='bar'} and allow assignments to nested arrays {$foo['bla']['blue']='bar'}
-
-04/04/2009
-- make output of template default handlers cachable and save compiled source
-- some fixes on yesterdays update
-
-04/03/2006
-- added registerDefaultTemplateHandler method and functionallity
-- added registerDefaultPluginHandler method and functionallity
-- added {append} tag to extend Smarty array variabled
-
-04/02/2009
-- added setter/getter methods
-- added $foo@first and $foo@last properties at {for} tag
-- added $set_timezone (true/false) property to setup optionally the default time zone
-
-03/31/2009
-- bugfix smarty.class and internal.security_handler
-- added compile_check configuration
-- added setter/getter methods
-
-03/30/2009
-- added all major setter/getter methods
-
-03/28/2009
-- {block} tags can be nested now
-- md5 hash function replace with crc32 for speed optimization
-- file order for exted resource inverted
-- clear_compiled_tpl and clear_cache_all will not touch .svn folder any longer
-
-03/27/2009
-- added extend resource
-
-03/26/2009
-- fixed parser not to create error on `word` in double quoted strings
-- allow PHP array(...)
-- implemented $smarty.block.name.parent to access parent block content
-- fixed smarty.class
-
-
-03/23/2009
-- fixed {foreachelse} and {forelse} tags
-
-03/22/2009
-- fixed possible sources for notice errors
-- rearrange SVN into distribution and development folders
-
-03/21/2009
-- fixed exceptions in function plugins
-- fixed notice error in Smarty.class.php
-- allow chained objects to span multiple lines
-- fixed error in modifiers
-
-03/20/2009
-- moved /plugins folder into /libs folder
-- added noprint modifier
-- autoappend a directory separator if the xxxxx_dir definition have no trailing one
-
-03/19/2009
-- allow array definition as modifier parameter
-- changed modifier to use multi byte string funktions.
-
-03/17/2009
-- bugfix
-
-03/15/2009
-- added {include_php} tag for BC
-- removed @ error suppression
-- bugfix fetch did always repeat output of first call when calling same template several times
-- PHPunit tests extended
-
-03/13/2009
-- changed block syntax to be Smarty like {block:titel} -> {block name=titel}
-- compiling of {block} and {extend} tags rewriten for better performance
-- added special Smarty variable block ($smarty.block.foo} returns the parent definition of block foo
-- optimization of {block} tag compiled code.
-- fixed problem with escaped double quotes in double quoted strings
-
-03/12/2009
-- added support of template inheritance by {extend } and {block } tags.
-- bugfix comments within literals
-- added scope attribuie to {include} tag
-
-03/10/2009
-- couple of bugfixes and improvements
-- PHPunit tests extended
-
-03/09/2009
-- added support for global template vars. {assign_global...} $smarty->assign_global(...)
-- added direct_access_security
-- PHPunit tests extended
-- added missing {if} tag conditions like "is div by" etc.
-
-03/08/2009
-- splitted up the Compiler class to make it easier to use a coustom compiler
-- made default plugins_dir relative to Smarty root and not current working directory
-- some changes to make the lexer parser better configurable
-- implemented {section} tag for Smarty2 BC
-
-03/07/2009
-- fixed problem with comment tags
-- fixed problem with #xxxx in double quoted string
-- new {while} tag implemented
-- made lexer and paser class configurable as $smarty property
-- Smarty method get_template_vars implemented
-- Smarty method get_registered_object implemented
-- Smarty method trigger_error implemented
-- PHPunit tests extended
-
-03/06/2009
-- final changes on config variable handling
-- parser change - unquoted strings will by be converted into single quoted strings
-- PHPunit tests extended
-- some code cleanup
-- fixed problem on catenate strings with expression
-- update of count_words modifier
-- bugfix on comment tags
-
-
-03/05/2009
-- bugfix on tag with caching enabled
-- changes on exception handling (by Monte)
-
-03/04/2009
-- added support for config variables
-- bugfix on tag
-
-03/02/2009
-- fixed unqouted strings within modifier parameter
-- bugfix parsing of mofifier parameter
-
-03/01/2009
-- modifier chaining works now as in Smarty2
-
-02/28/2009
-- changed handling of unqouted strings
-
-02/26/2009
-- bugfix
-- changed $smarty.capture.foo to be global for Smarty2 BC.
-
-02/24/2009
-- bugfix {php} {/php} tags for backward compatibility
-- bugfix for expressions on arrays
-- fixed usage of "null" value
-- added $smarty.foreach.foo.first and $smarty.foreach.foo.last
-
-02/06/2009
-- bugfix for request variables without index for example $smarty.get
-- experimental solution for variable functions in static class
-
-02/05/2009
-- update of popup plugin
-- added config variables to template parser (load config functions still missing)
-- parser bugfix for empty quoted strings
-
-02/03/2009
-- allow array of objects as static class variabales.
-- use htmlentities at source output at template errors.
-
-02/02/2009
-- changed search order on modifiers to look at plugins folder first
-- parser bug fix for modifier on array elements $foo.bar|modifier
-- parser bug fix on single quoted srings
-- internal: splitted up compiler plugin files
-
-02/01/2009
-- allow method chaining on static classes
-- special Smarty variables $smarty.... implemented
-- added {PHP} {/PHP} tags for backward compatibility
-
-01/31/2009
-- added {math} plugin for Smarty2 BC
-- added template_exists method
-- changed Smarty3 method enable_security() to enableSecurity() to follow camelCase standards
-
-01/30/2009
-- bugfix in single quoted strings
-- changed syntax for variable property access from $foo:property to $foo@property because of ambiguous syntax at modifiers
-
-01/29/2009
-- syntax for array definition changed from (1,2,3) to [1,2,3] to remove ambiguous syntax
-- allow {for $foo in [1,2,3]} syntax
-- bugfix in double quoted strings
-- allow tags in template even if short_tags are enabled
-
-01/28/2009
-- fixed '!==' if condition.
-
-01/28/2009
-- added support of {strip} {/strip} tag.
-
-01/27/2009
-- bug fix on backticks in double quoted strings at objects
-
-01/25/2009
-- Smarty2 modfiers added to SVN
-
-01/25/2009
-- bugfix allow arrays at object properties in Smarty syntax
-- the template object is now passed as additional parameter at plugin calls
-- clear_compiled_tpl method completed
-
-01/20/2009
-- access to class constants implemented ( class::CONSTANT )
-- access to static class variables implemented ( class::$variable )
-- call of static class methods implemented ( class::method() )
-
-01/16/2009
-- reallow leading _ in variable names {$_var}
-- allow array of objects {$array.index->method()} syntax
-- finished work on clear_cache and clear_cache_all methods
-
-01/11/2009
-- added support of {literal} tag
-- added support of {ldelim} and {rdelim} tags
-- make code compatible to run with E_STRICT error setting
-
-01/08/2009
-- moved clear_assign and clear_all_assign to internal.templatebase.php
-- added assign_by_ref, append and append_by_ref methods
-
-01/02/2009
-- added load_filter method
-- fished work on filter handling
-- optimization of plugin loading
-
-12/30/2008
-- added compiler support of registered object
-- added backtick support in doubled quoted strings for backward compatibility
-- some minor bug fixes and improvments
-
-12/23/2008
-- fixed problem of not working "not" operator in if-expressions
-- added handling of compiler function plugins
-- finished work on (un)register_compiler_function method
-- finished work on (un)register_modifier method
-- plugin handling from plugins folder changed for modifier plugins
- deleted - internal.modifier.php
-- added modifier chaining to parser
-
-12/17/2008
-- finished (un)register_function method
-- finished (un)register_block method
-- added security checking for PHP functions in PHP templates
-- plugin handling from plugins folder rewritten
- new - internal.plugin_handler.php
- deleted - internal.block.php
- deleted - internal.function.php
-- removed plugin checking from security handler
-
-12/16/2008
-
-- new start of this change_log file
diff --git a/library/Smarty/demo/index.php b/library/Smarty/demo/index.php
deleted file mode 100644
index 33f3035c5..000000000
--- a/library/Smarty/demo/index.php
+++ /dev/null
@@ -1,30 +0,0 @@
-force_compile = true;
-$smarty->debugging = true;
-$smarty->caching = true;
-$smarty->cache_lifetime = 120;
-
-$smarty->assign("Name", "Fred Irving Johnathan Bradley Peppergill", true);
-$smarty->assign("FirstName", array("John", "Mary", "James", "Henry"));
-$smarty->assign("LastName", array("Doe", "Smith", "Johnson", "Case"));
-$smarty->assign("Class", array(array("A", "B", "C", "D"), array("E", "F", "G", "H"),
- array("I", "J", "K", "L"), array("M", "N", "O", "P")));
-
-$smarty->assign("contacts", array(array("phone" => "1", "fax" => "2", "cell" => "3"),
- array("phone" => "555-4444", "fax" => "555-3333", "cell" => "760-1234")));
-
-$smarty->assign("option_values", array("NY", "NE", "KS", "IA", "OK", "TX"));
-$smarty->assign("option_output", array("New York", "Nebraska", "Kansas", "Iowa", "Oklahoma", "Texas"));
-$smarty->assign("option_selected", "NE");
-
-$smarty->display('index.tpl');
diff --git a/library/Smarty/demo/plugins/cacheresource.apc.php b/library/Smarty/demo/plugins/cacheresource.apc.php
deleted file mode 100644
index d7336f2bf..000000000
--- a/library/Smarty/demo/plugins/cacheresource.apc.php
+++ /dev/null
@@ -1,83 +0,0 @@
- $v) {
- $_res[$k] = $v;
- }
-
- return $_res;
- }
-
- /**
- * Save values for a set of keys to cache
- *
- * @param array $keys list of values to save
- * @param int $expire expiration time
- *
- * @return boolean true on success, false on failure
- */
- protected function write(array $keys, $expire = null)
- {
- foreach ($keys as $k => $v) {
- apc_store($k, $v, $expire);
- }
-
- return true;
- }
-
- /**
- * Remove values from cache
- *
- * @param array $keys list of keys to delete
- *
- * @return boolean true on success, false on failure
- */
- protected function delete(array $keys)
- {
- foreach ($keys as $k) {
- apc_delete($k);
- }
-
- return true;
- }
-
- /**
- * Remove *all* values from cache
- *
- * @return boolean true on success, false on failure
- */
- protected function purge()
- {
- return apc_clear_cache('user');
- }
-}
diff --git a/library/Smarty/demo/plugins/cacheresource.memcache.php b/library/Smarty/demo/plugins/cacheresource.memcache.php
deleted file mode 100644
index e265365fb..000000000
--- a/library/Smarty/demo/plugins/cacheresource.memcache.php
+++ /dev/null
@@ -1,97 +0,0 @@
-memcache = new Memcache();
- $this->memcache->addServer('127.0.0.1', 11211);
- }
-
- /**
- * Read values for a set of keys from cache
- *
- * @param array $keys list of keys to fetch
- *
- * @return array list of values with the given keys used as indexes
- * @return boolean true on success, false on failure
- */
- protected function read(array $keys)
- {
- $_keys = $lookup = array();
- foreach ($keys as $k) {
- $_k = sha1($k);
- $_keys[] = $_k;
- $lookup[$_k] = $k;
- }
- $_res = array();
- $res = $this->memcache->get($_keys);
- foreach ($res as $k => $v) {
- $_res[$lookup[$k]] = $v;
- }
-
- return $_res;
- }
-
- /**
- * Save values for a set of keys to cache
- *
- * @param array $keys list of values to save
- * @param int $expire expiration time
- *
- * @return boolean true on success, false on failure
- */
- protected function write(array $keys, $expire = null)
- {
- foreach ($keys as $k => $v) {
- $k = sha1($k);
- $this->memcache->set($k, $v, 0, $expire);
- }
-
- return true;
- }
-
- /**
- * Remove values from cache
- *
- * @param array $keys list of keys to delete
- *
- * @return boolean true on success, false on failure
- */
- protected function delete(array $keys)
- {
- foreach ($keys as $k) {
- $k = sha1($k);
- $this->memcache->delete($k);
- }
-
- return true;
- }
-
- /**
- * Remove *all* values from cache
- *
- * @return boolean true on success, false on failure
- */
- protected function purge()
- {
- $this->memcache->flush();
- }
-}
diff --git a/library/Smarty/demo/plugins/cacheresource.mysql.php b/library/Smarty/demo/plugins/cacheresource.mysql.php
deleted file mode 100644
index d8d00ab26..000000000
--- a/library/Smarty/demo/plugins/cacheresource.mysql.php
+++ /dev/null
@@ -1,162 +0,0 @@
-CREATE TABLE IF NOT EXISTS `output_cache` (
- * `id` CHAR(40) NOT NULL COMMENT 'sha1 hash',
- * `name` VARCHAR(250) NOT NULL,
- * `cache_id` VARCHAR(250) NULL DEFAULT NULL,
- * `compile_id` VARCHAR(250) NULL DEFAULT NULL,
- * `modified` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
- * `content` LONGTEXT NOT NULL,
- * PRIMARY KEY (`id`),
- * INDEX(`name`),
- * INDEX(`cache_id`),
- * INDEX(`compile_id`),
- * INDEX(`modified`)
- * ) ENGINE = InnoDB;
- *
- * @package CacheResource-examples
- * @author Rodney Rehm
- */
-class Smarty_CacheResource_Mysql extends Smarty_CacheResource_Custom
-{
- // PDO instance
- protected $db;
- protected $fetch;
- protected $fetchTimestamp;
- protected $save;
-
- public function __construct()
- {
- try {
- $this->db = new PDO("mysql:dbname=test;host=127.0.0.1", "smarty");
- }
- catch (PDOException $e) {
- throw new SmartyException('Mysql Resource failed: ' . $e->getMessage());
- }
- $this->fetch = $this->db->prepare('SELECT modified, content FROM output_cache WHERE id = :id');
- $this->fetchTimestamp = $this->db->prepare('SELECT modified FROM output_cache WHERE id = :id');
- $this->save = $this->db->prepare('REPLACE INTO output_cache (id, name, cache_id, compile_id, content)
- VALUES (:id, :name, :cache_id, :compile_id, :content)');
- }
-
- /**
- * fetch cached content and its modification time from data source
- *
- * @param string $id unique cache content identifier
- * @param string $name template name
- * @param string $cache_id cache id
- * @param string $compile_id compile id
- * @param string $content cached content
- * @param integer $mtime cache modification timestamp (epoch)
- *
- * @return void
- */
- protected function fetch($id, $name, $cache_id, $compile_id, &$content, &$mtime)
- {
- $this->fetch->execute(array('id' => $id));
- $row = $this->fetch->fetch();
- $this->fetch->closeCursor();
- if ($row) {
- $content = $row['content'];
- $mtime = strtotime($row['modified']);
- } else {
- $content = null;
- $mtime = null;
- }
- }
-
- /**
- * Fetch cached content's modification timestamp from data source
- *
- * @note implementing this method is optional. Only implement it if modification times can be accessed faster than loading the complete cached content.
- *
- * @param string $id unique cache content identifier
- * @param string $name template name
- * @param string $cache_id cache id
- * @param string $compile_id compile id
- *
- * @return integer|boolean timestamp (epoch) the template was modified, or false if not found
- */
- protected function fetchTimestamp($id, $name, $cache_id, $compile_id)
- {
- $this->fetchTimestamp->execute(array('id' => $id));
- $mtime = strtotime($this->fetchTimestamp->fetchColumn());
- $this->fetchTimestamp->closeCursor();
-
- return $mtime;
- }
-
- /**
- * Save content to cache
- *
- * @param string $id unique cache content identifier
- * @param string $name template name
- * @param string $cache_id cache id
- * @param string $compile_id compile id
- * @param integer|null $exp_time seconds till expiration time in seconds or null
- * @param string $content content to cache
- *
- * @return boolean success
- */
- protected function save($id, $name, $cache_id, $compile_id, $exp_time, $content)
- {
- $this->save->execute(array(
- 'id' => $id,
- 'name' => $name,
- 'cache_id' => $cache_id,
- 'compile_id' => $compile_id,
- 'content' => $content,
- ));
-
- return !!$this->save->rowCount();
- }
-
- /**
- * Delete content from cache
- *
- * @param string $name template name
- * @param string $cache_id cache id
- * @param string $compile_id compile id
- * @param integer|null $exp_time seconds till expiration or null
- *
- * @return integer number of deleted caches
- */
- protected function delete($name, $cache_id, $compile_id, $exp_time)
- {
- // delete the whole cache
- if ($name === null && $cache_id === null && $compile_id === null && $exp_time === null) {
- // returning the number of deleted caches would require a second query to count them
- $query = $this->db->query('TRUNCATE TABLE output_cache');
-
- return - 1;
- }
- // build the filter
- $where = array();
- // equal test name
- if ($name !== null) {
- $where[] = 'name = ' . $this->db->quote($name);
- }
- // equal test compile_id
- if ($compile_id !== null) {
- $where[] = 'compile_id = ' . $this->db->quote($compile_id);
- }
- // range test expiration time
- if ($exp_time !== null) {
- $where[] = 'modified < DATE_SUB(NOW(), INTERVAL ' . intval($exp_time) . ' SECOND)';
- }
- // equal test cache_id and match sub-groups
- if ($cache_id !== null) {
- $where[] = '(cache_id = ' . $this->db->quote($cache_id)
- . ' OR cache_id LIKE ' . $this->db->quote($cache_id . '|%') . ')';
- }
- // run delete query
- $query = $this->db->query('DELETE FROM output_cache WHERE ' . join(' AND ', $where));
-
- return $query->rowCount();
- }
-}
diff --git a/library/Smarty/demo/plugins/resource.extendsall.php b/library/Smarty/demo/plugins/resource.extendsall.php
deleted file mode 100644
index 500b3c862..000000000
--- a/library/Smarty/demo/plugins/resource.extendsall.php
+++ /dev/null
@@ -1,60 +0,0 @@
-smarty->getTemplateDir() as $key => $directory) {
- try {
- $s = Smarty_Resource::source(null, $source->smarty, '[' . $key . ']' . $source->name);
- if (!$s->exists) {
- continue;
- }
- $sources[$s->uid] = $s;
- $uid .= $s->filepath;
- }
- catch (SmartyException $e) {
- }
- }
-
- if (!$sources) {
- $source->exists = false;
- $source->template = $_template;
-
- return;
- }
-
- $sources = array_reverse($sources, true);
- reset($sources);
- $s = current($sources);
-
- $source->components = $sources;
- $source->filepath = $s->filepath;
- $source->uid = sha1($uid);
- $source->exists = $exists;
- if ($_template && $_template->smarty->compile_check) {
- $source->timestamp = $s->timestamp;
- }
- // need the template at getContent()
- $source->template = $_template;
- }
-}
diff --git a/library/Smarty/demo/plugins/resource.mysql.php b/library/Smarty/demo/plugins/resource.mysql.php
deleted file mode 100644
index dfc9606b4..000000000
--- a/library/Smarty/demo/plugins/resource.mysql.php
+++ /dev/null
@@ -1,81 +0,0 @@
-CREATE TABLE IF NOT EXISTS `templates` (
- * `name` varchar(100) NOT NULL,
- * `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- * `source` text,
- * PRIMARY KEY (`name`)
- * ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
- * Demo data:
- * INSERT INTO `templates` (`name`, `modified`, `source`) VALUES ('test.tpl', "2010-12-25 22:00:00", '{$x="hello world"}{$x}');
- *
- * @package Resource-examples
- * @author Rodney Rehm
- */
-class Smarty_Resource_Mysql extends Smarty_Resource_Custom
-{
- // PDO instance
- protected $db;
- // prepared fetch() statement
- protected $fetch;
- // prepared fetchTimestamp() statement
- protected $mtime;
-
- public function __construct()
- {
- try {
- $this->db = new PDO("mysql:dbname=test;host=127.0.0.1", "smarty");
- }
- catch (PDOException $e) {
- throw new SmartyException('Mysql Resource failed: ' . $e->getMessage());
- }
- $this->fetch = $this->db->prepare('SELECT modified, source FROM templates WHERE name = :name');
- $this->mtime = $this->db->prepare('SELECT modified FROM templates WHERE name = :name');
- }
-
- /**
- * Fetch a template and its modification time from database
- *
- * @param string $name template name
- * @param string $source template source
- * @param integer $mtime template modification timestamp (epoch)
- *
- * @return void
- */
- protected function fetch($name, &$source, &$mtime)
- {
- $this->fetch->execute(array('name' => $name));
- $row = $this->fetch->fetch();
- $this->fetch->closeCursor();
- if ($row) {
- $source = $row['source'];
- $mtime = strtotime($row['modified']);
- } else {
- $source = null;
- $mtime = null;
- }
- }
-
- /**
- * Fetch a template's modification time from database
- *
- * @note implementing this method is optional. Only implement it if modification times can be accessed faster than loading the comple template source.
- *
- * @param string $name template name
- *
- * @return integer timestamp (epoch) the template was modified
- */
- protected function fetchTimestamp($name)
- {
- $this->mtime->execute(array('name' => $name));
- $mtime = $this->mtime->fetchColumn();
- $this->mtime->closeCursor();
-
- return strtotime($mtime);
- }
-}
diff --git a/library/Smarty/demo/plugins/resource.mysqls.php b/library/Smarty/demo/plugins/resource.mysqls.php
deleted file mode 100644
index f694ddf11..000000000
--- a/library/Smarty/demo/plugins/resource.mysqls.php
+++ /dev/null
@@ -1,62 +0,0 @@
-CREATE TABLE IF NOT EXISTS `templates` (
- * `name` varchar(100) NOT NULL,
- * `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- * `source` text,
- * PRIMARY KEY (`name`)
- * ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
- * Demo data:
- * INSERT INTO `templates` (`name`, `modified`, `source`) VALUES ('test.tpl', "2010-12-25 22:00:00", '{$x="hello world"}{$x}');
- *
- * @package Resource-examples
- * @author Rodney Rehm
- */
-class Smarty_Resource_Mysqls extends Smarty_Resource_Custom
-{
- // PDO instance
- protected $db;
- // prepared fetch() statement
- protected $fetch;
-
- public function __construct()
- {
- try {
- $this->db = new PDO("mysql:dbname=test;host=127.0.0.1", "smarty");
- }
- catch (PDOException $e) {
- throw new SmartyException('Mysql Resource failed: ' . $e->getMessage());
- }
- $this->fetch = $this->db->prepare('SELECT modified, source FROM templates WHERE name = :name');
- }
-
- /**
- * Fetch a template and its modification time from database
- *
- * @param string $name template name
- * @param string $source template source
- * @param integer $mtime template modification timestamp (epoch)
- *
- * @return void
- */
- protected function fetch($name, &$source, &$mtime)
- {
- $this->fetch->execute(array('name' => $name));
- $row = $this->fetch->fetch();
- $this->fetch->closeCursor();
- if ($row) {
- $source = $row['source'];
- $mtime = strtotime($row['modified']);
- } else {
- $source = null;
- $mtime = null;
- }
- }
-}
diff --git a/library/Smarty/demo/templates/footer.tpl b/library/Smarty/demo/templates/footer.tpl
deleted file mode 100644
index e04310fdd..000000000
--- a/library/Smarty/demo/templates/footer.tpl
+++ /dev/null
@@ -1,2 +0,0 @@
-