Server IP : 184.154.167.98 / Your IP : 18.227.105.110 Web Server : Apache System : Linux pink.dnsnetservice.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 User : puertode ( 1767) PHP Version : 7.2.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/puertode/public_html/contratos/3rdparty/sabre/dav/lib/DAVACL/ |
Upload File : |
<?php namespace Sabre\DAVACL; use Sabre\DAV\Exception\InvalidResourceType; use Sabre\DAV\IExtendedCollection; use Sabre\DAV\MkCol; /** * Principals Collection * * This collection represents a list of users. * The users are instances of Sabre\DAVACL\Principal * * @copyright Copyright (C) fruux GmbH (https://fruux.com/) * @author Evert Pot (http://evertpot.com/) * @license http://sabre.io/license/ Modified BSD License */ class PrincipalCollection extends AbstractPrincipalCollection implements IExtendedCollection, IACL { use ACLTrait; /** * This method returns a node for a principal. * * The passed array contains principal information, and is guaranteed to * at least contain a uri item. Other properties may or may not be * supplied by the authentication backend. * * @param array $principal * @return \Sabre\DAV\INode */ function getChildForPrincipal(array $principal) { return new Principal($this->principalBackend, $principal); } /** * Creates a new collection. * * This method will receive a MkCol object with all the information about * the new collection that's being created. * * The MkCol object contains information about the resourceType of the new * collection. If you don't support the specified resourceType, you should * throw Exception\InvalidResourceType. * * The object also contains a list of WebDAV properties for the new * collection. * * You should call the handle() method on this object to specify exactly * which properties you are storing. This allows the system to figure out * exactly which properties you didn't store, which in turn allows other * plugins (such as the propertystorage plugin) to handle storing the * property for you. * * @param string $name * @param MkCol $mkCol * @throws InvalidResourceType * @return void */ function createExtendedCollection($name, MkCol $mkCol) { if (!$mkCol->hasResourceType('{DAV:}principal')) { throw new InvalidResourceType('Only resources of type {DAV:}principal may be created here'); } $this->principalBackend->createPrincipal( $this->principalPrefix . '/' . $name, $mkCol ); } /** * Returns a list of ACE's for this node. * * Each ACE has the following properties: * * 'privilege', a string such as {DAV:}read or {DAV:}write. These are * currently the only supported privileges * * 'principal', a url to the principal who owns the node * * 'protected' (optional), indicating that this ACE is not allowed to * be updated. * * @return array */ function getACL() { return [ [ 'principal' => '{DAV:}authenticated', 'privilege' => '{DAV:}read', 'protected' => true, ], ]; } }