X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=lib%2Fgrouplist.php;h=39e904222adc719af04cd06773ff4c639ede9d42;hb=8a002e98bc0145e9ff0f739ac52d3c192c3bfae8;hp=869e448970cc9c968f4074a1df69b06a19644398;hpb=e9b3e4e7a8feaebec370db780a4da7fd639772f3;p=quix0rs-gnu-social.git diff --git a/lib/grouplist.php b/lib/grouplist.php index 869e448970..39e904222a 100644 --- a/lib/grouplist.php +++ b/lib/grouplist.php @@ -1,7 +1,7 @@ . * * @category Public - * @package Laconica - * @author Evan Prodromou - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @copyright 2008-2009 StatusNet, Inc. * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 - * @link http://laconi.ca/ + * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once INSTALLDIR.'/lib/widget.php'; -define('groupS_PER_PAGE', 20); - /** * Widget to show a list of groups * * @category Public - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 - * @link http://laconi.ca/ + * @link http://status.net/ */ class GroupList extends Widget @@ -72,7 +70,7 @@ class GroupList extends Widget while ($this->group->fetch()) { $cnt++; - if($cnt > groupS_PER_PAGE) { + if($cnt > GROUPS_PER_PAGE) { break; } $this->showgroup(); @@ -85,88 +83,75 @@ class GroupList extends Widget function showGroup() { - $this->out->elementStart('li', array('class' => 'profile', + $this->out->elementStart('li', array('class' => 'profile h-card', 'id' => 'group-' . $this->group->id)); $user = common_current_user(); - $this->out->elementStart('div', 'entity_profile vcard'); + $this->out->elementStart('div', 'entity_profile'); - $logo = ($this->group->stream_logo) ? - $this->group->stream_logo : User_group::defaultLogo(AVATAR_STREAM_SIZE); + $logo = $this->group->stream_logo ?: User_group::defaultLogo(AVATAR_STREAM_SIZE); $this->out->elementStart('a', array('href' => $this->group->homeUrl(), - 'class' => 'url', - 'rel' => 'group')); + 'class' => 'u-url p-nickname', + 'rel' => 'contact group')); $this->out->element('img', array('src' => $logo, - 'class' => 'photo avatar', - 'width' => AVATAR_STREAM_SIZE, - 'height' => AVATAR_STREAM_SIZE, - 'alt' => - ($this->group->fullname) ? $this->group->fullname : - $this->group->nickname)); - $hasFN = ($this->group->fullname) ? 'nickname url uid' : 'fn org nickname url uid'; - $this->out->elementStart('span', $hasFN); - $this->out->raw($this->highlight($this->group->nickname)); - $this->out->elementEnd('span'); + 'class' => 'avatar u-photo', + 'width' => AVATAR_STREAM_SIZE, + 'height' => AVATAR_STREAM_SIZE, + 'alt' => $this->group->getBestName())); + $this->out->text($this->group->getNickname()); $this->out->elementEnd('a'); if ($this->group->fullname) { - $this->out->elementStart('dl', 'entity_fn'); - $this->out->element('dt', null, 'Full name'); - $this->out->elementStart('dd'); - $this->out->elementStart('span', 'fn org'); + $this->out->text(' '); + $this->out->elementStart('span', 'p-name'); $this->out->raw($this->highlight($this->group->fullname)); $this->out->elementEnd('span'); - $this->out->elementEnd('dd'); - $this->out->elementEnd('dl'); } if ($this->group->location) { - $this->out->elementStart('dl', 'entity_location'); - $this->out->element('dt', null, _('Location')); - $this->out->elementStart('dd', 'location'); + $this->out->text(' '); + $this->out->elementStart('span', 'label'); $this->out->raw($this->highlight($this->group->location)); - $this->out->elementEnd('dd'); - $this->out->elementEnd('dl'); + $this->out->elementEnd('span'); } if ($this->group->homepage) { - $this->out->elementStart('dl', 'entity_url'); - $this->out->element('dt', null, _('URL')); - $this->out->elementStart('dd'); + $this->out->text(' '); $this->out->elementStart('a', array('href' => $this->group->homepage, - 'class' => 'url')); + 'class' => 'u-url')); $this->out->raw($this->highlight($this->group->homepage)); $this->out->elementEnd('a'); - $this->out->elementEnd('dd'); - $this->out->elementEnd('dl'); } if ($this->group->description) { - $this->out->elementStart('dl', 'entity_note'); - $this->out->element('dt', null, _('Note')); - $this->out->elementStart('dd', 'note'); + $this->out->elementStart('p', 'note'); $this->out->raw($this->highlight($this->group->description)); - $this->out->elementEnd('dd'); - $this->out->elementEnd('dl'); + $this->out->elementEnd('p'); } - # If we're on a list with an owner (subscriptions or subscribers)... + // If we're on a list with an owner (subscriptions or subscribers)... - if ($user && $user->id == $this->owner->id) { + if (!empty($user) && !empty($this->owner) && $user->id == $this->owner->id) { $this->showOwnerControls(); } $this->out->elementEnd('div'); if ($user) { - # XXX: special-case for user looking at own - # subscriptions page + $this->out->elementStart('div', 'entity_actions'); + $this->out->elementStart('ul'); + $this->out->elementStart('li', 'entity_subscribe'); + // XXX: special-case for user looking at own + // subscriptions page if ($user->isMember($this->group)) { $lf = new LeaveForm($this->out, $this->group); $lf->show(); - } else { - $jf = new JoinForm(); + } else if (!Group_block::isBlocked($this->group, $user->getProfile())) { + $jf = new JoinForm($this->out, $this->group); $jf->show(); } + $this->out->elementEnd('li'); + $this->out->elementEnd('ul'); + $this->out->elementEnd('div'); } $this->out->elementEnd('li');