aboutsummaryrefslogtreecommitdiff
path: root/lib/classes
diff options
context:
space:
mode:
authorJan-Hendrik Willms <tleilax+studip@gmail.com>2022-10-17 14:50:20 +0000
committerJan-Hendrik Willms <tleilax+studip@gmail.com>2022-10-17 14:50:20 +0000
commit4695506d9ea6d0dce90e16f12ae0bb215ce1a01b (patch)
treea5735282a9fa4f1a5f7112608f5b3310584eb16a /lib/classes
parent169c42d48f6c9a3e9981dea4713ba0b9176dd41e (diff)
fix php8 warnings, fixes #1679
Closes #1679 Merge request studip/studip!1084
Diffstat (limited to 'lib/classes')
-rw-r--r--lib/classes/ForumHelpers.php2
-rw-r--r--lib/classes/I18NString.php2
-rw-r--r--lib/classes/LinkButton.class.php17
-rw-r--r--lib/classes/ModulesNotification.class.php13
-rw-r--r--lib/classes/MultiPersonSearch.class.php26
-rw-r--r--lib/classes/SemBrowse.class.php2
-rw-r--r--lib/classes/SemClass.class.php3
-rw-r--r--lib/classes/SmileyFormat.php2
-rw-r--r--lib/classes/WikiFormat.php2
-rw-r--r--lib/classes/calendar/CalendarScheduleModel.php2
-rw-r--r--lib/classes/htmlpurifier/HTMLPurifier_Injector_TransformLinks.php2
11 files changed, 40 insertions, 33 deletions
diff --git a/lib/classes/ForumHelpers.php b/lib/classes/ForumHelpers.php
index ed478ad..3054dbc 100644
--- a/lib/classes/ForumHelpers.php
+++ b/lib/classes/ForumHelpers.php
@@ -194,7 +194,7 @@ class ForumHelpers {
}
}
- return $online_status[$user_id] ?: 'offline';
+ return $online_status[$user_id] ?? 'offline';
}
/**
diff --git a/lib/classes/I18NString.php b/lib/classes/I18NString.php
index aebe1c8..b8d666b 100644
--- a/lib/classes/I18NString.php
+++ b/lib/classes/I18NString.php
@@ -332,7 +332,7 @@ class I18NString implements JsonSerializable
$data = [];
foreach (array_keys(Config::get()->CONTENT_LANGUAGES) as $lang) {
if ($lang != self::getDefaultLanguage()) {
- $data[$lang] = mb_strlen($values[$lang]) ? $values[$lang] : null;
+ $data[$lang] = $values[$lang] ?? null;
}
}
return $data;
diff --git a/lib/classes/LinkButton.class.php b/lib/classes/LinkButton.class.php
index 6d60da8..f203841 100644
--- a/lib/classes/LinkButton.class.php
+++ b/lib/classes/LinkButton.class.php
@@ -36,17 +36,16 @@ class LinkButton extends Interactable
public function __toString()
{
// add "button" to attribute @class
- $this->attributes['class'] .= ' button';
-
- $attributes = [];
- ksort($this->attributes);
- foreach ($this->attributes as $k => $v) {
- $attributes[] = sprintf(' %s="%s"', $k, htmlReady($v));
+ if (!isset($this->attributes['class'])) {
+ $this->attributes['class'] = '';
}
+ $this->attributes['class'] .= ' button';
// TODO: URLHelper...?!
- return sprintf('<a%s>%s</a>',
- join('', $attributes),
- htmlReady($this->label));
+ return sprintf(
+ '<a %s>%s</a>',
+ arrayToHtmlAttributes($this->attributes),
+ htmlReady($this->label)
+ );
}
}
diff --git a/lib/classes/ModulesNotification.class.php b/lib/classes/ModulesNotification.class.php
index ae86645..888052a 100644
--- a/lib/classes/ModulesNotification.class.php
+++ b/lib/classes/ModulesNotification.class.php
@@ -41,13 +41,18 @@ class ModulesNotification
public $registered_notification_modules = [];
public $subject;
- function __construct ()
+ public function __construct ()
{
foreach (MyRealmModel::getDefaultModules() as $id => $module) {
- if (!is_object($module)) continue;
+ if (!is_object($module)) {
+ continue;
+ }
+
+ $metadata = $module->getMetadata();
+
$this->registered_notification_modules[$id] = [
- 'icon' => $module->getMetadata()['icon'],
- 'name' => $module->getMetadata()['displayname'] ?: $module->getPluginName()
+ 'icon' => $metadata['icon'],
+ 'name' => !empty($metadata['displayname']) ? $metadata['displayname'] : $module->getPluginName(),
];
if ($module instanceof CoreOverview) {
$this->registered_notification_modules[$id]['name'] = _("Ankündigungen");
diff --git a/lib/classes/MultiPersonSearch.class.php b/lib/classes/MultiPersonSearch.class.php
index 1b37cb0..eafcdbb 100644
--- a/lib/classes/MultiPersonSearch.class.php
+++ b/lib/classes/MultiPersonSearch.class.php
@@ -83,7 +83,7 @@ class MultiPersonSearch {
* @return array containing all new persons
*/
public function getAddedUsers() {
- return $_SESSION['multipersonsearch'][$this->name]['added'] ? : [];
+ return $_SESSION['multipersonsearch'][$this->name]['added'] ?? [];
}
/**
@@ -490,17 +490,19 @@ class MultiPersonSearch {
* restores the internal data from a session.
*/
public function restoreFromSession() {
- $this->title = $_SESSION['multipersonsearch'][$this->name]['title'];
- $this->description = $_SESSION['multipersonsearch'][$this->name]['description'];
- $this->quickfilterIds = $_SESSION['multipersonsearch'][$this->name]['quickfilterIds'];
- $this->additionalHMTL = $_SESSION['multipersonsearch'][$this->name]['additionalHMTL'];
- $this->executeURL = html_entity_decode($_SESSION['multipersonsearch'][$this->name]['executeURL']);
- $this->jsFunction = $_SESSION['multipersonsearch'][$this->name]['jsFunction'];
- $this->defaultSelectableUsersIDs = $_SESSION['multipersonsearch'][$this->name]['defaultSelectableUsersIDs'];
- $this->defaultSelectedUsersIDs = $_SESSION['multipersonsearch'][$this->name]['defaultSelectedUsersIDs'];
- $this->searchObject = unserialize($_SESSION['multipersonsearch'][$this->name]['searchObject']);
- $this->navigationItem = $_SESSION['multipersonsearch'][$this->name]['navigationItem'];
- $this->dataDialogStatus = $_SESSION['multipersonsearch'][$this->name]['dataDialogStatus'];
+ if (isset($_SESSION['multipersonsearch'][$this->name])) {
+ $this->title = $_SESSION['multipersonsearch'][$this->name]['title'];
+ $this->description = $_SESSION['multipersonsearch'][$this->name]['description'];
+ $this->quickfilterIds = $_SESSION['multipersonsearch'][$this->name]['quickfilterIds'];
+ $this->additionalHMTL = $_SESSION['multipersonsearch'][$this->name]['additionalHMTL'];
+ $this->executeURL = html_entity_decode($_SESSION['multipersonsearch'][$this->name]['executeURL']);
+ $this->jsFunction = $_SESSION['multipersonsearch'][$this->name]['jsFunction'];
+ $this->defaultSelectableUsersIDs = $_SESSION['multipersonsearch'][$this->name]['defaultSelectableUsersIDs'];
+ $this->defaultSelectedUsersIDs = $_SESSION['multipersonsearch'][$this->name]['defaultSelectedUsersIDs'];
+ $this->searchObject = unserialize($_SESSION['multipersonsearch'][$this->name]['searchObject']);
+ $this->navigationItem = $_SESSION['multipersonsearch'][$this->name]['navigationItem'];
+ $this->dataDialogStatus = $_SESSION['multipersonsearch'][$this->name]['dataDialogStatus'];
+ }
}
/**
diff --git a/lib/classes/SemBrowse.class.php b/lib/classes/SemBrowse.class.php
index 12de227..f9eed7f 100644
--- a/lib/classes/SemBrowse.class.php
+++ b/lib/classes/SemBrowse.class.php
@@ -1298,7 +1298,7 @@ class SemBrowse {
}
// set default values
- if (!$_SESSION['sem_browse_data']['default_sem']) {
+ if (empty($_SESSION['sem_browse_data']['default_sem'])) {
$_SESSION['sem_browse_data']['default_sem'] =
Semester::getIndexById(self::getDefaultSemester(), true, true)
?: 'all';
diff --git a/lib/classes/SemClass.class.php b/lib/classes/SemClass.class.php
index dbbbcd7..b6ccb82 100644
--- a/lib/classes/SemClass.class.php
+++ b/lib/classes/SemClass.class.php
@@ -328,7 +328,8 @@ class SemClass implements ArrayAccess
*/
public function isModuleMandatory($module)
{
- return $this->data['modules'][$module]['sticky']
+ return isset($this->data['modules'][$module])
+ && $this->data['modules'][$module]['sticky']
&& $this->data['modules'][$module]['activated'];
}
diff --git a/lib/classes/SmileyFormat.php b/lib/classes/SmileyFormat.php
index 5b52df8..e0a9034 100644
--- a/lib/classes/SmileyFormat.php
+++ b/lib/classes/SmileyFormat.php
@@ -51,7 +51,7 @@ class SmileyFormat extends TextFormat
$smileys = Smiley::getShort();
$name = $smileys[$matches[2]] ?? '';
return $name
- ? $matches[1] . Smiley::getByName($name)->getImageTag() . $matches[3]
+ ? $matches[1] . Smiley::getByName($name)->getImageTag() . ($matches[3] ?? '')
: $matches[0];
}
}
diff --git a/lib/classes/WikiFormat.php b/lib/classes/WikiFormat.php
index 262ab65..0614010 100644
--- a/lib/classes/WikiFormat.php
+++ b/lib/classes/WikiFormat.php
@@ -99,7 +99,7 @@ class WikiFormat extends StudipFormat
$rule['start'],
$rule['end'],
$rule['callback'],
- $rule['before'] ?: null
+ $rule['before'] ?? null
);
}
}
diff --git a/lib/classes/calendar/CalendarScheduleModel.php b/lib/classes/calendar/CalendarScheduleModel.php
index 47b65c4..feb79d2 100644
--- a/lib/classes/calendar/CalendarScheduleModel.php
+++ b/lib/classes/calendar/CalendarScheduleModel.php
@@ -227,7 +227,7 @@ class CalendarScheduleModel
'title' => _("Dies ist eine vorgemerkte Veranstaltung")
];
} else {
- $entry['color'] = $details['color'] ?: ($member->gruppe % 9 + 1);
+ $entry['color'] = $details ? $details['color'] : ($member->gruppe % 9 + 1);
}
$entry['visible'] = $details ? $details['visible'] : 1;
diff --git a/lib/classes/htmlpurifier/HTMLPurifier_Injector_TransformLinks.php b/lib/classes/htmlpurifier/HTMLPurifier_Injector_TransformLinks.php
index 73e648b..59dccba 100644
--- a/lib/classes/htmlpurifier/HTMLPurifier_Injector_TransformLinks.php
+++ b/lib/classes/htmlpurifier/HTMLPurifier_Injector_TransformLinks.php
@@ -10,7 +10,7 @@ class HTMLPurifier_Injector_TransformLinks extends HTMLPurifier_Injector
public function handleElement(&$token)
{
- if ($token->name === 'a' && $token->attr['class'] === 'link-intern') {
+ if ($token->name === 'a' && isset($token->attr['class']) && $token->attr['class'] === 'link-intern') {
$token->attr['href'] = TransformInternalLinks($token->attr['href']);
}
}