/** * @param int $namespace * @param int $namespace_id * @param string $uri * @param array $calendar * @return Sabre_CalDAV_Backend_Common * @throws Exception */ function wdcal_calendar_factory($namespace, $namespace_id, $uri, $calendar = null) { switch ($namespace) { case CALDAV_NAMESPACE_PRIVATE: if ($uri == CALDAV_FRIENDICA_MINE || $uri == CALDAV_FRIENDICA_CONTACTS) { return Sabre_CalDAV_Backend_Friendica::getInstance(); } else { return Sabre_CalDAV_Backend_Private::getInstance(); } } throw new Exception("Calendar Namespace not found"); }
/** * @return Sabre_CalDAV_AnimexxCalendarRootNode */ function dav_createRootCalendarNode() { $backends = array(Sabre_CalDAV_Backend_Private::getInstance()); foreach ($GLOBALS["CALDAV_PRIVATE_SYSTEM_BACKENDS"] as $backendclass) { $backends[] = $backendclass::getInstance(); } return new Sabre_CalDAV_AnimexxCalendarRootNode(Sabre_DAVACL_PrincipalBackend_Std::getInstance(), $backends); }