/**
  * 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"]));
 }
Example #2
0
/**
 * @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);
 }