xref: /plugin/bez/ctl/task_programs.php (revision cdf81c485839e9af1565bf50b3958ffce8307ad9)
1e8827d73SSzymon Olewniczak<?php
2*cdf81c48SSzymon Olewniczakglobal $INPUT;
3*cdf81c48SSzymon Olewniczak
453df74e7SSzymon Olewniczak/** @var action_plugin_bez $this */
553df74e7SSzymon Olewniczak
653df74e7SSzymon Olewniczakuse \dokuwiki\plugin\bez;
753df74e7SSzymon Olewniczak
8a0cd8c78SSzymon Olewniczakif ($this->model->get_level() < BEZ_AUTH_ADMIN) {
953df74e7SSzymon Olewniczak    throw new bez\meta\PermissionDeniedException();
1053df74e7SSzymon Olewniczak}
11e8827d73SSzymon Olewniczak
125d960fc7SSzymon Olewniczak$task_programs = $this->model->task_programFactory->get_all([], 'name');
13e8827d73SSzymon Olewniczak
14*cdf81c48SSzymon Olewniczak$id = null;
15*cdf81c48SSzymon Olewniczakif (isset($_POST['id'])) {
16*cdf81c48SSzymon Olewniczak    $id = (int)$_POST['id'];
17e8827d73SSzymon Olewniczak} else {
18*cdf81c48SSzymon Olewniczak    $id = $this->get_param('id');
19*cdf81c48SSzymon Olewniczak}
20*cdf81c48SSzymon Olewniczak
21*cdf81c48SSzymon Olewniczak
22*cdf81c48SSzymon Olewniczakif ($id) {
23*cdf81c48SSzymon Olewniczak    $task_program = $this->model->task_programFactory->get_one($id);
24*cdf81c48SSzymon Olewniczak} else {
25*cdf81c48SSzymon Olewniczak    $task_program = $this->model->task_programFactory->create_object();
26e8827d73SSzymon Olewniczak}
27e8827d73SSzymon Olewniczak
28e8827d73SSzymon Olewniczak$this->tpl->set('task_programs', $task_programs);
29e8827d73SSzymon Olewniczak$this->tpl->set('task_program', $task_program);
30e8827d73SSzymon Olewniczak
31e8827d73SSzymon Olewniczakif ($this->get_param('action') === 'edit') {
32e8827d73SSzymon Olewniczak
33e8827d73SSzymon Olewniczak    $this->tpl->set_values($task_program->get_assoc());
34e8827d73SSzymon Olewniczak} else if ($this->get_param('action') === 'remove') {
35e8827d73SSzymon Olewniczak
36e8827d73SSzymon Olewniczak    $this->model->task_programFactory->delete($task_program);
37e8827d73SSzymon Olewniczak
38e8827d73SSzymon Olewniczak    header('Location: '.$this->url('task_programs'));
39e8827d73SSzymon Olewniczak
40e8827d73SSzymon Olewniczak} elseif (count($_POST) > 0) {
41e8827d73SSzymon Olewniczak    $task_program->set_data($_POST);
42e8827d73SSzymon Olewniczak    $this->model->task_programFactory->save($task_program);
43e8827d73SSzymon Olewniczak
44e8827d73SSzymon Olewniczak    header('Location: '.$this->url('task_programs'));
45e8827d73SSzymon Olewniczak}
46