From: Tim Starling Date: Thu, 22 Sep 2011 06:17:26 +0000 (+0000) Subject: Fixed User::getGroups(), apparently broken since r33333. User::load() doesn't load... X-Git-Tag: 1.31.0-rc.0~27485 X-Git-Url: http://git.cyclocoop.org/fichier?a=commitdiff_plain;h=59623dc0d1575805cc56bba52e57d920c3aca136;p=lhc%2Fweb%2Fwiklou.git Fixed User::getGroups(), apparently broken since r33333. User::load() doesn't load groups anymore, so calling $this->getGroups() was the same as just accessing $this->mGroups. Usually it doesn't matter, since most factory functions are funnelled into loadFromId() which calls loadGroups() or loads the groups from the cache, but loadFromRow() was potentially broken. It's necessary for User::loadFromRow() to set $this->mGroups to null, same as the calling code in User::loadFromDatabase(), so that they will be loaded dynamically when User::newFromRow() is called. No bugs found that are caused by this but it couldn't hurt to have working accessors. Tested from eval.php. --- diff --git a/includes/User.php b/includes/User.php index 7df864fc9b..4cf9482e84 100644 --- a/includes/User.php +++ b/includes/User.php @@ -1053,6 +1053,8 @@ class User { public function loadFromRow( $row ) { $all = true; + $this->mGroups = null; // deferred + if ( isset( $row->user_name ) ) { $this->mName = $row->user_name; $this->mFrom = 'name'; @@ -2312,6 +2314,7 @@ class User { */ public function getGroups() { $this->load(); + $this->loadGroups(); return $this->mGroups; }