aboutsummaryrefslogtreecommitdiffstats
path: root/includes
diff options
context:
space:
mode:
authorAaron Schulz <aschulz@wikimedia.org>2012-06-03 10:14:09 +0000
committerGerrit Code Review <gerrit@wikimedia.org>2012-06-03 10:14:09 +0000
commit41fd47ed1e31e9c881ffde4cc9d29a83b70a8ee9 (patch)
treee3d94729756d408f5bcd7e060a59dc797703611c /includes
parentbc789ee4e6d2e3b613acba35633e421ea06bd565 (diff)
parentbf7a4bc7fcdda1e09b89adbdbd888dbdc847267b (diff)
downloadmediawikicore-41fd47ed1e31e9c881ffde4cc9d29a83b70a8ee9.tar.gz
mediawikicore-41fd47ed1e31e9c881ffde4cc9d29a83b70a8ee9.zip
Merge "clean up User::getOptions a bit"
Diffstat (limited to 'includes')
-rw-r--r--includes/User.php21
1 files changed, 11 insertions, 10 deletions
diff --git a/includes/User.php b/includes/User.php
index 84f02afcc7e1..01407b1d8e0a 100644
--- a/includes/User.php
+++ b/includes/User.php
@@ -4041,13 +4041,9 @@ class User {
protected function saveOptions() {
global $wgAllowPrefChange;
- $extuser = ExternalUser::newFromUser( $this );
-
$this->loadOptions();
- $dbw = wfGetDB( DB_MASTER );
-
- $insert_rows = array();
+ // Not using getOptions(), to keep hidden preferences in database
$saveOptions = $this->mOptions;
// Allow hooks to abort, for instance to save to a global profile.
@@ -4056,13 +4052,17 @@ class User {
return;
}
+ $extuser = ExternalUser::newFromUser( $this );
+ $userId = $this->getId();
+ $insert_rows = array();
foreach( $saveOptions as $key => $value ) {
# Don't bother storing default values
- if ( ( is_null( self::getDefaultOption( $key ) ) &&
- !( $value === false || is_null($value) ) ) ||
- $value != self::getDefaultOption( $key ) ) {
+ $defaultOption = self::getDefaultOption( $key );
+ if ( ( is_null( $defaultOption ) &&
+ !( $value === false || is_null( $value ) ) ) ||
+ $value != $defaultOption ) {
$insert_rows[] = array(
- 'up_user' => $this->getId(),
+ 'up_user' => $userId,
'up_property' => $key,
'up_value' => $value,
);
@@ -4079,7 +4079,8 @@ class User {
}
}
- $dbw->delete( 'user_properties', array( 'up_user' => $this->getId() ), __METHOD__ );
+ $dbw = wfGetDB( DB_MASTER );
+ $dbw->delete( 'user_properties', array( 'up_user' => $userId ), __METHOD__ );
$dbw->insert( 'user_properties', $insert_rows, __METHOD__ );
}