aboutsummaryrefslogtreecommitdiffstats
path: root/Zotlabs/Lib/Cache.php
blob: cea07565993b601504e932b59870f8c8c715dbb9 (plain) (blame)
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php /** @file */

namespace Zotlabs\Lib;

	/**
	 *  cache api
	 */
	 
class Cache {
	public static function get($key) {

		$hash = hash('whirlpool',$key);

		$r = q("SELECT v FROM cache WHERE k = '%s' limit 1",
			dbesc($hash)
		);
			
		if ($r)
			return $r[0]['v'];
		return null;
	}
		
	public static function set($key,$value) {

		$hash = hash('whirlpool',$key);

		$r = q("SELECT * FROM cache WHERE k = '%s' limit 1",
			dbesc($hash)
		);
		if($r) {
			q("UPDATE cache SET v = '%s', updated = '%s' WHERE k = '%s'",
				dbesc($value),
				dbesc(datetime_convert()),
				dbesc($hash));
		}
		else {
			q("INSERT INTO cache ( k, v, updated) VALUES ('%s','%s','%s')",
				dbesc($hash),
				dbesc($value),
				dbesc(datetime_convert()));
		}
	}

		
	public static function clear() {
		q("DELETE FROM cache WHERE updated < '%s'",
			dbesc(datetime_convert('UTC','UTC',"now - 30 days")));			
	}
		
}