diff --git a/change_log.txt b/change_log.txt index 98abb85a..8ded47fc 100644 --- a/change_log.txt +++ b/change_log.txt @@ -1,6 +1,7 @@ 12/01/2009 - fixed parsing of names of special formated tags like if,elseif,while,for,foreach - removed direct access to constants in templates because of some syntax problems +- removed cache resource plugin for mysql from the distribution 11/30/2009 - map 'true' to SMARTY_CACHING_LIFETIME_CURRENT for the $smarty->caching parameter diff --git a/libs/plugins/cacheresource.mysql.php b/libs/plugins/cacheresource.mysql.php deleted file mode 100644 index a31379ee..00000000 --- a/libs/plugins/cacheresource.mysql.php +++ /dev/null @@ -1,200 +0,0 @@ -smarty = $smarty; - if (!$this->link = mysql_pconnect($this->db_host, $this->db_user, $this->db_pass)) { - throw new Exception("Cache resource unable to connect to MYSQL"); - } - mysql_select_db($this->db_name, $this->link); - } - /** - * Returns the filepath of the cached template output - * - * @param object $template current template - * @return string the cache filepath - */ - public function getCachedFilepath($template) - { - return $this->buildCachedFilepath ($template->resource_name, $template->cache_id, $template->compile_id); - } - - /** - * Returns the timpestamp of the cached template output - * - * @param object $template current template - * @return integer |booelan the template timestamp or false if the file does not exist - */ - public function getCachedTimestamp($template) - { - $Id = $template->getCachedFilepath(); - // read cache from database - $results = mysql_query("select UNIX_TIMESTAMP(Timestamp) from SMARTY_CACHE where Id='$Id'", $this->link); - if (!$results) { - $this->mysqlError(); - } - $row = mysql_fetch_row($results); - return (int)$row[0]; - } - - /** - * Returns the cached template output - * - * @param object $template current template - * @return string |booelan the template content or false if the file does not exist - */ - public function getCachedContents($template) - { - $Id = $template->getCachedFilepath(); - // read cache from database - $results = mysql_query("select CacheContents from SMARTY_CACHE where Id='$Id'", $this->link); - if (!$results) { - $this->mysqlError(); - } - $row = mysql_fetch_row($results); - - $cache_content = $row[0]; - - $_smarty_tpl = $template; - ob_start(); - eval("?>" . $cache_content); - return ob_get_clean(); - } - - /** - * Writes the rendered template output to cache file - * - * @param object $template current template - * @return boolean status - */ - public function writeCachedContent($template, $content) - { - if (!$template->isEvaluated()) { - $_cache_id = isset($template->cache_id) ? preg_replace('![^\w\|]+!', '_', $template->cache_id) : null; - $_compile_id = isset($template->compile_id) ? preg_replace('![^\w\|]+!', '_', $template->compile_id) : null; - // save cache to database - $Id = $template->getCachedFilepath(); - $results = mysql_query("replace into SMARTY_CACHE set Id = $Id, CacheContents = '" . addslashes($content) . "', - CacheId = '$_cache_id', - CompileId = '$_compile_id', - ResourceName = '$template->resource_name'", $this->link); - if (!$results) { - $this->mysqlError(); - } - return $results; - } else { - return false; - } - } - - /** - * Empty cache folder - * - * @param integer $exp_time expiration time - * @return integer number of cache files deleted - */ - public function clearAll($exp_time = null) - { - if ($exp_time === null) { - $results = mysql_query("truncate table SMARTY_CACHE", $this->link); - } else { - $results = mysql_query("delete ignore from SMARTY_CACHE where UNIX_TIMESTAMP(Timestamp) <= '$exp_time'", $this->link); - } - if (!$results) { - $this->mysqlError(); - } - } - /** - * Empty cache for a specific template - * - * @param string $resource_name template name - * @param string $cache_id cache id - * @param string $compile_id compile id - * @param integer $exp_time expiration time - * @return integer number of cache files deleted - */ - public function clear($resource_name, $cache_id, $compile_id, $exp_time) - { - $_cache_id = isset($cache_id) ? preg_replace('![^\w\|]+!', '_', $cache_id) : null; - $_compile_id = isset($compile_id) ? preg_replace('![^\w\|]+!', '_', $compile_id) : null; - - $where = ''; - $and = ''; - if (isset($resource_name)) { - $where = "ResourceName = '$resource_name' "; - $and = 'and '; - } - if (isset($_cache_id)) { - $length = strlen($_cache_id); - $where .= $and . "SUBSTRING(CacheId,1,$length) = '$_cache_id' "; - $and = 'and '; - } - if (isset($_compile_id)) { - $where .= $and . "CompileId = '$_compile_id' "; - $and = 'and '; - } - if (isset($exp_time)) { - $where .= $and . "UNIX_TIMESTAMP(Timestamp) <= '$exp_time' "; - } - $results = mysql_query("delete ignore from SMARTY_CACHE where $where", $this->link); - if (!$results) { - $this->mysqlError(); - } - return mysql_affected_rows(); - } - - /** - * Get system filepath to cached file - * - * @param string $resource_name template name - * @param string $cache_id cache id - * @param string $compile_id compile id - * @return string filepath of cache file - */ - private function buildCachedFilepath ($resource_name, $cache_id, $compile_id) - { - $_cache_id = isset($cache_id) ? preg_replace('![^\w\|]+!', '_', $cache_id) : null; - $_compile_id = isset($compile_id) ? preg_replace('![^\w\|]+!', '_', $compile_id) : null; - return abs(crc32($resource_name . $_cache_id . $_compile_id)); - } - - /** - * MYSQL Error - */ - private function mysqlError () - { - $error = mysql_error($this->link); - throw new Exception("Cache resource MYSQL error '{$error}'"); - } -} - -?>