22 function quickcache_db_connect() {
23 $GLOBALS[
"sql_link"] = @mysql_connect($GLOBALS[
"QUICKCACHE_DB_HOST"],
24 $GLOBALS[
"QUICKCACHE_DB_USERNAME"],
25 $GLOBALS[
"QUICKCACHE_DB_PASSWORD"]);
31 function quickcache_db_disconnect() {
32 mysql_close($GLOBALS[
"sql_link"]);
38 function quickcache_db_query($query) {
40 $ret = @mysql_db_query($GLOBALS[
"QUICKCACHE_DB_DATABASE"],
42 $GLOBALS[
"sql_link"]);
49 function quickcache_restore() {
50 $res = quickcache_db_query(
"select GZDATA, DATASIZE, DATACRC from ".
51 $GLOBALS[
"QUICKCACHE_DB_TABLE"].
53 addslashes($GLOBALS[
"quickcache_key"]).
54 "' and (CACHEEXPIRATION>".
56 " or CACHEEXPIRATION=0)"
59 if ($res && mysql_num_rows($res))
61 if ($row = mysql_fetch_array($res))
64 $GLOBALS[
"quickcachedata_gzdata"] = $row[
"GZDATA"];
65 $GLOBALS[
"quickcachedata_datasize"] = $row[
"DATASIZE"];
66 $GLOBALS[
"quickcachedata_datacrc"] = $row[
"DATACRC"];
76 function quickcache_write($gzdata, $datasize, $datacrc) {
77 $dbtable = $GLOBALS[
"QUICKCACHE_DB_TABLE"];
82 $res = quickcache_db_query(
"select CACHEEXPIRATION from $dbtable".
84 addslashes($GLOBALS[
"quickcache_key"]).
89 if (!$res || mysql_num_rows($res) < 1) {
91 $res = quickcache_db_query(
"insert into $dbtable".
92 " (CACHEKEY, CACHEEXPIRATION, GZDATA,".
93 " DATASIZE, DATACRC) values ('".
94 addslashes($GLOBALS[
"quickcache_key"]).
96 (($GLOBALS[
"QUICKCACHE_TIME"] != 0) ?
97 (time()+$GLOBALS[
"QUICKCACHE_TIME"]) : 0).
100 "', $datasize, $datacrc)"
107 $res = quickcache_db_query(
"update $dbtable set CACHEEXPIRATION=".
108 (($GLOBALS[
"QUICKCACHE_TIME"] != 0) ?
109 (time()+$GLOBALS[
"QUICKCACHE_TIME"]) : 0).
112 "', DATASIZE=$datasize, DATACRC=$datacrc where".
114 addslashes($GLOBALS[
"quickcache_key"]).
124 function quickcache_do_gc() {
125 quickcache_db_query(
"delete from ".
126 $GLOBALS[
"QUICKCACHE_DB_TABLE"].
127 " where CACHEEXPIRATION<=".
129 " and CACHEEXPIRATION!=0"
134 if ($GLOBALS[
"QUICKCACHE_OPTIMIZE"]) {
135 quickcache_db_query(
"OPTIMIZE TABLE ".$GLOBALS[
"QUICKCACHE_DB_TABLE"]);
142 function quickcache_do_start() {
144 quickcache_db_connect();
151 function quickcache_do_end() {
153 quickcache_db_disconnect();