diff options
Diffstat (limited to 'vendor/sabre/dav/lib/DAVACL/IPrincipalCollection.php')
-rw-r--r-- | vendor/sabre/dav/lib/DAVACL/IPrincipalCollection.php | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/vendor/sabre/dav/lib/DAVACL/IPrincipalCollection.php b/vendor/sabre/dav/lib/DAVACL/IPrincipalCollection.php new file mode 100644 index 000000000..3ab8382fa --- /dev/null +++ b/vendor/sabre/dav/lib/DAVACL/IPrincipalCollection.php @@ -0,0 +1,62 @@ +<?php + +namespace Sabre\DAVACL; + +use Sabre\DAV; + +/** + * Principal Collection interface. + * + * Implement this interface to ensure that your principal collection can be + * searched using the principal-property-search REPORT. + * + * @copyright Copyright (C) fruux GmbH (https://fruux.com/) + * @author Evert Pot (http://evertpot.com/) + * @license http://sabre.io/license/ Modified BSD License + */ +interface IPrincipalCollection extends DAV\ICollection { + + /** + * This method is used to search for principals matching a set of + * properties. + * + * This search is specifically used by RFC3744's principal-property-search + * REPORT. You should at least allow searching on + * http://sabredav.org/ns}email-address. + * + * The actual search should be a unicode-non-case-sensitive search. The + * keys in searchProperties are the WebDAV property names, while the values + * are the property values to search on. + * + * By default, if multiple properties are submitted to this method, the + * various properties should be combined with 'AND'. If $test is set to + * 'anyof', it should be combined using 'OR'. + * + * This method should simply return a list of 'child names', which may be + * used to call $this->getChild in the future. + * + * @param array $searchProperties + * @param string $test + * @return array + */ + function searchPrincipals(array $searchProperties, $test = 'allof'); + + /** + * Finds a principal by its URI. + * + * This method may receive any type of uri, but mailto: addresses will be + * the most common. + * + * Implementation of this API is optional. It is currently used by the + * CalDAV system to find principals based on their email addresses. If this + * API is not implemented, some features may not work correctly. + * + * This method must return a relative principal path, or null, if the + * principal was not found or you refuse to find it. + * + * @param string $uri + * @return string + */ + function findByUri($uri); + +} |