* Remove redundant extra span tag
[lhc/web/wiklou.git] / maintenance / refreshLinks.inc
index 093c271..34ea629 100644 (file)
@@ -7,13 +7,13 @@
 
 /** */
 define( "REPORTING_INTERVAL", 100 );
+#define( "REPORTING_INTERVAL", 1 );
 
-function refreshLinks( $start, $newOnly = false, $maxLag = false ) {
-       global $wgUser, $wgParser, $wgUseImageResize;
+function refreshLinks( $start, $newOnly = false, $maxLag = false, $end = 0 ) {
+       global $wgUser, $wgParser, $wgUseImageResize, $wgUseTidy;
 
        $fname = 'refreshLinks';
        $dbr =& wfGetDB( DB_SLAVE );
-       $dbw =& wfGetDB( DB_MASTER );
        $start = intval( $start );
 
        # Don't generate TeX PNGs (lack of a sensible current directory causes errors anyway)
@@ -24,6 +24,7 @@ function refreshLinks( $start, $newOnly = false, $maxLag = false ) {
 
        # Don't generate thumbnail images
        $wgUseImageResize = false;
+       $wgUseTidy = false;
 
        if ( $newOnly ) {
                print "Refreshing links from ";
@@ -48,7 +49,9 @@ function refreshLinks( $start, $newOnly = false, $maxLag = false ) {
                }
        } else {
                print "Refreshing link table.\n";
-               $end = $dbr->selectField( 'page', 'max(page_id)', false );
+               if ( !$end ) {
+                       $end = $dbr->selectField( 'page', 'max(page_id)', false );
+               }
                print("Starting from page_id $start of $end.\n");
 
                for ($id = $start; $id <= $end; $id++) {
@@ -59,17 +62,18 @@ function refreshLinks( $start, $newOnly = false, $maxLag = false ) {
                        }
                        fixLinksFromArticle( $id );
                }
-
-
        }
 }
 
 function fixLinksFromArticle( $id ) {
-       global $wgTitle, $wgArticle, $wgOut, $wgParser;
-
+       global $wgTitle, $wgParser;
+       
        $wgTitle = Title::newFromID( $id );
        $dbw =& wfGetDB( DB_MASTER );
 
+       $linkCache =& LinkCache::singleton();
+       $linkCache->clear();
+       
        if ( is_null( $wgTitle ) ) {
                return;
        }
@@ -82,8 +86,8 @@ function fixLinksFromArticle( $id ) {
 
        $options = new ParserOptions;
        $parserOutput = $wgParser->parse( $revision->getText(), $wgTitle, $options, true, true, $revision->getId() );
-       $update = new LinksUpdate( $wgTitle, $parserOutput );
-       $update->doDumbUpdate();
+       $update = new LinksUpdate( $wgTitle, $parserOutput, false );
+       $update->doUpdate();
        $dbw->immediateCommit();
 }
 
@@ -98,6 +102,8 @@ function deleteLinksFromNonexistent( $maxLag = 0 ) {
                'pagelinks' => 'pl_from',
                'imagelinks' => 'il_from',
                'categorylinks' => 'cl_from',
+               'templatelinks' => 'tl_from',
+               'externallinks' => 'el_from',
        );
 
        $page = $dbw->tableName( 'page' );