aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/smarty/smarty/demo/plugins/cacheresource.mysql.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/smarty/smarty/demo/plugins/cacheresource.mysql.php')
-rw-r--r--vendor/smarty/smarty/demo/plugins/cacheresource.mysql.php93
1 files changed, 58 insertions, 35 deletions
diff --git a/vendor/smarty/smarty/demo/plugins/cacheresource.mysql.php b/vendor/smarty/smarty/demo/plugins/cacheresource.mysql.php
index 027b93766..c5037eb13 100644
--- a/vendor/smarty/smarty/demo/plugins/cacheresource.mysql.php
+++ b/vendor/smarty/smarty/demo/plugins/cacheresource.mysql.php
@@ -24,38 +24,55 @@
*/
class Smarty_CacheResource_Mysql extends Smarty_CacheResource_Custom
{
- // PDO instance
+ /**
+ * @var \PDO
+ */
protected $db;
+ /**
+ * @var \PDOStatement
+ */
protected $fetch;
+ /**
+ * @var \PDOStatement
+ */
protected $fetchTimestamp;
+ /**
+ * @var \PDOStatement
+ */
protected $save;
+ /**
+ * Smarty_CacheResource_Mysql constructor.
+ *
+ * @throws \SmartyException
+ */
public function __construct()
{
try {
$this->db = new PDO("mysql:dbname=test;host=127.0.0.1", "smarty");
- }
- catch (PDOException $e) {
+ } 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)');
+ $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)
+ * @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
*/
@@ -76,12 +93,13 @@ class Smarty_CacheResource_Mysql extends Smarty_CacheResource_Custom
/**
* 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.
+ * @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
+ * @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
*/
@@ -90,37 +108,40 @@ class Smarty_CacheResource_Mysql extends Smarty_CacheResource_Custom
$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
+ * @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,));
-
+ $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
+ * @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
*/
@@ -130,8 +151,7 @@ class Smarty_CacheResource_Mysql extends Smarty_CacheResource_Custom
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;
+ return -1;
}
// build the filter
$where = array();
@@ -149,12 +169,15 @@ class Smarty_CacheResource_Mysql extends Smarty_CacheResource_Custom
}
// 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 . '|%') . ')';
+ $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();
}
}