namespace_id = IntVal($namespace_id); $this->user_id = IntVal($user_id); $x = q("SELECT * FROM %s%scalendars WHERE `namespace` = %d AND `namespace_id` = %d AND `uid` = %d", CALDAV_SQL_DB, CALDAV_SQL_PREFIX, $this->getNamespace(), $this->namespace_id, $this->user_id ); if (count($x) != 1) throw new Sabre_DAV_Exception_NotFound("Not found"); try { $this->calendarDb = new DBClass_friendica_calendars($x[0]); } catch (Exception $e) { throw new Sabre_DAV_Exception_NotFound("Not found"); } } /** * @abstract * @return int */ public static abstract function getNamespace(); /** * @abstract * @param int $user * @return array */ public abstract function getPermissionsCalendar($user); /** * @abstract * @param int $user * @param string $item_uri * @param string $recurrence_uri * @param array|null $item_arr * @return array */ public abstract function getPermissionsItem($user, $item_uri, $recurrence_uri, $item_arr = null); /** * @param string $uri * @param array $start * @param array $end * @param string $subject * @param bool $allday * @param string $description * @param string $location * @param null $color * @param string $timezone * @param bool $notification * @param null $notification_type * @param null $notification_value */ public abstract function updateItem($uri, $start, $end, $subject = "", $allday = false, $description = "", $location = "", $color = null, $timezone = "", $notification = true, $notification_type = null, $notification_value = null); /** * @abstract * @param array $start * @param array $end * @param string $subject * @param bool $allday * @param string $description * @param string $location * @param null $color * @param string $timezone * @param bool $notification * @param null $notification_type * @param null $notification_value * @return array */ public abstract function addItem($start, $end, $subject, $allday = false, $description = "", $location = "", $color = null, $timezone = "", $notification = true, $notification_type = null, $notification_value = null); /** * @param string $uri */ public abstract function removeItem($uri); /** * @abstract * @param string $sd * @param string $ed * @param string $base_path * @return array */ public abstract function listItemsByRange($sd, $ed, $base_path); /** * @abstract * @param string $uri * @return array */ public abstract function getItemByUri($uri); /** * @param string $uri * @return null|string */ public function getItemDetailRedirect($uri) { return null; } }