diff --git a/actions/showgroup.php b/actions/showgroup.php index 9dbad1127e..a1e89a3a3a 100644 --- a/actions/showgroup.php +++ b/actions/showgroup.php @@ -35,6 +35,8 @@ if (!defined('LACONICA')) { require_once INSTALLDIR.'/lib/noticelist.php'; require_once INSTALLDIR.'/lib/feedlist.php'; +define('MEMBERS_PER_SECTION', 81); + /** * Group main page * @@ -314,4 +316,71 @@ class ShowgroupAction extends Action 'title' => sprintf(_('Notice feed for %s group'), $this->group->nickname))); } + + /** + * Fill in the sidebar. + * + * @return void + */ + + function showSections() + { + $this->showMembers(); + } + + /** + * Show mini-list of members + * + * @return void + */ + + function showMembers() + { + $member = $this->group->getMembers(0, MEMBERS_PER_SECTION); + + if (!$member) { + return; + } + + $this->elementStart('div', array('id' => 'user_subscriptions', + 'class' => 'section')); + + $this->element('h2', null, _('Members')); + + $this->elementStart('ul', 'users'); + + $cnt = 0; + + while ($member->fetch() && ++$cnt < MEMBERS_PER_SECTION) { + + $cnt++; + + $this->elementStart('li', 'vcard'); + $this->elementStart('a', array('title' => ($member->fullname) ? + $member->fullname : + $member->nickname, + 'href' => $member->profileurl, + 'rel' => 'contact', + 'class' => 'url')); + $avatar = $member->getAvatar(AVATAR_MINI_SIZE); + $this->element('img', array('src' => (($avatar) ? common_avatar_display_url($avatar) : common_default_avatar(AVATAR_MINI_SIZE)), + 'width' => AVATAR_MINI_SIZE, + 'height' => AVATAR_MINI_SIZE, + 'class' => 'avatar photo', + 'alt' => ($member->fullname) ? + $member->fullname : + $member->nickname)); + $this->element('span', 'fn nickname', $member->nickname); + $this->elementEnd('a'); + $this->elementEnd('li'); + } + + $this->elementEnd('ul'); + + if ($cnt == MEMBERS_PER_SECTION) { + $this->element('a', array('href' => common_local_url('groupmembers', + array('nickname' => $this->group->nickname))), + _('All members')); + } + } } \ No newline at end of file