From 7f61dc95be4ac543986c7df2459532fd8f81368d Mon Sep 17 00:00:00 2001 From: Igor Scheller Date: Tue, 25 Sep 2018 17:33:31 +0200 Subject: EventConfig: Merge event configuration from database to global config --- includes/controller/event_config_controller.php | 64 ++++++++++++++----------- 1 file changed, 36 insertions(+), 28 deletions(-) (limited to 'includes/controller') diff --git a/includes/controller/event_config_controller.php b/includes/controller/event_config_controller.php index c227b785..79c276e4 100644 --- a/includes/controller/event_config_controller.php +++ b/includes/controller/event_config_controller.php @@ -1,5 +1,8 @@ get('name'); + $event_welcome_msg = $config->get('welcome_msg'); + /** @var Carbon $buildup_start_date */ + $buildup_start_date = $config->get('buildup_start'); + /** @var Carbon $event_start_date */ + $event_start_date = $config->get('event_start'); + /** @var Carbon $event_end_date */ + $event_end_date = $config->get('event_end'); + /** @var Carbon $teardown_end_date */ + $teardown_end_date = $config->get('teardown_end'); if ($request->has('submit')) { $valid = true; @@ -91,24 +89,34 @@ function event_config_edit_controller() } if ($valid) { - EventConfig_update( - $event_name, - $buildup_start_date, - $event_start_date, - $event_end_date, - $teardown_end_date, - $event_welcome_msg - ); + $eventConfig = new EventConfig(); + + foreach ( + [ + 'name' => $event_name, + 'welcome_msg' => $event_welcome_msg, + 'buildup_start' => $buildup_start_date, + 'event_start' => $event_start_date, + 'event_end' => $event_end_date, + 'teardown_end' => $teardown_end_date, + ] as $key => $value + ) { + $eventConfig + ->findOrNew($key) + ->setAttribute('name', $key) + ->setAttribute('value', $value) + ->save(); + } engelsystem_log( sprintf( 'Changed event config: %s, %s, %s, %s, %s, %s', $event_name, $event_welcome_msg, - date('Y-m-d', $buildup_start_date), - date('Y-m-d', $event_start_date), - date('Y-m-d', $event_end_date), - date('Y-m-d', $teardown_end_date) + $buildup_start_date ? $buildup_start_date->format('Y-m-d') : '', + $event_start_date ? $event_start_date->format('Y-m-d') : '', + $event_end_date ? $event_end_date->format('Y-m-d') : '', + $teardown_end_date ? $teardown_end_date->format('Y-m-d') : '' ) ); success(__('Settings saved.')); -- cgit v1.2.3-54-g00ecf