| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- <?php
- declare(strict_types=1);
- namespace Sabre\DAVACL;
- use Sabre\DAV;
- /**
- * IPrincipal interface.
- *
- * Implement this interface to define your own principals
- *
- * @copyright Copyright (C) fruux GmbH (https://fruux.com/)
- * @author Evert Pot (http://evertpot.com/)
- * @license http://sabre.io/license/ Modified BSD License
- */
- interface IPrincipal extends DAV\INode
- {
- /**
- * Returns a list of alternative urls for a principal.
- *
- * This can for example be an email address, or ldap url.
- *
- * @return array
- */
- public function getAlternateUriSet();
- /**
- * Returns the full principal url.
- *
- * @return string
- */
- public function getPrincipalUrl();
- /**
- * Returns the list of group members.
- *
- * If this principal is a group, this function should return
- * all member principal uri's for the group.
- *
- * @return array
- */
- public function getGroupMemberSet();
- /**
- * Returns the list of groups this principal is member of.
- *
- * If this principal is a member of a (list of) groups, this function
- * should return a list of principal uri's for it's members.
- *
- * @return array
- */
- public function getGroupMembership();
- /**
- * Sets a list of group members.
- *
- * If this principal is a group, this method sets all the group members.
- * The list of members is always overwritten, never appended to.
- *
- * This method should throw an exception if the members could not be set.
- */
- public function setGroupMemberSet(array $principals);
- /**
- * Returns the displayname.
- *
- * This should be a human readable name for the principal.
- * If none is available, return the nodename.
- *
- * @return string
- */
- public function getDisplayName();
- }
|