Files
zurawik.pl/core/class/QueryCache.class.php
2026-05-15 18:33:51 +02:00

77 lines
1.6 KiB
PHP

<?php
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
* Description of QueryCache
*
* @author User
*/
class QueryCache {
private $query;
private $cacheQueryName;
private $cachePathFile;
public function __construct($queryCacheName,$query)
{
if(QUERYCACHE_ENABLE == true)
{
$this->cachePathFile = PATH_CORE . "/model/QueryCacheTemp.class.php";
$this->query = $query;
$this->cacheQueryName = $queryCacheName;
$this->Write();
}
}
public function Write()
{
// jesli nie ma query w tablicy i nie bylo juz w tym skrypcie dodawane
if(!isset(QueryCacheTemp::$cacheQuery[$this->cacheQueryName]) && Registry::Get($this->cacheQueryName) != true)
{
$fp = fopen($this->cachePathFile,"r+");
if(count(QueryCacheTemp::$cacheQuery) > 0 || Registry::Get("cacheQueryItems") > 0)
$cacheFile=",";
else
$cacheFile="";
$cacheFile.="
\"$this->cacheQueryName\" => \"$this->query\");}?>";
if(Registry::Get("cacheQueryItems") > 0)
fseek($fp, -5,SEEK_END);
else
fseek($fp, -5,SEEK_END);
fputs($fp, $cacheFile);
fclose($fp);
$item = true;
if(Registry::Exists("cacheQueryItems"))
$cacheQueryItems = Registry::Get("cacheQueryItems");
else
$cacheQueryItems = 0;
Registry::Set($this->cacheQueryName, $item);
Registry::Set("cacheQueryItems", ++$cacheQueryItems);
}
}
public function Clear()
{
$fp = fopen($this->cachePathFile,"r+");
$cacheFile='<?php
class QueryCacheTemp
{
static $cacheQuery = array(
);}?>';
fputs($fp, $cacheFile);
fclose($fp);
}
}
?>