aboutsummaryrefslogtreecommitdiffstats
path: root/mayor-orig/mayor-base/www/include/base/cache.php
blob: 3c630581fa5d2dfa25686a52c3ce884ec13b1ed8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
// MaYoR - GPL - author: support@mayor.hu
class mayorCache {
    private $DATA = array();
    private $REGISTRY = array();
    public function exists($key) {
	return (!is_null($this->DATA[$key]));
    }
    public function get($key) {
	return $this->DATA[$key];
    }
    public function set($key,$data, $dataType=null) {
	$this->DATA[$key] = $data;
	if ($dataType!='') $this->REGISTRY[$dataType][] = $key;
    }
    public function del($key) {
	    unset($this->DATA[$key]);
	    unset($this->REGISTRY[array_search($key,$this->REGISTRY)]);
    }
    public function flushdb() {
	$this->DATA = array();
	$this->REGISTRY = array();
    }
    public function delType($dataType) {
	$c = count($this->REGISTRY[$dataType]);
	for ($i=0; $i<$c; $i++ ) {
	    $this->del($this->REGISTRY[$dataType][$i]);
	}
	unset($this->REGISTRY[$dataType]);
    }	
}
$mayorCache = new mayorCache();
?>