1<?php 2include_once DOKU_PLUGIN."bez/models/issues.php"; 3include_once DOKU_PLUGIN."bez/models/tasks.php"; 4include_once DOKU_PLUGIN."bez/models/causes.php"; 5include_once DOKU_PLUGIN."bez/models/users.php"; 6include_once DOKU_PLUGIN."bez/models/tasktypes.php"; 7include_once DOKU_PLUGIN."bez/models/bezcache.php"; 8 9$causo = new Causes(); 10$bezcache = new Bezcache(); 11 12$issue_id = (int)$nparams['id']; 13$issue = $this->model->issues->get_one($issue_id); 14 15/*casue*/ 16$cause_id = ''; 17if (isset($nparams['cid']) && $nparams['cid'] != '') { 18 $cause_id = (int)$nparams['cid']; 19 $template['cause'] = $causo->join($causo->getone($cause_id)); 20} 21 22/*edycja*/ 23if (isset($nparams['tid'])) { 24 $action = $nparams['action']; 25 $tid = (int)$nparams['tid']; 26 27 $task = $this->model->tasks->get_one($tid); 28 $template['auth_level'] = $task->get_level(); 29 30 if (isset($nparams['id'])) { 31 $template['causes'] = $causo->get($issue_id); 32 } 33 34 if (!$action) 35 $action = 'edit'; 36 37 if ($action == 'edit') { 38 $value = $task->get_assoc(); 39 } else if ($action == 'update') { 40 try { 41 //checkboxes 42 if (!isset($_POST['all_day_event'])) { 43 $_POST['all_day_event'] = '0'; 44 } 45 $task->set_data($_POST); 46 $task->set_acl($_POST); 47 48 if ($task->any_errors()) { 49 $errors = $task->get_errors(); 50 $value = $_POST; 51 } else { 52 $this->model->tasks->save($task); 53 $bezcache->task_toupdate($task->id); 54 55 $issue->add_participant($task->executor); 56 $issue->update_last_activity(); 57 $this->model->issues->save($issue); 58 59 if ($cause_id == NULL) { 60 header("Location: ?id=bez:issue_task:id:$issue_id:tid:$tid"); 61 } else { 62 header("Location: ?id=bez:issue_cause_task:id:$issue_id:cid:$cause_id:tid:$tid"); 63 } 64 } 65 } catch (Exception $e) { 66 echo nl2br($e); 67 } 68 } 69 70 $template['task_button'] = $bezlang['change_task_button']; 71 72 if ($task->cause == NULL) { 73 $template['task_action'] = $this->id('task_form', 'id', $task->issue, 'tid', $task->id, 'action', 'update'); 74 } else { 75 $template['task_action'] = $this->id('task_form', 'id', $task->issue, 'cid', $task->cause, 'tid', $task->id, 'action', 'update'); 76 } 77 78 79 80/*dodawania*/ 81} else { 82 $defaults = array('issue' => $issue_id, 'cause' => $cause_id); 83 84 $task = $this->model->tasks->create_object($defaults); 85 86 $template['auth_level'] = $task->get_level(); 87 88 89 if (count($_POST) > 0) { 90 try { 91 //checkboxes 92 if (!isset($_POST['all_day_event'])) { 93 $_POST['all_day_event'] = '0'; 94 } 95 $task->set_data($_POST); 96 if ($task->any_errors()) { 97 $errors = $task->get_errors(); 98 $value = $_POST; 99 } else { 100 $tid = $this->model->tasks->save($task); 101 102 $issue->add_participant($task->executor); 103 $issue->update_last_activity(); 104 $this->model->issues->save($issue); 105 106 $title = 'Dodano zadanie'; 107 $exec = $task->executor; 108 $subject = "[$conf[title]] $title: #$issue_id #z$tid"; 109 $to = $this->model->users->get_user_full_name($exec).' <'.$this->model->users->get_user_email($exec).'>'; 110 if ($cause_id == '') { 111 $body = "$uri?id=".$this->id('issue_task', 'id', $issue_id, 'tid', $tid); 112 } else { 113 $body = "$uri?id=".$this->id('issue_cause_task', 'id', $issue_id, 'cid', $cause_id, 'tid', $tid); 114 } 115 $this->helper->mail($to, $subject, $body); 116 117 if ($cause_id == '') { 118 header("Location: ?id=bez:issue_task:id:$issue_id:tid:$tid"); 119 } else { 120 header("Location: ?id=bez:issue_cause_task:id:$issue_id:cid:$cause_id:tid:$tid"); 121 } 122 } 123 } catch (Exception $e) { 124 echo nl2br($e); 125 } 126 } else { 127 $value['all_day_event'] = '1'; 128 } 129 130 $template['task_button'] = $bezlang['add']; 131 if ($cause_id == '') { 132 $template['task_action'] = $this->id('task_form', 'id', $issue_id, 'action', 'add'); 133 } else { 134 $template['task_action'] = $this->id('task_form', 'id', $issue_id, 'cid', $cause_id, 'action', 'add'); 135 } 136 137} 138 139if (isset($nparams['id'])) { 140 $isso = new Issues(); 141 $template['issue'] = $isso->get($issue_id); 142} 143 144$template['users'] = $this->model->users->get_all(); 145$template['tasktypes'] = $this->model->tasktypes->get_all(); 146 147$template['issue_object'] = $this->model->issues->get_one($issue_id); 148