<?php
/**
- * Laconica, the distributed open-source microblogging tool
+ * StatusNet, the distributed open-source microblogging tool
*
* Widget to show a list of groups
*
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* @category Public
- * @package Laconica
+ * @package StatusNet
* @author Evan Prodromou <evan@controlyourself.ca>
- * @copyright 2008-2009 Control Yourself, Inc.
+ * @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')) {
require_once INSTALLDIR.'/lib/widget.php';
-define('groupS_PER_PAGE', 20);
+define('GROUPS_PER_PAGE', 20);
/**
* Widget to show a list of groups
*
* @category Public
- * @package Laconica
+ * @package StatusNet
* @author Evan Prodromou <evan@controlyourself.ca>
* @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
while ($this->group->fetch()) {
$cnt++;
- if($cnt > groupS_PER_PAGE) {
+ if($cnt > GROUPS_PER_PAGE) {
break;
}
$this->showgroup();
'class' => 'url',
'rel' => '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));
+ '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));
if ($this->group->location) {
$this->out->elementStart('dl', 'entity_location');
$this->out->element('dt', null, _('Location'));
- $this->out->elementStart('dd', 'location');
+ $this->out->elementStart('dd', 'label');
$this->out->raw($this->highlight($this->group->location));
$this->out->elementEnd('dd');
$this->out->elementEnd('dl');
# 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) {
+ $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');