From 8e9222919fa9cc06dcfbbeb10e12667c6bd95b26 Mon Sep 17 00:00:00 2001 From: Jan-Hendrik Willms Date: Mon, 30 Sep 2024 10:15:54 +0000 Subject: prevent many warnings regarding php8 on main, fixes #4631 Closes #4631 Merge request studip/studip!3448 --- app/controllers/admission/courseset.php | 4 ++-- app/controllers/course/members.php | 11 +++------ app/controllers/institute/members.php | 3 +++ app/controllers/messages.php | 2 +- app/controllers/multipersonsearch.php | 2 +- app/controllers/my_courses.php | 2 +- app/controllers/resources/room_request.php | 26 +++++++++++----------- app/views/admin/cronjobs/logs/index.php | 8 +++---- app/views/course/enrolment/apply.php | 2 +- app/views/course/management/lock.php | 2 +- app/views/course/members/awaiting_list.php | 2 +- .../course/room_requests/request_show_summary.php | 2 +- .../wizard/steps/advancedbasicdata/index.php | 6 ++--- app/views/file/add_url.php | 2 +- app/views/file/choose_file.php | 2 +- app/views/file/choose_folder_from_course.php | 2 +- app/views/file/edit.php | 2 +- app/views/file/edit_urlfile.php | 2 +- app/views/file/update.php | 2 +- app/views/institute/members/_table_body.php | 2 +- app/views/resources/booking/_add_edit_form.php | 4 +--- app/views/resources/booking/index.php | 4 ++-- .../resources/room_request/resolve_room_tr.php | 4 ++-- lib/classes/Markup.php | 7 ++++-- lib/classes/MyRealmModel.php | 2 +- lib/classes/Request.php | 7 +++--- lib/classes/Visibility.php | 4 +++- lib/classes/admission/AdmissionPriority.php | 14 +++++++++++- .../AdvancedBasicDataWizardStep.php | 8 +++---- .../coursewizardsteps/BasicDataWizardStep.php | 5 +++-- lib/classes/globalsearch/GlobalSearchCourses.php | 5 ++++- lib/classes/globalsearch/GlobalSearchForum.php | 5 ++++- lib/classes/librarysearch/LibraryDocument.php | 2 +- lib/filesystem/LibraryFile.php | 8 +++---- lib/filesystem/URLFile.php | 4 ++-- lib/models/AdmissionApplication.php | 1 + lib/models/OERHostOERSI.php | 2 +- lib/models/SemesterHoliday.php | 1 - lib/models/SeminarCycleDate.php | 2 +- lib/models/resources/ResourceRequest.php | 8 +++---- lib/visual.inc.php | 5 +++++ templates/dates/seminar_html_roomplanning.php | 2 +- templates/userfilter/display.php | 3 +-- 43 files changed, 108 insertions(+), 85 deletions(-) diff --git a/app/controllers/admission/courseset.php b/app/controllers/admission/courseset.php index 65d4247..e694a24 100644 --- a/app/controllers/admission/courseset.php +++ b/app/controllers/admission/courseset.php @@ -85,7 +85,7 @@ class Admission_CoursesetController extends AuthenticatedController $filter['semester_id'] = $this->current_semester_id != 'all' ? $this->current_semester_id : null; $filter['rule_types'] = array_keys($this->current_rule_types); $this->myInstitutes = CoursesetModel::getInstitutes($filter); - if (!$this->current_institut_id) { + if (!$this->current_institut_id && count($this->myInstitutes) > 0) { if (!isset($this->myInstitutes['all']['count']) || $this->myInstitutes['all']['count'] < 100) { $this->current_institut_id = 'all'; } else { @@ -105,7 +105,7 @@ class Admission_CoursesetController extends AuthenticatedController } foreach ($institutes as $one) { - if ($this->myInstitutes[$one]['count']) { + if (!empty($this->myInstitutes[$one]['count'])) { $sets = CourseSet::getCoursesetsByInstituteId($one, $filter); foreach ($sets as $set) { $courseset = new CourseSet($set['set_id']); diff --git a/app/controllers/course/members.php b/app/controllers/course/members.php index c405d42..a3f454d 100644 --- a/app/controllers/course/members.php +++ b/app/controllers/course/members.php @@ -2148,16 +2148,11 @@ class Course_MembersController extends AuthenticatedController /** * Get the position out of the database - * @param String $user_id - * @return int */ - private function getPosition($user_id): ?int + private function getPosition(string $user_id): int { - $membership = CourseMember::findByUser($user_id); - if ($membership) { - return (int)$membership->position; - } - return 0; + $membership = CourseMember::find([$this->course_id, $user_id]); + return $membership->position ?? 0; } private function getLogLevel($direction, $status) diff --git a/app/controllers/institute/members.php b/app/controllers/institute/members.php index 4158478..d5d991d 100644 --- a/app/controllers/institute/members.php +++ b/app/controllers/institute/members.php @@ -261,6 +261,9 @@ class Institute_MembersController extends AuthenticatedController // Find members $institut_members = $this->institute->members->filter(function ($member) use ($group) { + if (!$member->user) { + return false; + } if ($member->inst_perms === 'user') { return false; } diff --git a/app/controllers/messages.php b/app/controllers/messages.php index 17ad4ce..d9d71da 100644 --- a/app/controllers/messages.php +++ b/app/controllers/messages.php @@ -312,7 +312,7 @@ class MessagesController extends AuthenticatedController { $params['status'] = explode(',', Request::get('who', '')); } if ($filter === 'all' || $filter === 'send_sms_to_all') { - if ($params['status']) { + if (!empty($params['status'])) { $additional .= ' AND seminar_user.status IN ( :status )'; } $query = "SELECT user_id, 'rec' AS snd_rec diff --git a/app/controllers/multipersonsearch.php b/app/controllers/multipersonsearch.php index ecbcf27..3aa50c6 100644 --- a/app/controllers/multipersonsearch.php +++ b/app/controllers/multipersonsearch.php @@ -31,7 +31,7 @@ class MultipersonsearchController extends AuthenticatedController if (mb_strlen($searchterm) >= 3) { $mp = MultiPersonSearch::load($name); $searchObject = $mp->getSearchObject(); - if (isset($searchObject)) { + if (isset($searchObject) && !is_bool($searchObject)) { $result = array_map(function ($r) { return $r['user_id']; }, $searchObject->getResults($searchterm, [], 50)); diff --git a/app/controllers/my_courses.php b/app/controllers/my_courses.php index c3a3c03..d856ad4 100644 --- a/app/controllers/my_courses.php +++ b/app/controllers/my_courses.php @@ -383,7 +383,7 @@ class MyCoursesController extends AuthenticatedController if (Request::get('cmd') == 'suppose_to_kill') { // check course admission - list(,$admission_end_time) = @array_values($course->getAdmissionTimeFrame()); + $admission_end_time = $course->getAdmissionTimeFrame()['end_time'] ?? null; $admission_enabled = $course->isAdmissionEnabled(); $admission_locked = $course->isAdmissionLocked(); diff --git a/app/controllers/resources/room_request.php b/app/controllers/resources/room_request.php index 8265199..8cc8702 100644 --- a/app/controllers/resources/room_request.php +++ b/app/controllers/resources/room_request.php @@ -975,7 +975,7 @@ class Resources_RoomRequestController extends AuthenticatedController $new_begin->setTime( $begin_time_arr[0], $begin_time_arr[1], - $begin_time_arr[2] + $begin_time_arr[2] ?? 0 ); $new_end = new DateTime(); $new_end->setDate( @@ -986,7 +986,7 @@ class Resources_RoomRequestController extends AuthenticatedController $new_end->setTime( $end_time_arr[0], $end_time_arr[1], - $end_time_arr[2] + $end_time_arr[2] == 0 ); $this->request->begin = $new_begin->getTimestamp(); @@ -1606,7 +1606,7 @@ class Resources_RoomRequestController extends AuthenticatedController if ($metadate->dates) { $overlap_messages = []; foreach ($metadate->dates as $date) { - if ($date->room_booking->resource_id != $room_id) { + if (!$date->room_booking || $date->room_booking->resource_id != $room_id) { try { $booking = $room->createBooking( $this->current_user, @@ -1619,7 +1619,7 @@ class Resources_RoomRequestController extends AuthenticatedController ], null, 0, - $course_date->end_time, + $date->end_time, $this->request->preparation_time ); if ($booking instanceof ResourceBooking) { @@ -1642,7 +1642,7 @@ class Resources_RoomRequestController extends AuthenticatedController } } elseif ($range_data[0] == 'User') { $user = User::find($range_data[1]); - if (!($user instanceof User)) { + if (!$user) { PageLayout::postError( sprintf( _('Die Person mit der ID %s wurde nicht gefunden!'), @@ -1837,19 +1837,19 @@ class Resources_RoomRequestController extends AuthenticatedController { $pos = array_search($this->filter['filter_request_id'], $request_ids); $max = count($request_ids); - if($pos === 0) { - $prev_pos = $max-1; - $next_pos = $pos+1; + if ($pos === 0) { + $prev_pos = $max - 1; + $next_pos = $pos + 1; } else { - $prev_pos = $pos-1; - $next_pos = $pos+1; + $prev_pos = $pos - 1; + $next_pos = $pos + 1; - if($next_pos === $max) { + if ($next_pos === $max) { $next_pos = 0; } } - $this->prev_request = $request_ids[$prev_pos]; - $this->next_request = $request_ids[$next_pos]; + $this->prev_request = $request_ids[$prev_pos] ?? null; + $this->next_request = $request_ids[$next_pos] ?? null; } protected function getSingleDateDataForExportRow(CourseDate $date) diff --git a/app/views/admin/cronjobs/logs/index.php b/app/views/admin/cronjobs/logs/index.php index f29579c..d76e153 100644 --- a/app/views/admin/cronjobs/logs/index.php +++ b/app/views/admin/cronjobs/logs/index.php @@ -27,10 +27,10 @@ use Studip\Button, Studip\LinkButton; @@ -41,7 +41,7 @@ use Studip\Button, Studip\LinkButton; - diff --git a/app/views/course/enrolment/apply.php b/app/views/course/enrolment/apply.php index 531a552..8d4ecb9 100644 --- a/app/views/course/enrolment/apply.php +++ b/app/views/course/enrolment/apply.php @@ -1,5 +1,5 @@ - +

