mirror of
https://github.com/YunoHost-Apps/kanboard_ynh.git
synced 2024-09-03 19:36:17 +02:00
123 lines
2.3 KiB
PHP
123 lines
2.3 KiB
PHP
<?php
|
|
|
|
namespace Kanboard\Core\Plugin;
|
|
|
|
/**
|
|
* Plugin Base class
|
|
*
|
|
* @package plugin
|
|
* @author Frederic Guillot
|
|
*/
|
|
abstract class Base extends \Kanboard\Core\Base
|
|
{
|
|
/**
|
|
* Method called for each request
|
|
*
|
|
* @abstract
|
|
* @access public
|
|
*/
|
|
abstract public function initialize();
|
|
|
|
/**
|
|
* Override default CSP rules
|
|
*
|
|
* @access public
|
|
* @param array $rules
|
|
*/
|
|
public function setContentSecurityPolicy(array $rules)
|
|
{
|
|
$this->container['cspRules'] = $rules;
|
|
}
|
|
|
|
/**
|
|
* Returns all classes that needs to be stored in the DI container
|
|
*
|
|
* @access public
|
|
* @return array
|
|
*/
|
|
public function getClasses()
|
|
{
|
|
return array();
|
|
}
|
|
|
|
/**
|
|
* Listen on internal events
|
|
*
|
|
* @access public
|
|
* @param string $event
|
|
* @param callable $callback
|
|
*/
|
|
public function on($event, $callback)
|
|
{
|
|
$container = $this->container;
|
|
|
|
$this->container['dispatcher']->addListener($event, function () use ($container, $callback) {
|
|
call_user_func($callback, $container);
|
|
});
|
|
}
|
|
|
|
/**
|
|
* Get plugin name
|
|
*
|
|
* This method should be overrided by your Plugin class
|
|
*
|
|
* @access public
|
|
* @return string
|
|
*/
|
|
public function getPluginName()
|
|
{
|
|
return ucfirst(substr(get_called_class(), 16, -7));
|
|
}
|
|
|
|
/**
|
|
* Get plugin description
|
|
*
|
|
* This method should be overrided by your Plugin class
|
|
*
|
|
* @access public
|
|
* @return string
|
|
*/
|
|
public function getPluginDescription()
|
|
{
|
|
return '';
|
|
}
|
|
|
|
/**
|
|
* Get plugin author
|
|
*
|
|
* This method should be overrided by your Plugin class
|
|
*
|
|
* @access public
|
|
* @return string
|
|
*/
|
|
public function getPluginAuthor()
|
|
{
|
|
return '?';
|
|
}
|
|
|
|
/**
|
|
* Get plugin version
|
|
*
|
|
* This method should be overrided by your Plugin class
|
|
*
|
|
* @access public
|
|
* @return string
|
|
*/
|
|
public function getPluginVersion()
|
|
{
|
|
return '?';
|
|
}
|
|
|
|
/**
|
|
* Get plugin homepage
|
|
*
|
|
* This method should be overrided by your Plugin class
|
|
*
|
|
* @access public
|
|
* @return string
|
|
*/
|
|
public function getPluginHomepage()
|
|
{
|
|
return '';
|
|
}
|
|
}
|