mDescription = "Converts MediaWiki watchlists into Echo subscriptions"; } public function execute() { $dbr = wfGetDB( DB_SLAVE ); $uid = 0; $continue = true; // Do it one user at a time while ( $continue ) { $uRes = $dbr->select( 'user', '*', array( 'user_id > ' . $dbr->addQuotes( $uid ) ), __METHOD__, array( 'LIMIT' => 500 ) ); foreach ( $uRes as $uRow ) { $user = User::newFromRow( $uRow ); $wlRes = $dbr->select( 'watchlist', array( 'wl_namespace', 'wl_title' ), array( 'wl_user' => $uRow->user_id ), __METHOD__ ); foreach ( $wlRes as $wlRow ) { $title = Title::makeTitleSafe( $wlRow->wl_namespace, $wlRow->wl_title ); $subscription = new EchoSubscription( $user, 'edit', $title ); $subscription->enableNotification( 'notify' ); $subscription->save(); } } } } } $maintClass = "EchoConvertWatchlists"; require_once( RUN_MAINTENANCE_IF_MAIN );