diff --git a/app/views/course/management/lock.php b/app/views/course/management/lock.php index 6d3d7cc..bdce8a3 100644 --- a/app/views/course/management/lock.php +++ b/app/views/course/management/lock.php @@ -12,7 +12,7 @@ + value="id ?? '') ?>">
name) ?> diff --git a/app/views/course/wizard/steps/advancedbasicdata/index.php b/app/views/course/wizard/steps/advancedbasicdata/index.php index f5060b0..30d034c 100644 --- a/app/views/course/wizard/steps/advancedbasicdata/index.php +++ b/app/views/course/wizard/steps/advancedbasicdata/index.php @@ -1,4 +1,4 @@ -render_partial('basicdata/index.php', ['value' => $value]) ?> +render_partial('basicdata/index.php', ['values' => $values]) ?>
- +
diff --git a/app/views/file/add_url.php b/app/views/file/add_url.php index 8a172c9..4a0c486 100644 --- a/app/views/file/add_url.php +++ b/app/views/file/add_url.php @@ -36,7 +36,7 @@ action_url('add_files_window/' . Request::option('to_folder_id'), $options), + $controller->action_url('add_files_window/' . Request::option('to_folder_id'), $options ?? []), ['data-dialog' => ''] ) ?> diff --git a/app/views/file/choose_file.php b/app/views/file/choose_file.php index 3eb5221..8a5cebd 100644 --- a/app/views/file/choose_file.php +++ b/app/views/file/choose_file.php @@ -94,7 +94,7 @@ if (Request::get('to_folder_id')) { isReadable($GLOBALS['user']->id)) : ?> - + asImg(24) ?> asImg(24) ?> diff --git a/app/views/file/choose_folder_from_course.php b/app/views/file/choose_folder_from_course.php index 413a920..fe6bfe0 100644 --- a/app/views/file/choose_folder_from_course.php +++ b/app/views/file/choose_folder_from_course.php @@ -49,7 +49,7 @@ jQuery(function ($) { id)->getImageTag(Avatar::MEDIUM, ['style' => 'width: 20px; height: 20px;']) ?> - +