2014-07-20 12:26:15 +02:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace Model;
|
|
|
|
|
|
|
|
use Core\Event;
|
2014-10-22 19:59:09 +02:00
|
|
|
use Core\Tool;
|
|
|
|
use Core\Registry;
|
2014-07-20 12:26:15 +02:00
|
|
|
use PicoDb\Database;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Base model class
|
|
|
|
*
|
|
|
|
* @package model
|
|
|
|
* @author Frederic Guillot
|
2014-10-22 19:59:09 +02:00
|
|
|
*
|
|
|
|
* @property \Model\Acl $acl
|
|
|
|
* @property \Model\Action $action
|
|
|
|
* @property \Model\Authentication $authentication
|
|
|
|
* @property \Model\Board $board
|
|
|
|
* @property \Model\Category $category
|
|
|
|
* @property \Model\Comment $comment
|
|
|
|
* @property \Model\Config $config
|
|
|
|
* @property \Model\File $file
|
|
|
|
* @property \Model\LastLogin $lastLogin
|
|
|
|
* @property \Model\Notification $notification
|
|
|
|
* @property \Model\Project $project
|
|
|
|
* @property \Model\SubTask $subTask
|
|
|
|
* @property \Model\Task $task
|
|
|
|
* @property \Model\TaskHistory $taskHistory
|
|
|
|
* @property \Model\User $user
|
|
|
|
* @property \Model\Webhook $webhook
|
2014-07-20 12:26:15 +02:00
|
|
|
*/
|
|
|
|
abstract class Base
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
* Database instance
|
|
|
|
*
|
|
|
|
* @access protected
|
|
|
|
* @var \PicoDb\Database
|
|
|
|
*/
|
|
|
|
protected $db;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Event dispatcher instance
|
|
|
|
*
|
2014-10-22 19:59:09 +02:00
|
|
|
* @access public
|
2014-07-20 12:26:15 +02:00
|
|
|
* @var \Core\Event
|
|
|
|
*/
|
2014-10-22 19:59:09 +02:00
|
|
|
public $event;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Registry instance
|
|
|
|
*
|
|
|
|
* @access protected
|
|
|
|
* @var \Core\Registry
|
|
|
|
*/
|
|
|
|
protected $registry;
|
2014-07-20 12:26:15 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Constructor
|
|
|
|
*
|
|
|
|
* @access public
|
2014-10-22 19:59:09 +02:00
|
|
|
* @param \Core\Registry $registry Registry instance
|
|
|
|
*/
|
|
|
|
public function __construct(Registry $registry)
|
|
|
|
{
|
|
|
|
$this->registry = $registry;
|
|
|
|
$this->db = $this->registry->shared('db');
|
|
|
|
$this->event = $this->registry->shared('event');
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Load automatically models
|
|
|
|
*
|
|
|
|
* @access public
|
|
|
|
* @param string $name Model name
|
|
|
|
* @return mixed
|
2014-07-20 12:26:15 +02:00
|
|
|
*/
|
2014-10-22 19:59:09 +02:00
|
|
|
public function __get($name)
|
2014-07-20 12:26:15 +02:00
|
|
|
{
|
2014-10-22 19:59:09 +02:00
|
|
|
return Tool::loadModel($this->registry, $name);
|
2014-07-20 12:26:15 +02:00
|
|
|
}
|
|
|
|
}
|