X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=lib%2Fpeopletaglist.php;h=3040d41d0a790e279834dd90adbb430f73a223c7;hb=543d968b81b97c9ebd46de063d8d70621c12015b;hp=7fa26c56c14e498a0d136b2fe0929da839903ddb;hpb=e4f1c77d6be00da966c9a494ca33928965e98679;p=quix0rs-gnu-social.git diff --git a/lib/peopletaglist.php b/lib/peopletaglist.php index 7fa26c56c1..3040d41d0a 100644 --- a/lib/peopletaglist.php +++ b/lib/peopletaglist.php @@ -27,13 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET') && !defined('LACONICA')) { - exit(1); -} - -require_once INSTALLDIR.'/lib/widget.php'; - -define('PEOPLETAGS_PER_PAGE', 20); +if (!defined('GNUSOCIAL')) { exit(1); } /** * Widget to show a list of peopletags @@ -88,206 +82,3 @@ class PeopletagList extends Widget $ptag->show(); } } - -class PeopletagListItem extends Widget -{ - var $peopletag = null; - var $current = null; - var $profile = null; - - /** - * constructor - * - * Also initializes the owner attribute. - * - * @param Notice $notice The notice we'll display - */ - function __construct($peopletag, $current, $out=null) - { - parent::__construct($out); - $this->peopletag = $peopletag; - $this->current = $current; - $this->profile = Profile::getKV('id', $this->peopletag->tagger); - } - - /** - * recipe function for displaying a single peopletag. - * - * This uses all the other methods to correctly display a notice. Override - * it or one of the others to fine-tune the output. - * - * @return void - */ - function url() - { - return $this->peopletag->homeUrl(); - } - - function show() - { - if (empty($this->peopletag)) { - common_log(LOG_WARNING, "Trying to show missing peopletag; skipping."); - return; - } - - if (Event::handle('StartShowPeopletagItem', array($this))) { - $this->showStart(); - $this->showPeopletag(); - $this->showStats(); - $this->showEnd(); - Event::handle('EndShowPeopletagItem', array($this)); - } - } - - function showStart() - { - $mode = ($this->peopletag->private) ? 'private' : 'public'; - $this->out->elementStart('li', array('class' => 'hentry peopletag mode-' . $mode, - 'id' => 'peopletag-' . $this->peopletag->id)); - } - - function showEnd() - { - $this->out->elementEnd('li'); - } - - function showPeopletag() - { - $this->showCreator(); - $this->showTag(); - $this->showPrivacy(); - $this->showUpdated(); - $this->showActions(); - $this->showDescription(); - } - - function showStats() - { - $this->out->elementStart('div', 'entry-summary entity_statistics'); - $this->out->elementStart('span', 'tagged-count'); - $this->out->element('a', - array('href' => common_local_url('peopletagged', - array('tagger' => $this->profile->nickname, - 'tag' => $this->peopletag->tag))), - // TRANS: Link description for link to list of users tagged with a tag (so part of a list). - _('Listed')); - $this->out->raw($this->peopletag->taggedCount()); - $this->out->elementEnd('span'); - - $this->out->elementStart('span', 'subscriber-count'); - $this->out->element('a', - array('href' => common_local_url('peopletagsubscribers', - array('tagger' => $this->profile->nickname, - 'tag' => $this->peopletag->tag))), - // TRANS: Link description for link to list of users subscribed to a tag. - _('Subscribers')); - $this->out->raw($this->peopletag->subscriberCount()); - $this->out->elementEnd('span'); - $this->out->elementEnd('div'); - } - - function showOwnerOptions() - { - $this->out->elementStart('li', 'entity_edit'); - $this->out->element('a', array('href' => - common_local_url('editpeopletag', array('tagger' => $this->profile->nickname, - 'tag' => $this->peopletag->tag)), - // TRANS: Title for link to edit list settings. - 'title' => _('Edit list settings.')), - // TRANS: Text for link to edit list settings. - _('Edit')); - $this->out->elementEnd('li'); - } - - function showSubscribeForm() - { - $this->out->elementStart('li'); - - if (Event::handle('StartSubscribePeopletagForm', array($this->out, $this->peopletag))) { - if ($this->current) { - if ($this->peopletag->hasSubscriber($this->current->id)) { - $form = new UnsubscribePeopletagForm($this->out, $this->peopletag); - $form->show(); - } else { - $form = new SubscribePeopletagForm($this->out, $this->peopletag); - $form->show(); - } - } - Event::handle('EndSubscribePeopletagForm', array($this->out, $this->peopletag)); - } - - $this->out->elementEnd('li'); - } - - function showCreator() - { - $this->out->elementStart('span', 'author vcard'); - $attrs = array(); - $attrs['href'] = $this->profile->profileurl; - $attrs['class'] = 'url'; - $attrs['rel'] = 'contact'; - - if (!empty($this->profile->fullname)) { - $attrs['title'] = $this->profile->fullname . ' (' . $this->profile->nickname . ')'; - } - $this->out->elementStart('a', $attrs); - $this->showAvatar($this->profile); - $this->out->text($this->profile->getNickname()); - $this->out->elementEnd('a'); - $this->out->elementEnd('span'); - } - - function showUpdated() - { - if (!empty($this->peopletag->modified)) { - $this->out->element('abbr', - array('title' => common_date_w3dtf($this->peopletag->modified), - 'class' => 'updated'), - common_date_string($this->peopletag->modified)); - } - } - - function showPrivacy() - { - if ($this->peopletag->private) { - $this->out->elementStart('a', - array('href' => common_local_url('peopletagsbyuser', - array('nickname' => $this->profile->nickname, 'private' => 1)))); - // TRANS: Privacy mode text in list list item for private list. - $this->out->element('span', 'privacy_mode', _m('MODE','Private')); - $this->out->elementEnd('a'); - } - } - - function showTag() - { - $this->out->elementStart('span', 'entry-title tag'); - $this->out->element('a', - array('rel' => 'bookmark', - 'href' => $this->url()), - htmlspecialchars($this->peopletag->tag)); - $this->out->elementEnd('span'); - } - - function showActions() - { - $this->out->elementStart('div', 'entity_actions'); - $this->out->elementStart('ul'); - - if (!$this->peopletag->private) { - $this->showSubscribeForm(); - } - - if (!empty($this->current) && $this->profile->id == $this->current->id) { - $this->showOwnerOptions(); - } - $this->out->elementEnd('ul'); - $this->out->elementEnd('div'); - } - - function showDescription() - { - $this->out->element('div', 'entry-content description', - $this->peopletag->description); - } -}