1<?php 2/** @var action_plugin_bez $this */ 3 4use \dokuwiki\plugin\bez; 5 6if ($this->get_param('id') == '') { 7 header('Location: ?id=bez:threads'); 8} 9 10//try { 11 //$issue_id = (int)$nparams['id']; 12 13 //new way 14 15$thread = $this->model->threadFactory->get_one($this->get_param('id')); 16$this->tpl->set('thread', $thread); 17$this->tpl->set('corrections', array()); 18$this->tpl->set('thread_comments', array()); 19 20 21// $template['tid'] = isset($nparams['tid']) ? $nparams['tid'] : '-1'; 22// $template['kid'] = isset($nparams['kid']) ? $nparams['kid'] : '-1'; 23// $template['state'] = isset($nparams['state']) ? $nparams['state'] : '-1'; 24// $template['action'] = isset($nparams['action']) ? $nparams['action'] : '-default'; 25 26// $template['issue'] = $issue; 27// $template['commcauses'] = $this->model->commcauses->get_all( 28// array('issue' => $issue_id) 29// ); 30// 31// $template['commcause'] = $this->model->commcauses-> 32// create_dummy_object(array('issue' => $issue->id)); 33// 34// $template['corrections'] = $this->model->tasks->get_all(array( 35// 'issue' => $issue_id, 36// 'action' => 0, 37// )); 38// 39// $template['commcauses_tasks'] = array(); 40// foreach ($this->model->commcauses->get_causes_ids($issue_id) as $kid) { 41// $template['commcauses_tasks'][$kid] = $this->model->tasks->get_all(array( 42// 'cause' => $kid, 43// )); 44// } 45 46 47// $template['users'] = $this->model->users->get_all(); 48// 49// //remove userts that are subscribents already 50// $template['users_to_invite'] = array_diff_key($template['users'], $issue->get_subscribents()); 51 52 53// $action = ''; 54// if (isset($nparams['action'])) { 55// $action = $nparams['action']; 56// $redirect = false; 57// $anchor = ''; 58// 59// if ($action === 'commcause_add') { 60// 61// $defaults = array('issue' => (string)$issue_id); 62// if ($issue->user_is_coordinator()) { 63// $defaults['type'] = $_POST['type']; 64// } 65// 66// $commcause = $this->model->commcauses->create_object($defaults); 67// 68// $data = array('content' => $_POST['content']); 69// $commcause->set_data($data); 70// 71// $id = $this->model->commcauses->save($commcause); 72// 73// $issue->add_participant($INFO['client']); 74// $issue->add_subscribent($INFO['client']); 75// 76// $issue->update_last_activity(); 77// $this->model->issues->save($issue); 78// 79// $commcause->mail_notify_add($issue); 80// 81// $anchor = 'k'.$id; 82// $redirect = true; 83// } elseif ($action === 'subscribe') { 84// $issue->add_subscribent($INFO['client']); 85// $this->model->issues->save($issue); 86// 87// $redirect = true; 88// } elseif ($action === 'unsubscribe') { 89// $issue->remove_subscribent($INFO['client']); 90// $this->model->issues->save($issue); 91// 92// $this->add_notification($bezlang['unsubscribed_com']); 93// 94// $redirect = true; 95// 96// } elseif ($action === 'invite') { 97// $client = $_POST['client']; 98// 99// $state = $issue->add_subscribent($client); 100// //user wasn't subscribent 101// if ($state === true) { 102// $this->model->issues->save($issue); 103// $issue->mail_notify_invite($client); 104// 105// $this->add_notification($this->model->users->get_user_email($client), $bezlang['invitation_has_been_send']); 106// 107// $redirect = true; 108// } 109// 110// } elseif ($action === 'commcause_delete') { 111// $commcause = $this->model->commcauses->get_one($template['kid']); 112// 113// $this->model->commcauses->delete($commcause); 114// 115// $issue->update_last_activity(); 116// $this->model->issues->save($issue); 117// 118// $redirect = true; 119// } elseif ($action === 'commcause_edit') { 120// if (count($_POST) === 0) { 121// $commcause = $this->model->commcauses->get_one($template['kid']); 122// $template['kid'] = $commcause->id; 123// $value = $commcause->get_assoc(); 124// } else { 125// $commcause = $this->model->commcauses->get_one($template['kid']); 126// 127// $data = array('content' => $_POST['content']); 128// if ($issue->user_is_coordinator()) { 129// $data['type'] = $_POST['type']; 130// } 131// 132// $commcause->set_data($data); 133// $this->model->commcauses->save($commcause); 134// 135// $issue->update_last_activity(); 136// $this->model->issues->save($issue); 137// 138// $anchor = 'k'.$commcause->id; 139// $redirect = true; 140// } 141// 142// } elseif ($action === 'commcause_edit_metadata') { 143// if (count($_POST) === 0) { 144// $commcause = $this->model->commcauses->get_one($template['kid']); 145// $template['kid'] = $commcause->id; 146// $value = $commcause->get_assoc(array('datetime', 'reporter')); 147// $unix = strtotime($value['datetime']); 148// $value['date'] = date('Y-m-d', $unix); 149// $value['time'] = date('H:i:s', $unix); 150// } else { 151// $commcause = $this->model->commcauses->get_one($template['kid']); 152// $_POST['datetime'] = $_POST['date']. ' '.$_POST['time']; 153// $commcause->set_meta($_POST); 154// $this->model->commcauses->save($commcause); 155// 156// $anchor = 'k'.$commcause->id; 157// $redirect = true; 158// } 159// } elseif ($action === 'issue_close') { 160// $value['opinion'] = $issue->opinion; 161// } elseif ($action == 'issue_close_confirm') { 162// $issue->set_state($_POST); 163// $this->model->issues->save($issue); 164// 165// $issue->mail_notify_change_state(); 166// 167// $redirect = true; 168// } elseif ($action === 'reopen') { 169// $issue->set_state(array('state' => '0')); 170// $this->model->issues->save($issue); 171// 172// $issue->mail_notify_change_state(); 173// 174// $redirect = true; 175// } elseif ($action === 'issue_edit_metadata') { 176// if (count($_POST) > 0) { 177// 178// $_POST['last_activity'] = $_POST['last_activity_date']. ' '.$_POST['last_activity_time']; 179// 180// $issue->set_meta($_POST); 181// $this->model->issues->save($issue); 182// 183// $redirect = true; 184// } else { 185// $value = $issue->get_assoc(); 186// $value['date'] = date('Y-m-d', (int)$value['date']); 187// $value['last_mod'] = date('Y-m-d', (int)$value['last_mod']); 188// 189// $unix = strtotime($value['last_activity']); 190// $value['last_activity_date'] = date('Y-m-d', $unix); 191// $value['last_activity_time'] = date('H:i:s', $unix); 192// } 193// } elseif (strpos($action, 'task') === 0) { 194// $template['task'] = $this->model->tasks-> 195// create_dummy_object(array('issue' => $issue->id)); 196// $template['users'] = $this->model->users->get_all(); 197// $template['tasktypes'] = $this->model->tasktypes->get_all(); 198// 199// if (count($_POST) > 0) { 200// if (!isset($_POST['all_day_event'])) { 201// $_POST['all_day_event'] = '0'; 202// } 203// } 204// 205// if ($action === 'task_reopen') { 206// $task = $this->model->tasks->get_one($nparams['tid']); 207// $task->set_state(array('state' => '0')); 208// $this->model->tasks->save($task); 209// 210// $issue->update_last_activity(); 211// $this->model->issues->save($issue); 212// 213// $task->mail_notify_subscribents($template['issue'], 214// array('action' => $bezlang['mail_task_reopened'])); 215// 216// $redirect = true; 217// $anchor = 'z'.$task->id; 218// 219// } elseif ($action === 'task_edit') { 220// $template['tid'] = $nparams['tid']; 221// 222// $template['causes'] = $this->model->commcauses->get_all(array( 223// 'issue' => $issue_id, 224// 'type' => array('!=', '0'), 225// )); 226// 227// $task = $this->model->tasks->get_one($template['tid']); 228// $value = $task->get_assoc(); 229// 230// } elseif ($action === 'task_change_state') { 231// $template['tid'] = $nparams['tid']; 232// $task = $this->model->tasks->get_one($template['tid']); 233// $value = array('reason' => $task->reason); 234// } elseif($action === 'task_edit_metadata') { 235// 236// $task = $this->model->tasks->get_one($template['tid']); 237// 238// if (count($_POST) > 0) { 239// $task->set_meta($_POST); 240// $this->model->tasks->save($task); 241// 242// header("Location: ?id=bez:issue:id:$issue_id#z".$task->id); 243// } else { 244// $value = $task->get_assoc(); 245// $value['date'] = date('Y-m-d', (int)$value['date']); 246// $value['close_date'] = date('Y-m-d', (int)$value['close_date']); 247// } 248// } 249// 250// if (count($_POST) > 0) { 251// //ends with 252// if (substr($action, -strlen('add')) === 'add') { 253// $defaults = array('issue' => (string)$issue_id); 254// if ($template['kid'] !== '-1') { 255// $defaults['cause'] = $template['kid']; 256// } 257// $task = $this->model->tasks->create_object($defaults); 258// 259// $task->set_data($_POST); 260// $id = $this->model->tasks->save($task); 261// 262// $issue->add_participant($task->executor); 263// $issue->add_subscribent($task->executor); 264// 265// $issue->update_last_activity(); 266// $this->model->issues->save($issue); 267// 268// $task->mail_notify_add($issue); 269// 270// $anchor = 'z'.$id; 271// $redirect = true; 272// } elseif ($action === 'task_change_state') { 273// $task = $this->model->tasks->get_one($template['tid']); 274// 275// if (isset($_POST['no_evaluation'])) { 276// $_POST['reason'] = ''; 277// } 278// 279// $task->set_state(array( 280// 'state' => $nparams['state'], 281// 'reason' => $_POST['reason']) 282// ); 283// $this->model->tasks->save($task); 284// 285// $issue->update_last_activity(); 286// $this->model->issues->save($issue); 287// 288// $task->mail_notify_subscribents($template['issue'], 289// array('action' => $bezlang['mail_task_change_state'])); 290// 291// $anchor = 'z'.$task->id; 292// $redirect = true; 293// } elseif ($action === 'task_edit') { 294// $task = $this->model->tasks->get_one($template['tid']); 295// $task->set_data($_POST); 296// $this->model->tasks->save($task); 297// 298// $issue->add_participant($task->executor); 299// $issue->add_subscribent($task->executor); 300// 301// //don't upgrade last activity!!! 302// $anchor = 'z'.$task->id; 303// $redirect = true; 304// } 305// } 306// } 307// 308// if ($redirect) { 309// if ($anchor !== '') { 310// $anchor = '#'.$anchor; 311// } 312// header("Location: ?id=bez:issue:id:$issue_id$anchor"); 313// } 314// } 315 316 317//} catch (ValidationException $e) { 318// $errors = $e->get_errors(); 319// $value = $_POST; 320//} catch (DBException $e) { 321// echo nl2br($e); 322//// header("Location: ?id=bez:issue:id:$issue_id"); 323//} 324 325 326