Collection
extends Directory
in package
implements
IACL
Uses
ACLTrait
This is an ACL-enabled collection.
Tags
Interfaces, Classes and Traits
- IACL
- ACL-enabled node.
Table of Contents
- $acl : array<string|int, mixed>
- A list of ACL rules.
- $overrideName : string
- The overridden name of the node.
- $owner : string|null
- Owner uri, or null for no owner.
- $path : string
- The path to the current node.
- __construct() : mixed
- Constructor.
- childExists() : bool
- Checks if a child exists.
- createDirectory() : mixed
- Creates a new subdirectory.
- createFile() : string|null
- Creates a new file in the directory.
- delete() : bool
- Deletes all files in this directory, and then itself.
- getACL() : array<string|int, mixed>
- Returns a list of ACE's for this node.
- getChild() : INode
- Returns a specific child node, referenced by its name.
- getChildren() : array<string|int, INode>
- Returns an array with all the child nodes.
- getGroup() : string|null
- Returns a group principal.
- getLastModified() : int
- Returns the last modification time, as a unix timestamp.
- getName() : string
- Returns the name of the node.
- getOwner() : string|null
- Returns the owner principal.
- getQuotaInfo() : array<string|int, mixed>
- Returns available diskspace information.
- getSupportedPrivilegeSet() : array<string|int, mixed>|null
- Returns the list of supported privileges for this node.
- moveInto() : bool
- Moves a node into this collection.
- setACL() : mixed
- Updates the ACL.
- setName() : mixed
- Renames the node.
Properties
$acl
A list of ACL rules.
protected
array<string|int, mixed>
$acl
$overrideName
The overridden name of the node.
protected
string
$overrideName
$owner
Owner uri, or null for no owner.
protected
string|null
$owner
$path
The path to the current node.
protected
string
$path
Methods
__construct()
Constructor.
public
__construct(string $path, array<string|int, mixed> $acl[, string|null $owner = null ]) : mixed
Parameters
- $path : string
-
on-disk path
- $acl : array<string|int, mixed>
-
ACL rules
- $owner : string|null = null
-
principal owner string
Return values
mixed —childExists()
Checks if a child exists.
public
childExists(string $name) : bool
Parameters
- $name : string
Return values
bool —createDirectory()
Creates a new subdirectory.
public
createDirectory(string $name) : mixed
Parameters
- $name : string
Return values
mixed —createFile()
Creates a new file in the directory.
public
createFile(string $name[, resource|string $data = null ]) : string|null
Data will either be supplied as a stream resource, or in certain cases as a string. Keep in mind that you may have to support either.
After successful creation of the file, you may choose to return the ETag of the new file here.
The returned ETag must be surrounded by double-quotes (The quotes should be part of the actual string).
If you cannot accurately determine the ETag, you should not return it. If you don't store the file exactly as-is (you're transforming it somehow) you should also not return an ETag.
This means that if a subsequent GET to this new file does not exactly return the same contents of what was submitted here, you are strongly recommended to omit the ETag.
Parameters
- $name : string
-
Name of the file
- $data : resource|string = null
-
Initial payload
Return values
string|null —delete()
Deletes all files in this directory, and then itself.
public
delete() : bool
Return values
bool —getACL()
Returns a list of ACE's for this node.
public
getACL() : array<string|int, mixed>
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 values
array<string|int, mixed> —getChild()
Returns a specific child node, referenced by its name.
public
getChild(string $name) : INode
This method must throw Sabre\DAV\Exception\NotFound if the node does not exist.
Parameters
- $name : string
Tags
Return values
INode —getChildren()
Returns an array with all the child nodes.
public
getChildren() : array<string|int, INode>
Return values
array<string|int, INode> —getGroup()
Returns a group principal.
public
getGroup() : string|null
This must be a url to a principal, or null if there's no owner
Return values
string|null —getLastModified()
Returns the last modification time, as a unix timestamp.
public
getLastModified() : int
Return values
int —getName()
Returns the name of the node.
public
getName() : string
Return values
string —getOwner()
Returns the owner principal.
public
getOwner() : string|null
This must be a url to a principal, or null if there's no owner
Return values
string|null —getQuotaInfo()
Returns available diskspace information.
public
getQuotaInfo() : array<string|int, mixed>
Return values
array<string|int, mixed> —getSupportedPrivilegeSet()
Returns the list of supported privileges for this node.
public
getSupportedPrivilegeSet() : array<string|int, mixed>|null
The returned data structure is a list of nested privileges. See Sabre\DAVACL\Plugin::getDefaultSupportedPrivilegeSet for a simple standard structure.
If null is returned from this method, the default privilege set is used, which is fine for most common usecases.
Return values
array<string|int, mixed>|null —moveInto()
Moves a node into this collection.
public
moveInto(string $targetName, string $sourcePath, INode $sourceNode) : bool
It is up to the implementors to:
- Create the new resource.
- Remove the old resource.
- Transfer any properties or other data.
Generally you should make very sure that your collection can easily move the move.
If you don't, just return false, which will trigger sabre/dav to handle the move itself. If you return true from this function, the assumption is that the move was successful.
Parameters
- $targetName : string
-
new local file/collection name
- $sourcePath : string
-
Full path to source node
- $sourceNode : INode
-
Source node itself
Return values
bool —setACL()
Updates the ACL.
public
setACL(array<string|int, mixed> $acl) : mixed
This method will receive a list of new ACE's as an array argument.
Parameters
- $acl : array<string|int, mixed>
Return values
mixed —setName()
Renames the node.
public
setName(string $name) : mixed
Parameters
- $name : string
-
The new name