From ca32f08966f1b51fcb19460f0996bb0c4048e6fe Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Sat, 3 Dec 2011 13:29:22 +0100 Subject: Update to MediaWiki 1.18.0 * also update ArchLinux skin to chagnes in MonoBook * Use only css to hide our menu bar when printing --- extensions/Vector/switchExperimentPrefs.php | 63 +++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 extensions/Vector/switchExperimentPrefs.php (limited to 'extensions/Vector/switchExperimentPrefs.php') diff --git a/extensions/Vector/switchExperimentPrefs.php b/extensions/Vector/switchExperimentPrefs.php new file mode 100644 index 00000000..82ddd868 --- /dev/null +++ b/extensions/Vector/switchExperimentPrefs.php @@ -0,0 +1,63 @@ +addOption( 'pref', 'Preference to set', true, true ); + $this->addOption( 'value', 'Value to set the preference to', true, true ); + $this->mDescription = 'Set a preference for all users that have the vector-noexperiments preference enabled.'; + } + + function execute() { + $dbw = wfGetDB( DB_MASTER ); + + $batchSize = 100; + $total = 0; + $lastUserID = 0; + while ( true ) { + $res = $dbw->select( 'user_properties', array( 'up_user' ), + array( 'up_property' => 'vector-noexperiments', "up_user > $lastUserID" ), + __METHOD__, + array( 'LIMIT' => $batchSize ) ); + if ( !$res->numRows() ) { + $dbw->commit(); + break; + } + $total += $res->numRows(); + + $ids = array(); + foreach ( $res as $row ) { + $ids[] = $row->up_user; + } + $lastUserID = max( $ids ); + + + foreach ( $ids as $id ) { + $user = User::newFromId( $id ); + if ( !$user->isLoggedIn() ) + continue; + $user->setOption( $this->getOption( 'pref' ), $this->getOption( 'value' ) ); + $user->saveSettings(); + } + + echo "$total\n"; + + wfWaitForSlaves(); // Must be wfWaitForSlaves_masterPos(); on 1.17wmf1 + } + echo "Done\n"; + + } +} + +$maintClass = 'SwitchExperimentPrefs'; +require_once( RUN_MAINTENANCE_IF_MAIN ); + + -- cgit v1.2.3-54-g00ecf