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