Quick hacky script to initialize site_stats row where missing.
[lhc/web/wiklou.git] / maintenance / attribute.php
index a6dcf4a..d885fd2 100644 (file)
@@ -1,5 +1,12 @@
 <?php
-# Script for re-attributing edits
+/**
+ * Script for re-attributing edits
+ *
+ * @package MediaWiki
+ * @subpackage Maintenance
+ */
+
+/** */
 require_once( "commandLine.inc" );
 
 # Parameters
@@ -16,12 +23,14 @@ if ( count( $args ) < 2 ) {
 $source = $args[0];
 $dest = $args[1];
 
-$eSource = wfStrencode( $source );
-$eDest = wfStrencode( $dest );
+$dbr =& wfGetDB( DB_SLAVE );
+extract( $dbr->tableNames( 'cur','old','user' ));
+$eSource = $dbr->strencode( $source );
+$eDest = $dbr->strencode( $dest );
 
 # Get user id
-$res = wfQuery( "SELECT user_id FROM user WHERE user_name='$eDest'", DB_READ );
-$row = wfFetchObject( $res );
+$res = $dbr->query( "SELECT user_id FROM $user WHERE user_name='$eDest'" );
+$row = $dbr->fetchObject( $res );
 if ( !$row ) {
        print "Warning: the target name \"$dest\" does not exist";
        $uid = 0;
@@ -46,8 +55,8 @@ $omitTitle = "Wikipedia:Changing_attribution_for_an_edit";
 # Get old entries
 print "\nOld entries\n\n";
 
-$res = wfQuery( "SELECT old_namespace, old_title, old_id, old_timestamp FROM old WHERE old_user_text='$eSource'", DB_READ );
-$row = wfFetchObject( $res );
+$res = $dbr->query( "SELECT old_namespace, old_title, old_id, old_timestamp FROM $old WHERE old_user_text='$eSource'" );
+$row = $dbr->fetchObject( $res );
 
 if ( $row ) {
 /*
@@ -59,7 +68,7 @@ if ( $row ) {
        fwrite( $logfile, "**Old IDs: " );
        fwrite( $sqlfile, "UPDATE old SET old_user=$uid, old_user_text='$eDest' WHERE old_id IN (\n" );
        
-       for ( $first=true; $row; $row = wfFetchObject( $res ) ) {
+       for ( $first=true; $row; $row = $dbr->fetchObject( $res ) ) {
                $ns = $wgLang->getNsText( $row->old_namespace );
                if ( $ns ) {
                        $fullTitle = "$ns:{$row->old_title}";
@@ -72,19 +81,7 @@ if ( $row ) {
 
                print "$fullTitle\n";
                $url = "http://$lang.wikipedia.org/w/wiki.phtml?title=" . urlencode( $fullTitle );
-               $eTitle = wfStrencode( $row->old_title );
-/*             
-               # Find previous entry
-               $lastres = wfQuery( "SELECT old_id FROM old WHERE
-                       old_title='$eTitle' AND old_namespace={$row->old_namespace} AND
-                       old_timestamp<'{$row->old_timestamp}' ORDER BY inverse_timestamp LIMIT 1", DB_READ );
-               $lastrow = wfFetchObject( $lastres );           
-               if ( $lastrow ) {
-                       $last = $lastrow->old_id;
-                       $url .= "&diff={$row->old_id}&oldid=$last";
-               } else {*/
-                       $url .= "&oldid={$row->old_id}";
-#              }
+               $url .= "&oldid={$row->old_id}";
                
                # Output
                fwrite( $sqlfile, "      " );
@@ -106,13 +103,12 @@ if ( $row ) {
 # Get cur entries
 print "\n\nCur entries\n\n";
 
-$res = wfQuery( "SELECT cur_title, cur_namespace, cur_timestamp, cur_id FROM cur WHERE cur_user_text='$eSource'",
-       DB_READ );
-$row = wfFetchObject( $res );
+$res = $dbr->query( "SELECT cur_title, cur_namespace, cur_timestamp, cur_id FROM $cur WHERE cur_user_text='$eSource'" );
+$row = $dbr->fetchObject( $res );
 if ( $row ) {
        fwrite( $sqlfile, "\n\nUPDATE cur SET cur_user=$uid, cur_user_text='$eDest' WHERE cur_id IN(\n" );
        fwrite( $logfile, "**Cur entries:\n" );
-       for ( $first=true; $row; $row = wfFetchObject( $res ) ) {
+       for ( $first=true; $row; $row = $dbr->fetchObject( $res ) ) {
                $ns = $wgLang->getNsText( $row->cur_namespace );
                if ( $ns ) {
                        $fullTitle = "$ns:{$row->cur_title}";