X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=dav%2Fcommon%2Fdav_caldav_backend_private.inc.php;h=5356280a42c225a98797836306aafb272dfd1b0d;hb=47396b1d284dffbb994233597cb9fca8a1e33be7;hp=86da0270e0df074834b7fdfda5895f34d2d03461;hpb=5b83872773047d50a89619f47549d9dc326a2f99;p=friendica-addons.git diff --git a/dav/common/dav_caldav_backend_private.inc.php b/dav/common/dav_caldav_backend_private.inc.php index 86da0270..5356280a 100644 --- a/dav/common/dav_caldav_backend_private.inc.php +++ b/dav/common/dav_caldav_backend_private.inc.php @@ -34,7 +34,8 @@ class Sabre_CalDAV_Backend_Private extends Sabre_CalDAV_Backend_Common * @static * @return string */ - public static function getBackendTypeName() { + public static function getBackendTypeName() + { return t("Private Events"); } @@ -110,9 +111,9 @@ class Sabre_CalDAV_Backend_Private extends Sabre_CalDAV_Backend_Common */ public function listItemsByRange($calendarId, $sd, $ed, $base_path) { - $calendar = Sabre_CalDAV_Backend_Common::loadCalendarById($calendarId); - $von = wdcal_php2MySqlTime($sd); - $bis = wdcal_php2MySqlTime($ed); + $calendar = Sabre_CalDAV_Backend_Common::loadCalendarById($calendarId); + $von = wdcal_php2MySqlTime($sd); + $bis = wdcal_php2MySqlTime($ed); $timezoneOffset = date("P"); // @TODO Events, die früher angefangen haben, aber noch andauern @@ -152,6 +153,7 @@ class Sabre_CalDAV_Backend_Private extends Sabre_CalDAV_Backend_Common * common one is '{DAV:}displayname'. * * @param string $principalUri + * @throws DAVVersionMismatchException * @return array */ public function getCalendarsForUser($principalUri) @@ -162,14 +164,20 @@ class Sabre_CalDAV_Backend_Private extends Sabre_CalDAV_Backend_Common $cals = q("SELECT * FROM %s%scalendars WHERE `namespace` = %d AND `namespace_id` = %d", CALDAV_SQL_DB, CALDAV_SQL_PREFIX, $this->getNamespace(), IntVal($n["namespace_id"])); $ret = array(); foreach ($cals as $cal) { + if (!isset($cal["uri"])) throw new DAVVersionMismatchException(); if (in_array($cal["uri"], $GLOBALS["CALDAV_PRIVATE_SYSTEM_CALENDARS"])) continue; + $components = array(); + if ($cal["has_vevent"]) $components[] = "VEVENT"; + if ($cal["has_vtodo"]) $components[] = "VTODO"; + $dat = array( - "id" => $cal["id"], - "uri" => $cal["uri"], - "principaluri" => $principalUri, - '{' . Sabre_CalDAV_Plugin::NS_CALENDARSERVER . '}getctag' => $cal['ctag'] ? $cal['ctag'] : '0', - "calendar_class" => "Sabre_CalDAV_Calendar", + "id" => $cal["id"], + "uri" => $cal["uri"], + "principaluri" => $principalUri, + '{' . Sabre_CalDAV_Plugin::NS_CALENDARSERVER . '}getctag' => $cal['ctag'] ? $cal['ctag'] : '0', + '{' . Sabre_CalDAV_Plugin::NS_CALDAV . '}supported-calendar-component-set' => new Sabre_CalDAV_Property_SupportedCalendarComponentSet($components), + "calendar_class" => "Sabre_CalDAV_Calendar", ); foreach ($this->propertyMap as $key=> $field) $dat[$key] = $cal[$field]; @@ -189,7 +197,7 @@ class Sabre_CalDAV_Backend_Private extends Sabre_CalDAV_Backend_Common * @param string $principalUri * @param string $calendarUri * @param array $properties - * @throws Sabre_DAV_Exception + * @throws Sabre_DAV_Exception|Sabre_DAV_Exception_Conflict * @return string|void */ public function createCalendar($principalUri, $calendarUri, array $properties) @@ -198,7 +206,7 @@ class Sabre_CalDAV_Backend_Private extends Sabre_CalDAV_Backend_Common $uid = dav_compat_principal2uid($principalUri); $r = q("SELECT * FROM %s%scalendars WHERE `namespace` = %d AND `namespace_id` = %d AND `uri` = '%s'", CALDAV_SQL_DB, CALDAV_SQL_PREFIX, CALDAV_NAMESPACE_PRIVATE, $uid, dbesc($calendarUri)); - if (count($r) > 0) throw new Sabre_DAV_Exception("A calendar with this URI already exists"); + if (count($r) > 0) throw new Sabre_DAV_Exception_Conflict("A calendar with this URI already exists"); $keys = array("`namespace`", "`namespace_id`", "`ctag`", "`uri`"); $vals = array(CALDAV_NAMESPACE_PRIVATE, IntVal($uid), 1, "'" . dbesc($calendarUri) . "'");