1<?php 2 3if (!isset($nparams['tid'])) { 4 header('Location: ?id=bez:tasks'); 5} 6$template['tid'] = $nparams['tid']; 7$template['action'] = isset($nparams['action']) ? $nparams['action'] : '-default'; 8$template['state'] = isset($nparams['state']) ? $nparams['state'] : '-1'; 9try { 10 $task = $this->model->tasks->get_one($template['tid']); 11 $template['task'] = $task; 12 13 14 if ($task->cause !== NULL && $task->cause !== '') { 15 $template['commcause'] = $this->model->commcauses->get_one($task->cause); 16 } 17 18 if ($task->issue !== NULL && $task->issue !== '') { 19 $template['issue'] = $this->model->issues->get_one($task->issue); 20 } 21 22 23 if ($template['action'] === 'task_change_state') { 24 if (count($_POST) > 0) { 25 $task->set_state(array( 26 'state' => $nparams['state'], 27 'reason' => $_POST['reason']) 28 ); 29 $this->model->tasks->save($task); 30 31 if (isset($template['issue'])) { 32 $template['issue']->update_last_activity(); 33 $this->model->issues->save($template['issue']); 34 } 35 36 $redirect = true; 37 } else { 38 $value = $task->get_assoc(); 39 } 40 } elseif ($template['action'] === 'task_reopen') { 41 $task->set_state(array('state' => '0')); 42 $this->model->tasks->save($task); 43 44 if (isset($template['issue'])) { 45 $template['issue']->update_last_activity(); 46 $this->model->issues->save($template['issue']); 47 } 48 49 $redirect = true; 50 } elseif($template['action'] === 'task_edit') { 51 $template['auth_level'] = $task->get_level(); 52 53 $template['users'] = $this->model->users->get_all(); 54 $template['tasktypes'] = $this->model->tasktypes->get_all(); 55 56 if (isset($template['issue'])) { 57 $template['causes'] = $this->model->commcauses->get_all(array( 58 'issue' => $template['issue']->id, 59 'type' => array('!=', '0'), 60 )); 61 } 62 63 if (count($_POST) > 0) { 64 //checkboxes 65 if (!isset($_POST['all_day_event'])) { 66 $_POST['all_day_event'] = '0'; 67 } 68 $task->set_data($_POST); 69 //for reason 70 $task->set_state($_POST); 71 72 $this->model->tasks->save($task); 73 //~ $bezcache = new Bezcache(); 74 //~ $bezcache->task_toupdate($task->id); 75 76 header("Location: ?id=bez:task:tid:".$task->id); 77 } else { 78 $value = $task->get_assoc(); 79 } 80 } 81 82 if ($redirect) { 83 header("Location: ?id=bez:task:tid:".$template['tid']); 84 } 85 86} catch (Exception $e) { 87 echo $e; 88// header('Location: ?id=bez:tasks'); 89} 90 91