1*8a638198SSzymon Olewniczak<?php 2*8a638198SSzymon Olewniczak/** 3*8a638198SSzymon Olewniczak * Created by PhpStorm. 4*8a638198SSzymon Olewniczak * User: ghi 5*8a638198SSzymon Olewniczak * Date: 12.12.17 6*8a638198SSzymon Olewniczak * Time: 11:58 7*8a638198SSzymon Olewniczak */ 8*8a638198SSzymon Olewniczak 9*8a638198SSzymon Olewniczaknamespace dokuwiki\plugin\bez\mdl; 10*8a638198SSzymon Olewniczak 11*8a638198SSzymon Olewniczakclass TaskFactory extends Factory { 12*8a638198SSzymon Olewniczak protected function select_query() { 13*8a638198SSzymon Olewniczak return "SELECT task.*, task_program.name AS task_program_name 14*8a638198SSzymon Olewniczak FROM task LEFT JOIN task_program ON task.task_program_id = task_program.id"; 15*8a638198SSzymon Olewniczak } 16*8a638198SSzymon Olewniczak 17*8a638198SSzymon Olewniczak public function initial_save(Entity $task, $data) { 18*8a638198SSzymon Olewniczak parent::initial_save($task, $data); 19*8a638198SSzymon Olewniczak 20*8a638198SSzymon Olewniczak $task->set_data($data); 21*8a638198SSzymon Olewniczak try { 22*8a638198SSzymon Olewniczak $this->beginTransaction(); 23*8a638198SSzymon Olewniczak $this->save($task); 24*8a638198SSzymon Olewniczak 25*8a638198SSzymon Olewniczak if ($task->thread) { 26*8a638198SSzymon Olewniczak $task->thread->set_participant_flags($task->assignee, array('subscribent', 'task_assignee')); 27*8a638198SSzymon Olewniczak $task->thread->update_last_activity(); 28*8a638198SSzymon Olewniczak } 29*8a638198SSzymon Olewniczak 30*8a638198SSzymon Olewniczak $this->commitTransaction(); 31*8a638198SSzymon Olewniczak } catch(Exception $exception) { 32*8a638198SSzymon Olewniczak $this->rollbackTransaction(); 33*8a638198SSzymon Olewniczak } 34*8a638198SSzymon Olewniczak 35*8a638198SSzymon Olewniczak //$task->mail_notify_add(); 36*8a638198SSzymon Olewniczak } 37*8a638198SSzymon Olewniczak 38*8a638198SSzymon Olewniczak public function update_save(Entity $task, $data) { 39*8a638198SSzymon Olewniczak parent::update_save($task, $data); 40*8a638198SSzymon Olewniczak 41*8a638198SSzymon Olewniczak $task->set_data($data); 42*8a638198SSzymon Olewniczak try { 43*8a638198SSzymon Olewniczak $this->beginTransaction(); 44*8a638198SSzymon Olewniczak $this->save($task); 45*8a638198SSzymon Olewniczak 46*8a638198SSzymon Olewniczak if ($task->thread) { 47*8a638198SSzymon Olewniczak } 48*8a638198SSzymon Olewniczak 49*8a638198SSzymon Olewniczak $this->commitTransaction(); 50*8a638198SSzymon Olewniczak } catch(Exception $exception) { 51*8a638198SSzymon Olewniczak $this->rollbackTransaction(); 52*8a638198SSzymon Olewniczak } 53*8a638198SSzymon Olewniczak } 54*8a638198SSzymon Olewniczak}