Merge changes from 1.4:
[lhc/web/wiklou.git] / includes / Article.php
index 62f3129..a216fc9 100644 (file)
@@ -393,11 +393,11 @@ class Article {
         * Get the database which should be used for reads
         */
        function &getDB() {
-               if ( $this->mForUpdate ) {
+               #if ( $this->mForUpdate ) {
                        return wfGetDB( DB_MASTER );
-               } else {
-                       return wfGetDB( DB_SLAVE );
-               }
+               #} else {
+               #       return wfGetDB( DB_SLAVE );
+               #}
        }
 
        /**
@@ -575,6 +575,7 @@ class Article {
                $oldid = $this->getOldID();
                $diff = $wgRequest->getVal( 'diff' );
                $rcid = $wgRequest->getVal( 'rcid' );
+               $rdfrom = $wgRequest->getVal( 'rdfrom' );
 
                $wgOut->setArticleFlag( true );
                $wgOut->setRobotpolicy( 'index,follow' );
@@ -644,6 +645,11 @@ class Article {
 
                                # Can't cache redirects
                                $pcache = false;
+                       } elseif ( !empty( $rdfrom ) ) {
+                               $sk = $wgUser->getSkin();
+                               $redir = $sk->makeExternalLink( $rdfrom, $rdfrom );
+                               $s = wfMsg( 'redirectedfrom', $redir );
+                               $wgOut->setSubtitle( $s );
                        }
 
                        # wrap user css and user js in pre and don't parse
@@ -907,7 +913,7 @@ class Article {
        function updateArticle( $text, $summary, $minor, $watchthis, $forceBot = false, $sectionanchor = '' ) {
                global $wgOut, $wgUser;
                global $wgDBtransactions, $wgMwRedir;
-               global $wgUseSquid, $wgInternalServer;
+               global $wgUseSquid, $wgInternalServer, $wgPostCommitUpdateList;
 
                $fname = 'Article::updateArticle';
                $good = true;
@@ -1037,7 +1043,7 @@ class Article {
                if ( $wgUseSquid ) {
                        $urls = array_merge( $urls, $this->mTitle->getSquidURLs() );
                        $u = new SquidUpdate( $urls );
-                       $u->doUpdate();
+                       array_push( $wgPostCommitUpdateList, $u );
                }
 
                $this->showArticle( $text, wfMsg( 'updated' ), $sectionanchor, $me2, $now, $summary, $lastRevision );
@@ -1556,7 +1562,7 @@ class Article {
         */
        function doDeleteArticle( $reason ) {
                global $wgUser;
-               global  $wgUseSquid, $wgDeferredUpdateList, $wgInternalServer;
+               global  $wgUseSquid, $wgDeferredUpdateList, $wgInternalServer, $wgPostCommitUpdateList;
 
                $fname = 'Article::doDeleteArticle';
                wfDebug( $fname."\n" );
@@ -1586,7 +1592,7 @@ class Article {
                        }
 
                        $u = new SquidUpdate( $urls );
-                       array_push( $wgDeferredUpdateList, $u );
+                       array_push( $wgPostCommitUpdateList, $u );
 
                }
 
@@ -2044,7 +2050,7 @@ class Article {
         */
 
        function onArticleCreate($title_obj) {
-               global $wgUseSquid, $wgDeferredUpdateList;
+               global $wgUseSquid, $wgPostCommitUpdateList;
 
                $titles = $title_obj->getBrokenLinksTo();
 
@@ -2055,7 +2061,7 @@ class Article {
                                $urls[] = $linkTitle->getInternalURL();
                        }
                        $u = new SquidUpdate( $urls );
-                       array_push( $wgDeferredUpdateList, $u );
+                       array_push( $wgPostCommitUpdateList, $u );
                }
 
                # Clear persistent link cache