Added/Removed spaces around string concatenation
[lhc/web/wiklou.git] / includes / job / jobs / DoubleRedirectJob.php
index 3cb5894..0be03b3 100644 (file)
@@ -36,9 +36,9 @@ class DoubleRedirectJob extends Job {
 
        /**
         * Insert jobs into the job queue to fix redirects to the given title
-        * @param $reason String: the reason for the fix, see message "double-redirect-fixed-<reason>"
+        * @param string $reason the reason for the fix, see message "double-redirect-fixed-<reason>"
         * @param $redirTitle Title: the title which has changed, redirects pointing to this title are fixed
-        * @param $destTitle bool Not used
+        * @param bool $destTitle Not used
         */
        public static function fixRedirects( $reason, $redirTitle, $destTitle = false ) {
                # Need to use the master to get the redirect table updated in the same transaction
@@ -90,33 +90,33 @@ class DoubleRedirectJob extends Job {
 
                $targetRev = Revision::newFromTitle( $this->title, false, Revision::READ_LATEST );
                if ( !$targetRev ) {
-                       wfDebug( __METHOD__.": target redirect already deleted, ignoring\n" );
+                       wfDebug( __METHOD__ . ": target redirect already deleted, ignoring\n" );
                        return true;
                }
                $content = $targetRev->getContent();
                $currentDest = $content ? $content->getRedirectTarget() : null;
                if ( !$currentDest || !$currentDest->equals( $this->redirTitle ) ) {
-                       wfDebug( __METHOD__.": Redirect has changed since the job was queued\n" );
+                       wfDebug( __METHOD__ . ": Redirect has changed since the job was queued\n" );
                        return true;
                }
 
                # Check for a suppression tag (used e.g. in periodically archived discussions)
                $mw = MagicWord::get( 'staticredirect' );
                if ( $content->matchMagicWord( $mw ) ) {
-                       wfDebug( __METHOD__.": skipping: suppressed with __STATICREDIRECT__\n" );
+                       wfDebug( __METHOD__ . ": skipping: suppressed with __STATICREDIRECT__\n" );
                        return true;
                }
 
                # Find the current final destination
                $newTitle = self::getFinalDestination( $this->redirTitle );
                if ( !$newTitle ) {
-                       wfDebug( __METHOD__.": skipping: single redirect, circular redirect or invalid redirect destination\n" );
+                       wfDebug( __METHOD__ . ": skipping: single redirect, circular redirect or invalid redirect destination\n" );
                        return true;
                }
                if ( $newTitle->equals( $this->redirTitle ) ) {
                        # The redirect is already right, no need to change it
                        # This can happen if the page was moved back (say after vandalism)
-                       wfDebug( __METHOD__.": skipping, already good\n" );
+                       wfDebug( __METHOD__ . " : skipping, already good\n" );
                }
 
                # Preserve fragment (bug 14904)
@@ -131,15 +131,21 @@ class DoubleRedirectJob extends Job {
                        return false;
                }
 
+               $user = $this->getUser();
+               if ( !$user ) {
+                       $this->setLastError( 'Invalid user' );
+                       return false;
+               }
+
                # Save it
                global $wgUser;
                $oldUser = $wgUser;
-               $wgUser = $this->getUser();
+               $wgUser = $user;
                $article = WikiPage::factory( $this->title );
                $reason = wfMessage( 'double-redirect-fixed-' . $this->reason,
                        $this->redirTitle->getPrefixedText(), $newTitle->getPrefixedText()
                )->inContentLanguage()->text();
-               $article->doEditContent( $newContent, $reason, EDIT_UPDATE | EDIT_SUPPRESS_RC, false, $this->getUser() );
+               $article->doEditContent( $newContent, $reason, EDIT_UPDATE | EDIT_SUPPRESS_RC, false, $user );
                $wgUser = $oldUser;
 
                return true;
@@ -194,13 +200,16 @@ class DoubleRedirectJob extends Job {
 
        /**
         * Get a user object for doing edits, from a request-lifetime cache
-        * @return User
+        * False will be returned if the user name specified in the
+        * 'double-redirect-fixer' message is invalid.
+        *
+        * @return User|bool
         */
        function getUser() {
                if ( !self::$user ) {
-                       self::$user = User::newFromName( wfMessage( 'double-redirect-fixer' )->inContentLanguage()->text(), false );
-                       # FIXME: newFromName could return false on a badly configured wiki.
-                       if ( !self::$user->isLoggedIn() ) {
+                       self::$user = User::newFromName( wfMessage( 'double-redirect-fixer' )->inContentLanguage()->text() );
+                       # User::newFromName() can return false on a badly configured wiki.
+                       if ( self::$user && !self::$user->isLoggedIn() ) {
                                self::$user->addToDatabase();
                        }
                }