91 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			PHP
		
	
	
	
			
		
		
	
	
			91 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			PHP
		
	
	
	
| <?php
 | |
| 
 | |
| namespace Sabre\DAV;
 | |
| 
 | |
| /**
 | |
|  * The baseclass for all server plugins.
 | |
|  *
 | |
|  * Plugins can modify or extend the servers behaviour.
 | |
|  *
 | |
|  * @copyright Copyright (C) 2007-2015 fruux GmbH (https://fruux.com/).
 | |
|  * @author Evert Pot (http://evertpot.com/)
 | |
|  * @license http://sabre.io/license/ Modified BSD License
 | |
|  */
 | |
| abstract class ServerPlugin {
 | |
| 
 | |
|     /**
 | |
|      * This initializes the plugin.
 | |
|      *
 | |
|      * This function is called by Sabre\DAV\Server, after
 | |
|      * addPlugin is called.
 | |
|      *
 | |
|      * This method should set up the required event subscriptions.
 | |
|      *
 | |
|      * @param Server $server
 | |
|      * @return void
 | |
|      */
 | |
|     abstract public function initialize(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 plugin 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 plugin name.
 | |
|      *
 | |
|      * Using this name other plugins will be able to access other plugins
 | |
|      * using \Sabre\DAV\Server::getPlugin
 | |
|      *
 | |
|      * @return string
 | |
|      */
 | |
|     public function getPluginName() {
 | |
| 
 | |
|         return get_class($this);
 | |
| 
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Returns a list of reports this plugin 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();
 | |
| 
 | |
|     }
 | |
| 
 | |
| }
 | |
| 
 |