mirror of
https://github.com/YunoHost-Apps/kanboard_ynh.git
synced 2024-09-03 19:36:17 +02:00
80 lines
1.6 KiB
PHP
80 lines
1.6 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace Event;
|
||
|
|
||
|
use Core\Listener;
|
||
|
use Core\Registry;
|
||
|
use Core\Tool;
|
||
|
|
||
|
/**
|
||
|
* Base Listener
|
||
|
*
|
||
|
* @package event
|
||
|
* @author Frederic Guillot
|
||
|
*
|
||
|
* @property \Model\Comment $comment
|
||
|
* @property \Model\Project $project
|
||
|
* @property \Model\ProjectActivity $projectActivity
|
||
|
* @property \Model\SubTask $subTask
|
||
|
* @property \Model\Task $task
|
||
|
* @property \Model\TaskFinder $taskFinder
|
||
|
*/
|
||
|
abstract class Base implements Listener
|
||
|
{
|
||
|
/**
|
||
|
* Registry instance
|
||
|
*
|
||
|
* @access protected
|
||
|
* @var \Core\Registry
|
||
|
*/
|
||
|
protected $registry;
|
||
|
|
||
|
/**
|
||
|
* Constructor
|
||
|
*
|
||
|
* @access public
|
||
|
* @param \Core\Registry $registry Regsitry instance
|
||
|
*/
|
||
|
public function __construct(Registry $registry)
|
||
|
{
|
||
|
$this->registry = $registry;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Return class information
|
||
|
*
|
||
|
* @access public
|
||
|
* @return string
|
||
|
*/
|
||
|
public function __toString()
|
||
|
{
|
||
|
return get_called_class();
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Load automatically models
|
||
|
*
|
||
|
* @access public
|
||
|
* @param string $name Model name
|
||
|
* @return mixed
|
||
|
*/
|
||
|
public function __get($name)
|
||
|
{
|
||
|
return Tool::loadModel($this->registry, $name);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Get event namespace
|
||
|
*
|
||
|
* Event = task.close | Namespace = task
|
||
|
*
|
||
|
* @access public
|
||
|
* @return string
|
||
|
*/
|
||
|
public function getEventNamespace()
|
||
|
{
|
||
|
$event_name = $this->registry->event->getLastTriggeredEvent();
|
||
|
return substr($event_name, 0, strpos($event_name, '.'));
|
||
|
}
|
||
|
}
|