File
This is an ACL-enabled file node.
- Full name:
\Sabre\DAVACL\FS\File
- Parent class:
\Sabre\DAV\FSExt\File
- This class implements:
\Sabre\DAVACL\IACL
Properties
acl
A list of ACL rules.
owner
Owner uri, or null for no owner.
Methods
__construct
Constructor.
Parameters:
Parameter | Type | Description |
---|---|---|
$path |
string | on-disk path |
$acl |
array | ACL rules |
$owner |
string|null | principal owner string |
getOwner
Returns the owner principal.
This must be a url to a principal, or null if there's no owner
getACL
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.
Inherited methods
__construct
Sets up the node, expects a full path name.
If $overrideName is set, this node shows up in the tree under a different name. In this case setName() will be disabled.
Parameters:
Parameter | Type | Description |
---|---|---|
$path |
string | |
$overrideName |
string |
getName
Returns the name of the node.
setName
Renames the node.
Parameters:
Parameter | Type | Description |
---|---|---|
$name |
string | The new name |
getLastModified
Returns the last modification time, as a unix timestamp.
put
Updates the data.
Data is a readable stream resource.
Parameters:
Parameter | Type | Description |
---|---|---|
$data |
resource|string |
patch
Updates the file based on a range specification.
The first argument is the data, which is either a readable stream resource or a string.
The second argument is the type of update we're doing. This is either: * 1. append (default) * 2. update based on a start byte * 3. update based on an end byte ; The third argument is the start or end byte.
After a successful put operation, you may choose to return an ETag. The ETAG must always be surrounded by double-quotes. These quotes must appear in the actual string you're returning.
Clients may use the ETag from a PUT request to later on make sure that when they update the file, the contents haven't changed in the mean time.
Parameters:
Parameter | Type | Description |
---|---|---|
$data |
resource|string | |
$rangeType |
int | |
$offset |
int |
get
Returns the data.
delete
Delete the current file.
getETag
Returns the ETag for a file.
An ETag is a unique identifier representing the current version of the file. If the file changes, the ETag MUST change. The ETag is an arbitrary string, but MUST be surrounded by double-quotes.
Return null if the ETag can not effectively be determined
getContentType
Returns the mime-type for a file.
If null is returned, we'll assume application/octet-stream
getSize
Returns the size of the file, in bytes.
getOwner
Returns the owner principal.
This must be a url to a principal, or null if there's no owner
getGroup
Returns a group principal.
This must be a url to a principal, or null if there's no owner
getACL
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.
setACL
Updates the ACL.
This method will receive a list of new ACE's as an array argument.
Parameters:
Parameter | Type | Description |
---|---|---|
$acl |
array |
getSupportedPrivilegeSet
Returns the list of supported privileges for this node.
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.
Automatically generated on 2025-03-18