<?php
-
/**
* StatusNet, the distributed open-source microblogging tool
*
* @link http://status.net/
*/
-if (!defined('STATUSNET') && !defined('LACONICA')) {
- exit(1);
-}
-
-require_once INSTALLDIR.'/lib/profilelist.php';
+if (!defined('GNUSOCIAL')) { exit(1); }
/**
* Widget to show a list of subscriptions
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
-
class SubscriptionList extends ProfileList
{
/** Owner of this list */
var $owner = null;
- function __construct($profile, $owner=null, $action=null)
+ public function __construct(Profile $profile, $owner=null, $action=null)
{
parent::__construct($profile, $action);
$this->owner = $owner;
}
- function newListItem($profile)
+ public function newListItem(Profile $profile)
{
return new SubscriptionListItem($profile, $this->owner, $this->action);
}
}
-
-class SubscriptionListItem extends ProfileListItem
-{
- /** Owner of this list */
- var $owner = null;
-
- function __construct($profile, $owner, $action)
- {
- parent::__construct($profile, $action);
-
- $this->owner = $owner;
- }
-
- function showProfile()
- {
- $this->startProfile();
- $this->showAvatar();
- $this->showFullName();
- $this->showLocation();
- $this->showHomepage();
- $this->showBio();
- // Relevant portion!
- $this->showTags();
- $this->endProfile();
- }
-
- function isOwn()
- {
- $user = common_current_user();
- return (!empty($user) && ($this->owner->id == $user->id));
- }
-
- function showTags()
- {
- $tags = Profile_tag::getTags($this->owner->id, $this->profile->id);
-
- if ($this->isOwn()) {
- $this->out->element('a', array('href' => common_local_url('tagother',
- array('id' => $this->profile->id))),
- _('Tags'));
- } else {
- $this->out->text(_('Tags'));
- }
- if ($tags) {
- $this->out->elementStart('ul', 'tags xoxo entity_tags');
- foreach ($tags as $tag) {
- $this->out->elementStart('li');
- // Avoid space by using raw output.
- $pt = '<span class="mark_hash">#</span><a rel="tag" href="' .
- common_local_url($this->action->trimmed('action'),
- array('nickname' => $this->owner->nickname,
- 'tag' => $tag)) .
- '">' . $tag . '</a>';
- $this->out->raw($pt);
- $this->out->elementEnd('li');
- }
- $this->out->elementEnd('ul');
- } else {
- $this->out->text(_('(None)'));
- }
- }
-}