1aa89e6f8SSzymon Olewniczak<?php 2aa89e6f8SSzymon Olewniczak 3*ff14b107SSzymon Olewniczak/** @var action_plugin_bez_default $this */ 4aa89e6f8SSzymon Olewniczak 5*ff14b107SSzymon Olewniczakuse \dokuwiki\plugin\bez; 6*ff14b107SSzymon Olewniczak 7*ff14b107SSzymon Olewniczak$task_id = $this->get_param('tid'); 8*ff14b107SSzymon Olewniczakif ($task_id != '') { 9*ff14b107SSzymon Olewniczak /** @var bez\mdl\Task $task */ 10*ff14b107SSzymon Olewniczak $task = $this->model->taskFactory->get_one($this->get_param('tid')); 11f2c81100SSzymon Olewniczak} else { 12*ff14b107SSzymon Olewniczak /** @var bez\mdl\Task $task */ 13*ff14b107SSzymon Olewniczak $task = $this->model->taskFactory->create_object(); 14f2c81100SSzymon Olewniczak} 15*ff14b107SSzymon Olewniczak$this->tpl->set('task', $task); 16*ff14b107SSzymon Olewniczak$this->tpl->set('task_programs', $this->model->task_programFactory->get_all()); 1748ab8737SSzymon Olewniczak 18*ff14b107SSzymon Olewniczakif ($this->get_param('action') == 'add') { 1948ab8737SSzymon Olewniczak 20*ff14b107SSzymon Olewniczak $this->model->taskFactory->initial_save($task, $_POST); 21aa89e6f8SSzymon Olewniczak 22*ff14b107SSzymon Olewniczak $redirect = true; 23aa89e6f8SSzymon Olewniczak} 24aa89e6f8SSzymon Olewniczak 25*ff14b107SSzymon Olewniczakif (isset($redirect) && $redirect == true) { 26*ff14b107SSzymon Olewniczak header("Location: " . $this->url('task', 'tid', $task->id)); 2704f149d4SSzymon Olewniczak} 28aa89e6f8SSzymon Olewniczak 29*ff14b107SSzymon Olewniczak// 30*ff14b107SSzymon Olewniczak//$template['tid'] = isset($nparams['tid']) ? $nparams['tid'] : '-1'; 31*ff14b107SSzymon Olewniczak//$template['action'] = isset($nparams['action']) ? $nparams['action'] : '-default'; 32*ff14b107SSzymon Olewniczak// 33*ff14b107SSzymon Olewniczak//if (isset($_POST['tasktype'])) { 34*ff14b107SSzymon Olewniczak// $tasktype = $_POST['tasktype']; 35*ff14b107SSzymon Olewniczak//} else { 36*ff14b107SSzymon Olewniczak// $tasktype = $nparams['tasktype']; 37*ff14b107SSzymon Olewniczak//} 38*ff14b107SSzymon Olewniczak//$template['tasktype'] = $tasktype; 39*ff14b107SSzymon Olewniczak// 40*ff14b107SSzymon Olewniczak//try { 41*ff14b107SSzymon Olewniczak// 42*ff14b107SSzymon Olewniczak// $task = $this->model->tasks->create_object( 43*ff14b107SSzymon Olewniczak// array('tasktype' => $tasktype)); 44*ff14b107SSzymon Olewniczak// $template['task'] = $task; 45*ff14b107SSzymon Olewniczak// 46*ff14b107SSzymon Olewniczak// //$template['auth_level'] = $task->get_level(); 47*ff14b107SSzymon Olewniczak// //$template['user'] = $task->get_user(); 48*ff14b107SSzymon Olewniczak// $value['tasktype'] = $tasktype; 49*ff14b107SSzymon Olewniczak// $value['executor'] = $this->model->user_nick; 50*ff14b107SSzymon Olewniczak// 51*ff14b107SSzymon Olewniczak// if (count($_POST) > 0) { 52*ff14b107SSzymon Olewniczak// //checkboxes 53*ff14b107SSzymon Olewniczak// if (!isset($_POST['all_day_event'])) { 54*ff14b107SSzymon Olewniczak// $_POST['all_day_event'] = '0'; 55*ff14b107SSzymon Olewniczak// } 56*ff14b107SSzymon Olewniczak// 57*ff14b107SSzymon Olewniczak// $task->set_data($_POST); 58*ff14b107SSzymon Olewniczak// 59*ff14b107SSzymon Olewniczak// if ($task->issue == '') { 60*ff14b107SSzymon Olewniczak// $task->add_subscribent($task->reporter); 61*ff14b107SSzymon Olewniczak// $task->add_subscribent($task->executor); 62*ff14b107SSzymon Olewniczak// } 63*ff14b107SSzymon Olewniczak// 64*ff14b107SSzymon Olewniczak// $tid = $this->model->tasks->save($task); 65*ff14b107SSzymon Olewniczak// 66*ff14b107SSzymon Olewniczak// 67*ff14b107SSzymon Olewniczak// //don't send notification when user binds himself to the task. 68*ff14b107SSzymon Olewniczak// if ($task->reporter !== $task->executor) { 69*ff14b107SSzymon Olewniczak// $task->mail_notify_add(NULL, array($task->executor), 70*ff14b107SSzymon Olewniczak// array('action' => $bezlang['mail_task_added_programme'])); 71*ff14b107SSzymon Olewniczak// } 72*ff14b107SSzymon Olewniczak// header("Location: ?id=bez:task:tid:$tid"); 73*ff14b107SSzymon Olewniczak// } else { 74*ff14b107SSzymon Olewniczak// if (isset($nparams['duplicate'])) { 75*ff14b107SSzymon Olewniczak// $tid = (int)$nparams['duplicate']; 76*ff14b107SSzymon Olewniczak// $task = $this->model->tasks->get_one($tid); 77*ff14b107SSzymon Olewniczak// $value = $task->get_assoc(); 78*ff14b107SSzymon Olewniczak// } else { 79*ff14b107SSzymon Olewniczak// $value['all_day_event'] = '1'; 80*ff14b107SSzymon Olewniczak// } 81*ff14b107SSzymon Olewniczak// } 82*ff14b107SSzymon Olewniczak// 83*ff14b107SSzymon Olewniczak// $template['users'] = $this->model->users->get_all(); 84*ff14b107SSzymon Olewniczak// $template['tasktypes'] = $this->model->tasktypes->get_all(); 85*ff14b107SSzymon Olewniczak// 86*ff14b107SSzymon Olewniczak//} catch (ValidationException $e) { 87*ff14b107SSzymon Olewniczak// $errors = $e->get_errors(); 88*ff14b107SSzymon Olewniczak// $value = $_POST; 89*ff14b107SSzymon Olewniczak//} catch (DBException $e) { 90*ff14b107SSzymon Olewniczak// echo nl2br($e); 91*ff14b107SSzymon Olewniczak//// header("Location: ?id=bez:tasks"); 92*ff14b107SSzymon Olewniczak//} 93aa89e6f8SSzymon Olewniczak 94