1*e8827d73SSzymon Olewniczak<?php 2*e8827d73SSzymon Olewniczak 3*e8827d73SSzymon Olewniczaknamespace dokuwiki\plugin\bez\mdl; 4*e8827d73SSzymon Olewniczak 5*e8827d73SSzymon Olewniczakclass Task_comment extends Entity { 6*e8827d73SSzymon Olewniczak 7*e8827d73SSzymon Olewniczak //real 8*e8827d73SSzymon Olewniczak protected $id, $task_id, $author, $create_date, $last_modification_date, $content, $content_html; 9*e8827d73SSzymon Olewniczak 10*e8827d73SSzymon Olewniczak /** @var Task */ 11*e8827d73SSzymon Olewniczak protected $task; 12*e8827d73SSzymon Olewniczak 13*e8827d73SSzymon Olewniczak public static function get_columns() { 14*e8827d73SSzymon Olewniczak return array('id', 'task_id', 'author', 15*e8827d73SSzymon Olewniczak 'create_date', 'last_modification_date', 'content', 'content_html'); 16*e8827d73SSzymon Olewniczak } 17*e8827d73SSzymon Olewniczak 18*e8827d73SSzymon Olewniczak public function __get($property) { 19*e8827d73SSzymon Olewniczak if ($property == 'task') { 20*e8827d73SSzymon Olewniczak return $this->$property; 21*e8827d73SSzymon Olewniczak } 22*e8827d73SSzymon Olewniczak return parent::__get($property); 23*e8827d73SSzymon Olewniczak } 24*e8827d73SSzymon Olewniczak 25*e8827d73SSzymon Olewniczak public function __construct($model, $defaults=array()) { 26*e8827d73SSzymon Olewniczak parent::__construct($model, $defaults); 27*e8827d73SSzymon Olewniczak 28*e8827d73SSzymon Olewniczak $this->validator->set_rules(array( 29*e8827d73SSzymon Olewniczak 'content' => array(array('length', 10000), 'NOT NULL') 30*e8827d73SSzymon Olewniczak )); 31*e8827d73SSzymon Olewniczak 32*e8827d73SSzymon Olewniczak //new object 33*e8827d73SSzymon Olewniczak if ($this->id === NULL) { 34*e8827d73SSzymon Olewniczak 35*e8827d73SSzymon Olewniczak $this->author = $this->model->user_nick; 36*e8827d73SSzymon Olewniczak $this->create_date = date('c'); 37*e8827d73SSzymon Olewniczak $this->last_modification_date = $this->create_date; 38*e8827d73SSzymon Olewniczak 39*e8827d73SSzymon Olewniczak 40*e8827d73SSzymon Olewniczak if (!isset($defaults['task'])) { 41*e8827d73SSzymon Olewniczak throw new \Exception('$defaults[task] not set'); 42*e8827d73SSzymon Olewniczak } 43*e8827d73SSzymon Olewniczak $this->task = $defaults['task']; 44*e8827d73SSzymon Olewniczak $this->task_id = $this->task->id; 45*e8827d73SSzymon Olewniczak } else { 46*e8827d73SSzymon Olewniczak if ($this->task_id != '') { 47*e8827d73SSzymon Olewniczak if (isset($defaults['task']) && $this->task_id == $defaults['task']->id) { 48*e8827d73SSzymon Olewniczak $this->task = $defaults['task']; 49*e8827d73SSzymon Olewniczak } elseif ($this->task_id != null) { 50*e8827d73SSzymon Olewniczak $this->task = $this->model->taskFactory->get_one($this->task_id); 51*e8827d73SSzymon Olewniczak } 52*e8827d73SSzymon Olewniczak } 53*e8827d73SSzymon Olewniczak } 54*e8827d73SSzymon Olewniczak 55*e8827d73SSzymon Olewniczak } 56*e8827d73SSzymon Olewniczak public function set_data($post) { 57*e8827d73SSzymon Olewniczak parent::set_data($post); 58*e8827d73SSzymon Olewniczak $this->content_html = p_render('xhtml',p_get_instructions($this->content), $ignore); 59*e8827d73SSzymon Olewniczak } 60*e8827d73SSzymon Olewniczak 61*e8827d73SSzymon Olewniczak public function mail_notify_add() { 62*e8827d73SSzymon Olewniczak $rep = array( 63*e8827d73SSzymon Olewniczak 'content' => $this->content, 64*e8827d73SSzymon Olewniczak 'content_html' => $this->content_html, 65*e8827d73SSzymon Olewniczak 'who' => $this->author, 66*e8827d73SSzymon Olewniczak 'when' => $this->create_date 67*e8827d73SSzymon Olewniczak ); 68*e8827d73SSzymon Olewniczak 69*e8827d73SSzymon Olewniczak $rep['action'] = $this->model->action->getLang('mail_comment_added'); 70*e8827d73SSzymon Olewniczak $rep['action_color'] = 'transparent'; 71*e8827d73SSzymon Olewniczak $rep['action_border_color'] = '#E5E5E5'; 72*e8827d73SSzymon Olewniczak 73*e8827d73SSzymon Olewniczak //$this->thread->mail_notify($rep); 74*e8827d73SSzymon Olewniczak } 75*e8827d73SSzymon Olewniczak} 76