diff options
Diffstat (limited to 'includes')
47 files changed, 413 insertions, 288 deletions
diff --git a/includes/application.php b/includes/application.php new file mode 100644 index 00000000..418dd08d --- /dev/null +++ b/includes/application.php @@ -0,0 +1,37 @@ +<?php + +use Engelsystem\Application; +use Engelsystem\Config\Config; +use Engelsystem\Exceptions\Handler; +use Engelsystem\Exceptions\Handlers\HandlerInterface; + + +/** + * Include the autoloader + */ +require_once __DIR__ . '/autoload.php'; + + +/** + * Initialize and bootstrap the application + */ +$app = new Application(realpath(__DIR__ . DIRECTORY_SEPARATOR . '..')); +$appConfig = $app->make(Config::class); +$appConfig->set(require config_path('app.php')); +$app->bootstrap($appConfig); + + +/** + * Configure application + */ +date_default_timezone_set($app->get('config')->get('timezone')); + +if (config('environment') == 'development') { + $errorHandler = $app->get('error.handler'); + $errorHandler->setEnvironment(Handler::ENV_DEVELOPMENT); + $app->bind(HandlerInterface::class, 'error.handler.development'); + ini_set('display_errors', true); + error_reporting(E_ALL); +} else { + ini_set('display_errors', false); +} diff --git a/includes/controller/angeltypes_controller.php b/includes/controller/angeltypes_controller.php index 399930c2..210b6209 100644 --- a/includes/controller/angeltypes_controller.php +++ b/includes/controller/angeltypes_controller.php @@ -154,7 +154,7 @@ function angeltype_edit_controller() $angeltype['contact_email'] = strip_request_item('contact_email', $angeltype['contact_email']); if ($valid) { - if ($angeltype['id'] != null) { + if (!empty($angeltype['id'])) { AngelType_update($angeltype); } else { $angeltype = AngelType_create($angeltype); @@ -308,7 +308,7 @@ function angeltypes_list_controller() } $angeltype['membership'] = AngelType_render_membership($angeltype); - if ($angeltype['user_angeltype_id'] != null) { + if (!empty($angeltype['user_angeltype_id'])) { $actions[] = button( page_link_to('user_angeltypes', ['action' => 'delete', 'user_angeltype_id' => $angeltype['user_angeltype_id']] @@ -355,7 +355,7 @@ function load_angeltype() } $angeltype = AngelType($request->input('angeltype_id')); - if ($angeltype == null) { + if (empty($angeltype)) { error(_('Angeltype doesn\'t exist . ')); redirect(page_link_to('angeltypes')); } diff --git a/includes/controller/event_config_controller.php b/includes/controller/event_config_controller.php index 4422f046..e64f47fd 100644 --- a/includes/controller/event_config_controller.php +++ b/includes/controller/event_config_controller.php @@ -28,7 +28,7 @@ function event_config_edit_controller() $teardown_end_date = null; $event_config = EventConfig(); - if ($event_config != null) { + if (!empty($event_config)) { $event_name = $event_config['event_name']; $buildup_start_date = $event_config['buildup_start_date']; $event_start_date = $event_config['event_start_date']; @@ -70,22 +70,22 @@ function event_config_edit_controller() $teardown_end_date = $result->getValue(); $valid &= $result->isValid(); - if ($buildup_start_date != null && $event_start_date != null && $buildup_start_date > $event_start_date) { + if (!is_null($buildup_start_date) && !is_null($event_start_date) && $buildup_start_date > $event_start_date) { $valid = false; error(_('The buildup start date has to be before the event start date.')); } - if ($event_start_date != null && $event_end_date != null && $event_start_date > $event_end_date) { + if (!is_null($event_start_date) && !is_null($event_end_date) && $event_start_date > $event_end_date) { $valid = false; error(_('The event start date has to be before the event end date.')); } - if ($event_end_date != null && $teardown_end_date != null && $event_end_date > $teardown_end_date) { + if (!is_null($event_end_date) && !is_null($teardown_end_date) && $event_end_date > $teardown_end_date) { $valid = false; error(_('The event end date has to be before the teardown end date.')); } - if ($buildup_start_date != null && $teardown_end_date != null && $buildup_start_date > $teardown_end_date) { + if (!is_null($buildup_start_date) && !is_null($teardown_end_date) && $buildup_start_date > $teardown_end_date) { $valid = false; error(_('The buildup start date has to be before the teardown end date.')); } diff --git a/includes/controller/rooms_controller.php b/includes/controller/rooms_controller.php index 596cb6d7..f95184f0 100644 --- a/includes/controller/rooms_controller.php +++ b/includes/controller/rooms_controller.php @@ -110,7 +110,7 @@ function load_room() } $room = Room(request()->input('room_id')); - if ($room == null) { + if (empty($room)) { redirect(page_link_to()); } diff --git a/includes/controller/shift_entries_controller.php b/includes/controller/shift_entries_controller.php index ea5e319e..dbed09af 100644 --- a/includes/controller/shift_entries_controller.php +++ b/includes/controller/shift_entries_controller.php @@ -16,7 +16,7 @@ function shift_entries_controller() } $action = strip_request_item('action'); - if ($action == null) { + if (empty($action)) { redirect(user_link($user)); } @@ -43,7 +43,7 @@ function shift_entry_create_controller() } $shift = Shift($request->input('shift_id')); - if ($shift == null) { + if (empty($shift)) { redirect(user_link($user)); } @@ -53,7 +53,7 @@ function shift_entry_create_controller() return shift_entry_create_controller_admin($shift, $angeltype); } - if ($angeltype == null) { + if (empty($angeltype)) { redirect(user_link($user)); } @@ -81,7 +81,7 @@ function shift_entry_create_controller_admin($shift, $angeltype) if ($request->has('user_id')) { $signup_user = User($request->input('user_id')); } - if ($signup_user == null) { + if (empty($signup_user)) { redirect(shift_link($shift)); } @@ -89,7 +89,7 @@ function shift_entry_create_controller_admin($shift, $angeltype) if ($request->has('angeltype_id')) { $angeltype = AngelType($request->input('angeltype_id')); } - if ($angeltype == null) { + if (empty($angeltype)) { if (count($angeltypes) == 0) { redirect(shift_link($shift)); } @@ -321,7 +321,7 @@ function shift_entry_load() redirect(page_link_to('user_shifts')); } $shiftEntry = ShiftEntry($request->input('shift_entry_id')); - if ($shiftEntry == null) { + if (empty($shiftEntry)) { error(_('Shift entry not found.')); redirect(page_link_to('user_shifts')); } diff --git a/includes/controller/shifts_controller.php b/includes/controller/shifts_controller.php index 73a5d29f..7cac5b4a 100644 --- a/includes/controller/shifts_controller.php +++ b/includes/controller/shifts_controller.php @@ -217,7 +217,7 @@ function shift_delete_controller() $shift_id = $request->input('delete_shift'); $shift = Shift($shift_id); - if ($shift == null) { + if (empty($shift)) { redirect(page_link_to('user_shifts')); } @@ -264,7 +264,7 @@ function shift_controller() } $shift = Shift($request->input('shift_id')); - if ($shift == null) { + if (empty($shift)) { error(_('Shift could not be found.')); redirect(page_link_to('user_shifts')); } @@ -277,6 +277,10 @@ function shift_controller() $shift_signup_state = new ShiftSignupState(ShiftSignupState::OCCUPIED, 0); foreach ($angeltypes as &$angeltype) { $needed_angeltype = NeededAngeltype_by_Shift_and_Angeltype($shift, $angeltype); + if(empty($needed_angeltype)) { + continue; + } + $shift_entries = ShiftEntries_by_shift_and_angeltype($shift['SID'], $angeltype['id']); $angeltype_signup_state = Shift_signup_allowed( @@ -288,11 +292,7 @@ function shift_controller() $needed_angeltype, $shift_entries ); - if ($shift_signup_state == null) { - $shift_signup_state = $angeltype_signup_state; - } else { - $shift_signup_state->combineWith($angeltype_signup_state); - } + $shift_signup_state->combineWith($angeltype_signup_state); $angeltype['shift_signup_state'] = $angeltype_signup_state; } @@ -361,7 +361,7 @@ function shifts_json_export_controller() $key = $request->input('key'); $user = User_by_api_key($key); - if ($user == null) { + if (empty($user)) { engelsystem_error('Key invalid.'); } if (!in_array('shifts_json_export', privileges_for_user($user['UID']))) { diff --git a/includes/controller/shifttypes_controller.php b/includes/controller/shifttypes_controller.php index 4e7cd92c..bc9c5c52 100644 --- a/includes/controller/shifttypes_controller.php +++ b/includes/controller/shifttypes_controller.php @@ -22,8 +22,7 @@ function shifttype_delete_controller() } $shifttype = ShiftType($request->input('shifttype_id')); - - if ($shifttype == null) { + if (empty($shifttype)) { redirect(page_link_to('shifttypes')); } @@ -58,7 +57,7 @@ function shifttype_edit_controller() if ($request->has('shifttype_id')) { $shifttype = ShiftType($request->input('shifttype_id')); - if ($shifttype == null) { + if (empty($shifttype)) { error(_('Shifttype not found.')); redirect(page_link_to('shifttypes')); } @@ -120,12 +119,12 @@ function shifttype_controller() redirect(page_link_to('shifttypes')); } $shifttype = ShiftType($request->input('shifttype_id')); - if ($shifttype == null) { + if (empty($shifttype)) { redirect(page_link_to('shifttypes')); } - $angeltype = null; - if ($shifttype['angeltype_id'] != null) { + $angeltype = []; + if (!empty($shifttype['angeltype_id'])) { $angeltype = AngelType($shifttype['angeltype_id']); } diff --git a/includes/controller/user_angeltypes_controller.php b/includes/controller/user_angeltypes_controller.php index 340de2a4..5dae0595 100644 --- a/includes/controller/user_angeltypes_controller.php +++ b/includes/controller/user_angeltypes_controller.php @@ -45,7 +45,7 @@ function user_angeltypes_delete_all_controller() } $angeltype = AngelType($request->input('angeltype_id')); - if ($angeltype == null) { + if (empty($angeltype)) { error(_('Angeltype doesn\'t exist.')); redirect(page_link_to('angeltypes')); } @@ -85,7 +85,7 @@ function user_angeltypes_confirm_all_controller() } $angeltype = AngelType($request->input('angeltype_id')); - if ($angeltype == null) { + if (empty($angeltype)) { error(_('Angeltype doesn\'t exist.')); redirect(page_link_to('angeltypes')); } @@ -125,13 +125,13 @@ function user_angeltype_confirm_controller() } $user_angeltype = UserAngelType($request->input('user_angeltype_id')); - if ($user_angeltype == null) { + if (empty($user_angeltype)) { error(_('User angeltype doesn\'t exist.')); redirect(page_link_to('angeltypes')); } $angeltype = AngelType($user_angeltype['angeltype_id']); - if ($angeltype == null) { + if (empty($angeltype)) { error(_('Angeltype doesn\'t exist.')); redirect(page_link_to('angeltypes')); } @@ -142,7 +142,7 @@ function user_angeltype_confirm_controller() } $user_source = User($user_angeltype['user_id']); - if ($user_source == null) { + if (empty($user_source)) { error(_('User doesn\'t exist.')); redirect(page_link_to('angeltypes')); } @@ -185,19 +185,19 @@ function user_angeltype_delete_controller() } $user_angeltype = UserAngelType($request->input('user_angeltype_id')); - if ($user_angeltype == null) { + if (empty($user_angeltype)) { error(_('User angeltype doesn\'t exist.')); redirect(page_link_to('angeltypes')); } $angeltype = AngelType($user_angeltype['angeltype_id']); - if ($angeltype == null) { + if (empty($angeltype)) { error(_('Angeltype doesn\'t exist.')); redirect(page_link_to('angeltypes')); } $user_source = User($user_angeltype['user_id']); - if ($user_source == null) { + if (empty($user_source)) { error(_('User doesn\'t exist.')); redirect(page_link_to('angeltypes')); } @@ -252,19 +252,19 @@ function user_angeltype_update_controller() } $user_angeltype = UserAngelType($request->input('user_angeltype_id')); - if ($user_angeltype == null) { + if (empty($user_angeltype)) { error(_('User angeltype doesn\'t exist.')); redirect(page_link_to('angeltypes')); } $angeltype = AngelType($user_angeltype['angeltype_id']); - if ($angeltype == null) { + if (empty($angeltype)) { error(_('Angeltype doesn\'t exist.')); redirect(page_link_to('angeltypes')); } $user_source = User($user_angeltype['user_id']); - if ($user_source == null) { + if (empty($user_source)) { error(_('User doesn\'t exist.')); redirect(page_link_to('angeltypes')); } @@ -359,7 +359,7 @@ function user_angeltype_join_controller($angeltype) global $user, $privileges; $user_angeltype = UserAngelType_by_User_and_AngelType($user, $angeltype); - if ($user_angeltype != null) { + if (!empty($user_angeltype)) { error(sprintf(_('You are already a %s.'), $angeltype['name'])); redirect(page_link_to('angeltypes')); } diff --git a/includes/controller/user_driver_licenses_controller.php b/includes/controller/user_driver_licenses_controller.php index 3db31eff..889b03e3 100644 --- a/includes/controller/user_driver_licenses_controller.php +++ b/includes/controller/user_driver_licenses_controller.php @@ -14,7 +14,7 @@ function user_driver_license_required_hint() $user_driver_license = UserDriverLicense($user['UID']); // User has already entered data, no hint needed. - if ($user_driver_license != null) { + if (!empty($user_driver_license)) { return null; } @@ -60,7 +60,7 @@ function user_driver_licenses_controller() */ function user_driver_license_edit_link($user = null) { - if ($user == null) { + if (empty($user)) { return page_link_to('user_driver_licenses'); } return page_link_to('user_driver_licenses', ['user_id' => $user['UID']]); @@ -79,7 +79,7 @@ function user_driver_license_load_user() if ($request->has('user_id')) { $user_source = User($request->input('user_id')); - if ($user_source == null) { + if (empty($user_source)) { redirect(user_driver_license_edit_link()); } } @@ -104,7 +104,7 @@ function user_driver_license_edit_controller() } $user_driver_license = UserDriverLicense($user_source['UID']); - if ($user_driver_license == null) { + if (empty($user_driver_license)) { $wants_to_drive = false; $user_driver_license = UserDriverLicense_new(); } else { @@ -122,7 +122,7 @@ function user_driver_license_edit_controller() $user_driver_license['has_license_forklift'] = $request->has('has_license_forklift'); if (UserDriverLicense_valid($user_driver_license)) { - if ($user_driver_license['user_id'] == null) { + if (empty($user_driver_license['user_id'])) { $user_driver_license = UserDriverLicenses_create($user_driver_license, $user_source); } else { UserDriverLicenses_update($user_driver_license); @@ -133,7 +133,7 @@ function user_driver_license_edit_controller() } else { error(_('Please select at least one driving license.')); } - } elseif ($user_driver_license['user_id'] != null) { + } elseif (!empty($user_driver_license['user_id'])) { UserDriverLicenses_delete($user_source['UID']); engelsystem_log('Driver license information removed.'); success(_('Your driver license information has been removed.')); diff --git a/includes/controller/user_worklog_controller.php b/includes/controller/user_worklog_controller.php index bd62c83c..a7218071 100644 --- a/includes/controller/user_worklog_controller.php +++ b/includes/controller/user_worklog_controller.php @@ -2,25 +2,27 @@ /** * Delete a work log entry. + * + * @return array */ function user_worklog_delete_controller() { global $user; - + $request = request(); $userWorkLog = UserWorkLog($request->input('user_worklog_id')); if (empty($userWorkLog)) { redirect(user_link($user)); } $user_source = User($userWorkLog['user_id']); - + if ($request->has('confirmed')) { UserWorkLog_delete($userWorkLog); - + success(_('Work log entry deleted.')); redirect(user_link($user_source)); } - + return [ UserWorkLog_delete_title(), UserWorkLog_delete_view($user_source, $userWorkLog) @@ -29,29 +31,31 @@ function user_worklog_delete_controller() /** * Edit work log for user. + * + * @return array */ function user_worklog_edit_controller() { global $user; - + $request = request(); $userWorkLog = UserWorkLog($request->input('user_worklog_id')); if (empty($userWorkLog)) { redirect(user_link($user)); } $user_source = User($userWorkLog['user_id']); - + if ($request->has('submit')) { list ($valid, $userWorkLog) = user_worklog_from_request($userWorkLog); - + if ($valid) { UserWorkLog_update($userWorkLog); - + success(_('Work log entry updated.')); redirect(user_link($user_source)); } } - + return [ UserWorkLog_edit_title(), UserWorkLog_edit_view($user_source, $userWorkLog) @@ -59,34 +63,38 @@ function user_worklog_edit_controller() } /** + * Handle form * - * @param UserWorkLog $userWorkLog - * @return [bool $valid, UserWorkLog $userWorkLog] + * @param array $userWorkLog + * @return array [bool $valid, UserWorkLog $userWorkLog] */ function user_worklog_from_request($userWorkLog) { $request = request(); - + $valid = true; - - $userWorkLog['work_timestamp'] = parse_date('Y-m-d H:i', $request->input('work_timestamp') . ' 00:00'); - if ($userWorkLog['work_timestamp'] == null) { + + $userWorkLog['work_timestamp'] = parse_date( + 'Y-m-d H:i', + $request->input('work_timestamp') . ' 00:00' + ); + if (is_null($userWorkLog['work_timestamp'])) { $valid = false; error(_('Please enter work date.')); } - + $userWorkLog['work_hours'] = $request->input('work_hours'); - if (! preg_match("/[0-9]+(\.[0-9]+)?/", $userWorkLog['work_hours'])) { + if (!preg_match("/[0-9]+(\.[0-9]+)?/", $userWorkLog['work_hours'])) { $valid = false; error(_('Please enter work hours in format ##[.##].')); } - + $userWorkLog['comment'] = $request->input('comment'); if (empty($userWorkLog['comment'])) { $valid = false; error(_('Please enter a comment.')); } - + return [ $valid, $userWorkLog @@ -95,30 +103,32 @@ function user_worklog_from_request($userWorkLog) /** * Add work log entry to user. + * + * @return array */ function user_worklog_add_controller() { global $user; - + $request = request(); $user_source = User($request->input('user_id')); if (empty($user_source)) { redirect(user_link($user)); } - + $userWorkLog = UserWorkLog_new($user_source); - + if ($request->has('submit')) { list ($valid, $userWorkLog) = user_worklog_from_request($userWorkLog); - + if ($valid) { UserWorkLog_create($userWorkLog); - + success(_('Work log entry created.')); redirect(user_link($user_source)); } } - + return [ UserWorkLog_add_title(), UserWorkLog_add_view($user_source, $userWorkLog) @@ -128,12 +138,14 @@ function user_worklog_add_controller() /** * Link to work log entry add for given user. * - * @param User $user + * @param array $user + * + * @return string */ function user_worklog_add_link($user) { return page_link_to('user_worklog', [ - 'action' => 'add', + 'action' => 'add', 'user_id' => $user['UID'] ]); } @@ -141,12 +153,13 @@ function user_worklog_add_link($user) /** * Link to work log entry edit. * - * @param UserWorkLog $userWorkLog + * @param array $userWorkLog + * @return string */ function user_worklog_edit_link($userWorkLog) { return page_link_to('user_worklog', [ - 'action' => 'edit', + 'action' => 'edit', 'user_worklog_id' => $userWorkLog['id'] ]); } @@ -154,34 +167,37 @@ function user_worklog_edit_link($userWorkLog) /** * Link to work log entry delete. * - * @param UserWorkLog $userWorkLog - * @param array[] $parameters + * @param array $userWorkLog + * @param array[] $parameters + * @return string */ function user_worklog_delete_link($userWorkLog, $parameters = []) { return page_link_to('user_worklog', array_merge([ - 'action' => 'delete', + 'action' => 'delete', 'user_worklog_id' => $userWorkLog['id'] ], $parameters)); } /** * Work log entry actions + * + * @return array */ -function user_worklogs_controller() +function user_worklog_controller() { global $user, $privileges; - - if (! in_array('admin_user_worklog', $privileges)) { + + if (!in_array('admin_user_worklog', $privileges)) { redirect(user_link($user)); } - + $request = request(); $action = $request->input('action'); - if (! $request->has('action')) { + if (!$request->has('action')) { redirect(user_link($user)); } - + switch ($action) { case 'add': return user_worklog_add_controller(); @@ -191,5 +207,3 @@ function user_worklogs_controller() return user_worklog_delete_controller(); } } - -?>
\ No newline at end of file diff --git a/includes/controller/users_controller.php b/includes/controller/users_controller.php index 8a325621..b6334803 100644 --- a/includes/controller/users_controller.php +++ b/includes/controller/users_controller.php @@ -190,7 +190,7 @@ function user_controller() $user_source = $user; if ($request->has('user_id')) { $user_source = User($request->input('user_id')); - if ($user_source == null) { + if (empty($user_source)) { error(_('User not found.')); redirect(page_link_to('/')); } @@ -220,12 +220,12 @@ function user_controller() ); } } - + if ($user_source['api_key'] == '') { User_reset_api_key($user_source, false); } - - if($user_source['force_active']) { + + if ($user_source['force_active']) { $tshirt_score = _('Enough'); } else { $tshirt_score = sprintf('%.2f', User_tshirt_score($user_source)) . ' h'; @@ -297,7 +297,7 @@ function user_password_recovery_set_new_controller() { $request = request(); $user_source = User_by_password_recovery_token($request->input('token')); - if ($user_source == null) { + if (empty($user_source)) { error(_('Token is not correct.')); redirect(page_link_to('login')); } @@ -343,7 +343,7 @@ function user_password_recovery_start_controller() $email = strip_request_item('email'); if (check_email($email)) { $user_source = User_by_email($email); - if ($user_source == null) { + if (empty($user_source)) { $valid = false; error(_('E-mail address is not correct.')); } @@ -412,8 +412,7 @@ function load_user() } $user = User($request->input('user_id')); - - if ($user == null) { + if (empty($user)) { error(_('User doesn\'t exist.')); redirect(page_link_to()); } diff --git a/includes/engelsystem.php b/includes/engelsystem.php index 07abbb42..f7d813c5 100644 --- a/includes/engelsystem.php +++ b/includes/engelsystem.php @@ -1,14 +1,9 @@ <?php -use Engelsystem\Application; -use Engelsystem\Config\Config; -use Engelsystem\Exceptions\Handler; -use Engelsystem\Exceptions\Handlers\HandlerInterface; - /** - * This file includes all needed functions, connects to the db etc. + * Bootstrap application */ -require_once __DIR__ . '/autoload.php'; +require __DIR__ . '/application.php'; /** @@ -18,31 +13,6 @@ require __DIR__ . '/includes.php'; /** - * Initialize and bootstrap the application - */ -$app = new Application(realpath(__DIR__ . DIRECTORY_SEPARATOR . '..')); -$appConfig = $app->make(Config::class); -$appConfig->set(require config_path('app.php')); -$app->bootstrap($appConfig); - - -/** - * Configure application - */ -date_default_timezone_set($app->get('config')->get('timezone')); - -if (config('environment') == 'development') { - $errorHandler = $app->get('error.handler'); - $errorHandler->setEnvironment(Handler::ENV_DEVELOPMENT); - $app->bind(HandlerInterface::class, 'error.handler.development'); - ini_set('display_errors', true); - error_reporting(E_ALL); -} else { - ini_set('display_errors', false); -} - - -/** * Check for maintenance */ if ($app->get('config')->get('maintenance')) { diff --git a/includes/helper/internationalization_helper.php b/includes/helper/internationalization_helper.php index 01aca71f..bb6d0abd 100644 --- a/includes/helper/internationalization_helper.php +++ b/includes/helper/internationalization_helper.php @@ -48,7 +48,7 @@ function gettext_init() */ function gettext_locale($locale = null) { - if ($locale == null) { + if (empty($locale)) { $locale = session()->get('locale'); } diff --git a/includes/model/AngelType_model.php b/includes/model/AngelType_model.php index 6feb9dd0..2dff7019 100644 --- a/includes/model/AngelType_model.php +++ b/includes/model/AngelType_model.php @@ -159,7 +159,7 @@ function AngelType_validate_name($name, $angeltype) if ($name == '') { return new ValidationResult(false, ''); } - if ($angeltype != null && isset($angeltype['id'])) { + if (!empty($angeltype) && isset($angeltype['id'])) { $valid = (count(DB::select(' SELECT `id` FROM `AngelTypes` @@ -229,8 +229,10 @@ function AngelType_ids() */ function AngelType($angeltype_id) { - return DB::selectOne( + $angelType = DB::selectOne( 'SELECT * FROM `AngelTypes` WHERE `id`=?', [$angeltype_id] ); + + return empty($angelType) ? null : $angelType; } diff --git a/includes/model/EventConfig_model.php b/includes/model/EventConfig_model.php index 646d19c5..766a5849 100644 --- a/includes/model/EventConfig_model.php +++ b/includes/model/EventConfig_model.php @@ -9,7 +9,9 @@ use Engelsystem\Database\DB; */ function EventConfig() { - return DB::selectOne('SELECT * FROM `EventConfig` LIMIT 1'); + $config = DB::selectOne('SELECT * FROM `EventConfig` LIMIT 1'); + + return empty($config) ? null : $config; } /** @@ -21,7 +23,7 @@ function EventConfig() * @param int $event_end_date * @param int $teardown_end_date * @param string $event_welcome_msg - * @return int Rows updated + * @return bool */ function EventConfig_update( $event_name, @@ -31,7 +33,8 @@ function EventConfig_update( $teardown_end_date, $event_welcome_msg ) { - if (EventConfig() == null) { + $eventConfig = EventConfig(); + if (empty($eventConfig)) { return DB::insert(' INSERT INTO `EventConfig` ( `event_name`, @@ -54,7 +57,7 @@ function EventConfig_update( ); } - return DB::update(' + return (bool)DB::update(' UPDATE `EventConfig` SET `event_name` = ?, `buildup_start_date` = ?, diff --git a/includes/model/LogEntries_model.php b/includes/model/LogEntries_model.php index f0ee6673..b16c598c 100644 --- a/includes/model/LogEntries_model.php +++ b/includes/model/LogEntries_model.php @@ -58,5 +58,5 @@ function LogEntries_filter($keyword) */ function LogEntries_clear_all() { - return DB::statement('TRUNCATE `LogEntries`'); + return DB::connection()->statement('TRUNCATE `LogEntries`'); } diff --git a/includes/model/Message_model.php b/includes/model/Message_model.php index 5185785a..3f66f74a 100644 --- a/includes/model/Message_model.php +++ b/includes/model/Message_model.php @@ -20,7 +20,9 @@ function Message_ids() */ function Message($message_id) { - return DB::selectOne('SELECT * FROM `Messages` WHERE `id`=? LIMIT 1', [$message_id]); + $message = DB::selectOne('SELECT * FROM `Messages` WHERE `id`=? LIMIT 1', [$message_id]); + + return empty($message) ? null : $message; } /** diff --git a/includes/model/Room_model.php b/includes/model/Room_model.php index f153cd52..b29f68fe 100644 --- a/includes/model/Room_model.php +++ b/includes/model/Room_model.php @@ -148,14 +148,16 @@ function Room_update($room_id, $name, $from_frab, $map_url, $description) * Returns room by id. * * @param int $room_id RID - * @return array|false + * @return array|null */ function Room($room_id) { - return DB::selectOne(' + $room = DB::selectOne(' SELECT * FROM `Room` WHERE `RID` = ?', [ $room_id ]); + + return empty($room) ? null : $room; } diff --git a/includes/model/ShiftEntry_model.php b/includes/model/ShiftEntry_model.php index bb9db49d..ebf600f3 100644 --- a/includes/model/ShiftEntry_model.php +++ b/includes/model/ShiftEntry_model.php @@ -138,7 +138,9 @@ function ShiftEntry_update($shift_entry) */ function ShiftEntry($shift_entry_id) { - return DB::selectOne('SELECT * FROM `ShiftEntry` WHERE `id` = ?', [$shift_entry_id]); + $shiftEntry = DB::selectOne('SELECT * FROM `ShiftEntry` WHERE `id` = ?', [$shift_entry_id]); + + return empty($shiftEntry) ? null : $shiftEntry; } /** diff --git a/includes/model/ShiftTypes_model.php b/includes/model/ShiftTypes_model.php index 3d2dc9fe..599810be 100644 --- a/includes/model/ShiftTypes_model.php +++ b/includes/model/ShiftTypes_model.php @@ -70,7 +70,9 @@ function ShiftType_create($name, $angeltype_id, $description) */ function ShiftType($shifttype_id) { - return DB::selectOne('SELECT * FROM `ShiftTypes` WHERE `id`=?', [$shifttype_id]); + $shiftType = DB::selectOne('SELECT * FROM `ShiftTypes` WHERE `id`=?', [$shifttype_id]); + + return empty($shiftType) ? null : $shiftType; } /** diff --git a/includes/model/ShiftsFilter.php b/includes/model/ShiftsFilter.php index 5ad7a9b3..fe3bfa56 100644 --- a/includes/model/ShiftsFilter.php +++ b/includes/model/ShiftsFilter.php @@ -48,7 +48,7 @@ class ShiftsFilter * @param int[] $rooms * @param int[] $types */ - public function __construct($user_shifts_admin, $rooms, $types) + public function __construct($user_shifts_admin = false, $rooms = [], $types = []) { $this->rooms = $rooms; $this->types = $types; @@ -63,6 +63,34 @@ class ShiftsFilter } /** + * @return array + */ + public function sessionExport() + { + return [ + 'userShiftsAdmin' => $this->userShiftsAdmin, + 'filled' => $this->filled, + 'rooms' => $this->rooms, + 'types' => $this->types, + 'startTime' => $this->startTime, + 'endTime' => $this->endTime, + ]; + } + + /** + * @param array $data + */ + public function sessionImport($data) + { + $this->userShiftsAdmin = $data['userShiftsAdmin']; + $this->filled = $data['filled']; + $this->rooms = $data['rooms']; + $this->types = $data['types']; + $this->startTime = $data['startTime']; + $this->endTime = $data['endTime']; + } + + /** * @return int unix timestamp */ public function getStartTime() diff --git a/includes/model/Shifts_model.php b/includes/model/Shifts_model.php index 62335882..94513ff3 100644 --- a/includes/model/Shifts_model.php +++ b/includes/model/Shifts_model.php @@ -182,7 +182,7 @@ function NeededAngeltypes_by_ShiftsFilter(ShiftsFilter $shiftsFilter) /** * @param array $shift * @param array $angeltype - * @return array|null + * @return array */ function NeededAngeltype_by_Shift_and_Angeltype($shift, $angeltype) { @@ -323,7 +323,7 @@ function Shift_signup_allowed_angel( return new ShiftSignupState(ShiftSignupState::NOT_ARRIVED, $free_entries); } - if ($user_shifts == null) { + if (empty($user_shifts)) { $user_shifts = Shifts_by_user($user); } @@ -349,14 +349,14 @@ function Shift_signup_allowed_angel( return new ShiftSignupState(ShiftSignupState::OCCUPIED, $free_entries); } - if ($user_angeltype == null) { + if (empty($user_angeltype)) { $user_angeltype = UserAngelType_by_User_and_AngelType($user, $angeltype); } if ( - $user_angeltype == null - || ($angeltype['no_self_signup'] == 1 && $user_angeltype != null) - || ($angeltype['restricted'] == 1 && $user_angeltype != null && !isset($user_angeltype['confirm_user_id'])) + empty($user_angeltype) + || ($angeltype['no_self_signup'] == 1 && !empty($user_angeltype)) + || ($angeltype['restricted'] == 1 && !empty($user_angeltype) && !isset($user_angeltype['confirm_user_id'])) ) { // you cannot join if user is not of this angel type // you cannot join if you are not confirmed @@ -552,7 +552,7 @@ function Shift_update($shift) * Update a shift by its external id. * * @param array $shift - * @return bool|null + * @return int * @throws Exception */ function Shift_update_by_psid($shift) diff --git a/includes/model/UserAngelTypes_model.php b/includes/model/UserAngelTypes_model.php index 71901b97..b1005095 100644 --- a/includes/model/UserAngelTypes_model.php +++ b/includes/model/UserAngelTypes_model.php @@ -197,11 +197,13 @@ function UserAngelType_create($user, $angeltype) */ function UserAngelType($user_angeltype_id) { - return DB::selectOne(' + $angelType = DB::selectOne(' SELECT * FROM `UserAngelTypes` WHERE `id`=? LIMIT 1', [$user_angeltype_id]); + + return empty($angelType) ? null : $angelType; } /** @@ -213,7 +215,7 @@ function UserAngelType($user_angeltype_id) */ function UserAngelType_by_User_and_AngelType($user, $angeltype) { - return DB::selectOne(' + $angelType = DB::selectOne(' SELECT * FROM `UserAngelTypes` WHERE `user_id`=? @@ -225,6 +227,8 @@ function UserAngelType_by_User_and_AngelType($user, $angeltype) $angeltype['id'] ] ); + + return empty($angelType) ? null : $angelType; } /** diff --git a/includes/model/UserDriverLicenses_model.php b/includes/model/UserDriverLicenses_model.php index dc38368b..2c251d66 100644 --- a/includes/model/UserDriverLicenses_model.php +++ b/includes/model/UserDriverLicenses_model.php @@ -45,10 +45,12 @@ function UserDriverLicense_valid($user_driver_license) */ function UserDriverLicense($user_id) { - return DB::selectOne(' + $driverLicense = DB::selectOne(' SELECT * FROM `UserDriverLicenses` WHERE `user_id`=?', [$user_id]); + + return empty($driverLicense) ? null : $driverLicense; } /** diff --git a/includes/model/UserWorkLog_model.php b/includes/model/UserWorkLog_model.php index 36442943..ff39ba8f 100644 --- a/includes/model/UserWorkLog_model.php +++ b/includes/model/UserWorkLog_model.php @@ -1,22 +1,27 @@ <?php + use Engelsystem\Database\Db; /** * Load a single work log entry. - * - * @param int $user_worklog_id + * + * @param int $user_worklog_id + * @return array|null */ function UserWorkLog($user_worklog_id) { - return Db::selectOne("SELECT * FROM `UserWorkLog` WHERE `id`=?", [ + $workLog = Db::selectOne("SELECT * FROM `UserWorkLog` WHERE `id`=?", [ $user_worklog_id ]); + + return empty($workLog) ? null : $workLog; } /** * Returns all work log entries for a user. - * - * @param User $user + * + * @param array $user + * @return array[] */ function UserWorkLogsForUser($user) { @@ -27,8 +32,9 @@ function UserWorkLogsForUser($user) /** * Delete a work log entry. - * - * @param UserWorkLog $userWorkLog + * + * @param $userWorkLog + * @return int */ function UserWorkLog_delete($userWorkLog) { @@ -36,21 +42,27 @@ function UserWorkLog_delete($userWorkLog) $result = Db::delete("DELETE FROM `UserWorkLog` WHERE `id`=?", [ $userWorkLog['id'] ]); - - engelsystem_log(sprintf('Delete work log for %s, %s hours, %s', User_Nick_render($user_source), $userWorkLog['work_hours'], $userWorkLog['comment'])); - + + engelsystem_log(sprintf( + 'Delete work log for %s, %s hours, %s', + User_Nick_render($user_source), + $userWorkLog['work_hours'], + $userWorkLog['comment'] + )); + return $result; } /** * Update work log entry (only work hours and comment) - * - * @param UserWorkLog $userWorkLog + * + * @param $userWorkLog + * @return int */ function UserWorkLog_update($userWorkLog) { $user_source = User($userWorkLog['user_id']); - + $result = Db::update("UPDATE `UserWorkLog` SET `work_timestamp`=?, `work_hours`=?, @@ -61,23 +73,29 @@ function UserWorkLog_update($userWorkLog) $userWorkLog['comment'], $userWorkLog['id'] ]); - - engelsystem_log(sprintf('Updated work log for %s, %s hours, %s', User_Nick_render($user_source), $userWorkLog['work_hours'], $userWorkLog['comment'])); - + + engelsystem_log(sprintf( + 'Updated work log for %s, %s hours, %s', + User_Nick_render($user_source), + $userWorkLog['work_hours'], + $userWorkLog['comment']) + ); + return $result; } /** * Create a new work log entry - * - * @param UserWorkLog $userWorkLog + * + * @param $userWorkLog + * @return bool */ function UserWorkLog_create($userWorkLog) { global $user; - + $user_source = User($userWorkLog['user_id']); - + $result = Db::insert("INSERT INTO `UserWorkLog` ( `user_id`, `work_timestamp`, @@ -94,30 +112,30 @@ function UserWorkLog_create($userWorkLog) $user['UID'], time() ]); - - engelsystem_log(sprintf('Added work log entry for %s, %s hours, %s', User_Nick_render($user_source), $userWorkLog['work_hours'], $userWorkLog['comment'])); - + + engelsystem_log(sprintf('Added work log entry for %s, %s hours, %s', User_Nick_render($user_source), + $userWorkLog['work_hours'], $userWorkLog['comment'])); + return $result; } /** * New user work log entry * - * @param array[] $user + * @param array[] $user + * @return array */ function UserWorkLog_new($user) { $work_date = parse_date('Y-m-d H:i', date('Y-m-d 00:00', time())); $event_config = EventConfig(); - if (! empty($event_config['buildup_start_date'])) { + if (!empty($event_config['buildup_start_date'])) { $work_date = parse_date('Y-m-d H:i', date('Y-m-d 00:00', $event_config['buildup_start_date'])); } return [ - 'user_id' => $user['UID'], + 'user_id' => $user['UID'], 'work_timestamp' => $work_date, - 'work_hours' => 0, - 'comment' => '' + 'work_hours' => 0, + 'comment' => '' ]; } - -?>
\ No newline at end of file diff --git a/includes/model/User_model.php b/includes/model/User_model.php index 7ea3ca3e..d2498462 100644 --- a/includes/model/User_model.php +++ b/includes/model/User_model.php @@ -20,12 +20,14 @@ function User_delete($user_id) /** * Returns the tshirt score (number of hours counted for tshirt). * Accounts only ended shifts. - * + * * @param array[] $user + * @return int */ -function User_tshirt_score($user) { +function User_tshirt_score($user) +{ $shift_sum_formula = config('shift_sum_formula'); - + $result_shifts = DB::selectOne(' SELECT ROUND((' . $shift_sum_formula . ') / 3600, 2) AS `tshirt_score` FROM `User` LEFT JOIN `ShiftEntry` ON `User`.`UID` = `ShiftEntry`.`UID` @@ -43,11 +45,11 @@ function User_tshirt_score($user) { LEFT JOIN `UserWorkLog` ON `User`.`UID` = `UserWorkLog`.`user_id` WHERE `User`.`UID` = ? AND `UserWorkLog`.`work_timestamp` < ? - ',[ + ', [ $user['UID'], time() ]); - + return $result_shifts['tshirt_score'] + $result_worklog['tshirt_score']; } @@ -347,12 +349,12 @@ function User_validate_jabber($jabber) */ function User_validate_planned_arrival_date($planned_arrival_date) { - if ($planned_arrival_date == null) { + if (is_null($planned_arrival_date)) { // null is not okay return new ValidationResult(false, time()); } $event_config = EventConfig(); - if ($event_config == null) { + if (empty($event_config)) { // Nothing to validate against return new ValidationResult(true, $planned_arrival_date); } @@ -376,7 +378,7 @@ function User_validate_planned_arrival_date($planned_arrival_date) */ function User_validate_planned_departure_date($planned_arrival_date, $planned_departure_date) { - if ($planned_departure_date == null) { + if (is_null($planned_departure_date)) { // null is okay return new ValidationResult(true, null); } @@ -385,7 +387,7 @@ function User_validate_planned_departure_date($planned_arrival_date, $planned_de return new ValidationResult(false, $planned_arrival_date); } $event_config = EventConfig(); - if ($event_config == null) { + if (empty($event_config)) { // Nothing to validate against return new ValidationResult(true, $planned_departure_date); } @@ -408,7 +410,9 @@ function User_validate_planned_departure_date($planned_arrival_date, $planned_de */ function User($user_id) { - return DB::selectOne('SELECT * FROM `User` WHERE `UID`=? LIMIT 1', [$user_id]); + $user = DB::selectOne('SELECT * FROM `User` WHERE `UID`=? LIMIT 1', [$user_id]); + + return empty($user) ? null : $user; } /** @@ -419,18 +423,22 @@ function User($user_id) */ function User_by_api_key($api_key) { - return DB::selectOne('SELECT * FROM `User` WHERE `api_key`=? LIMIT 1', [$api_key]); + $user = DB::selectOne('SELECT * FROM `User` WHERE `api_key`=? LIMIT 1', [$api_key]); + + return empty($user) ? null : $user; } /** * Returns User by email. * * @param string $email - * @return array|null Matching user, null on error + * @return array|null Matching user, null when not found */ function User_by_email($email) { - return DB::selectOne('SELECT * FROM `User` WHERE `email`=? LIMIT 1', [$email]); + $user = DB::selectOne('SELECT * FROM `User` WHERE `email`=? LIMIT 1', [$email]); + + return empty($user) ? null : $user; } /** @@ -441,7 +449,9 @@ function User_by_email($email) */ function User_by_password_recovery_token($token) { - return DB::selectOne('SELECT * FROM `User` WHERE `password_recovery_token`=? LIMIT 1', [$token]); + $user = DB::selectOne('SELECT * FROM `User` WHERE `password_recovery_token`=? LIMIT 1', [$token]); + + return empty($user) ? null : $user; } /** diff --git a/includes/pages/admin_active.php b/includes/pages/admin_active.php index 2616de6c..33a7e01e 100644 --- a/includes/pages/admin_active.php +++ b/includes/pages/admin_active.php @@ -101,7 +101,7 @@ function admin_active() if ($request->has('active') && preg_match('/^\d+$/', $request->input('active'))) { $user_id = $request->input('active'); $user_source = User($user_id); - if ($user_source != null) { + if (!empty($user_source)) { DB::update('UPDATE `User` SET `Aktiv`=1 WHERE `UID`=? LIMIT 1', [$user_id]); engelsystem_log('User ' . User_Nick_render($user_source) . ' is active now.'); $msg = success(_('Angel has been marked as active.'), true); @@ -111,7 +111,7 @@ function admin_active() } elseif ($request->has('not_active') && preg_match('/^\d+$/', $request->input('not_active'))) { $user_id = $request->input('not_active'); $user_source = User($user_id); - if ($user_source != null) { + if (!empty($user_source)) { DB::update('UPDATE `User` SET `Aktiv`=0 WHERE `UID`=? LIMIT 1', [$user_id]); engelsystem_log('User ' . User_Nick_render($user_source) . ' is NOT active now.'); $msg = success(_('Angel has been marked as not active.'), true); @@ -121,7 +121,7 @@ function admin_active() } elseif ($request->has('tshirt') && preg_match('/^\d+$/', $request->input('tshirt'))) { $user_id = $request->input('tshirt'); $user_source = User($user_id); - if ($user_source != null) { + if (!empty($user_source)) { DB::update('UPDATE `User` SET `Tshirt`=1 WHERE `UID`=? LIMIT 1', [$user_id]); engelsystem_log('User ' . User_Nick_render($user_source) . ' has tshirt now.'); $msg = success(_('Angel has got a t-shirt.'), true); @@ -131,7 +131,7 @@ function admin_active() } elseif ($request->has('not_tshirt') && preg_match('/^\d+$/', $request->input('not_tshirt'))) { $user_id = $request->input('not_tshirt'); $user_source = User($user_id); - if ($user_source != null) { + if (!empty($user_source)) { DB::update('UPDATE `User` SET `Tshirt`=0 WHERE `UID`=? LIMIT 1', [$user_id]); engelsystem_log('User ' . User_Nick_render($user_source) . ' has NO tshirt.'); $msg = success(_('Angel has got no t-shirt.'), true); @@ -252,8 +252,8 @@ function admin_active() $gc = array_shift($gc); $shirt_statistics[] = [ - 'size' => $size, - 'given' => (int)$gc + 'size' => $size, + 'given' => (int)$gc ]; } } @@ -261,8 +261,8 @@ function admin_active() $shirtCount = User_tshirts_count(); $shirt_statistics[] = [ - 'size' => '<b>' . _('Sum') . '</b>', - 'given' => '<b>' . $shirtCount . '</b>' + 'size' => '<b>' . _('Sum') . '</b>', + 'given' => '<b>' . $shirtCount . '</b>' ]; return page_with_title(admin_active_title(), [ @@ -288,8 +288,8 @@ function admin_active() ], $matched_users), '<h2>' . _('Shirt statistics') . '</h2>', table([ - 'size' => _('Size'), - 'given' => _('Given shirts') + 'size' => _('Size'), + 'given' => _('Given shirts') ], $shirt_statistics) ]); } diff --git a/includes/pages/admin_arrive.php b/includes/pages/admin_arrive.php index e925bfd4..b1c38453 100644 --- a/includes/pages/admin_arrive.php +++ b/includes/pages/admin_arrive.php @@ -27,7 +27,7 @@ function admin_arrive() if ($request->has('reset') && preg_match('/^\d+$/', $request->input('reset'))) { $user_id = $request->input('reset'); $user_source = User($user_id); - if ($user_source != null) { + if (!empty($user_source)) { DB::update(' UPDATE `User` SET `Gekommen`=0, `arrival_date` = NULL @@ -43,7 +43,7 @@ function admin_arrive() } elseif ($request->has('arrived') && preg_match('/^\d+$/', $request->input('arrived'))) { $user_id = $request->input('arrived'); $user_source = User($user_id); - if ($user_source != null) { + if (!empty($user_source)) { DB::update(' UPDATE `User` SET `Gekommen`=1, `arrival_date`=? @@ -84,7 +84,7 @@ function admin_arrive() } $usr['nick'] = User_Nick_render($usr); - if ($usr['planned_departure_date'] != null) { + if (!is_null($usr['planned_departure_date'])) { $usr['rendered_planned_departure_date'] = date('Y-m-d', $usr['planned_departure_date']); } else { $usr['rendered_planned_departure_date'] = '-'; @@ -110,7 +110,7 @@ function admin_arrive() $arrival_count_at_day[$day]++; } - if ($usr['planned_arrival_date'] != null) { + if (!is_null($usr['planned_arrival_date'])) { $day = date('Y-m-d', $usr['planned_arrival_date']); if (!isset($planned_arrival_count_at_day[$day])) { $planned_arrival_count_at_day[$day] = 0; @@ -118,7 +118,7 @@ function admin_arrive() $planned_arrival_count_at_day[$day]++; } - if ($usr['planned_departure_date'] != null && $usr['Gekommen'] == 1) { + if (!is_null($usr['planned_departure_date']) && $usr['Gekommen'] == 1) { $day = date('Y-m-d', $usr['planned_departure_date']); if (!isset($planned_departure_count_at_day[$day])) { $planned_departure_count_at_day[$day] = 0; diff --git a/includes/pages/admin_questions.php b/includes/pages/admin_questions.php index 0636a1d9..2d058b0d 100644 --- a/includes/pages/admin_questions.php +++ b/includes/pages/admin_questions.php @@ -111,7 +111,7 @@ function admin_questions() 'SELECT * FROM `Questions` WHERE `QID`=? LIMIT 1', [$question_id] ); - if (!empty($question) && $question['AID'] == null) { + if (!empty($question) && empty($question['AID'])) { $answer = trim( preg_replace("/([^\p{L}\p{P}\p{Z}\p{N}\n]{1,})/ui", '', diff --git a/includes/pages/admin_rooms.php b/includes/pages/admin_rooms.php index 8144b328..bbbc24ae 100644 --- a/includes/pages/admin_rooms.php +++ b/includes/pages/admin_rooms.php @@ -55,7 +55,7 @@ function admin_rooms() if (test_request_int('id')) { $room = Room($request->input('id')); - if ($room == null) { + if (empty($room)) { redirect(page_link_to('admin_rooms')); } @@ -127,7 +127,7 @@ function admin_rooms() $needed_angeltype_info = []; foreach ($angeltypes_count as $angeltype_id => $angeltype_count) { $angeltype = AngelType($angeltype_id); - if ($angeltype != null) { + if (!empty($angeltype)) { NeededAngelType_add(null, $angeltype_id, $room_id, $angeltype_count); if ($angeltype_count > 0) { $needed_angeltype_info[] = $angeltype['name'] . ': ' . $angeltype_count; diff --git a/includes/pages/admin_shifts.php b/includes/pages/admin_shifts.php index c80603a1..3fecbcd5 100644 --- a/includes/pages/admin_shifts.php +++ b/includes/pages/admin_shifts.php @@ -53,7 +53,7 @@ function admin_shifts() if ($request->has('preview') || $request->has('back')) { if ($request->has('shifttype_id')) { $shifttype = ShiftType($request->input('shifttype_id')); - if ($shifttype == null) { + if (empty($shifttype)) { $valid = false; error(_('Please select a shift type.')); } else { diff --git a/includes/pages/admin_user.php b/includes/pages/admin_user.php index 8da09e81..514e4b1b 100644 --- a/includes/pages/admin_user.php +++ b/includes/pages/admin_user.php @@ -34,7 +34,7 @@ function admin_user() $user_id = $request->input('id'); if (!$request->has('action')) { $user_source = User($user_id); - if ($user_source == null) { + if (empty($user_source)) { error(_('This user does not exist.')); redirect(users_link()); } diff --git a/includes/pages/guest_login.php b/includes/pages/guest_login.php index bed42ee5..47e16915 100644 --- a/includes/pages/guest_login.php +++ b/includes/pages/guest_login.php @@ -279,7 +279,7 @@ function guest_register() } // If a welcome message is present, display registration success page. - if ($event_config != null && $event_config['event_welcome_msg'] != null) { + if (!empty($event_config) && !empty($event_config['event_welcome_msg'])) { return User_registration_success_view($event_config['event_welcome_msg']); } @@ -289,7 +289,7 @@ function guest_register() $buildup_start_date = time(); $teardown_end_date = null; - if ($event_config != null) { + if (!empty($event_config)) { if (isset($event_config['buildup_start_date'])) { $buildup_start_date = $event_config['buildup_start_date']; } diff --git a/includes/pages/user_atom.php b/includes/pages/user_atom.php index c36e1dfd..9934fb92 100644 --- a/includes/pages/user_atom.php +++ b/includes/pages/user_atom.php @@ -16,7 +16,7 @@ function user_atom() $key = $request->input('key'); $user = User_by_api_key($key); - if ($user == null) { + if (empty($user)) { engelsystem_error('Key invalid.'); } if (!in_array('atom', privileges_for_user($user['UID']))) { diff --git a/includes/pages/user_ical.php b/includes/pages/user_ical.php index 69a260a2..3430c3b3 100644 --- a/includes/pages/user_ical.php +++ b/includes/pages/user_ical.php @@ -14,7 +14,7 @@ function user_ical() $key = $request->input('key'); $user = User_by_api_key($key); - if ($user == null) { + if (empty($user)) { engelsystem_error('Key invalid.'); } diff --git a/includes/pages/user_myshifts.php b/includes/pages/user_myshifts.php index f605792f..5819f5c6 100644 --- a/includes/pages/user_myshifts.php +++ b/includes/pages/user_myshifts.php @@ -32,7 +32,6 @@ function user_myshifts() } $shifts_user = DB::selectOne('SELECT * FROM `User` WHERE `UID`=? LIMIT 1', [$shift_entry_id]); - if ($request->has('reset')) { if ($request->input('reset') == 'ack') { User_reset_api_key($user); diff --git a/includes/pages/user_settings.php b/includes/pages/user_settings.php index bdc8b70d..b3a5bdf5 100644 --- a/includes/pages/user_settings.php +++ b/includes/pages/user_settings.php @@ -215,7 +215,7 @@ function user_settings() $buildup_start_date = null; $teardown_end_date = null; $event_config = EventConfig(); - if ($event_config != null) { + if (!empty($event_config)) { if (isset($event_config['buildup_start_date'])) { $buildup_start_date = $event_config['buildup_start_date']; } diff --git a/includes/pages/user_shifts.php b/includes/pages/user_shifts.php index f3ffd501..186301db 100644 --- a/includes/pages/user_shifts.php +++ b/includes/pages/user_shifts.php @@ -47,7 +47,7 @@ function user_shifts() function update_ShiftsFilter_timerange(ShiftsFilter $shiftsFilter, $days) { $start_time = $shiftsFilter->getStartTime(); - if ($start_time == null) { + if (is_null($start_time)) { $start_time = time(); } @@ -177,18 +177,19 @@ function view_user_shifts() $rooms = load_rooms(); $types = load_types(); - if (!$session->has('ShiftsFilter')) { + if (!$session->has('shifts-filter')) { $room_ids = [ $rooms[0]['id'] ]; $type_ids = array_map('get_ids_from_array', $types); $shiftsFilter = new ShiftsFilter(in_array('user_shifts_admin', $privileges), $room_ids, $type_ids); - $session->set('ShiftsFilter', $shiftsFilter); + $session->set('shifts-filter', $shiftsFilter->sessionExport()); } - /** @var ShiftsFilter $shiftsFilter */ - $shiftsFilter = $session->get('ShiftsFilter'); + $shiftsFilter = new ShiftsFilter(); + $shiftsFilter->sessionImport($session->get('shifts-filter')); update_ShiftsFilter($shiftsFilter, in_array('user_shifts_admin', $privileges), $days); + $session->set('shifts-filter', $shiftsFilter->sessionExport()); $shiftCalendarRenderer = shiftCalendarRendererByShiftFilter($shiftsFilter); diff --git a/includes/sys_page.php b/includes/sys_page.php index 33ec18b9..55fb3b38 100644 --- a/includes/sys_page.php +++ b/includes/sys_page.php @@ -42,9 +42,10 @@ function check_request_datetime($date_name, $time_name, $allowed_days, $default_ function parse_date($pattern, $value) { $datetime = DateTime::createFromFormat($pattern, trim($value)); - if ($datetime == null) { + if (!$datetime) { return null; } + return $datetime->getTimestamp(); } diff --git a/includes/view/AngelTypes_view.php b/includes/view/AngelTypes_view.php index 6cefbb24..93fa03b5 100644 --- a/includes/view/AngelTypes_view.php +++ b/includes/view/AngelTypes_view.php @@ -28,9 +28,9 @@ function AngelType_name_render($angeltype) */ function AngelType_render_membership($user_angeltype) { - if ($user_angeltype['user_angeltype_id'] != null) { + if (!empty($user_angeltype['user_angeltype_id'])) { if ($user_angeltype['restricted']) { - if ($user_angeltype['confirm_user_id'] == null) { + if (empty($user_angeltype['confirm_user_id'])) { return glyph('lock') . _('Unconfirmed'); } elseif ($user_angeltype['supporter']) { return glyph_bool(true) . _('Supporter'); @@ -145,18 +145,18 @@ function AngelType_view_buttons($angeltype, $user_angeltype, $admin_angeltypes, ); } - if ($user_angeltype == null) { + if (is_null($user_angeltype)) { $buttons[] = button( page_link_to('user_angeltypes', ['action' => 'add', 'angeltype_id' => $angeltype['id']]), _('join'), 'add' ); } else { - if ($angeltype['requires_driver_license'] && $user_driver_license == null) { + if ($angeltype['requires_driver_license'] && empty($user_driver_license)) { error(_('This angeltype requires a driver license. Please enter your driver license information!')); } - if ($angeltype['restricted'] && $user_angeltype['confirm_user_id'] == null) { + if ($angeltype['restricted'] && empty($user_angeltype['confirm_user_id'])) { error(sprintf( _('You are unconfirmed for this angeltype. Please go to the introduction for %s to get confirmed.'), $angeltype['name'] @@ -212,7 +212,7 @@ function AngelType_view_members($angeltype, $members, $admin_user_angeltypes, $a $member['has_license_forklift'] = glyph_bool($member['has_license_forklift']); } - if ($angeltype['restricted'] && $member['confirm_user_id'] == null) { + if ($angeltype['restricted'] && empty($member['confirm_user_id'])) { $member['actions'] = table_buttons([ button( page_link_to( @@ -526,7 +526,7 @@ function AngelTypes_about_view_angeltype($angeltype) if (isset($angeltype['user_angeltype_id'])) { $buttons = []; - if ($angeltype['user_angeltype_id'] != null) { + if (!empty($angeltype['user_angeltype_id'])) { $buttons[] = button( page_link_to( 'user_angeltypes', diff --git a/includes/view/EventConfig_view.php b/includes/view/EventConfig_view.php index 25c4b225..fe6de670 100644 --- a/includes/view/EventConfig_view.php +++ b/includes/view/EventConfig_view.php @@ -8,7 +8,7 @@ */ function EventConfig_countdown_page($event_config) { - if ($event_config == null) { + if (empty($event_config)) { return div('col-md-12 text-center', [ heading(sprintf(_('Welcome to the %s!'), '<span class="icon-icon_angel"></span> ENGELSYSTEM'), 2) ]); @@ -16,7 +16,7 @@ function EventConfig_countdown_page($event_config) $elements = []; - if ($event_config['event_name'] != null) { + if (!is_null($event_config['event_name'])) { $elements[] = div('col-sm-12 text-center', [ heading(sprintf( _('Welcome to the %s!'), @@ -25,7 +25,7 @@ function EventConfig_countdown_page($event_config) ]); } - if ($event_config['buildup_start_date'] != null && time() < $event_config['buildup_start_date']) { + if (!is_null($event_config['buildup_start_date']) && time() < $event_config['buildup_start_date']) { $elements[] = div('col-sm-3 text-center hidden-xs', [ heading(_('Buildup starts'), 4), '<span class="moment-countdown text-big" data-timestamp="' . $event_config['buildup_start_date'] . '">%c</span>', @@ -33,7 +33,7 @@ function EventConfig_countdown_page($event_config) ]); } - if ($event_config['event_start_date'] != null && time() < $event_config['event_start_date']) { + if (!is_null($event_config['event_start_date']) && time() < $event_config['event_start_date']) { $elements[] = div('col-sm-3 text-center hidden-xs', [ heading(_('Event starts'), 4), '<span class="moment-countdown text-big" data-timestamp="' . $event_config['event_start_date'] . '">%c</span>', @@ -41,7 +41,7 @@ function EventConfig_countdown_page($event_config) ]); } - if ($event_config['event_end_date'] != null && time() < $event_config['event_end_date']) { + if (!is_null($event_config['event_end_date']) && time() < $event_config['event_end_date']) { $elements[] = div('col-sm-3 text-center hidden-xs', [ heading(_('Event ends'), 4), '<span class="moment-countdown text-big" data-timestamp="' . $event_config['event_end_date'] . '">%c</span>', @@ -49,7 +49,7 @@ function EventConfig_countdown_page($event_config) ]); } - if ($event_config['teardown_end_date'] != null && time() < $event_config['teardown_end_date']) { + if (!is_null($event_config['teardown_end_date']) && time() < $event_config['teardown_end_date']) { $elements[] = div('col-sm-3 text-center hidden-xs', [ heading(_('Teardown ends'), 4), '<span class="moment-countdown text-big" data-timestamp="' . $event_config['teardown_end_date'] . '">%c</span>', @@ -68,15 +68,15 @@ function EventConfig_countdown_page($event_config) */ function EventConfig_info($event_config) { - if ($event_config == null) { + if (empty($event_config)) { return ''; } // Event name, start+end date are set if ( - $event_config['event_name'] != null - && $event_config['event_start_date'] != null - && $event_config['event_end_date'] != null + !is_null($event_config['event_name']) + && !is_null($event_config['event_start_date']) + && !is_null($event_config['event_end_date']) ) { return sprintf( _('%s, from %s to %s'), @@ -87,7 +87,7 @@ function EventConfig_info($event_config) } // Event name, start date are set - if ($event_config['event_name'] != null && $event_config['event_start_date'] != null) { + if (!is_null($event_config['event_name']) && !is_null($event_config['event_start_date'])) { return sprintf( _('%s, starting %s'), $event_config['event_name'], date(_('Y-m-d'), $event_config['event_start_date']) @@ -95,7 +95,7 @@ function EventConfig_info($event_config) } // Event start+end date are set - if ($event_config['event_start_date'] != null && $event_config['event_end_date'] != null) { + if (!is_null($event_config['event_start_date']) && !is_null($event_config['event_end_date'])) { return sprintf( _('Event from %s to %s'), date(_('Y-m-d'), $event_config['event_start_date']), @@ -104,7 +104,7 @@ function EventConfig_info($event_config) } // Only event name is set - if ($event_config['event_name'] != null) { + if (!is_null($event_config['event_name'])) { return sprintf($event_config['event_name']); } diff --git a/includes/view/ShiftCalendarRenderer.php b/includes/view/ShiftCalendarRenderer.php index 98f40d49..731d063a 100644 --- a/includes/view/ShiftCalendarRenderer.php +++ b/includes/view/ShiftCalendarRenderer.php @@ -129,7 +129,7 @@ class ShiftCalendarRenderer */ public function getBlocksPerSlot() { - if ($this->blocksPerSlot == null) { + if (is_null($this->blocksPerSlot)) { $this->blocksPerSlot = $this->calcBlocksPerSlot(); } return $this->blocksPerSlot; diff --git a/includes/view/ShiftCalendarShiftRenderer.php b/includes/view/ShiftCalendarShiftRenderer.php index 8bfb18ea..9643f195 100644 --- a/includes/view/ShiftCalendarShiftRenderer.php +++ b/includes/view/ShiftCalendarShiftRenderer.php @@ -116,7 +116,7 @@ class ShiftCalendarShiftRenderer $angeltype, $user ); - if ($shift_signup_state == null) { + if (is_null($shift_signup_state)) { $shift_signup_state = $angeltype_signup_state; } else { $shift_signup_state->combineWith($angeltype_signup_state); @@ -124,7 +124,7 @@ class ShiftCalendarShiftRenderer $html .= $angeltype_html; } } - if ($shift_signup_state == null) { + if (is_null($shift_signup_state)) { $shift_signup_state = new ShiftSignupState(ShiftSignupState::SHIFT_ENDED, 0); } diff --git a/includes/view/Shifts_view.php b/includes/view/Shifts_view.php index 755fab74..c5680578 100644 --- a/includes/view/Shifts_view.php +++ b/includes/view/Shifts_view.php @@ -50,14 +50,14 @@ function Shift_view_header($shift, $room) function Shift_editor_info_render($shift) { $info = []; - if ($shift['created_by_user_id'] != null) { + if (!empty($shift['created_by_user_id'])) { $info[] = sprintf( glyph('plus') . _('created at %s by %s'), date('Y-m-d H:i', $shift['created_at_timestamp']), User_Nick_render(User($shift['created_by_user_id'])) ); } - if ($shift['edited_by_user_id'] != null) { + if (!empty($shift['edited_by_user_id'])) { $info[] = sprintf( glyph('pencil') . _('edited at %s by %s'), date('Y-m-d H:i', $shift['edited_at_timestamp']), @@ -77,13 +77,13 @@ function Shift_signup_button_render($shift, $angeltype, $user_angeltype = null) { global $user; - if ($user_angeltype == null) { + if (empty($user_angeltype)) { $user_angeltype = UserAngelType_by_User_and_AngelType($user, $angeltype); } if ($angeltype['shift_signup_state']->isSignupAllowed()) { return button(shift_entry_create_link($shift, $angeltype), _('Sign up')); - } elseif ($user_angeltype == null) { + } elseif (empty($user_angeltype)) { return button( page_link_to('angeltypes', ['action' => 'view', 'angeltype_id' => $angeltype['id']]), sprintf(_('Become %s'), diff --git a/includes/view/UserHintsRenderer.php b/includes/view/UserHintsRenderer.php index a2bc62f9..8d749ee9 100644 --- a/includes/view/UserHintsRenderer.php +++ b/includes/view/UserHintsRenderer.php @@ -36,7 +36,7 @@ class UserHintsRenderer */ public function addHint($hint, $important = false) { - if ($hint != null && $hint != '') { + if (!empty($hint)) { if ($important) { $this->important = true; $this->hints[] = error($hint, true); diff --git a/includes/view/UserWorkLog_view.php b/includes/view/UserWorkLog_view.php index 79c049b3..772d4aee 100644 --- a/includes/view/UserWorkLog_view.php +++ b/includes/view/UserWorkLog_view.php @@ -2,13 +2,18 @@ /** * Delete work log entry. - * @param User $user_source - * @param UserWorkLog $userWorkLog + * + * @param array $user_source + * @param array $userWorkLog + * @return string */ function UserWorkLog_delete_view($user_source, $userWorkLog) { return page_with_title(UserWorkLog_delete_title(), [ - info(sprintf(_('Do you want to delete the worklog entry for %s?'), User_Nick_render($user_source)), true), + info(sprintf( + _('Do you want to delete the worklog entry for %s?'), + User_Nick_render($user_source) + ), true), buttons([ button(user_link($user_source), glyph('remove') . _('cancel')), button(user_worklog_delete_link($userWorkLog, [ @@ -28,9 +33,10 @@ function UserWorkLog_delete_title() /** * Render edit table. - * - * @param User $user_source - * @param UserWorkLog $userWorkLog + * + * @param array $user_source + * @param array $userWorkLog + * @return string */ function UserWorkLog_edit_form($user_source, $userWorkLog) { @@ -46,8 +52,9 @@ function UserWorkLog_edit_form($user_source, $userWorkLog) /** * Form for edit a user work log entry. * - * @param User $user_source - * @param UserWorkLog $userWorkLog + * @param array $user_source + * @param array $userWorkLog + * @return string */ function UserWorkLog_edit_view($user_source, $userWorkLog) { @@ -63,8 +70,9 @@ function UserWorkLog_edit_view($user_source, $userWorkLog) /** * Form for adding a user work log entry. * - * @param User $user_source - * @param UserWorkLog $userWorkLog + * @param array $user_source + * @param array $userWorkLog + * @return string */ function UserWorkLog_add_view($user_source, $userWorkLog) { @@ -92,5 +100,3 @@ function UserWorkLog_add_title() { return _('Add work log entry'); } - -?>
\ No newline at end of file diff --git a/includes/view/User_view.php b/includes/view/User_view.php index 2f53e641..8eee610a 100644 --- a/includes/view/User_view.php +++ b/includes/view/User_view.php @@ -406,10 +406,21 @@ function User_view_myshift($shift, $user_source, $its_me) * @param array[] $shifts * @param array $user_source * @param bool $its_me + * @param int $tshirt_score + * @param bool $tshirt_admin + * @param array[] $user_worklogs + * @param $admin_user_worklog_privilege * @return array */ -function User_view_myshifts($shifts, $user_source, $its_me, $tshirt_score, $tshirt_admin, $user_worklogs, $admin_user_worklog_privilege) -{ +function User_view_myshifts( + $shifts, + $user_source, + $its_me, + $tshirt_score, + $tshirt_admin, + $user_worklogs, + $admin_user_worklog_privilege +) { $myshifts_table = []; $timesum = 0; foreach ($shifts as $shift) { @@ -420,8 +431,8 @@ function User_view_myshifts($shifts, $user_source, $its_me, $tshirt_score, $tshi } } - if($its_me || $admin_user_worklog_privilege) { - foreach($user_worklogs as $worklog) { + if ($its_me || $admin_user_worklog_privilege) { + foreach ($user_worklogs as $worklog) { $myshifts_table[$worklog['work_timestamp']] = User_view_worklog($worklog, $admin_user_worklog_privilege); $timesum += $worklog['work_hours'] * 3600; } @@ -453,12 +464,15 @@ function User_view_myshifts($shifts, $user_source, $its_me, $tshirt_score, $tshi /** * Renders table entry for user work log - * @param UserWorkLog $worklog - * @param bool $admin_user_worklog_privilege + * + * @param array $worklog + * @param bool $admin_user_worklog_privilege + * @return array */ -function User_view_worklog($worklog, $admin_user_worklog_privilege) { +function User_view_worklog($worklog, $admin_user_worklog_privilege) +{ $actions = ''; - if($admin_user_worklog_privilege) { + if ($admin_user_worklog_privilege) { $actions = table_buttons([ button( user_worklog_edit_link($worklog), @@ -472,18 +486,18 @@ function User_view_worklog($worklog, $admin_user_worklog_privilege) { ) ]); } - + return [ 'date' => glyph('calendar') . date('Y-m-d', $worklog['work_timestamp']), 'duration' => '<b>' . sprintf('%.2f', $worklog['work_hours']) . '</b>', 'room' => '', 'shift_info' => _('Work log entry'), 'comment' => $worklog['comment'] . '<br>' - . sprintf( - _('Added by %s at %s'), - User_Nick_render(User($worklog['created_user_id'])), - date('Y-m-d H:i', $worklog['created_timestamp']) - ), + . sprintf( + _('Added by %s at %s'), + User_Nick_render(User($worklog['created_user_id'])), + date('Y-m-d H:i', $worklog['created_timestamp']) + ), 'actions' => $actions ]; } @@ -500,6 +514,8 @@ function User_view_worklog($worklog, $admin_user_worklog_privilege) { * @param bool $its_me * @param int $tshirt_score * @param bool $tshirt_admin + * @param bool $admin_user_worklog_privilege + * @param array[] $user_worklogs * @return string */ function User_view( @@ -517,9 +533,17 @@ function User_view( ) { $user_name = htmlspecialchars($user_source['Vorname']) . ' ' . htmlspecialchars($user_source['Name']); $myshifts_table = ''; - if($its_me || $admin_user_privilege) { - $my_shifts = User_view_myshifts($shifts, $user_source, $its_me, $tshirt_score, $tshirt_admin, $user_worklogs, $admin_user_worklog_privilege); - if(count($my_shifts) > 0) { + if ($its_me || $admin_user_privilege) { + $my_shifts = User_view_myshifts( + $shifts, + $user_source, + $its_me, + $tshirt_score, + $tshirt_admin, + $user_worklogs, + $admin_user_worklog_privilege + ); + if (count($my_shifts) > 0) { $myshifts_table = table([ 'date' => _('Day & time'), 'duration' => _('Duration'), @@ -528,7 +552,7 @@ function User_view( 'comment' => _('Comment'), 'actions' => _('Action') ], $my_shifts); - } elseif($user_source['force_active']) { + } elseif ($user_source['force_active']) { $myshifts_table = success(_('You have done enough to get a t-shirt.'), true); } } @@ -748,7 +772,7 @@ function User_angeltypes_render($user_angeltypes) $output = []; foreach ($user_angeltypes as $angeltype) { $class = 'text-success'; - if ($angeltype['restricted'] == 1 && $angeltype['confirm_user_id'] == null) { + if ($angeltype['restricted'] == 1 && empty($angeltype['confirm_user_id'])) { $class = 'text-warning'; } $output[] = '<a href="' . angeltype_link($angeltype['id']) . '" class="' . $class . '">' @@ -821,7 +845,7 @@ function render_user_departure_date_hint() { global $user; - if (!isset($user['planned_departure_date']) || $user['planned_departure_date'] == null) { + if (!isset($user['planned_departure_date']) || empty($user['planned_departure_date'])) { $text = _('Please enter your planned date of departure on your settings page to give us a feeling for teardown capacities.'); return render_profile_link($text, null, 'alert-link'); } @@ -857,7 +881,7 @@ function render_user_arrived_hint() if ($user['Gekommen'] == 0) { $event_config = EventConfig(); - if (!is_null($event_config) + if (!empty($event_config) && !is_null($event_config['buildup_start_date']) && time() > $event_config['buildup_start_date']) { return _('You are not marked as arrived. Please go to heaven\'s desk, get your angel badge and/or tell them that you arrived already.'); |