1de02284cSSzymon Olewniczak<?php 2de02284cSSzymon Olewniczak 3de02284cSSzymon Olewniczakuse \dokuwiki\plugin\bez; 4de02284cSSzymon Olewniczak 5*a0cd8c78SSzymon Olewniczakif ($this->model->get_level() < BEZ_AUTH_USER) { 6de02284cSSzymon Olewniczak throw new bez\meta\PermissionDeniedException(); 7de02284cSSzymon Olewniczak} 8de02284cSSzymon Olewniczak 9de02284cSSzymon Olewniczak 107fbf4c39SSzymon Olewniczak$thread_id = $this->get_param('id'); 117fbf4c39SSzymon Olewniczakif ($thread_id != '') { 12de02284cSSzymon Olewniczak /** @var \dokuwiki\plugin\bez\mdl\Thread $thread */ 13de02284cSSzymon Olewniczak $thread = $this->model->threadFactory->get_one($thread_id); 14*a0cd8c78SSzymon Olewniczak} else { 15*a0cd8c78SSzymon Olewniczak $thread = $this->model->threadFactory->create_object(); 16de02284cSSzymon Olewniczak} 17de02284cSSzymon Olewniczak 18*a0cd8c78SSzymon Olewniczak$this->tpl->set('thread', $thread); 19*a0cd8c78SSzymon Olewniczak 20fe5d6d1eSSzymon Olewniczakif ($this->get_param('action') == 'edit') { 21*a0cd8c78SSzymon Olewniczak if ($thread_id == '') { 22de02284cSSzymon Olewniczak throw new Exception('there is now row with given id'); 23de02284cSSzymon Olewniczak } 24de02284cSSzymon Olewniczak $this->tpl->set_values($thread->get_assoc()); 25fe5d6d1eSSzymon Olewniczak} elseif ($this->get_param('action') == 'update') { 26de02284cSSzymon Olewniczak 277fbf4c39SSzymon Olewniczak $this->model->threadFactory->update_save($thread, $_POST); 28de02284cSSzymon Olewniczak 29de02284cSSzymon Olewniczak header('Location: ?id='.$this->id('thread', 'id', $thread->id)); 30fe5d6d1eSSzymon Olewniczak} elseif ($this->get_param('action') == 'add') { 31*a0cd8c78SSzymon Olewniczak// 32*a0cd8c78SSzymon Olewniczak// $defaults = array(); 33*a0cd8c78SSzymon Olewniczak// if ($this->model->acl->get_level() >= BEZ_AUTH_LEADER) { 34*a0cd8c78SSzymon Olewniczak// $defaults['coordinator'] = $_POST['coordinator']; 35*a0cd8c78SSzymon Olewniczak// } 36*a0cd8c78SSzymon Olewniczak// unset($_POST['coordinator']); 37*a0cd8c78SSzymon Olewniczak// $thread = $this->model->threadFactory->create_object($defaults); 38de02284cSSzymon Olewniczak 397fbf4c39SSzymon Olewniczak $this->model->threadFactory->initial_save($thread, $_POST); 40de02284cSSzymon Olewniczak 41de02284cSSzymon Olewniczak header('Location: ?id='.$this->id('thread', 'id', $thread->id)); 42de02284cSSzymon Olewniczak 43de02284cSSzymon Olewniczak} 44de02284cSSzymon Olewniczak 45de02284cSSzymon Olewniczak$this->tpl->set('labels', $this->model->labelFactory->get_all());