* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
-
-if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
-
class SubscriptionsAction extends GalleryAction
{
function title()
{
if ($this->page == 1) {
- return sprintf(_('%s subscriptions'), $this->user->nickname);
+ // TRANS: Header for subscriptions overview for a user (first page).
+ // TRANS: %s is a user nickname.
+ return sprintf(_('%s subscriptions'), $this->target->getNickname());
} else {
+ // TRANS: Header for subscriptions overview for a user (not first page).
+ // TRANS: %1$s is a user nickname, %2$d is the page number.
return sprintf(_('%1$s subscriptions, page %2$d'),
- $this->user->nickname,
+ $this->target->getNickname(),
$this->page);
}
}
function showPageNotice()
{
- $user = common_current_user();
- if ($user && ($user->id == $this->profile->id)) {
+ if ($this->scoped instanceof Profile && $this->scoped->id === $this->target->id) {
$this->element('p', null,
+ // TRANS: Page notice for page with an overview of all subscriptions
+ // TRANS: of the logged in user's own profile.
_('These are the people whose notices '.
'you listen to.'));
} else {
$this->element('p', null,
+ // TRANS: Page notice for page with an overview of all subscriptions of a user other
+ // TRANS: than the logged in user. %s is the user nickname.
sprintf(_('These are the people whose '.
'notices %s listens to.'),
- $this->profile->nickname));
+ $this->target->getNickname()));
}
}
$cnt = 0;
if ($this->tag) {
- $subscriptions = $this->user->getTaggedSubscriptions($this->tag, $offset, $limit);
+ $subscriptions = $this->target->getTaggedSubscriptions($this->tag, $offset, $limit);
} else {
- $subscriptions = $this->user->getSubscriptions($offset, $limit);
+ $subscriptions = $this->target->getSubscribed($offset, $limit);
}
if ($subscriptions) {
- $subscriptions_list = new SubscriptionsList($subscriptions, $this->user, $this);
+ $subscriptions_list = new SubscriptionsList($subscriptions, $this->target, $this);
$cnt = $subscriptions_list->show();
if (0 == $cnt) {
$this->showEmptyListMessage();
}
}
- $subscriptions->free();
-
$this->pagination($this->page > 1, $cnt > PROFILES_PER_PAGE,
$this->page, 'subscriptions',
- array('nickname' => $this->user->nickname));
+ array('nickname' => $this->target->getNickname()));
Event::handle('EndShowSubscriptionsContent', array($this));
function showEmptyListMessage()
{
- if (common_logged_in()) {
- $current_user = common_current_user();
- if ($this->user->id === $current_user->id) {
- $message = _('You\'re not listening to anyone\'s notices right now, try subscribing to people you know. Try [people search](%%action.peoplesearch%%), look for members in groups you\'re interested in and in our [featured users](%%action.featured%%). If you\'re a [Twitter user](%%action.twittersettings%%), you can automatically subscribe to people you already follow there.');
- } else {
- $message = sprintf(_('%s is not listening to anyone.'), $this->user->nickname);
- }
- }
- else {
- $message = sprintf(_('%s is not listening to anyone.'), $this->user->nickname);
+ if ($this->scoped instanceof Profile && $this->target->id === $this->scoped->id) {
+ // TRANS: Subscription list text when the logged in user has no subscriptions.
+ // TRANS: This message contains Markdown URLs. The link description is between
+ // TRANS: square brackets, and the link between parentheses. Do not separate "]("
+ // TRANS: and do not change the URL part.
+ $message = _('You\'re not listening to anyone\'s notices right now, try subscribing to people you know. '.
+ 'Try [people search](%%action.peoplesearch%%), look for members in groups you\'re interested '.
+ 'in and in our [featured users](%%action.featured%%).');
+ } else {
+ // TRANS: Subscription list text when looking at the subscriptions for a of a user that has none
+ // TRANS: as an anonymous user. %s is the user nickname.
+ $message = sprintf(_('%s is not listening to anyone.'), $this->target->getNickname());
}
$this->elementStart('div', 'guide');
$this->elementEnd('div');
}
- function showSections()
+ /**
+ * Link to feeds of subscriptions
+ *
+ * @return array of Feed objects
+ */
+ function getFeeds()
{
- parent::showSections();
- $cloud = new SubscriptionsPeopleTagCloudSection($this);
- $cloud->show();
-
- $cloud2 = new SubscriptionsPeopleSelfTagCloudSection($this);
- $cloud2->show();
+ return array(new Feed(Feed::ATOM,
+ common_local_url('AtomPubSubscriptionFeed',
+ array('subscriber' => $this->target->id)),
+ // TRANS: Atom feed title. %s is a profile nickname.
+ sprintf(_('Subscription feed for %s (Atom)'),
+ $this->target->getNickname())));
}
}
class SubscriptionsListItem extends SubscriptionListItem
{
- function showProfile()
- {
- $this->startProfile();
- $this->showAvatar();
- $this->showFullName();
- $this->showLocation();
- $this->showHomepage();
- $this->showBio();
- $this->showTags();
- // Relevant portion!
- $cur = common_current_user();
- if (!empty($cur) && $cur->id == $this->owner->id) {
- $this->showOwnerControls();
- }
- $this->endProfile();
- }
-
function showOwnerControls()
{
$sub = Subscription::pkeyGet(array('subscriber' => $this->owner->id,
}
$this->out->element('input', $attrs);
- $this->out->element('label', array('for' => 'jabber-'.$this->profile->id), _('IM'));
+ // TRANS: Checkbox label for enabling IM messages for a profile in a subscriptions list.
+ $this->out->element('label', array('for' => 'jabber-'.$this->profile->id), _m('LABEL','IM'));
} else {
$this->out->hidden('jabber', $sub->jabber);
}
}
$this->out->element('input', $attrs);
+ // TRANS: Checkbox label for enabling SMS messages for a profile in a subscriptions list.
$this->out->element('label', array('for' => 'sms-'.$this->profile->id), _('SMS'));
} else {
$this->out->hidden('sms', $sub->sms);
}
- $this->out->submit('save', _('Save'));
+ // TRANS: Save button for settings for a profile in a subscriptions list.
+ $this->out->submit('save', _m('BUTTON','Save'));
$this->out->elementEnd('form');
- return;
}
}