This commit is contained in:
Xes
2025-08-14 22:37:50 +02:00
parent fb6d5d5926
commit 3641e93527
9156 changed files with 1813532 additions and 0 deletions

View File

@@ -0,0 +1,44 @@
<?php
/* For license terms, see /license.txt */
require_once __DIR__.'/../../main/inc/global.inc.php';
api_protect_admin_script();
$tool = 'notification_event';
$tpl = new Template($tool);
$fields = [];
$manager = new NotificationEvent();
$form = new FormValidator('add');
$form = $manager->getAddForm($form);
if (isset($_POST) && isset($_POST['title']) && $form->validate()) {
$values = $form->getSubmitValues();
$manager->save($values);
Display::addFlash(
Display::return_message(get_lang('Saved'), 'success')
);
$url = api_get_path(WEB_CODE_PATH).'notification_event/list.php?';
header('Location: '.$url);
exit;
}
$actionLinks = Display::toolbarButton(
get_lang('Back'),
api_get_path(WEB_CODE_PATH).'notification_event/list.php',
'arrow-left',
'primary'
);
$tpl->assign(
'actions',
Display::toolbarAction('toolbar', [$actionLinks])
);
$content = $form->returnForm();
$tpl->assign('content', $content);
$tpl->display_one_col_template();

View File

@@ -0,0 +1,62 @@
<?php
/* For license terms, see /license.txt */
require_once __DIR__.'/../../main/inc/global.inc.php';
api_protect_admin_script();
$tool = 'notification_event';
$id = isset($_REQUEST['id']) ? (int) $_REQUEST['id'] : 0;
if (empty($id)) {
api_not_allowed(true);
}
$manager = new NotificationEvent();
$notification = $manager->get($id);
if (empty($notification)) {
api_not_allowed(true);
}
$tpl = new Template($tool);
$fields = [];
$form = new FormValidator('edit', 'post', api_get_self().'?id='.$id);
$form = $manager->getForm($form, $notification);
$notification['users'] = array_keys($notification['users']);
$form->setDefaults($notification);
$form->addButtonSave(get_lang('Update'));
if ($form->validate()) {
$values = $form->getSubmitValues();
$values['id'] = $id;
$values['persistent'] = isset($values['persistent']) ? 1 : 0;
$manager->update($values);
Display::addFlash(
Display::return_message(get_lang('Updated'), 'success')
);
$url = api_get_path(WEB_CODE_PATH).'notification_event/list.php?';
header('Location: '.$url);
exit;
}
$actionLinks = Display::toolbarButton(
get_lang('Back'),
api_get_path(WEB_CODE_PATH).'notification_event/list.php',
'arrow-left',
'primary'
);
$tpl->assign(
'actions',
Display::toolbarAction('toolbar', [$actionLinks])
);
$content = $form->returnForm();
$tpl->assign('content', $content);
$tpl->display_one_col_template();

View File

@@ -0,0 +1,50 @@
<?php
/* For license terms, see /license.txt */
require_once __DIR__.'/../../main/inc/global.inc.php';
api_protect_admin_script();
$tool = 'notification_event';
$tpl = new Template($tool);
$fields = [];
$manager = new NotificationEvent();
$list = $manager->get_all();
foreach ($list as &$item) {
$item['event_type'] = $manager->eventTypeToString($item['event_type']);
}
$tpl->assign('list', $list);
$content = $tpl->fetch($tpl->get_template('notification_event/list.tpl'));
$actionLinks = '';
$action = $_REQUEST['a'] ?? '';
$id = isset($_REQUEST['id']) ? (int) $_REQUEST['id'] : 0;
if ($action == 'delete') {
$manager->delete($id);
Display::addFlash(
Display::return_message(get_lang('Deleted'), 'success')
);
header('Location: '.api_get_self());
exit;
}
$actionLinks .= Display::toolbarButton(
get_lang('Add'),
api_get_path(WEB_CODE_PATH).'notification_event/add.php',
'plus',
'primary'
);
$tpl->assign(
'actions',
Display::toolbarAction('toolbar', [$actionLinks])
);
$tpl->assign('content', $content);
$tpl->display_one_col_template();