]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Change Profile->getUser() to match the current user
authorMartin Lyth <bsfmartini@gmail.com>
Thu, 30 Jun 2016 22:24:58 +0000 (18:24 -0400)
committerMartin Lyth <bsfmartini@gmail.com>
Thu, 30 Jun 2016 22:24:58 +0000 (18:24 -0400)
Profile->getUser() gets the User independently from common_current_user.
This means that changes to one does not affect the other, even if they
are the same user.
This changes that, so that getUser() returns common_current_user() if
they are both the same user.

This is done to fix a bug in the user profile settings, where changes in
the language and timezone are applied to the return value of
Profile->getUser() but not propagated to common_cur_user(), which causes
the profile settings to display incorrect information until the page is
refreshed.

classes/Profile.php

index fb6a62127393cd6cb9edb8067c8eca4f5f349ea6..a38ee9f499107afab6317947b951164655abf02b 100644 (file)
@@ -93,6 +93,10 @@ class Profile extends Managed_DataObject
             if (!$user instanceof User) {
                 throw new NoSuchUserException(array('id'=>$this->id));
             }
+            $cur_user = common_current_user();
+            if ($user->id === $cur_user->id) {
+                $user = $cur_user;
+            }
             $this->_user[$this->id] = $user;
         }
         return $this->_user[$this->id];