summaryrefslogtreecommitdiff
path: root/includes/controller
diff options
context:
space:
mode:
Diffstat (limited to 'includes/controller')
-rw-r--r--includes/controller/event_config_controller.php79
1 files changed, 79 insertions, 0 deletions
diff --git a/includes/controller/event_config_controller.php b/includes/controller/event_config_controller.php
new file mode 100644
index 00000000..7e951214
--- /dev/null
+++ b/includes/controller/event_config_controller.php
@@ -0,0 +1,79 @@
+<?php
+
+function event_config_title() {
+ return _("Event config");
+}
+
+function event_config_edit_controller() {
+ global $privileges;
+
+ if (! in_array('admin_event_config', $privileges))
+ redirect('?');
+
+ $event_name = null;
+ $event_welcome_msg = null;
+ $buildup_start_date = null;
+ $event_start_date = null;
+ $event_end_date = null;
+ $teardown_end_date = null;
+
+ $settings_source = EventConfig();
+ if ($settings_source === false)
+ engelsystem_error('Unable to load event config.');
+ if ($settings_source != null) {
+ $event_name = $settings_source['event_name'];
+ $buildup_start_date = $settings_source['buildup_start_date'];
+ $event_start_date = $settings_source['event_start_date'];
+ $event_end_date = $settings_source['event_end_date'];
+ $teardown_end_date = $settings_source['teardown_end_date'];
+ $event_welcome_msg = $settings_source['event_welcome_msg'];
+ }
+
+ if (isset($_REQUEST['submit'])) {
+ $ok = true;
+
+ if (isset($_REQUEST['event_name']))
+ $event_name = strip_request_item('event_name');
+ if ($event_name == '')
+ $event_name = null;
+
+ if (isset($_REQUEST['event_welcome_msg']))
+ $event_welcome_msg = strip_request_item_nl('event_welcome_msg');
+ if ($event_welcome_msg == '')
+ $event_welcome_msg = null;
+
+ $result = check_request_date('buildup_start_date', _("Please enter buildup start date."), true);
+ $buildup_start_date = $result->getValue();
+ $ok &= $result->isOk();
+
+ $result = check_request_date('event_start_date', _("Please enter event start date."), true);
+ $event_start_date = $result->getValue();
+ $ok &= $result->isOk();
+
+ $result = check_request_date('event_end_date', _("Please enter event end date."), true);
+ $event_end_date = $result->getValue();
+ $ok &= $result->isOk();
+
+ $result = check_request_date('teardown_end_date', _("Please enter teardown end date."), true);
+ $teardown_end_date = $result->getValue();
+ $ok &= $result->isOk();
+
+ if ($ok) {
+ $result = EventConfig_update($event_name, $buildup_start_date, $event_start_date, $event_end_date, $teardown_end_date, $event_welcome_msg);
+
+ if ($result === false)
+ engelsystem_error("Unable to update event config.");
+
+ engelsystem_log("Changed event config: $event_name, $event_welcome_msg, $buildup_start_date, $event_start_date, $event_end_date, $teardown_end_date");
+ success(_("Settings saved."));
+ redirect(page_link_to('admin_settings'));
+ }
+ }
+
+ return [
+ event_config_title(),
+ EventConfig_edit_view($event_name, $event_welcome_msg, $buildup_start_date, $event_start_date, $event_end_date, $teardown_end_date)
+ ];
+}
+
+?> \ No newline at end of file