(bug 1697) Special:Log make Title an User object when the log type expect it
authorAntoine Musso <hashar@users.mediawiki.org>
Sat, 19 Nov 2011 21:22:30 +0000 (21:22 +0000)
committerAntoine Musso <hashar@users.mediawiki.org>
Sat, 19 Nov 2011 21:22:30 +0000 (21:22 +0000)
RELEASE-NOTES-1.19
includes/specials/SpecialLog.php
languages/messages/MessagesEn.php

index 97581b9..8697f30 100644 (file)
@@ -149,6 +149,7 @@ production.
 * (bug 32086) Special:PermanentLink now show an error message when no subpage
   was specified.
 * (bug 30368) Special:Newpages now shows the new page name for moved pages
+* (bug 1697) The way to search blocked usernames in block log should be clearer
 
 === API changes in 1.19 ===
 * (bug 19838) siprop=interwikimap can now use the interwiki cache.
index 416092d..d0c42df 100644 (file)
  */
 class SpecialLog extends SpecialPage {
 
+       /**
+        * List log type for which the target is a user
+        * Thus if the given target is in NS_MAIN we can alter it to be an NS_USER
+        * Title user instead. 
+        */
+       private $typeOnUser = array(
+               'block',
+               'newusers',
+               'right',
+       );
+
        public function __construct() {
                parent::__construct( 'Log' );
        }
@@ -85,6 +96,20 @@ class SpecialLog extends SpecialPage {
                        }
                }
 
+               # Some log types are only for a 'User:' title but we might have been given
+               # only the username instead of the full title 'User:username'. This part try
+               # to lookup for a user by that name and eventually fix user input. See bug 1697.
+               if( in_array( $opts->getValue( 'type' ), $this->typeOnUser ) ) {
+                       # ok we have a type of log which expect a user title.
+                       $target = Title::newFromText( $opts->getValue( 'page' ) );
+                       if( $target->getNamespace() === NS_MAIN ) {
+                               # User forgot to add 'User:', we are adding it for him
+                               $opts->setValue( 'page',
+                                       Title::makeTitleSafe( NS_USER, $opts->getValue( 'page' ) )
+                               );
+                       }
+               }
+
                $this->show( $opts, $qc );
        }
 
index 92d80af..d4bd333 100644 (file)
@@ -2573,8 +2573,8 @@ Please note that other web sites may link to a file with a direct URL, and so ma
 'pubmedurl' => '//www.ncbi.nlm.nih.gov/pubmed/$1?dopt=Abstract', # do not translate or duplicate this message to other languages
 
 # Special:Log
-'specialloguserlabel'  => 'User:',
-'speciallogtitlelabel' => 'Title:',
+'specialloguserlabel'  => 'Performer:',
+'speciallogtitlelabel' => 'Target (title or user):',
 'log'                  => 'Logs',
 'all-logs-page'        => 'All public logs',
 'alllogstext'          => 'Combined display of all available logs of {{SITENAME}}.