]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Handle groups better in Ostatus_profile->updateAvatar
authorMikael Nordfeldth <mmn@hethane.se>
Tue, 27 Jan 2015 12:38:11 +0000 (13:38 +0100)
committerMikael Nordfeldth <mmn@hethane.se>
Tue, 27 Jan 2015 12:38:11 +0000 (13:38 +0100)
plugins/OStatus/classes/Ostatus_profile.php

index 6a629c701c8b2993419887ad1681f8091baf8494..f99852ef174c487180a43c695f356995eed36244 100644 (file)
@@ -113,10 +113,13 @@ class Ostatus_profile extends Managed_DataObject
      */
     public function localGroup()
     {
-        if ($this->group_id) {
-            return User_group::getKV('id', $this->group_id);
+        $group = User_group::getKV('id', $this->group_id);
+
+        if (!$group instanceof User_group) {
+            throw new NoSuchGroupException(array('id'=>$this->group_id));
         }
-        return null;
+
+        return $group;
     }
 
     /**
@@ -1252,19 +1255,7 @@ class Ostatus_profile extends Managed_DataObject
             throw new ServerException(sprintf(_m('Invalid avatar URL %s.'), $url));
         }
 
-        if ($this->isGroup()) {
-            // FIXME: throw exception for localGroup
-            $self = $this->localGroup();
-        } else {
-            // this throws an exception already
-            $self = $this->localProfile();
-        }
-        if (!$self) {
-            throw new ServerException(sprintf(
-                // TRANS: Server exception. %s is a URI.
-                _m('Tried to update avatar for unsaved remote profile %s.'),
-                $this->getUri()));
-        }
+        $self = $this->localProfile();
 
         // @todo FIXME: This should be better encapsulated
         // ripped from oauthstore.php (for old OMB client)