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