1de02284cSSzymon Olewniczak<?php 2de02284cSSzymon Olewniczak 3de02284cSSzymon Olewniczaknamespace dokuwiki\plugin\bez\mdl; 4de02284cSSzymon Olewniczak 5de02284cSSzymon Olewniczak 6de02284cSSzymon Olewniczakclass Model { 7de02284cSSzymon Olewniczak /** @var \helper_plugin_sqlite */ 8de02284cSSzymon Olewniczak protected $sqlite; 9de02284cSSzymon Olewniczak 10de02284cSSzymon Olewniczak /** @var \SQLite3 */ 11de02284cSSzymon Olewniczak protected $db; 12de02284cSSzymon Olewniczak 13de02284cSSzymon Olewniczak /** @var Acl */ 14de02284cSSzymon Olewniczak protected $acl; 15de02284cSSzymon Olewniczak 16de02284cSSzymon Olewniczak protected $dw_auth, $user_nick, $action, $conf; 17de02284cSSzymon Olewniczak 18de02284cSSzymon Olewniczak /** @var ThreadFactory */ 19de02284cSSzymon Olewniczak protected $threadFactory; 20de02284cSSzymon Olewniczak 21de02284cSSzymon Olewniczak /** @var UserFactory */ 22de02284cSSzymon Olewniczak protected $userFactory; 23de02284cSSzymon Olewniczak 24de02284cSSzymon Olewniczak /** @var LabelFactory */ 25de02284cSSzymon Olewniczak protected $labelFactory; 26de02284cSSzymon Olewniczak 278a638198SSzymon Olewniczak /** @var Thread_commentFactory */ 288a638198SSzymon Olewniczak protected $thread_commentFactory; 298a638198SSzymon Olewniczak 308a638198SSzymon Olewniczak /** @var TaskFactory */ 318a638198SSzymon Olewniczak protected $taskFactory; 328a638198SSzymon Olewniczak 33*e8827d73SSzymon Olewniczak /** @var Task_programFactory */ 34*e8827d73SSzymon Olewniczak protected $task_programFactory; 35*e8827d73SSzymon Olewniczak 36*e8827d73SSzymon Olewniczak /** @var Task_commentFactory */ 37*e8827d73SSzymon Olewniczak protected $task_commentFactory; 38*e8827d73SSzymon Olewniczak 39*e8827d73SSzymon Olewniczak /** @var Authentication_tokenFactory */ 40*e8827d73SSzymon Olewniczak protected $authentication_tokenFactory; 41*e8827d73SSzymon Olewniczak 42de02284cSSzymon Olewniczak public function __get($property) { 43*e8827d73SSzymon Olewniczak $models = array('userFactory', 'threadFactory', 'labelFactory', 'thread_commentFactory', 'taskFactory', 'task_programFactory', 'task_commentFactory', 'authentication_tokenFactory'); 44de02284cSSzymon Olewniczak if (in_array($property, $models) || 45de02284cSSzymon Olewniczak in_array($property, array('sqlite', 'db', 'acl', 'dw_auth', 'user_nick', 'action', 'conf'))) { 46de02284cSSzymon Olewniczak return $this->$property; 47de02284cSSzymon Olewniczak } 48de02284cSSzymon Olewniczak } 49de02284cSSzymon Olewniczak 50de02284cSSzymon Olewniczak public function __construct($dw_auth, $user_nick, $action, $conf) { 51de02284cSSzymon Olewniczak $this->dw_auth = $dw_auth; 52de02284cSSzymon Olewniczak $this->user_nick = $user_nick; 53de02284cSSzymon Olewniczak $this->action = $action; 54de02284cSSzymon Olewniczak $this->conf = $conf; 55de02284cSSzymon Olewniczak 56*e8827d73SSzymon Olewniczak $this->db_helper = plugin_load('helper', 'bez_db'); 57de02284cSSzymon Olewniczak 58*e8827d73SSzymon Olewniczak $this->sqlite = $this->db_helper->getDB(); 59de02284cSSzymon Olewniczak $this->db = $this->sqlite->getAdapter()->getDb(); 608a638198SSzymon Olewniczak $this->db->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION); 618a638198SSzymon Olewniczak 62de02284cSSzymon Olewniczak $this->acl = new Acl($this); 63de02284cSSzymon Olewniczak 64de02284cSSzymon Olewniczak $this->userFactory = new UserFactory($this); 65fe5d6d1eSSzymon Olewniczak 66fe5d6d1eSSzymon Olewniczak $this->threadFactory = new ThreadFactory($this); 67fe5d6d1eSSzymon Olewniczak 68de02284cSSzymon Olewniczak $this->labelFactory = new LabelFactory($this); 69de02284cSSzymon Olewniczak 708a638198SSzymon Olewniczak $this->thread_commentFactory = new Thread_commentFactory($this); 718a638198SSzymon Olewniczak 728a638198SSzymon Olewniczak $this->taskFactory = new TaskFactory($this); 738a638198SSzymon Olewniczak 74*e8827d73SSzymon Olewniczak $this->task_programFactory = new Task_programFactory($this); 75de02284cSSzymon Olewniczak 76*e8827d73SSzymon Olewniczak $this->task_commentFactory = new Task_commentFactory($this); 77*e8827d73SSzymon Olewniczak 78*e8827d73SSzymon Olewniczak $this->authentication_tokenFactory = new Authentication_tokenFactory($this); 79*e8827d73SSzymon Olewniczak } 80de02284cSSzymon Olewniczak} 81