Fixed User::getGroups(), apparently broken since r33333. User::load() doesn't load...
authorTim Starling <tstarling@users.mediawiki.org>
Thu, 22 Sep 2011 06:17:26 +0000 (06:17 +0000)
committerTim Starling <tstarling@users.mediawiki.org>
Thu, 22 Sep 2011 06:17:26 +0000 (06:17 +0000)
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.

includes/User.php

index 7df864f..4cf9482 100644 (file)
@@ -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;
        }