<?php abstract class VirtualCalSourceBackend { /** * @static * @param int $uid * @param int $namespace */ static public function invalidateCache($uid = 0, $namespace = 0) { q("DELETE FROM %s%scache_synchronized WHERE `uid` = %d AND `namespace` = %d", CALDAV_SQL_DB, CALDAV_SQL_PREFIX, IntVal($uid), IntVal($namespace)); } /** * @static * @abstract * @param int $uid * @param int $namespace_id */ static abstract function createCache($uid = 0, $namespace_id = 0); /** * @static * @param int $uid * @param int $namespace * @return array */ static public function getCachedItems($uid = 0, $namespace = 0) { $uid = IntVal($uid); $namespace = IntVal($namespace); $r = q("SELECT COUNT(*) n FROM %s%scache_synchronized WHERE `uid` = %d AND `namespace` = %d", CALDAV_SQL_DB, CALDAV_SQL_PREFIX, IntVal($uid), $namespace); if ($r[0]["n"] == 0) self::createCache(); $r = q("SELECT * FROM %s%scal_virtual_object_cache WHERE `uid` = %d AND `namespace` = %d", CALDAV_SQL_DB, CALDAV_SQL_PREFIX, $uid, $namespace); return $r; } /** * @static * @abstract * @param int $uid * @param int $namespace_id * @param string $date_from * @param string $date_to * @return array */ abstract static public function getItemsByTime($uid = 0, $namespace_id = 0, $date_from = "", $date_to = ""); /** * @static * @abstract * @param int $uid * @param string $uri * @return array */ abstract static public function getItemsByUri($uid = 0, $uri); }