Fixed redirect table update per brion's suggestions.
authorYuri Astrakhan <yurik@users.mediawiki.org>
Tue, 31 Oct 2006 15:57:37 +0000 (15:57 +0000)
committerYuri Astrakhan <yurik@users.mediawiki.org>
Tue, 31 Oct 2006 15:57:37 +0000 (15:57 +0000)
includes/Article.php

index 6bc38c5..d5b97c4 100644 (file)
@@ -1008,8 +1008,6 @@ class Article {
                $text = $revision->getText();
                $rt = Title::newFromRedirect( $text );
                
-               $this->updateRedirectOn( $dbw, $rt, $lastRevIsRedirect ); 
-
                $conditions = array( 'page_id' => $this->getId() );
                if( !is_null( $lastRevision ) ) {
                        # An extra check against threads stepping on each other
@@ -1027,8 +1025,15 @@ class Article {
                        $conditions,
                        __METHOD__ );
 
+               $result = $dbw->affectedRows() != 0;
+
+               if ($result) {
+                       // FIXME: Should the result from updateRedirectOn() be returned instead?
+                       $this->updateRedirectOn( $dbw, $rt, $lastRevIsRedirect ); 
+               }
+               
                wfProfileOut( __METHOD__ );
-               return ( $dbw->affectedRows() != 0 );
+               return $result;
        }
 
        /**
@@ -1104,7 +1109,7 @@ class Article {
                                return false;
                        }
                        $prev = $row->rev_id;
-                       $lastRevIsRedirect = $row->page_is_redirect === '1';
+                       $lastRevIsRedirect = (bool)$row->page_is_redirect;
                } else {
                        # No or missing previous revision; mark the page as new
                        $prev = 0;