Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F585039
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
8 KB
Referenced Files
None
Subscribers
None
View Options
diff --git a/includes/skins/SkinTemplate.php b/includes/skins/SkinTemplate.php
index c2cd66f44d6..4fd324fbfbe 100644
--- a/includes/skins/SkinTemplate.php
+++ b/includes/skins/SkinTemplate.php
@@ -429,7 +429,7 @@ class SkinTemplate extends Skin {
$personal_urls['mytalk'] = [
'text' => $this->msg( 'mytalk' )->text(),
'href' => &$usertalkUrlDetails['href'],
- 'class' => $usertalkUrlDetails['exists'] ? false : 'new',
+ 'class' => $usertalkUrlDetails['exists'] ? null : 'new',
'exists' => $usertalkUrlDetails['exists'],
'active' => ( $usertalkUrlDetails['href'] == $pageurl ),
'icon' => 'userTalk'
@@ -843,7 +843,7 @@ class SkinTemplate extends Skin {
}
$result = [
- 'class' => implode( ' ', $classes ),
+ 'class' => $classes,
'text' => $text,
'href' => $title->getLocalURL( $query ),
'exists' => $exists,
@@ -1148,7 +1148,6 @@ class SkinTemplate extends Skin {
// @todo abstract this for remote content that isn't a file
if ( $isRemoteContent ) {
$content_navigation['views']['view-foreign'] = [
- 'class' => '',
'text' => $this->getSkinNavOverrideableLabel(
'view-foreign', $page->getWikiDisplayName()
),
@@ -1186,7 +1185,7 @@ class SkinTemplate extends Skin {
$content_navigation['views']['edit'] = [
'class' => ( $isEditing && ( $section !== 'new' || !$showNewSection )
? 'selected'
- : ''
+ : null
) . $isTalkClass,
'text' => $this->getSkinNavOverrideableLabel(
"view-$msgKey"
@@ -1201,7 +1200,7 @@ class SkinTemplate extends Skin {
// Adds new section link
// $content_navigation['actions']['addsection']
$content_navigation['views']['addsection'] = [
- 'class' => ( $isEditing && $section == 'new' ) ? 'selected' : false,
+ 'class' => ( $isEditing && $section == 'new' ) ? 'selected' : null,
'text' => $this->getSkinNavOverrideableLabel(
"action-addsection"
),
@@ -1212,7 +1211,7 @@ class SkinTemplate extends Skin {
} elseif ( $title->hasSourceText() ) {
// Adds view source view link
$content_navigation['views']['viewsource'] = [
- 'class' => ( $onPage && $action == 'edit' ) ? 'selected' : false,
+ 'class' => ( $onPage && $action == 'edit' ) ? 'selected' : null,
'text' => $this->getSkinNavOverrideableLabel(
"action-viewsource"
),
@@ -1225,7 +1224,7 @@ class SkinTemplate extends Skin {
if ( $title->exists() ) {
// Adds history view link
$content_navigation['views']['history'] = [
- 'class' => ( $onPage && $action == 'history' ) ? 'selected' : false,
+ 'class' => ( $onPage && $action == 'history' ) ? 'selected' : null,
'text' => $this->getSkinNavOverrideableLabel(
'view-history'
),
@@ -1235,7 +1234,7 @@ class SkinTemplate extends Skin {
if ( $this->getAuthority()->probablyCan( 'delete', $title ) ) {
$content_navigation['actions']['delete'] = [
'icon' => 'trash',
- 'class' => ( $onPage && $action == 'delete' ) ? 'selected' : false,
+ 'class' => ( $onPage && $action == 'delete' ) ? 'selected' : null,
'text' => $this->getSkinNavOverrideableLabel(
'action-delete'
),
@@ -1249,7 +1248,7 @@ class SkinTemplate extends Skin {
if ( $this->getAuthority()->probablyCan( 'move', $title ) ) {
$moveTitle = SpecialPage::getTitleFor( 'Movepage', $title->getPrefixedDBkey() );
$content_navigation['actions']['move'] = [
- 'class' => $this->getTitle()->isSpecial( 'Movepage' ) ? 'selected' : false,
+ 'class' => $this->getTitle()->isSpecial( 'Movepage' ) ? 'selected' : null,
'text' => $this->getSkinNavOverrideableLabel(
'action-move'
),
@@ -1268,7 +1267,7 @@ class SkinTemplate extends Skin {
$msgKey = $this->getAuthority()->probablyCan( 'undelete', $title ) ?
'undelete' : 'viewdeleted';
$content_navigation['actions']['undelete'] = [
- 'class' => $this->getTitle()->isSpecial( 'Undelete' ) ? 'selected' : false,
+ 'class' => $this->getTitle()->isSpecial( 'Undelete' ) ? 'selected' : null,
'text' => $this->getSkinNavOverrideableLabel(
"action-$msgKey", $n
),
@@ -1290,7 +1289,7 @@ class SkinTemplate extends Skin {
$isProtected = $restrictionStore->isProtected( $title );
$mode = $isProtected ? 'unprotect' : 'protect';
$content_navigation['actions'][$mode] = [
- 'class' => ( $onPage && $action == $mode ) ? 'selected' : false,
+ 'class' => ( $onPage && $action == $mode ) ? 'selected' : null,
'text' => $this->getSkinNavOverrideableLabel(
"action-$mode"
),
@@ -1352,7 +1351,7 @@ class SkinTemplate extends Skin {
$varname = $pageLang->getVariantname( $code );
// Appends variant link
$content_navigation['variants'][] = [
- 'class' => ( $code == $preferred ) ? 'selected' : false,
+ 'class' => ( $code == $preferred ) ? 'selected' : null,
'text' => $varname,
'href' => $title->getLocalURL( [ 'variant' => $code ] + $params ),
'lang' => LanguageCode::bcp47( $code ),
@@ -1461,7 +1460,7 @@ class SkinTemplate extends Skin {
$specialAssociatedNavigationLinks['special-specialAssociatedNavigationLinks-link-' . $i ] = [
'text' => $text,
'href' => $relatedTitle->getLocalURL(),
- 'class' => $relatedTitle->fixSpecialName()->equals( $title->fixSpecialName() ) ? 'selected' : '',
+ 'class' => $relatedTitle->fixSpecialName()->equals( $title->fixSpecialName() ) ? 'selected' : null,
];
}
return $specialAssociatedNavigationLinks;
diff --git a/includes/skins/components/SkinComponentLink.php b/includes/skins/components/SkinComponentLink.php
index 437ec001bff..11fc07f1410 100644
--- a/includes/skins/components/SkinComponentLink.php
+++ b/includes/skins/components/SkinComponentLink.php
@@ -182,13 +182,10 @@ class SkinComponentLink implements SkinComponent {
unset( $attrs[ 'data' ] );
}
$this->applyLinkTitleAttribs( $item, true, $attrs );
- $class = $attrs['class'] ?? [];
if ( isset( $options['link-class'] ) ) {
- $class = SkinComponentUtils::addClassToClassList(
- $class, $options['link-class']
- );
+ Html::addClass( $attrs['class'], $options['link-class'] );
}
- $attrs['class'] = Html::expandClassList( $class );
+ $attrs['class'] = Html::expandClassList( $attrs['class'] ?? [] );
foreach ( $attrs as $key => $value ) {
if ( $value === null ) {
continue;
diff --git a/includes/skins/components/SkinComponentListItem.php b/includes/skins/components/SkinComponentListItem.php
index cd127985ff7..72b64fe28f3 100644
--- a/includes/skins/components/SkinComponentListItem.php
+++ b/includes/skins/components/SkinComponentListItem.php
@@ -182,11 +182,13 @@ class SkinComponentListItem implements SkinComponent {
$attrs[$attr] = $item[$attr];
}
}
- $attrs['class'] = SkinComponentUtils::addClassToClassList( $attrs['class'] ?? [], 'mw-list-item' );
-
+ if ( !isset( $attrs['class'] ) || $attrs['class'] === false ) {
+ // Compatibility
+ $attrs['class'] = null;
+ }
+ Html::addClass( $attrs['class'], 'mw-list-item' );
if ( isset( $item['active'] ) && $item['active'] ) {
- // In the future, this should accept an array of classes, not a string
- $attrs['class'] = SkinComponentUtils::addClassToClassList( $attrs['class'], 'active' );
+ Html::addClass( $attrs['class'], 'active' );
}
if ( isset( $item['itemtitle'] ) ) {
$attrs['title'] = $item['itemtitle'];
diff --git a/includes/skins/components/SkinComponentUtils.php b/includes/skins/components/SkinComponentUtils.php
index e137a286187..a81313593dd 100644
--- a/includes/skins/components/SkinComponentUtils.php
+++ b/includes/skins/components/SkinComponentUtils.php
@@ -10,24 +10,6 @@ use MediaWiki\SpecialPage\SpecialPage;
use MediaWiki\Title\Title;
class SkinComponentUtils {
- /**
- * Adds a class to the existing class value, supporting it as a string
- * or array.
- *
- * @param string|array $class to update.
- * @param string $newClass to add.
- * @return string|array classes.
- * @internal
- */
- public static function addClassToClassList( $class, string $newClass ) {
- if ( is_array( $class ) ) {
- $class[] = $newClass;
- } else {
- $class .= ' ' . $newClass;
- $class = trim( $class );
- }
- return $class;
- }
/**
* Builds query params for the page to return to, used when building links
File Metadata
Details
Attached
Mime Type
text/x-diff
Expires
Sat, Jul 5, 5:31 AM (14 h, 44 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
227488
Default Alt Text
(8 KB)
Attached To
Mode
rMW mediawiki
Attached
Detach File
Event Timeline
Log In to Comment