Plugin
extends ServerPlugin
in package
This plugin implements HTTP requests and properties related to:.
draft-pot-webdav-resource-sharing
This specification allows people to share webdav resources with others.
Tags
Table of Contents
- ACCESS_NOACCESS = 4
- ACCESS_NOTSHARED = 0
- ACCESS_READ = 2
- ACCESS_READWRITE = 3
- ACCESS_SHAREDOWNER = 1
- INVITE_ACCEPTED = 2
- INVITE_DECLINED = 3
- INVITE_INVALID = 4
- INVITE_NORESPONSE = 1
- $server : Server
- Reference to SabreDAV server object.
- browserPostAction() : mixed
- This method is triggered for POST actions generated by the browser plugin.
- getFeatures() : array<string|int, mixed>
- This method should return a list of server-features.
- getHTTPMethods() : array<string|int, mixed>
- Use this method to tell the server this plugin defines additional HTTP methods.
- getPluginInfo() : array<string|int, mixed>
- Returns a bunch of meta-data about the plugin.
- getPluginName() : string
- Returns a plugin name.
- getSupportedPrivilegeSet() : mixed
- This method is triggered whenever a subsystem reqeuests the privileges hat are supported on a particular node.
- getSupportedReportSet() : array<string|int, mixed>
- Returns a list of reports this plugin supports.
- htmlActionsPanel() : bool|null
- This method is used to generate HTML output for the DAV\Browser\Plugin.
- httpPost() : bool|null
- We intercept this to handle POST requests on shared resources.
- initialize() : mixed
- This initializes the plugin.
- propFind() : mixed
- This event is triggered when properties are requested for nodes.
- shareResource() : mixed
- Updates the list of sharees on a shared resource.
Constants
ACCESS_NOACCESS
public
mixed
ACCESS_NOACCESS
= 4
ACCESS_NOTSHARED
public
mixed
ACCESS_NOTSHARED
= 0
ACCESS_READ
public
mixed
ACCESS_READ
= 2
ACCESS_READWRITE
public
mixed
ACCESS_READWRITE
= 3
ACCESS_SHAREDOWNER
public
mixed
ACCESS_SHAREDOWNER
= 1
INVITE_ACCEPTED
public
mixed
INVITE_ACCEPTED
= 2
INVITE_DECLINED
public
mixed
INVITE_DECLINED
= 3
INVITE_INVALID
public
mixed
INVITE_INVALID
= 4
INVITE_NORESPONSE
public
mixed
INVITE_NORESPONSE
= 1
Properties
$server
Reference to SabreDAV server object.
protected
Server
$server
Methods
browserPostAction()
This method is triggered for POST actions generated by the browser plugin.
public
browserPostAction(string $path, string $action, array<string|int, mixed> $postVars) : mixed
Parameters
- $path : string
- $action : string
- $postVars : array<string|int, mixed>
Return values
mixed —getFeatures()
This method should return a list of server-features.
public
getFeatures() : array<string|int, mixed>
This is for example 'versioning' and is added to the DAV: header in an OPTIONS response.
Return values
array<string|int, mixed> —getHTTPMethods()
Use this method to tell the server this plugin defines additional HTTP methods.
public
getHTTPMethods(string $path) : array<string|int, mixed>
This method is passed a uri. It should only return HTTP methods that are available for the specified uri.
Parameters
- $path : string
Return values
array<string|int, mixed> —getPluginInfo()
Returns a bunch of meta-data about the plugin.
public
getPluginInfo() : array<string|int, mixed>
Providing this information is optional, and is mainly displayed by the Browser plugin.
The description key in the returned array may contain html and will not be sanitized.
Return values
array<string|int, mixed> —getPluginName()
Returns a plugin name.
public
getPluginName() : string
Using this name other plugins will be able to access other plugins using \Sabre\DAV\Server::getPlugin
Return values
string —getSupportedPrivilegeSet()
This method is triggered whenever a subsystem reqeuests the privileges hat are supported on a particular node.
public
getSupportedPrivilegeSet(INode $node, array<string|int, mixed> &$supportedPrivilegeSet) : mixed
We need to add a number of privileges for scheduling purposes.
Parameters
- $node : INode
- $supportedPrivilegeSet : array<string|int, mixed>
Return values
mixed —getSupportedReportSet()
Returns a list of reports this plugin supports.
public
getSupportedReportSet(string $uri) : array<string|int, mixed>
This will be used in the {DAV:}supported-report-set property. Note that you still need to subscribe to the 'report' event to actually implement them
Parameters
- $uri : string
Return values
array<string|int, mixed> —htmlActionsPanel()
This method is used to generate HTML output for the DAV\Browser\Plugin.
public
htmlActionsPanel(INode $node, string &$output, string $path) : bool|null
Parameters
- $node : INode
- $output : string
- $path : string
Return values
bool|null —httpPost()
We intercept this to handle POST requests on shared resources.
public
httpPost(RequestInterface $request, ResponseInterface $response) : bool|null
Parameters
- $request : RequestInterface
- $response : ResponseInterface
Return values
bool|null —initialize()
This initializes the plugin.
public
initialize(Server $server) : mixed
This function is called by Sabre\DAV\Server, after addPlugin is called.
This method should set up the required event subscriptions.
Parameters
- $server : Server
Return values
mixed —propFind()
This event is triggered when properties are requested for nodes.
public
propFind(PropFind $propFind, INode $node) : mixed
This allows us to inject any sharings-specific properties.
Parameters
Return values
mixed —shareResource()
Updates the list of sharees on a shared resource.
public
shareResource(string $path, array<string|int, Sharee> $sharees) : mixed
The sharees array is a list of people that are to be added modified or removed in the list of shares.
Parameters
- $path : string
- $sharees : array<string|int, Sharee>