Rewrite reassignEdits script to be more efficient; support optional updates to recent...
[lhc/web/wiklou.git] / maintenance / refreshLinks.php
index 089e6a7..e59124a 100644 (file)
@@ -1,54 +1,32 @@
 <?php
-define( "REPORTING_INTERVAL", 50 );
-define( "PAUSE_INTERVAL", 50 );
-
+/**
+ * @todo document
+ * @package MediaWiki
+ * @subpackage Maintenance
+ */
+
+/** */
+$optionsWithArgs = array( 'm', 'e' );
 require_once( "commandLine.inc" );
-error_reporting( E_ALL & (~E_NOTICE) );
-
-
-if ($argv[2]) {
-       $start = (int)$argv[2];
-} else {
-       $start = 1;
-}
-
-$res = wfQuery("SELECT max(cur_id) as m FROM cur", DB_READ);
-$row = wfFetchObject( $res );
-$end = $row->m;
-
-print("Refreshing link table. Starting from cur_id $start of $end.\n");
+require_once( "refreshLinks.inc" );
 
-# Don't generate TeX PNGs (lack of a sensible current directory causes errors anyway)
-$wgUser->setOption("math", 3);
-
-for ($id = $start; $id <= $end; $id++) {
-       if ( !($id % REPORTING_INTERVAL) ) {
-               print "$id\n";
-       }
-
-       if ( !($id % PAUSE_INTERVAL) ) {
-               sleep(1);
-       }
-       
-       $wgTitle = Title::newFromID( $id );
-       if ( is_null( $wgTitle ) ) {
-               continue;
-       }
-       
-       $wgArticle = new Article( $wgTitle );
-       $text = $wgArticle->getContent( true );
-       $wgLinkCache = new LinkCache;
-       @$wgOut->addWikiText( $text );
+error_reporting( E_ALL & (~E_NOTICE) );
 
-       if ( $wgEnablePersistentLC ) {
-               $wgLinkCache->saveToLinkscc( $id, wfStrencode( $wgTitle->getPrefixedDBkey() ) );
+if ( !$options['dfn-only'] ) {
+       if ($args[0]) {
+               $start = (int)$args[0];
+       } else {
+               $start = 1;
        }
 
-       $linksUpdate = new LinksUpdate( $id, $wgTitle->getPrefixedDBkey() );
-       $linksUpdate->doDumbUpdate();
-       $linksUpdate->fixBrokenLinks();
+       refreshLinks( $start, $options['new-only'], $options['m'], $options['e'] );
 }
+// this bit's bad for replication: disabling temporarily
+// --brion 2005-07-16
+//deleteLinksFromNonexistent();
 
-exit();
+if ( $options['globals'] ) {
+       print_r( $GLOBALS );
+}
 
 ?>