aboutsummaryrefslogtreecommitdiffstats
path: root/includes/logging
diff options
context:
space:
mode:
authorUmherirrender <umherirrender_de.wp@web.de>2024-07-14 22:54:38 +0200
committerUmherirrender <umherirrender_de.wp@web.de>2025-02-13 02:30:56 +0000
commit8fc35bd4da93c837c9d0788f234b6d43c08b740a (patch)
tree28e49549b18f577472237a92a80f6df02bb3b634 /includes/logging
parentaba1ca4cc7d25193f059f23ed4f32c1c5715db27 (diff)
downloadmediawikicore-8fc35bd4da93c837c9d0788f234b6d43c08b740a.tar.gz
mediawikicore-8fc35bd4da93c837c9d0788f234b6d43c08b740a.zip
logging: Use LinkTarget in LogFormatter::getPreloadTitles overrides
Also avoid null as array item, as that is not allowed according to the return type Change-Id: I4083c55a69d6186448a13f35f18d96bfe9ffd23c
Diffstat (limited to 'includes/logging')
-rw-r--r--includes/logging/BlockLogFormatter.php23
-rw-r--r--includes/logging/MergeLogFormatter.php18
-rw-r--r--includes/logging/MoveLogFormatter.php19
-rw-r--r--includes/logging/NewUsersLogFormatter.php14
-rw-r--r--includes/logging/ProtectLogFormatter.php17
-rw-r--r--includes/logging/RenameuserLogFormatter.php12
6 files changed, 92 insertions, 11 deletions
diff --git a/includes/logging/BlockLogFormatter.php b/includes/logging/BlockLogFormatter.php
index 2bcdcb92115f..fef24be56fc5 100644
--- a/includes/logging/BlockLogFormatter.php
+++ b/includes/logging/BlockLogFormatter.php
@@ -28,7 +28,10 @@ use MediaWiki\Linker\Linker;
use MediaWiki\MainConfigNames;
use MediaWiki\Message\Message;
use MediaWiki\SpecialPage\SpecialPage;
+use MediaWiki\Title\MalformedTitleException;
+use MediaWiki\Title\NamespaceInfo;
use MediaWiki\Title\Title;
+use MediaWiki\Title\TitleParser;
use MediaWiki\User\User;
/**
@@ -37,6 +40,19 @@ use MediaWiki\User\User;
* @since 1.25
*/
class BlockLogFormatter extends LogFormatter {
+ private TitleParser $titleParser;
+ private NamespaceInfo $namespaceInfo;
+
+ public function __construct(
+ LogEntry $entry,
+ TitleParser $titleParser,
+ NamespaceInfo $namespaceInfo
+ ) {
+ parent::__construct( $entry );
+ $this->titleParser = $titleParser;
+ $this->namespaceInfo = $namespaceInfo;
+ }
+
protected function getMessageParameters() {
$params = parent::getMessageParameters();
@@ -165,13 +181,16 @@ class BlockLogFormatter extends LogFormatter {
$preload = [];
// Preload user page for non-autoblocks
if ( substr( $title->getText(), 0, 1 ) !== '#' && $title->canExist() ) {
- $preload[] = $title->getTalkPage();
+ $preload[] = $this->namespaceInfo->getTalkPage( $title );
}
// Preload page restriction
$params = $this->extractParameters();
if ( isset( $params[6]['pages'] ) ) {
foreach ( $params[6]['pages'] as $page ) {
- $preload[] = Title::newFromText( $page );
+ try {
+ $preload[] = $this->titleParser->parseTitle( $page );
+ } catch ( MalformedTitleException $_ ) {
+ }
}
}
return $preload;
diff --git a/includes/logging/MergeLogFormatter.php b/includes/logging/MergeLogFormatter.php
index 65f313acf93b..40486649febe 100644
--- a/includes/logging/MergeLogFormatter.php
+++ b/includes/logging/MergeLogFormatter.php
@@ -24,7 +24,9 @@
use MediaWiki\Message\Message;
use MediaWiki\SpecialPage\SpecialPage;
+use MediaWiki\Title\MalformedTitleException;
use MediaWiki\Title\Title;
+use MediaWiki\Title\TitleParser;
/**
* This class formats merge log entries.
@@ -32,10 +34,24 @@ use MediaWiki\Title\Title;
* @since 1.25
*/
class MergeLogFormatter extends LogFormatter {
+ private TitleParser $titleParser;
+
+ public function __construct(
+ LogEntry $entry,
+ TitleParser $titleParser
+ ) {
+ parent::__construct( $entry );
+ $this->titleParser = $titleParser;
+ }
+
public function getPreloadTitles() {
$params = $this->extractParameters();
- return [ Title::newFromText( $params[3] ) ];
+ try {
+ return [ $this->titleParser->parseTitle( $params[3] ) ];
+ } catch ( MalformedTitleException $_ ) {
+ }
+ return [];
}
protected function getMessageParameters() {
diff --git a/includes/logging/MoveLogFormatter.php b/includes/logging/MoveLogFormatter.php
index 71e44337b634..2b24df11e519 100644
--- a/includes/logging/MoveLogFormatter.php
+++ b/includes/logging/MoveLogFormatter.php
@@ -25,7 +25,9 @@
use MediaWiki\Message\Message;
use MediaWiki\SpecialPage\SpecialPage;
+use MediaWiki\Title\MalformedTitleException;
use MediaWiki\Title\Title;
+use MediaWiki\Title\TitleParser;
/**
* This class formats move log entries.
@@ -33,13 +35,22 @@ use MediaWiki\Title\Title;
* @since 1.19
*/
class MoveLogFormatter extends LogFormatter {
+ private TitleParser $titleParser;
+
+ public function __construct(
+ LogEntry $entry,
+ TitleParser $titleParser
+ ) {
+ parent::__construct( $entry );
+ $this->titleParser = $titleParser;
+ }
+
public function getPreloadTitles() {
$params = $this->extractParameters();
- $title = Title::newFromText( $params[3] );
- if ( $title !== null ) {
- return [ $title ];
- } else {
+ try {
+ return [ $this->titleParser->parseTitle( $params[3] ) ];
+ } catch ( MalformedTitleException $_ ) {
// namespace configuration may have changed to make $params[3] invalid (T370396);
// nothing to preload in this case
return [];
diff --git a/includes/logging/NewUsersLogFormatter.php b/includes/logging/NewUsersLogFormatter.php
index ec640e77a696..306fa6b30304 100644
--- a/includes/logging/NewUsersLogFormatter.php
+++ b/includes/logging/NewUsersLogFormatter.php
@@ -24,7 +24,7 @@
*/
use MediaWiki\Message\Message;
-use MediaWiki\Title\Title;
+use MediaWiki\Title\NamespaceInfo;
use MediaWiki\User\User;
/**
@@ -33,6 +33,16 @@ use MediaWiki\User\User;
* @since 1.19
*/
class NewUsersLogFormatter extends LogFormatter {
+ private NamespaceInfo $namespaceInfo;
+
+ public function __construct(
+ LogEntry $entry,
+ NamespaceInfo $namespaceInfo
+ ) {
+ parent::__construct( $entry );
+ $this->namespaceInfo = $namespaceInfo;
+ }
+
protected function getMessageParameters() {
$params = parent::getMessageParameters();
$subtype = $this->entry->getSubtype();
@@ -64,7 +74,7 @@ class NewUsersLogFormatter extends LogFormatter {
$subtype = $this->entry->getSubtype();
if ( $subtype === 'create2' || $subtype === 'byemail' ) {
// add the user talk to LinkBatch for the userLink
- return [ Title::makeTitle( NS_USER_TALK, $this->entry->getTarget()->getText() ) ];
+ return [ $this->namespaceInfo->getTalkPage( $this->entry->getTarget() ) ];
}
return [];
diff --git a/includes/logging/ProtectLogFormatter.php b/includes/logging/ProtectLogFormatter.php
index aa71fafc265d..8680e6d41b22 100644
--- a/includes/logging/ProtectLogFormatter.php
+++ b/includes/logging/ProtectLogFormatter.php
@@ -23,7 +23,9 @@
*/
use MediaWiki\Message\Message;
+use MediaWiki\Title\MalformedTitleException;
use MediaWiki\Title\Title;
+use MediaWiki\Title\TitleParser;
/**
* This class formats protect log entries.
@@ -31,11 +33,24 @@ use MediaWiki\Title\Title;
* @since 1.26
*/
class ProtectLogFormatter extends LogFormatter {
+ private TitleParser $titleParser;
+
+ public function __construct(
+ LogEntry $entry,
+ TitleParser $titleParser
+ ) {
+ parent::__construct( $entry );
+ $this->titleParser = $titleParser;
+ }
+
public function getPreloadTitles() {
$subtype = $this->entry->getSubtype();
if ( $subtype === 'move_prot' ) {
$params = $this->extractParameters();
- return [ Title::newFromText( $params[3] ) ];
+ try {
+ return [ $this->titleParser->parseTitle( $params[3] ) ];
+ } catch ( MalformedTitleException $_ ) {
+ }
}
return [];
}
diff --git a/includes/logging/RenameuserLogFormatter.php b/includes/logging/RenameuserLogFormatter.php
index abc965b24e45..09c1e508f075 100644
--- a/includes/logging/RenameuserLogFormatter.php
+++ b/includes/logging/RenameuserLogFormatter.php
@@ -2,11 +2,21 @@
use MediaWiki\Message\Message;
use MediaWiki\Title\Title;
+use MediaWiki\Title\TitleParser;
/**
* LogFormatter for renameuser/renameuser logs
*/
class RenameuserLogFormatter extends LogFormatter {
+ private TitleParser $titleParser;
+
+ public function __construct(
+ LogEntry $entry,
+ TitleParser $titleParser
+ ) {
+ parent::__construct( $entry );
+ $this->titleParser = $titleParser;
+ }
/**
* @inheritDoc
@@ -115,7 +125,7 @@ class RenameuserLogFormatter extends LogFormatter {
$newUserName = $params[4];
}
- $title = Title::makeTitleSafe( NS_USER, $newUserName );
+ $title = $this->titleParser->makeTitleValueSafe( NS_USER, $newUserName );
if ( $title ) {
return [ $title ];
}