From cdd3c52633ccac09ec5ac86bb7f6ae70b0a70f08 Mon Sep 17 00:00:00 2001 From: Mikael Nordfeldth Date: Tue, 27 Jan 2015 13:38:11 +0100 Subject: [PATCH] Handle groups better in Ostatus_profile->updateAvatar --- plugins/OStatus/classes/Ostatus_profile.php | 23 +++++++-------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/plugins/OStatus/classes/Ostatus_profile.php b/plugins/OStatus/classes/Ostatus_profile.php index 6a629c701c..f99852ef17 100644 --- a/plugins/OStatus/classes/Ostatus_profile.php +++ b/plugins/OStatus/classes/Ostatus_profile.php @@ -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)