<?php
/**
* Maintenance script to reset all users' options to a specified default
*
* @package MediaWiki
* @subpackage Maintenance
* @author Matthew Vickery <vickery.matthew@gmail.com>
*
* Based on Rob Church's Reset_user_skin_preference:
* http://www.mediawiki.org/wiki/User:Robchurch/Reset_user_skin_preference
*
* Help with Executing a MediaWiki Maintenance Script can be found here:
* http://meta.wikimedia.org/wiki/Executing_a_Mediawiki_Maintenance_Script
*
*/
require_once( 'commandLine.inc' );
echo( "Reset All User Options\n\n" );
// Adjust $defaultprefs (user options) below as you wish.
// Definitions of each of these settings can be found here: http://www.mediawiki.org/wiki/Manual:$wgDefaultUserOptions
$defaultprefs = "quickbar=1
underline=2
cols=80
rows=25
searchlimit=20
contextlines=5
contextchars=50
skin=
math=1
rcdays=7
rclimit=50
wllimit=250
highlightbroken=1
stubthreshold=0
previewontop=1
editsection=1
editsectiononrightclick=0
showtoc=1
showtoolbar=1
date=default
imagesize=2
thumbsize=2
rememberpassword=0
enotifwatchlistpages=0
enotifusertalkpages=1
enotifminoredits=0
enotifrevealaddr=0
shownumberswatching=1
fancysig=0
externaleditor=0
externaldiff=0
showjumplinks=1
numberheadings=0
uselivepreview=0
watchlistdays=3
watchcreations=0
watchdefault=0
watchmoves=0
watchdeletion=0
variant=en
language=en
searchNs0=1
searchNs12=1
searchNs100=1
searchNs104=1
searchNs106=1
searchNs110=1
searchNs120=1
searchNs122=1
searchNs124=1
searchNs126=1" ;
$fname = 'resetAllUserOptions';
$dbw =& wfGetDB( DB_MASTER );
$dbw->begin();
$res = $dbw->select( 'user', array( 'user_id', 'user_options' ), array(), $fname );
if( $res && $dbw->numRows( $res ) > 0 ) {
echo( $dbw->numRows( $res ) . " records to process. Updating..." );
while( $row = $dbw->fetchObject( $res ) ) {
$values['user_options'] = $defaultprefs ;
$values['user_touched'] = $dbw->timestamp();
$dbw->update( 'user', $values, array( 'user_id' => $row->user_id ), $fname );
}
$dbw->commit();
echo( "done.\n\n" );
exit( 0 );
} else {
$dbw->commit();
echo( "No users found.\n\n" );
exit( 0 );
}