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 $data = $tasko->update($_POST, array('cause' => $cause_id), $tid); 47 if (count($errors) == 0) { 48 49 $title = 'Zmiana w zadaniu'; 50 $exec = $data['executor']; 51 $subject = "[$conf[title]] $title: #$issue_id #z$tid"; 52 $to = $usro->name($exec).' <'.$usro->email($exec).'>'; 53 if (isset($nparams['id'])) 54 $body = "$uri?id=".$this->id('issue_task', 'id', $issue_id, 'tid', $tid); 55 else 56 $body = "$uri?id=".$this->id('show_task', 'tid', $tid); 57 58 $this->helper->mail($to, $subject, $body); 59 60 $cause_id = $_POST['cause_id']; 61 if (!isset($nparams['id'])) 62 header("Location: ?id=bez:show_task:tid:$tid"); 63 elseif ($cause_id == '') 64 header("Location: ?id=bez:issue_task:id:$issue_id:tid:$tid"); 65 else 66 header("Location: ?id=bez:issue_cause_task:id:$issue_id:cid:$cause_id:tid:$tid"); 67 } 68 $value = $_POST; 69 } 70 $template['task_button'] = $bezlang['change_task_button']; 71 if (isset($nparams['id'])) 72 $template['task_action'] = $this->id('task_form', 'id', $issue_id, 'cid', $cause_id, 'tid', $tid, 'action', 'update'); 73 else 74 $template['task_action'] = $this->id('task_form_plan', 'tid', $tid, 'action', 'update'); 75 76/*dodawania*/ 77} else { 78 if (count($_POST) > 0) { 79 $data = array('reporter' => $INFO['client'], 'date' => time(), 'issue' => $issue_id, 'cause' => $cause_id); 80 $data = $tasko->add($_POST, $data); 81 if (count($errors) == 0) { 82 $tid = $tasko->lastid(); 83 $title = 'Dodano zadanie'; 84 $exec = $data['executor']; 85 $subject = "[$conf[title]] $title: #$issue_id #z$tid"; 86 $to = $usro->name($exec).' <'.$usro->email($exec).'>'; 87 $body = "$uri?id=".$this->id('issue_task', 'id', $issue_id, 'tid', $tid); 88 $this->helper->mail($to, $subject, $body); 89 90 if ($cause_id == '') 91 header("Location: ?id=bez:issue_task:id:$issue_id:tid:$tid"); 92 else 93 header("Location: ?id=bez:issue_cause_task:id:$issue_id:cid:$cause_id:tid:$tid"); 94 } 95 $value = $_POST; 96 } else { 97 $value['all_day_event'] = '1'; 98 } 99 $template['task_button'] = $bezlang['add']; 100 $template['task_action'] = $this->id('task_form', 'id', $issue_id, 'cid', $cause_id, 'action', 'add'); 101} 102 103if (isset($nparams['id'])) { 104 $isso = new Issues(); 105 $template['issue'] = $isso->get($issue_id); 106 107 $template['anytasks'] = $tasko->any_task($issue_id); 108 $template['opentasks'] = $tasko->any_open($issue_id); 109 $template['cause_without_task'] = $isso->cause_without_task($issue_id); 110} 111 112$template['users'] = $usro->get(); 113 114$tasktypes = $tasktypeso->get(); 115$template['tasktypes'] = $tasktypes; 116