UsersalmonAction updated to stronger typing standards

This commit is contained in:
Mikael Nordfeldth 2014-05-05 19:37:37 +02:00
parent 595d231d9a
commit 805958cc23

View File

@ -17,9 +17,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
if (!defined('STATUSNET')) { if (!defined('GNUSOCIAL')) { exit(1); }
exit(1);
}
/** /**
* @package OStatusPlugin * @package OStatusPlugin
@ -27,7 +25,7 @@ if (!defined('STATUSNET')) {
*/ */
class UsersalmonAction extends SalmonAction class UsersalmonAction extends SalmonAction
{ {
function prepare($args) protected function prepare(array $args=array())
{ {
parent::prepare($args); parent::prepare($args);
@ -40,7 +38,7 @@ class UsersalmonAction extends SalmonAction
$this->user = User::getKV('id', $id); $this->user = User::getKV('id', $id);
if (empty($this->user)) { if (!$this->user instanceof User) {
// TRANS: Client error displayed when referring to a non-existing user. // TRANS: Client error displayed when referring to a non-existing user.
$this->clientError(_m('No such user.')); $this->clientError(_m('No such user.'));
} }
@ -84,7 +82,7 @@ class UsersalmonAction extends SalmonAction
$notice = Notice::getKV('uri', $context->replyToID); $notice = Notice::getKV('uri', $context->replyToID);
} }
if (!empty($notice) && if ($notice instanceof Notice &&
($notice->profile_id == $this->user->id || ($notice->profile_id == $this->user->id ||
array_key_exists($this->user->id, $notice->getReplies()))) array_key_exists($this->user->id, $notice->getReplies())))
{ {
@ -102,7 +100,7 @@ class UsersalmonAction extends SalmonAction
$existing = Notice::getKV('uri', $this->activity->objects[0]->id); $existing = Notice::getKV('uri', $this->activity->objects[0]->id);
if ($existing instanceof Notice) { if ($existing instanceof Notice) {
common_log(LOG_ERR, "Not saving notice '".$existing->getUri()."'; already exists."); common_log(LOG_ERR, "Not saving notice with duplicate URI '".$existing->getUri()."' (seems it already exists).");
return; return;
} }
@ -116,7 +114,7 @@ class UsersalmonAction extends SalmonAction
function handleFollow() function handleFollow()
{ {
$oprofile = $this->ensureProfile(); $oprofile = $this->ensureProfile();
if ($oprofile) { if ($oprofile instanceof Ostatus_profile) {
common_log(LOG_INFO, sprintf('Setting up subscription from remote %s to local %s', $oprofile->getUri(), $this->user->getNickname())); common_log(LOG_INFO, sprintf('Setting up subscription from remote %s to local %s', $oprofile->getUri(), $this->user->getNickname()));
Subscription::start($oprofile->localProfile(), Subscription::start($oprofile->localProfile(),
$this->user->getProfile()); $this->user->getProfile());
@ -134,7 +132,7 @@ class UsersalmonAction extends SalmonAction
function handleUnfollow() function handleUnfollow()
{ {
$oprofile = $this->ensureProfile(); $oprofile = $this->ensureProfile();
if ($oprofile) { if ($oprofile instanceof Ostatus_profile) {
common_log(LOG_INFO, sprintf('Canceling subscription from remote %s to local %s', $oprofile->getUri(), $this->user->getNickname())); common_log(LOG_INFO, sprintf('Canceling subscription from remote %s to local %s', $oprofile->getUri(), $this->user->getNickname()));
Subscription::cancel($oprofile->localProfile(), $this->user->getProfile()); Subscription::cancel($oprofile->localProfile(), $this->user->getProfile());
} else { } else {
@ -155,7 +153,7 @@ class UsersalmonAction extends SalmonAction
$old = Fave::pkeyGet(array('user_id' => $profile->id, $old = Fave::pkeyGet(array('user_id' => $profile->id,
'notice_id' => $notice->id)); 'notice_id' => $notice->id));
if (!empty($old)) { if ($old instanceof Fave) {
// TRANS: Client exception. // TRANS: Client exception.
throw new ClientException(_m('This is already a favorite.')); throw new ClientException(_m('This is already a favorite.'));
} }
@ -177,7 +175,7 @@ class UsersalmonAction extends SalmonAction
$fave = Fave::pkeyGet(array('user_id' => $profile->id, $fave = Fave::pkeyGet(array('user_id' => $profile->id,
'notice_id' => $notice->id)); 'notice_id' => $notice->id));
if (empty($fave)) { if (!$fave instanceof Fave) {
// TRANS: Client exception. // TRANS: Client exception.
throw new ClientException(_m('Notice was not favorited!')); throw new ClientException(_m('Notice was not favorited!'));
} }
@ -191,12 +189,11 @@ class UsersalmonAction extends SalmonAction
if ($this->activity->objects[0]->type != ActivityObject::PERSON) { if ($this->activity->objects[0]->type != ActivityObject::PERSON) {
// TRANS: Client exception. // TRANS: Client exception.
throw new ClientException(_m('Not a person object.')); throw new ClientException(_m('Not a person object.'));
return false;
} }
// this is a peopletag // this is a peopletag
$tagged = User::getKV('uri', $this->activity->objects[0]->id); $tagged = User::getKV('uri', $this->activity->objects[0]->id);
if (empty($tagged)) { if (!$tagged instanceof User) {
// TRANS: Client exception. // TRANS: Client exception.
throw new ClientException(_m('Unidentified profile being listed.')); throw new ClientException(_m('Unidentified profile being listed.'));
} }
@ -230,7 +227,7 @@ class UsersalmonAction extends SalmonAction
// this is a peopletag // this is a peopletag
$tagged = User::getKV('uri', $this->activity->objects[0]->id); $tagged = User::getKV('uri', $this->activity->objects[0]->id);
if (empty($tagged)) { if (!$tagged instanceof User) {
// TRANS: Client exception. // TRANS: Client exception.
throw new ClientException(_m('Unidentified profile being unlisted.')); throw new ClientException(_m('Unidentified profile being unlisted.'));
} }
@ -259,13 +256,8 @@ class UsersalmonAction extends SalmonAction
* @return Notice * @return Notice
* @throws ClientException on invalid input * @throws ClientException on invalid input
*/ */
function getNotice($object) function getNotice(ActivityObject $object)
{ {
if (!$object) {
// TRANS: Client exception.
throw new ClientException(_m('Cannot favorite/unfavorite without an object.'));
}
switch ($object->type) { switch ($object->type) {
case ActivityObject::ARTICLE: case ActivityObject::ARTICLE:
case ActivityObject::BLOGENTRY: case ActivityObject::BLOGENTRY:
@ -280,7 +272,7 @@ class UsersalmonAction extends SalmonAction
$notice = Notice::getKV('uri', $object->id); $notice = Notice::getKV('uri', $object->id);
if (empty($notice)) { if (!$notice instanceof Notice) {
// TRANS: Client exception. %s is an object ID. // TRANS: Client exception. %s is an object ID.
throw new ClientException(sprintf(_m('Notice with ID %s unknown.'),$object->id)); throw new ClientException(sprintf(_m('Notice with ID %s unknown.'),$object->id));
} }