From 0159593d18c8f4fccaf76f6876c8f7d6868ac520 Mon Sep 17 00:00:00 2001 From: David Siegfried <david.siegfried@uni-vechta.de> Date: Thu, 2 Mar 2023 15:23:18 +0000 Subject: [PATCH] prevent php-warnings, closes #2243 Closes #2243 Merge request studip/studip!1476 --- app/controllers/admin/user.php | 16 ++-- app/views/admin/user/activities.php | 12 +-- app/views/admin/user/index.php | 100 ++++++++++----------- lib/models/CourseDate.class.php | 2 +- lib/plugins/engine/PluginManager.class.php | 2 +- 5 files changed, 69 insertions(+), 63 deletions(-) diff --git a/app/controllers/admin/user.php b/app/controllers/admin/user.php index dcc3690ea4b..0ceeb392f31 100644 --- a/app/controllers/admin/user.php +++ b/app/controllers/admin/user.php @@ -1280,7 +1280,7 @@ class Admin_UserController extends AuthenticatedController $this->sections = []; foreach ($memberships as $membership) { - $semester_name = $membership->course->isOpenEnded() ? _('unbegrenzt') : $membership->course->start_semester->name; + $semester_name = $membership->course->isOpenEnded() ? _('unbegrenzt') : (string)$membership->course->start_semester->name; if (!Request::get('view') || Request::get('view') === 'files') { // count files for course @@ -1290,10 +1290,15 @@ class Admin_UserController extends AuthenticatedController if ($count) { - if (!isset($course_files[$membership->seminar_id])) { - $course_files[$semester_name][$membership->course->id]['course'] = $membership->course; + if (!isset($course_files[$semester_name])) { + $course_files[$semester_name] = []; } - $course_files[$semester_name][$membership->course->id]['files'] = $count; + if (!isset($course_files[$semester_name][$membership->seminar_id])) { + $course_files[$semester_name][$membership->seminar_id] = [ + 'course' => $membership->course, + ]; + } + $course_files[$semester_name][$membership->seminar_id]['files'] = $count; } } if (in_array(Request::get('view'), words('courses closed_courses'))) { @@ -1335,6 +1340,7 @@ class Admin_UserController extends AuthenticatedController } elseif (Request::get('view') === 'priorities') { // priorities $priorities = DBManager::get()->fetchAll('SELECT * FROM `priorities` WHERE `user_id` = ?', [$user_id]); + $seminar_wait = []; } if (!empty($course_files)) { @@ -1350,7 +1356,7 @@ class Admin_UserController extends AuthenticatedController $this->sections['closed_courses'] = $closed_courses; } - if (is_array($seminar_wait) && count($seminar_wait)) { + if (!empty($seminar_wait)) { $this->sections['seminar_wait'] = $seminar_wait; } diff --git a/app/views/admin/user/activities.php b/app/views/admin/user/activities.php index d21c85f2afd..0357b86561d 100644 --- a/app/views/admin/user/activities.php +++ b/app/views/admin/user/activities.php @@ -29,10 +29,10 @@ <?= htmlReady($query['value']) ?> </td> <td> - <? if ($query['details']) : ?> + <? if (!empty($query['details'])) : ?> <a href="<?= $controller->url_for('admin/user/activities/' . $user['user_id'], ['view' => $query['details']] + $params) ?>" <?= Request::isXhr() ? 'data-dialog="size=50%"' : ''?>> - <?= Icon::create('info-circle', 'clickable', ['title' => _('Übersicht anzeigen')])->asImg('16') ?> + <?= Icon::create('info-circle')->asImg(['title' => _('Übersicht anzeigen')]) ?> </a> <? endif ?> </td> @@ -42,7 +42,7 @@ </section> <? if (Request::get('view') !== 'files') : ?> - <? if (Request::get('view') == 'courses') : ?> + <? if (Request::get('view') === 'courses') : ?> <?= $this->render_partial('admin/user/_course_list.php', ['memberships' => $sections['courses'], 'headline' => _('Übersicht Veranstaltungen'), @@ -57,11 +57,11 @@ <? endif ?> - <? if (Request::get('view') == 'seminar_wait') : ?> + <? if (Request::get('view') === 'seminar_wait' && !empty($sections['seminar_wait'])) : ?> <?= $this->render_partial('admin/user/_waiting_list.php', ['memberships' => $sections['seminar_wait']]) ?> <? endif ?> - <? if (Request::get('view') == 'priorities') : ?> + <? if (Request::get('view') === 'priorities' && !empty($sections['priorities'])) : ?> <?= $this->render_partial('admin/user/_priority_list.php', ['priorities' => $sections['priorities']]) ?> <? endif ?> <? endif ?> @@ -70,7 +70,7 @@ <?= $this->render_partial('admin/user/_course_files.php', ['course_files' => $sections['course_files']]) ?> <? endif ?> - <? if ($sections['institutes']) : ?> + <? if (!empty($sections['institutes'])) : ?> <?= $this->render_partial('admin/user/_institute_files.php', ['institutes' => $sections['institutes']]) ?> <? endif ?> <? endif ?> diff --git a/app/views/admin/user/index.php b/app/views/admin/user/index.php index bac2b527151..aaafc4b662c 100644 --- a/app/views/admin/user/index.php +++ b/app/views/admin/user/index.php @@ -45,11 +45,11 @@ use Studip\Button; <?= _('Status')?> <select name="perm"> - <? foreach(words('alle user autor tutor dozent admin root') as $one): ?> - <option value="<?= $one ?>" <?= (!empty($request['perm']) && $request['perm'] === $one) ? 'selected' : '' ?>> - <?= ($one === 'alle') ? _('alle') : $one ?> - </option> - <? endforeach; ?> + <? foreach(words('alle user autor tutor dozent admin root') as $one): ?> + <option value="<?= $one ?>" <?= (!empty($request['perm']) && $request['perm'] === $one) ? 'selected' : '' ?>> + <?= ($one === 'alle') ? _('alle') : $one ?> + </option> + <? endforeach; ?> </select> </label> @@ -58,11 +58,11 @@ use Studip\Button; <div class="hgroup"> <select name="inaktiv" class="size-s"> - <? foreach(['<=' => '>=', '=' => '=', '>' => '<', 'nie' =>_('nie')] as $i => $one): ?> - <option value="<?= htmlready($i) ?>" <?= (!empty($request['inaktiv'][0]) && $request['inaktiv'][0] === $i) ? 'selected' : '' ?>> - <?= htmlReady($one) ?> - </option> - <? endforeach; ?> + <? foreach(['<=' => '>=', '=' => '=', '>' => '<', 'nie' =>_('nie')] as $i => $one): ?> + <option value="<?= htmlready($i) ?>" <?= (!empty($request['inaktiv'][0]) && $request['inaktiv'][0] === $i) ? 'selected' : '' ?>> + <?= htmlReady($one) ?> + </option> + <? endforeach; ?> </select> <input name="inaktiv_tage" type="number" id="inactive" @@ -100,11 +100,11 @@ use Studip\Button; <option value="null-domain" <?= $request['userdomains'] === 'null-domain' ? 'selected' : '' ?>> <?= _('Ohne Domäne') ?> </option> - <? foreach ($userdomains as $one): ?> - <option value="<?= htmlReady($one->id) ?>" <?= $request['userdomains'] === $one->id ? 'selected' : ''?>> - <?= htmlReady($one->name ?: $one->id) ?> - </option> - <? endforeach; ?> + <? foreach ($userdomains as $one): ?> + <option value="<?= htmlReady($one->id) ?>" <?= $request['userdomains'] === $one->id ? 'selected' : ''?>> + <?= htmlReady($one->name ?: $one->id) ?> + </option> + <? endforeach; ?> </select> </label> @@ -149,51 +149,51 @@ use Studip\Button; <label class="col-3"> <?= _('Authentifizierung') ?> <select name="auth_plugins"> - <option value=""><?= _('Alle') ?></option> - <? foreach (array_merge(['preliminary' => _('vorläufig')], $available_auth_plugins) as $key => $val): ?> - <option value="<?= $key ?>" <?= $request['auth_plugins'] === $key ? 'selected' : '' ?>> - <?= htmlReady($val) ?> - </option> - <? endforeach; ?> + <option value=""><?= _('Alle') ?></option> + <? foreach (array_merge(['preliminary' => _('vorläufig')], $available_auth_plugins) as $key => $val): ?> + <option value="<?= $key ?>" <?= $request['auth_plugins'] === $key ? 'selected' : '' ?>> + <?= htmlReady($val) ?> + </option> + <? endforeach; ?> </select> </label> - <? foreach ($datafields as $datafield): ?> - <label class="col-3"> - <?= htmlReady($datafield->name) ?> + <? foreach ($datafields as $datafield): ?> + <label class="col-3"> + <?= htmlReady($datafield->name) ?> - <? if ($datafield->type === 'bool'): ?> - <section class="hgroup"> + <? if ($datafield->type === 'bool'): ?> + <section class="hgroup"> <span class="col-2"> - <input type="radio" name="<?= $datafield->id ?>" value="" <?= (mb_strlen($request[$datafield->id]) === 0) ? 'checked' : '' ?>> + <input type="radio" name="<?= $datafield->id ?>" value="" <?= isset($request[$datafield->id]) && mb_strlen($request[$datafield->id]) === 0 ? 'checked' : '' ?>> <?= _('egal') ?> </span> - <span class="col-2"> - <input type="radio" name="<?= $datafield->id ?>" value="1" <?= ($request[$datafield->id] === '1') ? 'checked' : '' ?>> + <span class="col-2"> + <input type="radio" name="<?= $datafield->id ?>" value="1" <?= (!empty($request[$datafield->id]) && $request[$datafield->id] === '1') ? 'checked' : '' ?>> <?= _('ja') ?> </span> - <span class="col-2"> - <input type="radio" name="<?= $datafield->id ?>" value="0" <?= ($request[$datafield->id] === '0') ? 'checked' : '' ?>> + <span class="col-2"> + <input type="radio" name="<?= $datafield->id ?>" value="0" <?= isset($request[$datafield->id]) && $request[$datafield->id] === '0' ? 'checked' : '' ?>> <?= _('nein') ?> </span> - </section> - <? elseif ($datafield->type === 'selectbox' || $datafield->type === 'radio') : ?> - <? $datafield_entry = DataFieldEntry::createDataFieldEntry($datafield);?> - <? [$type_param, $is_assoc_param] = $datafield_entry->getParameters(); ?> - <select name="<?= $datafield->id ?>"> - <option value="---ignore---"><?= _('alle') ?></option> - <? foreach ($type_param as $pkey => $pval) :?> - <? $value = $is_assoc_param ? (string) $pkey : $pval; ?> - <option value="<?= $value ?>" <?= ($request[$datafield->id] === $value) ? 'selected' : '' ?>> - <?= htmlReady($pval) ?> - </option> - <? endforeach ?> - </select> - <? else : ?> - <input type="text" name="<?= htmlReady($datafield->id) ?>" value="<?= htmlReady($request[$datafield->id] ?? '') ?>"> - <? endif ?> - </label> - <? endforeach; ?> + </section> + <? elseif ($datafield->type === 'selectbox' || $datafield->type === 'radio') : ?> + <? $datafield_entry = DataFieldEntry::createDataFieldEntry($datafield);?> + <? [$type_param, $is_assoc_param] = $datafield_entry->getParameters(); ?> + <select name="<?= $datafield->id ?>"> + <option value="---ignore---"><?= _('alle') ?></option> + <? foreach ($type_param as $pkey => $pval) :?> + <? $value = $is_assoc_param ? (string) $pkey : $pval; ?> + <option value="<?= $value ?>" <?= isset($request[$datafield->id]) && $request[$datafield->id] === $value ? 'selected' : '' ?>> + <?= htmlReady($pval) ?> + </option> + <? endforeach ?> + </select> + <? else : ?> + <input type="text" name="<?= htmlReady($datafield->id) ?>" value="<?= htmlReady($request[$datafield->id] ?? '') ?>"> + <? endif ?> + </label> + <? endforeach; ?> <? if(!empty($roles)) :?> <label class="col-3"> <?= _('Rollen')?> @@ -209,7 +209,7 @@ use Studip\Button; <? endif?> <label> <input type="checkbox" name="show_only_not_lectures" value="1" - <?= (!empty($request['show_only_not_lectures'])) ? 'checked' : '' ?>> + <?= (!empty($request['show_only_not_lectures'])) ? 'checked' : '' ?>> <?= _('Nur Personen anzeigen, die in keiner Veranstaltung Lehrende sind')?> </label> </fieldset> diff --git a/lib/models/CourseDate.class.php b/lib/models/CourseDate.class.php index bcfe5c743a7..7f7d172f162 100644 --- a/lib/models/CourseDate.class.php +++ b/lib/models/CourseDate.class.php @@ -250,7 +250,7 @@ class CourseDate extends SimpleORMap implements PrivacyObject */ public function getTypeName() { - return $GLOBALS['TERMIN_TYP'][$this->date_typ]['name']; + return $GLOBALS['TERMIN_TYP'][$this->date_typ]['name'] ?? ''; } /** diff --git a/lib/plugins/engine/PluginManager.class.php b/lib/plugins/engine/PluginManager.class.php index 5873eb2d812..1f2d22ea31b 100644 --- a/lib/plugins/engine/PluginManager.class.php +++ b/lib/plugins/engine/PluginManager.class.php @@ -619,7 +619,7 @@ class PluginManager */ public function getPlugins ($type, $context = null) { - $user = $GLOBALS['user'] ? $GLOBALS['user']->id : 'nobody'; + $user = isset($GLOBALS['user']) ? $GLOBALS['user']->id : 'nobody'; $plugin_info = $this->getPluginInfos($type); $plugins = []; -- GitLab