diff options
| author | Jan-Hendrik Willms <tleilax+studip@gmail.com> | 2022-10-17 14:50:20 +0000 |
|---|---|---|
| committer | Jan-Hendrik Willms <tleilax+studip@gmail.com> | 2022-10-17 14:50:20 +0000 |
| commit | 4695506d9ea6d0dce90e16f12ae0bb215ce1a01b (patch) | |
| tree | a5735282a9fa4f1a5f7112608f5b3310584eb16a /lib/classes | |
| parent | 169c42d48f6c9a3e9981dea4713ba0b9176dd41e (diff) | |
fix php8 warnings, fixes #1679
Closes #1679
Merge request studip/studip!1084
Diffstat (limited to 'lib/classes')
| -rw-r--r-- | lib/classes/ForumHelpers.php | 2 | ||||
| -rw-r--r-- | lib/classes/I18NString.php | 2 | ||||
| -rw-r--r-- | lib/classes/LinkButton.class.php | 17 | ||||
| -rw-r--r-- | lib/classes/ModulesNotification.class.php | 13 | ||||
| -rw-r--r-- | lib/classes/MultiPersonSearch.class.php | 26 | ||||
| -rw-r--r-- | lib/classes/SemBrowse.class.php | 2 | ||||
| -rw-r--r-- | lib/classes/SemClass.class.php | 3 | ||||
| -rw-r--r-- | lib/classes/SmileyFormat.php | 2 | ||||
| -rw-r--r-- | lib/classes/WikiFormat.php | 2 | ||||
| -rw-r--r-- | lib/classes/calendar/CalendarScheduleModel.php | 2 | ||||
| -rw-r--r-- | lib/classes/htmlpurifier/HTMLPurifier_Injector_TransformLinks.php | 2 |
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']); } } |
