MediaWiki master
UserOptionsUpdateJob.php
Go to the documentation of this file.
1<?php
24
36 public function __construct( array $params ) {
37 parent::__construct( 'userOptionsUpdate', $params );
38 $this->removeDuplicates = true;
39 }
40
41 public function run() {
42 if ( !$this->params['options'] ) {
43 return true; // nothing to do
44 }
45
46 $user = User::newFromId( $this->params['userId'] );
47 $user->load( IDBAccessObject::READ_EXCLUSIVE );
48 if ( !$user->isNamed() ) {
49 return true;
50 }
51
52 $userOptionsManager = MediaWikiServices::getInstance()
53 ->getUserOptionsManager();
54 foreach ( $this->params['options'] as $name => $value ) {
55 $userOptionsManager->setOption( $user, $name, $value );
56 }
57
58 $user->saveSettings();
59
60 return true;
61 }
62}
array $params
The job parameters.
Describe and execute a background job.
Definition Job.php:38
Service locator for MediaWiki core services.
User class for the MediaWiki software.
Definition User.php:119
Job that updates a user's preferences.
Interface for generic jobs only uses the parameters field and are JSON serializable.
Interface for database access objects.