xref: /plugin/bez/ctl/types.php (revision ff0986bccf98e40e462904971d15e1ec89d83499)
1eb950a4cSghi<?php
253df74e7SSzymon Olewniczak/** @var action_plugin_bez $this */
353df74e7SSzymon Olewniczak
453df74e7SSzymon Olewniczakuse \dokuwiki\plugin\bez;
553df74e7SSzymon Olewniczak
6a0cd8c78SSzymon Olewniczakif ($this->model->get_level() < BEZ_AUTH_ADMIN) {
753df74e7SSzymon Olewniczak    throw new bez\meta\PermissionDeniedException();
853df74e7SSzymon Olewniczak}
9eb950a4cSghi
10de02284cSSzymon Olewniczak$labels = $this->model->labelFactory->get_all();
116271e095SSzymon Olewniczak
12*ff0986bcSSzymon Olewniczak$id = null;
13*ff0986bcSSzymon Olewniczakif (isset($_POST['id'])) {
14*ff0986bcSSzymon Olewniczak    $id = (int)$_POST['id'];
15d16ee56eSSzymon Olewniczak} else {
16*ff0986bcSSzymon Olewniczak    $id = $this->get_param('id');
17*ff0986bcSSzymon Olewniczak}
18*ff0986bcSSzymon Olewniczak
19*ff0986bcSSzymon Olewniczakif ($id) {
20*ff0986bcSSzymon Olewniczak    $label = $this->model->labelFactory->get_one($id);
21*ff0986bcSSzymon Olewniczak} else {
22*ff0986bcSSzymon Olewniczak    $label = $this->model->labelFactory->create_object();
2344189046SSzymon Olewniczak}
24eb950a4cSghi
25de02284cSSzymon Olewniczak$this->tpl->set('labels', $labels);
26de02284cSSzymon Olewniczak$this->tpl->set('label', $label);
276271e095SSzymon Olewniczak
28d16ee56eSSzymon Olewniczak
29fe5d6d1eSSzymon Olewniczakif ($this->get_param('action') === 'edit') {
30d16ee56eSSzymon Olewniczak
31de02284cSSzymon Olewniczak    $this->tpl->set_values($label->get_assoc());
32d16ee56eSSzymon Olewniczak
33fe5d6d1eSSzymon Olewniczak} else if ($this->get_param('action') === 'remove') {
34d16ee56eSSzymon Olewniczak
35de02284cSSzymon Olewniczak    $this->model->labelFactory->delete($label);
36d16ee56eSSzymon Olewniczak
3762ae064dSSzymon Olewniczak    header('Location: '.$this->url('types'));
3844189046SSzymon Olewniczak
39d16ee56eSSzymon Olewniczak} elseif (count($_POST) > 0) {
40de02284cSSzymon Olewniczak    $label->set_data($_POST);
41de02284cSSzymon Olewniczak    $this->model->labelFactory->save($label);
4244189046SSzymon Olewniczak
4362ae064dSSzymon Olewniczak    header('Location: '.$this->url('types'));
4444189046SSzymon Olewniczak}
45