Skip to content
Snippets Groups Projects
Commit 5b10cf62 authored by Jan-Hendrik Willms's avatar Jan-Hendrik Willms
Browse files

fixes #3562

Closes #3562

Merge request studip/studip!2444
parent 10e3c80b
No related branches found
No related tags found
No related merge requests found
...@@ -134,7 +134,7 @@ class Course_ContentmodulesController extends AuthenticatedController ...@@ -134,7 +134,7 @@ class Course_ContentmodulesController extends AuthenticatedController
Navigation::getItem('/course/admin')->setActive(true); Navigation::getItem('/course/admin')->setActive(true);
$this->render_json([ $this->render_json([
'tabs' => $template->render(), 'tabs' => $template->render(),
'position' => $active_tool->position 'position' => isset($active_tool) ? $active_tool->position : null,
]); ]);
} }
......
...@@ -8,11 +8,11 @@ ...@@ -8,11 +8,11 @@
<input type="text" <input type="text"
name="displayname" name="displayname"
value="<?= $tool && $tool['metadata'] ? htmlReady($tool['metadata']['displayname']) : ''?>" value="<?= $tool && $tool['metadata'] ? htmlReady($tool['metadata']['displayname']) : ''?>"
placeholder="<?= htmlReady($metadata['displayname']) ?>"> placeholder="<?= htmlReady($metadata['displayname'] ?? '') ?>">
</label> </label>
<div> <div>
<?= htmlReady(sprintf(_('Ursprünglicher Werkzeugname ist "%s".'), $metadata['displayname'])) ?> <?= htmlReady(sprintf(_('Ursprünglicher Werkzeugname ist "%s".'), $metadata['displayname'] ?? '')) ?>
</div> </div>
</fieldset> </fieldset>
<div data-dialog-button> <div data-dialog-button>
......
...@@ -36,17 +36,21 @@ class ForumVisit { ...@@ -36,17 +36,21 @@ class ForumVisit {
$constraints = ForumEntry::getConstraints($parent_id); $constraints = ForumEntry::getConstraints($parent_id);
if (!$constraints) {
return 0;
}
$stmt = DBManager::get()->prepare("SELECT COUNT(*) FROM forum_entries $stmt = DBManager::get()->prepare("SELECT COUNT(*) FROM forum_entries
WHERE lft >= :lft AND rgt <= :rgt AND user_id != :user_id WHERE lft >= :lft AND rgt <= :rgt AND user_id != :user_id
AND seminar_id = :seminar_id AND seminar_id = :seminar_id
AND topic_id != seminar_id AND topic_id != seminar_id
AND chdate > :lastvisit"); AND chdate > :lastvisit");
$stmt->bindParam(':user_id', $GLOBALS['user']->id); $stmt->bindValue(':user_id', $GLOBALS['user']->id);
$stmt->bindParam(':lft', $constraints['lft']); $stmt->bindValue(':lft', $constraints['lft']);
$stmt->bindParam(':rgt', $constraints['rgt']); $stmt->bindValue(':rgt', $constraints['rgt']);
$stmt->bindParam(':seminar_id', $constraints['seminar_id']); $stmt->bindValue(':seminar_id', $constraints['seminar_id']);
$stmt->bindParam(':lastvisit', $visitdate); $stmt->bindValue(':lastvisit', $visitdate);
$stmt->execute(); $stmt->execute();
......
...@@ -86,17 +86,20 @@ class I18NStringDatafield extends I18NString ...@@ -86,17 +86,20 @@ class I18NStringDatafield extends I18NString
*/ */
public static function load($object_id, $table = '', $field = '', $base = null) public static function load($object_id, $table = '', $field = '', $base = null)
{ {
if (is_null($base)) { if ($base === null) {
$df = DatafieldEntryModel::findOneBySQL( $df = DatafieldEntryModel::findOneBySQL(
"`datafield_id` = ? AND `range_id` = ? AND `sec_range_id` = ? AND `lang` = ''", "`datafield_id` = ? AND `range_id` = ? AND `sec_range_id` = ? AND `lang` = ''",
$object_id $object_id
); );
$base = $df->content ?? ''; $base = $df ? $df->content : '';
} }
$table = null; $table = null;
$field = null; $field = null;
return new self($base, self::fetchDataForField($object_id, $table, $field), return new self(
compact('object_id', 'table', 'field')); $base,
self::fetchDataForField($object_id, $table, $field),
compact('object_id', 'table', 'field')
);
} }
/** /**
......
...@@ -72,7 +72,7 @@ class User extends SchemaProvider ...@@ -72,7 +72,7 @@ class User extends SchemaProvider
foreach ($fields as list($attr, $field, $vis)) { foreach ($fields as list($attr, $field, $vis)) {
$value = $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]) ? strip_tags((string) $user[$field])
: null; : null;
yield $attr => $value; yield $attr => $value;
......
...@@ -416,10 +416,11 @@ class Seminar_Session ...@@ -416,10 +416,11 @@ class Seminar_Session
*/ */
function gc() function gc()
{ {
if ($this->module == 'user') { if ($this->module === 'user') {
//bail out if cronjob activated and not called in cli context //bail out if cronjob activated and not called in cli context
if (Config::getInstance()->getValue('CRONJOBS_ENABLE') if (
&& ($task = array_pop(CronjobTask::findByClass('SessionGcJob'))) Config::getInstance()->getValue('CRONJOBS_ENABLE')
&& ($task = CronjobTask::findOneByClass(SessionGcJob::class))
&& count($task->schedules->findBy('active', 1)) && count($task->schedules->findBy('active', 1))
&& PHP_SAPI !== 'cli' && PHP_SAPI !== 'cli'
) { ) {
......
...@@ -12,7 +12,7 @@ foreach (Navigation::getItem("/")->getSubNavigation() as $path => $nav) { ...@@ -12,7 +12,7 @@ foreach (Navigation::getItem("/")->getSubNavigation() as $path => $nav) {
<? if (!empty($navigation)): ?> <? if (!empty($navigation)): ?>
<? foreach ($navigation as $path => $nav) : ?> <? foreach ($navigation as $path => $nav) : ?>
<? if ($nav->isVisible()) : ?> <? if ($nav->isVisible()) : ?>
<li id="nav_<?= $path1 ?>_<?= $path ?>"<?= $nav->isActive() ? ' class="current"' : '' ?>> <li id="nav_<?= $path1 ?? '' ?>_<?= $path ?>"<?= $nav->isActive() ? ' class="current"' : '' ?>>
<? if ($nav->isEnabled()): ?> <? if ($nav->isEnabled()): ?>
<? <?
$attr = array_merge(['class' => ''], $nav->getLinkAttributes()); $attr = array_merge(['class' => ''], $nav->getLinkAttributes());
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment