. /** * List of group members * * @category Group * @package GNUsocial * @author Evan Prodromou * @copyright 2008-2009 StatusNet, Inc. * @license https://www.gnu.org/licenses/agpl.html GNU AGPL v3 or later */ defined('GNUSOCIAL') || die(); /** * List of group members * * @category Group * @package GNUsocial * @author Evan Prodromou * @license https://www.gnu.org/licenses/agpl.html GNU AGPL v3 or later */ class GroupmembersAction extends GroupAction { public $page = null; public function isReadOnly($args) { return true; } public function title() { if ($this->page == 1) { // TRANS: Title of the page showing group members. // TRANS: %s is the name of the group. return sprintf( _('%s group members'), $this->group->nickname ); } else { // TRANS: Title of the page showing group members. // TRANS: %1$s is the name of the group, %2$d is the page number of the members list. return sprintf( _('%1$s group members, page %2$d'), $this->group->nickname, $this->page ); } } public function showPageNotice() { $this->element( 'p', 'instructions', // TRANS: Page notice for group members page. _('A list of the users in this group.') ); } public function showContent() { $offset = ($this->page-1) * PROFILES_PER_PAGE; $limit = PROFILES_PER_PAGE + 1; $cnt = 0; $members = $this->group->getMembers($offset, $limit); if ($members) { $member_list = new GroupMemberList($members, $this->group, $this); $cnt = $member_list->show(); } $this->pagination( $this->page > 1, $cnt > PROFILES_PER_PAGE, $this->page, 'groupmembers', ['nickname' => $this->group->nickname] ); } }