diff --git a/app/controllers/course/contentmodules.php b/app/controllers/course/contentmodules.php index 7a54ee1c3b4c4130e86d3088ad04d142ed1ba696..adb3055a72b62ae6dc0de28dc4dc418da87f2dbd 100644 --- a/app/controllers/course/contentmodules.php +++ b/app/controllers/course/contentmodules.php @@ -134,7 +134,7 @@ class Course_ContentmodulesController extends AuthenticatedController Navigation::getItem('/course/admin')->setActive(true); $this->render_json([ 'tabs' => $template->render(), - 'position' => $active_tool->position + 'position' => isset($active_tool) ? $active_tool->position : null, ]); } diff --git a/app/views/course/contentmodules/rename.php b/app/views/course/contentmodules/rename.php index c7f4ef7ccd849adcea956c7ebc843513f88a7816..f2ee2488a6bc4315c5ac8da64622c60ac769d6f3 100644 --- a/app/views/course/contentmodules/rename.php +++ b/app/views/course/contentmodules/rename.php @@ -8,11 +8,11 @@ <input type="text" name="displayname" value="<?= $tool && $tool['metadata'] ? htmlReady($tool['metadata']['displayname']) : ''?>" - placeholder="<?= htmlReady($metadata['displayname']) ?>"> + placeholder="<?= htmlReady($metadata['displayname'] ?? '') ?>"> </label> <div> - <?= htmlReady(sprintf(_('Ursprünglicher Werkzeugname ist "%s".'), $metadata['displayname'])) ?> + <?= htmlReady(sprintf(_('Ursprünglicher Werkzeugname ist "%s".'), $metadata['displayname'] ?? '')) ?> </div> </fieldset> <div data-dialog-button> diff --git a/lib/classes/ForumVisit.php b/lib/classes/ForumVisit.php index 05b4b5a5ac319b1e1c5dbbab03ab3e0941360b39..06ad7c626d8b02d07d655ed31c8b39bca001e34c 100644 --- a/lib/classes/ForumVisit.php +++ b/lib/classes/ForumVisit.php @@ -36,17 +36,21 @@ class ForumVisit { $constraints = ForumEntry::getConstraints($parent_id); + if (!$constraints) { + return 0; + } + $stmt = DBManager::get()->prepare("SELECT COUNT(*) FROM forum_entries WHERE lft >= :lft AND rgt <= :rgt AND user_id != :user_id AND seminar_id = :seminar_id AND topic_id != seminar_id AND chdate > :lastvisit"); - $stmt->bindParam(':user_id', $GLOBALS['user']->id); - $stmt->bindParam(':lft', $constraints['lft']); - $stmt->bindParam(':rgt', $constraints['rgt']); - $stmt->bindParam(':seminar_id', $constraints['seminar_id']); - $stmt->bindParam(':lastvisit', $visitdate); + $stmt->bindValue(':user_id', $GLOBALS['user']->id); + $stmt->bindValue(':lft', $constraints['lft']); + $stmt->bindValue(':rgt', $constraints['rgt']); + $stmt->bindValue(':seminar_id', $constraints['seminar_id']); + $stmt->bindValue(':lastvisit', $visitdate); $stmt->execute(); diff --git a/lib/classes/I18NStringDatafield.php b/lib/classes/I18NStringDatafield.php index 5eee65d4d2aac4a5c38ad750ee3216caacb180dd..d61af27d3feda5a9f11c3446661ba86d0ac98e17 100644 --- a/lib/classes/I18NStringDatafield.php +++ b/lib/classes/I18NStringDatafield.php @@ -86,17 +86,20 @@ class I18NStringDatafield extends I18NString */ public static function load($object_id, $table = '', $field = '', $base = null) { - if (is_null($base)) { + if ($base === null) { $df = DatafieldEntryModel::findOneBySQL( "`datafield_id` = ? AND `range_id` = ? AND `sec_range_id` = ? AND `lang` = ''", $object_id ); - $base = $df->content ?? ''; + $base = $df ? $df->content : ''; } $table = null; $field = null; - return new self($base, self::fetchDataForField($object_id, $table, $field), - compact('object_id', 'table', 'field')); + return new self( + $base, + self::fetchDataForField($object_id, $table, $field), + compact('object_id', 'table', 'field') + ); } /** diff --git a/lib/classes/JsonApi/Schemas/User.php b/lib/classes/JsonApi/Schemas/User.php index 9a172ebd42f0c41e5d7344aa7e7f10260f467c63..afb8cf88048afeba98838dac0021bda7e8f81b6f 100644 --- a/lib/classes/JsonApi/Schemas/User.php +++ b/lib/classes/JsonApi/Schemas/User.php @@ -72,7 +72,7 @@ class User extends SchemaProvider foreach ($fields as list($attr, $field, $vis)) { $value = - $user[$field] && is_element_visible_for_user($observer->id, $user->id, $visibilities[$vis]) + $user[$field] && is_element_visible_for_user($observer->id, $user->id, $visibilities[$vis] ?? null) ? strip_tags((string) $user[$field]) : null; yield $attr => $value; diff --git a/lib/phplib/Seminar_Session.class.php b/lib/phplib/Seminar_Session.class.php index 4f8010739814834225979b585f91daa880625f30..8324062dbe175638febfa93ec0ab076f51c07ca3 100644 --- a/lib/phplib/Seminar_Session.class.php +++ b/lib/phplib/Seminar_Session.class.php @@ -416,10 +416,11 @@ class Seminar_Session */ function gc() { - if ($this->module == 'user') { + if ($this->module === 'user') { //bail out if cronjob activated and not called in cli context - if (Config::getInstance()->getValue('CRONJOBS_ENABLE') - && ($task = array_pop(CronjobTask::findByClass('SessionGcJob'))) + if ( + Config::getInstance()->getValue('CRONJOBS_ENABLE') + && ($task = CronjobTask::findOneByClass(SessionGcJob::class)) && count($task->schedules->findBy('active', 1)) && PHP_SAPI !== 'cli' ) { diff --git a/templates/tabs.php b/templates/tabs.php index 47f70697a0834a16628abcb7a4929ec12703d330..987e0fd1b1620fe1daa9e4c7f9015d2daf84af9d 100644 --- a/templates/tabs.php +++ b/templates/tabs.php @@ -12,7 +12,7 @@ foreach (Navigation::getItem("/")->getSubNavigation() as $path => $nav) { <? if (!empty($navigation)): ?> <? foreach ($navigation as $path => $nav) : ?> <? if ($nav->isVisible()) : ?> - <li id="nav_<?= $path1 ?>_<?= $path ?>"<?= $nav->isActive() ? ' class="current"' : '' ?>> + <li id="nav_<?= $path1 ?? '' ?>_<?= $path ?>"<?= $nav->isActive() ? ' class="current"' : '' ?>> <? if ($nav->isEnabled()): ?> <? $attr = array_merge(['class' => ''], $nav->getLinkAttributes());