read_cache($key); if(isset($content) && $content != "") { return $content; } else { return null; } } if(func_num_args() == 2) { return $this->write_cache($key, $arglist[1]); } else { // Cutting a piece of the args. $content = array_slice($arglist, 1); return $this->write_cache($key, $content); } } /** * Serializes data in a proper fashion. */ private function write_cache($key, $object) { $data = str_replace("'", "\\'", base64_encode(gzcompress(serialize($object)))); $time = date(DATE_ISO8601, time()); $cd = new \modl\CacheDAO(); $c = new \modl\Cache(); $c->data = $data; $c->name = $key; $c->timestamp = $time; $cd->set($c); } /** * Unserializes data. */ private function read_cache($key) { $cd = new \modl\CacheDAO(); $var = $cd->get($key); if(isset($var)) { return unserialize(gzuncompress(base64_decode(str_replace("\\'", "'", $var->data)))); } else { return false; } } } ?>