/** * Constructor * * @param Sabre_DAVACL_IPrincipalBackend $principalBackend * @param Sabre_CalDAV_Backend_BackendInterface $caldavBackend * @param array $calendarInfo */ public function __construct(Sabre_DAVACL_IPrincipalBackend $principalBackend, Sabre_CalDAV_Backend_BackendInterface $caldavBackend, $calendarInfo) { $required = array('{http://calendarserver.org/ns/}shared-url', '{http://sabredav.org/ns}owner-principal', '{http://sabredav.org/ns}read-only'); foreach ($required as $r) { if (!isset($calendarInfo[$r])) { throw new InvalidArgumentException('The ' . $r . ' property must be specified for SharedCalendar(s)'); } } parent::__construct($principalBackend, $caldavBackend, $calendarInfo); }