jenkins-bot has submitted this change and it was merged.
Change subject: Show absolute block expiry in user timezone on block logs
......................................................................
Show absolute block expiry in user timezone on block logs
For this add an user parameter to Language::translateBlockExpiry.
This allows the function to display the absolute block expiry in the
user's time zone. Use this when formatting block log entries.
This also avoids the use of $wgUser
Bug: T131241
Change-Id: If0a1d3c88bb4242a016eb9b2df115413de786149
---
M includes/logging/BlockLogFormatter.php
M languages/Language.php
M languages/classes/LanguageFi.php
3 files changed, 11 insertions(+), 7 deletions(-)
Approvals:
Florianschmidtwelzow: Looks good to me, approved
jenkins-bot: Verified
diff --git a/includes/logging/BlockLogFormatter.php
b/includes/logging/BlockLogFormatter.php
index aa90d1d..21e40ec 100644
--- a/includes/logging/BlockLogFormatter.php
+++ b/includes/logging/BlockLogFormatter.php
@@ -58,7 +58,8 @@
// is shown on the correct side of the tooltip text.
$durationTooltip = '‎' . htmlspecialchars(
$params[4] );
$params[4] = Message::rawParam( "<span
class='blockExpiry' title='$durationTooltip'>" .
-
$this->context->getLanguage()->translateBlockExpiry( $params[4] ) . '</span>' );
+
$this->context->getLanguage()->translateBlockExpiry( $params[4],
+ $this->context->getUser() ) . '</span>'
);
$params[5] = isset( $params[5] ) ?
self::formatBlockFlags( $params[5],
$this->context->getLanguage() ) : '';
}
diff --git a/languages/Language.php b/languages/Language.php
index f13f9d6..4af4830 100644
--- a/languages/Language.php
+++ b/languages/Language.php
@@ -3966,10 +3966,11 @@
* match up with it.
*
* @param string $str The validated block duration in English
+ * @param User $user User object to use timezone from or null for
$wgUser
* @return string Somehow translated block duration
* @see LanguageFi.php for example implementation
*/
- function translateBlockExpiry( $str ) {
+ function translateBlockExpiry( $str, User $user = null ) {
$duration = SpecialBlock::getSuggestedDurations( $this );
foreach ( $duration as $show => $value ) {
if ( strcmp( $str, $value ) == 0 ) {
@@ -3995,10 +3996,12 @@
} else { // It's an absolute timestamp.
if ( $time === 0 ) {
// wfTimestamp() handles 0 as current time
instead of epoch.
- return $this->timeanddate( '19700101000000' );
- } else {
- return $this->timeanddate( $time );
+ $time = '19700101000000';
}
+ if ( $user ) {
+ return $this->userTimeAndDate( $time, $user );
+ }
+ return $this->timeanddate( $time );
}
}
diff --git a/languages/classes/LanguageFi.php b/languages/classes/LanguageFi.php
index c3c40ef..867a2f6 100644
--- a/languages/classes/LanguageFi.php
+++ b/languages/classes/LanguageFi.php
@@ -85,10 +85,10 @@
/**
* @param string $str
- * @param bool $forContent
+ * @param User $user User object to use timezone from or null for
$wgUser
* @return string
*/
- function translateBlockExpiry( $str, $forContent = false ) {
+ function translateBlockExpiry( $str, User $user = null ) {
/*
'ago', 'now', 'today', 'this', 'next',
'first', 'third', 'fourth', 'fifth', 'sixth',
'seventh', 'eighth', 'ninth',
--
To view, visit https://gerrit.wikimedia.org/r/281692
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: If0a1d3c88bb4242a016eb9b2df115413de786149
Gerrit-PatchSet: 4
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Umherirrender <[email protected]>
Gerrit-Reviewer: Florianschmidtwelzow <[email protected]>
Gerrit-Reviewer: Raimond Spekking <[email protected]>
Gerrit-Reviewer: Umherirrender <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits