https://www.mediawiki.org/wiki/Special:Code/MediaWiki/113792
Revision: 113792
Author: aaron
Date: 2012-03-14 01:42:14 +0000 (Wed, 14 Mar 2012)
Log Message:
-----------
(bug 32827) "[Regression] Block log for IP ranges not shown on Special:Block"
Modified Paths:
--------------
trunk/phase3/includes/specials/SpecialBlock.php
Modified: trunk/phase3/includes/specials/SpecialBlock.php
===================================================================
--- trunk/phase3/includes/specials/SpecialBlock.php 2012-03-14 01:23:01 UTC
(rev 113791)
+++ trunk/phase3/includes/specials/SpecialBlock.php 2012-03-14 01:42:14 UTC
(rev 113792)
@@ -381,19 +381,19 @@
$this->getLanguage()->pipeList( $links )
);
- if( $this->target instanceof User ){
+ $userTitle = self::getTargetUserTitle( $this->target );
+ if( $userTitle ){
# Get relevant extracts from the block and suppression
logs, if possible
- $userpage = $this->target->getUserPage();
$out = '';
LogEventsList::showLogExtract(
$out,
'block',
- $userpage,
+ $userTitle,
'',
array(
'lim' => 10,
- 'msgKey' => array( 'blocklog-showlog',
$userpage->getText() ),
+ 'msgKey' => array( 'blocklog-showlog',
$userTitle->getText() ),
'showIfEmpty' => false
)
);
@@ -404,12 +404,12 @@
LogEventsList::showLogExtract(
$out,
'suppress',
- $userpage,
+ $userTitle,
'',
array(
'lim' => 10,
'conds' => array( 'log_action'
=> array( 'block', 'reblock', 'unblock' ) ),
- 'msgKey' => array(
'blocklog-showsuppresslog', $userpage->getText() ),
+ 'msgKey' => array(
'blocklog-showsuppresslog', $userTitle->getText() ),
'showIfEmpty' => false
)
);
@@ -422,6 +422,21 @@
}
/**
+ * Get a user page target for things like logs.
+ * This handles account and IP range targets.
+ * @param $target User|string
+ * @return Title|null
+ */
+ protected static function getTargetUserTitle( $target ) {
+ if( $target instanceof User ) {
+ return $target->getUserPage();
+ } elseif ( IP::isIPAddress( $target ) ) {
+ return Title::makeTitleSafe( NS_USER, $target );
+ }
+ return null;
+ }
+
+ /**
* Determine the target of the block, and the type of target
* TODO: should be in Block.php?
* @param $par String subpage parameter passed to setup, or data value
from
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs