/** * Returns information from a single calendar object, based on it's object * uri. * * The returned array must have the same keys as getCalendarObjects. The * 'calendardata' object is required here though, while it's not required * for getCalendarObjects. * * @param string $calendarId * @param string $objectUri * @throws Sabre_DAV_Exception_FileNotFound * @return array */ function getCalendarObject($calendarId, $objectUri) { $a = get_app(); $user_id = $a->user["uid"]; $obj = FriendicaVirtualCalSourceBackend::getItemsByUri($user_id, $objectUri); return array("id" => IntVal($obj["data_uri"]), "calendardata" => $obj["ical"], "uri" => $obj["data_uri"], "lastmodified" => $obj["date"], "calendarid" => $calendarId, "etag" => $obj["ical_etag"], "size" => IntVal($obj["ical_size"])); }
/** * @param App $a * @param object $b */ function dav_event_updated_hook(&$a, &$b) { dav_include_files(); // @TODO Updating the cache instead of completely invalidating and rebuilding it FriendicaVirtualCalSourceBackend::invalidateCache($a->user["uid"], CALDAV_FRIENDICA_CONTACTS); FriendicaVirtualCalSourceBackend::invalidateCache($a->user["uid"], CALDAV_FRIENDICA_MINE); }
/** * @param string $uri * @return array */ public function getItemByUri($uri) { $usr_id = IntVal($this->calendarDb->uid); $row = FriendicaVirtualCalSourceBackend::getItemsByUri($usr_id, $uri); return $this->virtualData2wdcal($row); }