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"; 7 8$tasko = new Tasks(); 9$causo = new Causes(); 10$usro = new Users(); 11$tasktypeso = new Tasktypes(); 12 13$issue_id = (int)$nparams['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 $task = $tasko->getone($tid); 27 $taskso = new Taskstates(); 28 $task_states = $taskso->get(); 29 30 $template['raw_state'] = $task['state']; 31 $template['state'] = $task_states[$task['state']]; 32 if (isset($nparams['id'])) 33 $template['causes'] = $causo->get($issue_id); 34 35 if (!$action) 36 $action = 'edit'; 37 38 if ($action == 'edit') { 39 $value = $task; 40 $value['cause_id'] = $task['cause']; 41 } else if ($action == 'update') { 42 $cause_id = $_POST['cause_id']; 43 if ($cause_id != '') 44 $cause_id = (int)$cause_id; 45 46 if (!isset($_POST['task_plan'])) 47 unset($_POST['plan_date']); 48 49 $data = $tasko->update($_POST, array('cause' => $cause_id), $tid); 50 if (count($errors) == 0) { 51 52 $title = 'Zmiana w zadaniu'; 53 $exec = $data['executor']; 54 $subject = "[$conf[title]] $title: #$issue_id #z$tid"; 55 $to = $usro->name($exec).' <'.$usro->email($exec).'>'; 56 if (isset($nparams['id'])) 57 $body = "$uri?id=".$this->id('issue_task', 'id', $issue_id, 'tid', $tid); 58 else 59 $body = "$uri?id=".$this->id('show_task', 'tid', $tid); 60 61 $this->helper->mail($to, $subject, $body); 62 63 $cause_id = $_POST['cause_id']; 64 if (!isset($nparams['id'])) 65 header("Location: ?id=bez:show_task:tid:$tid"); 66 elseif ($cause_id == '') 67 header("Location: ?id=bez:issue_task:id:$issue_id:tid:$tid"); 68 else 69 header("Location: ?id=bez:issue_cause_task:id:$issue_id:cid:$cause_id:tid:$tid"); 70 } 71 $value = $_POST; 72 } 73 $template['task_button'] = $bezlang['change_task_button']; 74 if (isset($nparams['id'])) 75 $template['task_action'] = $this->id('task_form', 'id', $issue_id, 'cid', $cause_id, 'tid', $tid, 'action', 'update'); 76 else 77 $template['task_action'] = $this->id('task_form_plan', 'tid', $tid, 'action', 'update'); 78 79/*dodawania*/ 80} else { 81 if (count($_POST) > 0) { 82 if (!isset($_POST['task_plan'])) 83 unset($_POST['plan_date']); 84 85 $data = array('reporter' => $INFO['client'], 'date' => time(), 'issue' => $issue_id, 'cause' => $cause_id); 86 $data = $tasko->add($_POST, $data); 87 if (count($errors) == 0) { 88 $tid = $tasko->lastid(); 89 $title = 'Dodano zadanie'; 90 $exec = $data['executor']; 91 $subject = "[$conf[title]] $title: #$issue_id #z$tid"; 92 $to = $usro->name($exec).' <'.$usro->email($exec).'>'; 93 $body = "$uri?id=".$this->id('issue_task', 'id', $issue_id, 'tid', $tid); 94 $this->helper->mail($to, $subject, $body); 95 96 if ($cause_id == '') 97 header("Location: ?id=bez:issue_task:id:$issue_id:tid:$tid"); 98 else 99 header("Location: ?id=bez:issue_cause_task:id:$issue_id:cid:$cause_id:tid:$tid"); 100 } 101 $value = $_POST; 102 } 103 $template['task_button'] = $bezlang['add']; 104 $template['task_action'] = $this->id('task_form', 'id', $issue_id, 'cid', $cause_id, 'action', 'add'); 105} 106 107if (isset($nparams['id'])) { 108 $isso = new Issues(); 109 $template['issue'] = $isso->get($issue_id); 110 111 $template['anytasks'] = $tasko->any_task($issue_id); 112 $template['opentasks'] = $tasko->any_open($issue_id); 113 $template['cause_without_task'] = $isso->cause_without_task($issue_id); 114} 115 116$template['users'] = $usro->get(); 117 118$tasktypes = $tasktypeso->get(); 119$template['tasktypes'] = $tasktypes; 120