X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=actions%2Fatompubfavoritefeed.php;h=837a9da3e96d7784ad3921c20560e6b38773e50f;hb=67ed1ec77e2d9c3a9486d0734294a8541dc4334a;hp=478a01b7c603e0d79417e9ce09f1b6860abbdca4;hpb=6e894c010fc0e7ddaaafa8795634d6343019aafb;p=quix0rs-gnu-social.git diff --git a/actions/atompubfavoritefeed.php b/actions/atompubfavoritefeed.php index 478a01b7c6..837a9da3e9 100644 --- a/actions/atompubfavoritefeed.php +++ b/actions/atompubfavoritefeed.php @@ -4,7 +4,7 @@ * Copyright (C) 2010, StatusNet, Inc. * * Feed of ActivityStreams 'favorite' actions - * + * * PHP version 5 * * This program is free software: you can redistribute it and/or modify @@ -34,8 +34,6 @@ if (!defined('STATUSNET')) { exit(1); } -require_once INSTALLDIR . '/lib/apiauth.php'; - /** * Feed of ActivityStreams 'favorite' actions * @@ -46,7 +44,6 @@ require_once INSTALLDIR . '/lib/apiauth.php'; * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 * @link http://status.net/ */ - class AtompubfavoritefeedAction extends ApiAuthAction { private $_profile = null; @@ -59,15 +56,15 @@ class AtompubfavoritefeedAction extends ApiAuthAction * * @return boolean true */ - function prepare($argarray) { parent::prepare($argarray); - $this->_profile = Profile::staticGet('id', $this->trimmed('profile')); + $this->_profile = Profile::getKV('id', $this->trimmed('profile')); if (empty($this->_profile)) { - throw new ClientException(_('No such profile'), 404); + // TRANS: Client exception thrown when requesting a favorite feed for a non-existing profile. + throw new ClientException(_('No such profile.'), 404); } $offset = ($this->page-1) * $this->count; @@ -76,7 +73,7 @@ class AtompubfavoritefeedAction extends ApiAuthAction $this->_faves = Fave::byProfile($this->_profile->id, $offset, $limit); - + return true; } @@ -87,7 +84,6 @@ class AtompubfavoritefeedAction extends ApiAuthAction * * @return void */ - function handle($argarray=null) { parent::handle($argarray); @@ -101,6 +97,7 @@ class AtompubfavoritefeedAction extends ApiAuthAction $this->addFavorite(); break; default: + // TRANS: Client exception thrown when using an unsupported HTTP method. throw new ClientException(_('HTTP method not supported.'), 405); return; } @@ -113,7 +110,6 @@ class AtompubfavoritefeedAction extends ApiAuthAction * * @return void */ - function showFeed() { header('Content-Type: application/atom+xml; charset=utf-8'); @@ -139,21 +135,25 @@ class AtompubfavoritefeedAction extends ApiAuthAction $feed->addAuthor($this->_profile->getBestName(), $this->_profile->getURI()); + // TRANS: Title for Atom favorites feed. + // TRANS: %s is a user nickname. $feed->setTitle(sprintf(_("%s favorites"), $this->_profile->getBestName())); - $feed->setSubtitle(sprintf(_("Notices %s has favorited to on %s"), + // TRANS: Subtitle for Atom favorites feed. + // TRANS: %1$s is a user nickname, %2$s is the StatusNet sitename. + $feed->setSubtitle(sprintf(_('Notices %1$s has favorited on %2$s'), $this->_profile->getBestName(), common_config('site', 'name'))); $feed->addLink(common_local_url('showfavorites', - array('nickname' => + array('nickname' => $this->_profile->nickname))); $feed->addLink($url, array('rel' => 'self', 'type' => 'application/atom+xml')); - + // If there's more... if ($this->page > 1) { @@ -162,9 +162,9 @@ class AtompubfavoritefeedAction extends ApiAuthAction 'type' => 'application/atom+xml')); $feed->addLink(common_local_url('AtomPubFavoriteFeed', - array('profile' => + array('profile' => $this->_profile->id), - array('page' => + array('page' => $this->page - 1)), array('rel' => 'prev', 'type' => 'application/atom+xml')); @@ -205,17 +205,17 @@ class AtompubfavoritefeedAction extends ApiAuthAction * * @return void */ - function addFavorite() { // XXX: Refactor this; all the same for atompub if (empty($this->auth_user) || $this->auth_user->id != $this->_profile->id) { - throw new ClientException(_("Can't add someone else's". - " subscription"), 403); + // TRANS: Client exception thrown when trying to set a favorite for another user. + throw new ClientException(_("Cannot add someone else's". + " subscription."), 403); } - + $xml = file_get_contents('php://input'); $dom = DOMDocument::loadXML($xml); @@ -234,9 +234,8 @@ class AtompubfavoritefeedAction extends ApiAuthAction if (Event::handle('StartAtomPubNewActivity', array(&$activity))) { if ($activity->verb != ActivityVerb::FAVORITE) { - // TRANS: Client error displayed when not using the POST verb. - // TRANS: Do not translate POST. - throw new ClientException(_('Can only handle Favorite activities.')); + // TRANS: Client exception thrown when trying use an incorrect activity verb for the Atom pub method. + throw new ClientException(_('Can only handle favorite activities.')); return; } @@ -245,21 +244,24 @@ class AtompubfavoritefeedAction extends ApiAuthAction if (!in_array($note->type, array(ActivityObject::NOTE, ActivityObject::BLOGENTRY, ActivityObject::STATUS))) { + // TRANS: Client exception thrown when trying favorite an object that is not a notice. throw new ClientException(_('Can only fave notices.')); return; } - $notice = Notice::staticGet('uri', $note->id); + $notice = Notice::getKV('uri', $note->id); if (empty($notice)) { // XXX: import from listed URL or something - throw new ClientException(_('Unknown note.')); + // TRANS: Client exception thrown when trying favorite a notice without content. + throw new ClientException(_('Unknown notice.')); } $old = Fave::pkeyGet(array('user_id' => $this->auth_user->id, 'notice_id' => $notice->id)); if (!empty($old)) { + // TRANS: Client exception thrown when trying favorite an already favorited notice. throw new ClientException(_('Already a favorite.')); } @@ -296,7 +298,6 @@ class AtompubfavoritefeedAction extends ApiAuthAction * * @return boolean is read only action? */ - function isReadOnly($args) { if ($_SERVER['REQUEST_METHOD'] == 'GET' || @@ -328,7 +329,6 @@ class AtompubfavoritefeedAction extends ApiAuthAction * * @return string etag http header */ - function etag() { return null; @@ -339,7 +339,6 @@ class AtompubfavoritefeedAction extends ApiAuthAction * * @return boolean true if delete, else false */ - function requiresAuth() { if ($_SERVER['REQUEST_METHOD'] == 'GET' || @@ -359,10 +358,9 @@ class AtompubfavoritefeedAction extends ApiAuthAction * * @return void */ - function notify($fave, $notice, $user) { - $other = User::staticGet('id', $notice->profile_id); + $other = User::getKV('id', $notice->profile_id); if ($other && $other->id != $user->id) { if ($other->email && $other->emailnotifyfav) { mail_notify_fave($other, $user, $notice);