1*aa89e6f8SSzymon Olewniczak<?php 2*aa89e6f8SSzymon Olewniczak//~ include_once DOKU_PLUGIN."bez/models/bezcache.php"; 3*aa89e6f8SSzymon Olewniczak 4*aa89e6f8SSzymon Olewniczak$template['tid'] = isset($nparams['tid']) ? $nparams['tid'] : '-1'; 5*aa89e6f8SSzymon Olewniczak$template['action'] = isset($nparams['action']) ? $nparams['action'] : '-default'; 6*aa89e6f8SSzymon Olewniczak 7*aa89e6f8SSzymon Olewniczaktry { 8*aa89e6f8SSzymon Olewniczak if ($template['tid'] === '-1') { 9*aa89e6f8SSzymon Olewniczak 10*aa89e6f8SSzymon Olewniczak $task = $this->model->tasks->create_object_program( 11*aa89e6f8SSzymon Olewniczak array('tasktype' => $_POST['tasktype'])); 12*aa89e6f8SSzymon Olewniczak 13*aa89e6f8SSzymon Olewniczak $template['auth_level'] = $task->get_level(); 14*aa89e6f8SSzymon Olewniczak $value['tasktype'] = $nparams['tasktype']; 15*aa89e6f8SSzymon Olewniczak 16*aa89e6f8SSzymon Olewniczak if (count($_POST) > 0) { 17*aa89e6f8SSzymon Olewniczak //checkboxes 18*aa89e6f8SSzymon Olewniczak if (!isset($_POST['all_day_event'])) { 19*aa89e6f8SSzymon Olewniczak $_POST['all_day_event'] = '0'; 20*aa89e6f8SSzymon Olewniczak } 21*aa89e6f8SSzymon Olewniczak 22*aa89e6f8SSzymon Olewniczak $task->set_data($_POST); 23*aa89e6f8SSzymon Olewniczak //update tasktype for admins 24*aa89e6f8SSzymon Olewniczak 25*aa89e6f8SSzymon Olewniczak $tid = $this->model->tasks->save($task); 26*aa89e6f8SSzymon Olewniczak// $title = 'Dodano zadanie'; 27*aa89e6f8SSzymon Olewniczak// $exec = $task->executor; 28*aa89e6f8SSzymon Olewniczak// $subject = "[$conf[title]] $title: #z$tid"; 29*aa89e6f8SSzymon Olewniczak// $to = $this->model->users->get_user_full_name($exec).' <'.$this->model->users->get_user_email($exec).'>'; 30*aa89e6f8SSzymon Olewniczak// $body = "$uri?id=".$this->id('show_task', 'tid', $tid); 31*aa89e6f8SSzymon Olewniczak// $this->helper->mail($to, $subject, $body); 32*aa89e6f8SSzymon Olewniczak 33*aa89e6f8SSzymon Olewniczak header("Location: ?id=bez:task:tid:$tid"); 34*aa89e6f8SSzymon Olewniczak } else { 35*aa89e6f8SSzymon Olewniczak $value['all_day_event'] = '1'; 36*aa89e6f8SSzymon Olewniczak if (isset($nparams['duplicate'])) { 37*aa89e6f8SSzymon Olewniczak $tid = (int)$nparams['duplicate']; 38*aa89e6f8SSzymon Olewniczak $task = $this->model->tasks->get_one($tid); 39*aa89e6f8SSzymon Olewniczak $value = $task->get_assoc(); 40*aa89e6f8SSzymon Olewniczak } 41*aa89e6f8SSzymon Olewniczak } 42*aa89e6f8SSzymon Olewniczak// $template['task_button'] = $bezlang['add']; 43*aa89e6f8SSzymon Olewniczak// $template['task_action'] = $this->id('task_report', 'tasktype', $nparams['tasktype']); 44*aa89e6f8SSzymon Olewniczak /*edycja*/ 45*aa89e6f8SSzymon Olewniczak } else { 46*aa89e6f8SSzymon Olewniczak $task = $this->model->tasks->get_one($template['tid']); 47*aa89e6f8SSzymon Olewniczak 48*aa89e6f8SSzymon Olewniczak $template['task'] = $task; 49*aa89e6f8SSzymon Olewniczak $template['auth_level'] = $task->get_level(); 50*aa89e6f8SSzymon Olewniczak 51*aa89e6f8SSzymon Olewniczak if (count($_POST) > 0) { 52*aa89e6f8SSzymon Olewniczak //checkboxes 53*aa89e6f8SSzymon Olewniczak if (!isset($_POST['all_day_event'])) { 54*aa89e6f8SSzymon Olewniczak $_POST['all_day_event'] = '0'; 55*aa89e6f8SSzymon Olewniczak } 56*aa89e6f8SSzymon Olewniczak $task->set_data($_POST); 57*aa89e6f8SSzymon Olewniczak //for reason 58*aa89e6f8SSzymon Olewniczak $task->set_state($_POST); 59*aa89e6f8SSzymon Olewniczak 60*aa89e6f8SSzymon Olewniczak $this->model->tasks->save($task); 61*aa89e6f8SSzymon Olewniczak //~ $bezcache = new Bezcache(); 62*aa89e6f8SSzymon Olewniczak //~ $bezcache->task_toupdate($task->id); 63*aa89e6f8SSzymon Olewniczak 64*aa89e6f8SSzymon Olewniczak header("Location: ?id=bez:task:tid:".$task->id); 65*aa89e6f8SSzymon Olewniczak } else { 66*aa89e6f8SSzymon Olewniczak $value = $task->get_assoc(); 67*aa89e6f8SSzymon Olewniczak } 68*aa89e6f8SSzymon Olewniczak } 69*aa89e6f8SSzymon Olewniczak} catch (ValidationException $e) { 70*aa89e6f8SSzymon Olewniczak $errors = $e->get_errors(); 71*aa89e6f8SSzymon Olewniczak $value = $_POST; 72*aa89e6f8SSzymon Olewniczak} catch (Exception $e) { 73*aa89e6f8SSzymon Olewniczak header("Location: ?id=bez:issue:id:$issue_id"); 74*aa89e6f8SSzymon Olewniczak} 75*aa89e6f8SSzymon Olewniczak 76*aa89e6f8SSzymon Olewniczak$template['action'] = $action; 77*aa89e6f8SSzymon Olewniczak 78*aa89e6f8SSzymon Olewniczak$template['user'] = $task->get_user(); 79*aa89e6f8SSzymon Olewniczak$template['user_name'] = $this->model->users->get_user_full_name($template['user']); 80*aa89e6f8SSzymon Olewniczak 81*aa89e6f8SSzymon Olewniczak$template['users'] = $this->model->users->get_all(); 82*aa89e6f8SSzymon Olewniczak$template['tasktypes'] = $this->model->tasktypes->get_all(); 83*aa89e6f8SSzymon Olewniczak$template['tasktype_name'] = $this->model->tasktypes->get_one($nparams['tasktype'])->type; 84