From 031fc3057c46245cd62fc39f2d11ee3f0a393e06 Mon Sep 17 00:00:00 2001 From: msquare Date: Tue, 27 Sep 2016 17:49:13 +0200 Subject: rename settings to event config and implement mvc pattern on it --- includes/controller/event_config_controller.php | 79 +++++++++++++++++++++ includes/engelsystem_provider.php | 4 +- includes/model/EventConfig_model.php | 43 +++++++++++ includes/model/Settings_model.php | 43 ----------- includes/pages/admin_settings.php | 94 ------------------------- includes/sys_menu.php | 2 +- includes/view/EventConfigView.php | 41 +++++++++++ 7 files changed, 167 insertions(+), 139 deletions(-) create mode 100644 includes/controller/event_config_controller.php create mode 100644 includes/model/EventConfig_model.php delete mode 100644 includes/model/Settings_model.php delete mode 100644 includes/pages/admin_settings.php create mode 100644 includes/view/EventConfigView.php (limited to 'includes') 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 @@ +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 diff --git a/includes/engelsystem_provider.php b/includes/engelsystem_provider.php index 70d40ce3..5e293366 100644 --- a/includes/engelsystem_provider.php +++ b/includes/engelsystem_provider.php @@ -11,6 +11,7 @@ require_once realpath(__DIR__ . '/../includes/sys_page.php'); require_once realpath(__DIR__ . '/../includes/sys_template.php'); require_once realpath(__DIR__ . '/../includes/model/AngelType_model.php'); +require_once realpath(__DIR__ . '/../includes/model/EventConfig_model.php'); require_once realpath(__DIR__ . '/../includes/model/LogEntries_model.php'); require_once realpath(__DIR__ . '/../includes/model/Message_model.php'); require_once realpath(__DIR__ . '/../includes/model/NeededAngelTypes_model.php'); @@ -22,9 +23,9 @@ require_once realpath(__DIR__ . '/../includes/model/UserAngelTypes_model.php'); require_once realpath(__DIR__ . '/../includes/model/UserDriverLicenses_model.php'); require_once realpath(__DIR__ . '/../includes/model/UserGroups_model.php'); require_once realpath(__DIR__ . '/../includes/model/User_model.php'); -require_once realpath(__DIR__ . '/../includes/model/Settings_model.php'); require_once realpath(__DIR__ . '/../includes/view/AngelTypes_view.php'); +require_once realpath(__DIR__ . '/../includes/view/EventConfig_view.php'); require_once realpath(__DIR__ . '/../includes/view/Questions_view.php'); require_once realpath(__DIR__ . '/../includes/view/Rooms_view.php'); require_once realpath(__DIR__ . '/../includes/view/Shifts_view.php'); @@ -35,6 +36,7 @@ require_once realpath(__DIR__ . '/../includes/view/UserDriverLicenses_view.php') require_once realpath(__DIR__ . '/../includes/view/User_view.php'); require_once realpath(__DIR__ . '/../includes/controller/angeltypes_controller.php'); +require_once realpath(__DIR__ . '/../includes/controller/event_config_controller.php'); require_once realpath(__DIR__ . '/../includes/controller/rooms_controller.php'); require_once realpath(__DIR__ . '/../includes/controller/shifts_controller.php'); require_once realpath(__DIR__ . '/../includes/controller/shifttypes_controller.php'); diff --git a/includes/model/EventConfig_model.php b/includes/model/EventConfig_model.php new file mode 100644 index 00000000..57ba1d0f --- /dev/null +++ b/includes/model/EventConfig_model.php @@ -0,0 +1,43 @@ + 0) + return $settings[0]; + return null; +} + +/** + * Update Settings. + * + * @param string $event_name + * @param int $buildup_start_date + * @param int $event_start_date + * @param int $event_end_date + * @param int $teardown_end_date + * @param string $event_welcome_msg + */ +function EventConfig_update($event_name, $buildup_start_date, $event_start_date, $event_end_date, $teardown_end_date, $event_welcome_msg) { + if (Settings() == null) { + return sql_query("INSERT INTO `EventConfig` SET + `event_name`=" . sql_null($event_name) . ", + `buildup_start_date`=" . sql_null($buildup_start_date) . ", + `event_start_date`=" . sql_null($event_start_date) . ", + `event_end_date`=" . sql_null($event_end_date) . ", + `teardown_end_date`=" . sql_null($teardown_end_date) . ", + `event_welcome_msg`=" . sql_null($event_welcome_msg)); + } + return sql_query("UPDATE `EventConfig` SET + `event_name`=" . sql_null($event_name) . ", + `buildup_start_date`=" . sql_null($buildup_start_date) . ", + `event_start_date`=" . sql_null($event_start_date) . ", + `event_end_date`=" . sql_null($event_end_date) . ", + `teardown_end_date`=" . sql_null($teardown_end_date) . ", + `event_welcome_msg`=" . sql_null($event_welcome_msg)); +} +?> diff --git a/includes/model/Settings_model.php b/includes/model/Settings_model.php deleted file mode 100644 index 07e3b677..00000000 --- a/includes/model/Settings_model.php +++ /dev/null @@ -1,43 +0,0 @@ - 0) - return $settings[0]; - return null; -} - -/** - * Update Settings. - * - * @param string $event_name - * @param int $buildup_start_date - * @param int $event_start_date - * @param int $event_end_date - * @param int $teardown_end_date - * @param string $event_welcome_msg - */ -function Settings_update($event_name, $buildup_start_date, $event_start_date, $event_end_date, $teardown_end_date, $event_welcome_msg) { - if (Settings() == null) { - return sql_query("INSERT INTO `Settings` SET - `event_name`=" . sql_null($event_name) . ", - `buildup_start_date`=" . sql_null($buildup_start_date) . ", - `event_start_date`=" . sql_null($event_start_date) . ", - `event_end_date`=" . sql_null($event_end_date) . ", - `teardown_end_date`=" . sql_null($teardown_end_date) . ", - `event_welcome_msg`=" . sql_null($event_welcome_msg)); - } - return sql_query("UPDATE `Settings` SET - `event_name`=" . sql_null($event_name) . ", - `buildup_start_date`=" . sql_null($buildup_start_date) . ", - `event_start_date`=" . sql_null($event_start_date) . ", - `event_end_date`=" . sql_null($event_end_date) . ", - `teardown_end_date`=" . sql_null($teardown_end_date) . ", - `event_welcome_msg`=" . sql_null($event_welcome_msg)); -} -?> diff --git a/includes/pages/admin_settings.php b/includes/pages/admin_settings.php deleted file mode 100644 index ebee1305..00000000 --- a/includes/pages/admin_settings.php +++ /dev/null @@ -1,94 +0,0 @@ -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 = Settings_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 settings."); - - success(_("Settings saved.")); - redirect(page_link_to('admin_settings')); - } - } - - return page_with_title(admin_settings_title(), [ - msg(), - form([ - div('row', [ - div('col-md-6', [ - form_text('event_name', _("Event Name"), $event_name), - form_info('', _("Event Name is shown on the start page.")), - form_textarea('event_welcome_msg', _("Event Welcome Message"), $event_welcome_msg), - form_info('', _("Welcome message is shown after successful registration. You can use markdown.")) - ]), - div('col-md-3', [ - form_date('buildup_start_date', _("Buildup date"), $buildup_start_date), - form_date('event_start_date', _("Event start date"), $event_start_date) - ]), - div('col-md-3', [ - form_date('teardown_end_date', _("Teardown end date"), $teardown_end_date), - form_date('event_end_date', _("Event end date"), $event_end_date) - ]) - ]), - div('row', [ - div('col-md-6', [ - form_submit('submit', _("Save")) - ]) - ]) - ]) - ]); -} -?> diff --git a/includes/sys_menu.php b/includes/sys_menu.php index 96522fa7..c6e916b4 100644 --- a/includes/sys_menu.php +++ b/includes/sys_menu.php @@ -126,7 +126,7 @@ function make_navigation() { "admin_groups" => admin_groups_title(), "admin_import" => admin_import_title(), "admin_log" => admin_log_title(), - "admin_settings" => admin_settings_title() + "admin_event_config" => event_config_title() ); foreach ($admin_pages as $page => $title) diff --git a/includes/view/EventConfigView.php b/includes/view/EventConfigView.php new file mode 100644 index 00000000..a00a26ed --- /dev/null +++ b/includes/view/EventConfigView.php @@ -0,0 +1,41 @@ + \ No newline at end of file -- cgit v1.2.3-54-g00ecf