class pCache in Visitors 7.0
Same name and namespace in other branches
- 8 pchart/pCache.inc \pCache
- 7.2 pChart/class/pCache.class.php \pCache
- 7 pChart/class/pCache.class.php \pCache
Hierarchy
- class \pCache
Expanded class hierarchy of pCache
File
- pchart/
pCache.inc, line 35
View source
class pCache {
var $HashKey = "";
var $CacheFolder = "Cache/";
/* Create the pCache object */
function pCache($CacheFolder = "Cache/") {
$this->CacheFolder = $CacheFolder;
}
/* This function is clearing the cache folder */
function ClearCache() {
if ($handle = opendir($this->CacheFolder)) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
unlink($this->CacheFolder . $file);
}
}
closedir($handle);
}
}
/* This function is checking if we have an offline version of this chart */
function IsInCache($ID, $Data, $Hash = "") {
if ($Hash == "") {
$Hash = $this
->GetHash($ID, $Data);
}
if (file_exists($this->CacheFolder . $Hash)) {
return TRUE;
}
else {
return FALSE;
}
}
/* This function is making a copy of drawn chart in the cache folder */
function WriteToCache($ID, $Data, $Picture) {
$Hash = $this
->GetHash($ID, $Data);
$FileName = $this->CacheFolder . $Hash;
imagepng($Picture->Picture, $FileName);
}
/* This function is removing any cached copy of this chart */
function DeleteFromCache($ID, $Data) {
$Hash = $this
->GetHash($ID, $Data);
$FileName = $this->CacheFolder . $Hash;
if (file_exists($FileName)) {
unlink($FileName);
}
}
/* This function is retrieving the cached picture if applicable */
function GetFromCache($ID, $Data) {
$Hash = $this
->GetHash($ID, $Data);
if ($this
->IsInCache("", "", $Hash)) {
$FileName = $this->CacheFolder . $Hash;
header('Content-type: image/png');
@readfile($FileName);
exit;
}
}
/* This function is building the graph unique hash key */
function GetHash($ID, $Data) {
$mKey = "{$ID}";
foreach ($Data as $key => $Values) {
$tKey = "";
foreach ($Values as $Serie => $Value) {
$tKey = $tKey . $Serie . $Value;
}
$mKey = $mKey . md5($tKey);
}
return md5($mKey);
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
pCache:: |
property | |||
pCache:: |
property | |||
pCache:: |
function | |||
pCache:: |
function | |||
pCache:: |
function | |||
pCache:: |
function | |||
pCache:: |
function | |||
pCache:: |
function | |||
pCache:: |
function |