1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/kanboard_ynh.git synced 2024-09-03 19:36:17 +02:00
kanboard_ynh/sources/app/Event/Base.php

80 lines
1.6 KiB
PHP
Raw Normal View History

2014-11-23 20:13:38 +01:00
<?php
namespace Event;
2014-12-22 19:15:38 +01:00
use Pimple\Container;
2014-11-23 20:13:38 +01:00
use Core\Listener;
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
{
/**
2014-12-22 19:15:38 +01:00
* Container instance
2014-11-23 20:13:38 +01:00
*
* @access protected
2014-12-22 19:15:38 +01:00
* @var \Pimple\Container
2014-11-23 20:13:38 +01:00
*/
2014-12-22 19:15:38 +01:00
protected $container;
2014-11-23 20:13:38 +01:00
/**
* Constructor
*
* @access public
2014-12-22 19:15:38 +01:00
* @param \Pimple\Container $container
2014-11-23 20:13:38 +01:00
*/
2014-12-22 19:15:38 +01:00
public function __construct(Container $container)
2014-11-23 20:13:38 +01:00
{
2014-12-22 19:15:38 +01:00
$this->container = $container;
2014-11-23 20:13:38 +01:00
}
/**
* 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)
{
2014-12-22 19:15:38 +01:00
return Tool::loadModel($this->container, $name);
2014-11-23 20:13:38 +01:00
}
/**
* Get event namespace
*
* Event = task.close | Namespace = task
*
* @access public
* @return string
*/
public function getEventNamespace()
{
2014-12-22 19:15:38 +01:00
$event_name = $this->container['event']->getLastTriggeredEvent();
2014-11-23 20:13:38 +01:00
return substr($event_name, 0, strpos($event_name, '.'));
}
}