From 873970eda91251d5793a42f930d180e72cc84ad9 Mon Sep 17 00:00:00 2001 From: ASchulz Date: Tue, 26 Feb 2013 16:17:58 -0800 Subject: [PATCH] Init the user token before adding users. * The DB column has garbage padding as the default value, which was intented to just be "". Since the the insert functions cast the value to a string, inserting a user without creating a token causes garbage to be inserted. The logic to automatically fix empty tokens does not trigger. This fixes createNew() to set the token and makes sure that addToDatabase() does. Change-Id: I3529fe8afbc62bac37063217d5aa0179a4a6e169 --- includes/User.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/includes/User.php b/includes/User.php index de34bfcbb0..90cb8c485c 100644 --- a/includes/User.php +++ b/includes/User.php @@ -3114,6 +3114,7 @@ class User { public static function createNew( $name, $params = array() ) { $user = new User; $user->load(); + $user->setToken(); // init token if ( isset( $params['options'] ) ) { $user->mOptions = $params['options'] + (array)$user->mOptions; unset( $params['options'] ); @@ -3175,6 +3176,9 @@ class User { */ public function addToDatabase() { $this->load(); + if ( !$this->mToken ) { + $this->setToken(); // init token + } $this->mTouched = self::newTouchedTimestamp(); -- 2.20.1