friendica-addons/dav/SabreDAV/lib/Sabre/DAV/ServerPlugin.php

91 lines
2.0 KiB
PHP

<?php
/**
* The baseclass for all server addons.
*
* Plugins can modify or extend the servers behaviour.
*
* @package Sabre
* @subpackage DAV
* @copyright Copyright (C) 2007-2012 Rooftop Solutions. All rights reserved.
* @author Evert Pot (http://www.rooftopsolutions.nl/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
*/
abstract class Sabre_DAV_ServerPlugin {
/**
* This initializes the addon.
*
* This function is called by Sabre_DAV_Server, after
* addPlugin is called.
*
* This method should set up the requires event subscriptions.
*
* @param Sabre_DAV_Server $server
* @return void
*/
abstract public function initialize(Sabre_DAV_Server $server);
/**
* This method should return a list of server-features.
*
* This is for example 'versioning' and is added to the DAV: header
* in an OPTIONS response.
*
* @return array
*/
public function getFeatures() {
return array();
}
/**
* Use this method to tell the server this addon defines additional
* HTTP methods.
*
* This method is passed a uri. It should only return HTTP methods that are
* available for the specified uri.
*
* @param string $uri
* @return array
*/
public function getHTTPMethods($uri) {
return array();
}
/**
* Returns a addon name.
*
* Using this name other addons will be able to access other addons
* using Sabre_DAV_Server::getPlugin
*
* @return string
*/
public function getPluginName() {
return get_class($this);
}
/**
* Returns a list of reports this addon supports.
*
* 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
*
* @param string $uri
* @return array
*/
public function getSupportedReportSet($uri) {
return array();
}
}