diff options
author | Adrian Lang <mail@adrianlang.de> | 2009-02-01 22:24:54 +0100 |
---|---|---|
committer | Adrian Lang <mail@adrianlang.de> | 2009-02-01 22:24:54 +0100 |
commit | 2f37539967efa3e30873d836b308a64fdc48078a (patch) | |
tree | 43dbdf5f314bb132763596160616c3e1fdb7f1cb /actions/showgroup.php | |
parent | 37a769205387c0f9c41f60a675e963678d9a966f (diff) |
Fixes #1088: Show number of group members. Unlike the bugreport requested, the stats are displayed similar to userstream stats in a section in the sidebar. Additionaly, I removed a redundant notnull if check in ShowgroupAction->showMembers, fixed a SQL error in User_group->getMembers when no limit is passed, removed return value storing of void function and added an usage of Profile->getBestName.
Diffstat (limited to 'actions/showgroup.php')
-rw-r--r-- | actions/showgroup.php | 46 |
1 files changed, 40 insertions, 6 deletions
diff --git a/actions/showgroup.php b/actions/showgroup.php index c29b7d426..468990e7b 100644 --- a/actions/showgroup.php +++ b/actions/showgroup.php @@ -333,6 +333,7 @@ class ShowgroupAction extends Action function showSections() { $this->showMembers(); + $this->showStatistics(); $cloud = new GroupTagCloudSection($this, $this->group); $cloud->show(); } @@ -356,12 +357,10 @@ class ShowgroupAction extends Action $this->element('h2', null, _('Members')); - if ($member) { - $pml = new ProfileMiniList($member, null, $this); - $cnt = $pml->show(); - if ($cnt == 0) { - $this->element('p', null, _('(None)')); - } + $pml = new ProfileMiniList($member, null, $this); + $cnt = $pml->show(); + if ($cnt == 0) { + $this->element('p', null, _('(None)')); } if ($cnt == MEMBERS_PER_SECTION) { @@ -373,6 +372,41 @@ class ShowgroupAction extends Action $this->elementEnd('div'); } + /** + * Show some statistics + * + * @return void + */ + + function showStatistics() + { + // XXX: WORM cache this + $members = $this->group->getMembers(); + $members_count = 0; + /** $member->count() doesn't work. */ + while ($members->fetch()) { + $members_count++; + } + + $this->elementStart('div', array('id' => 'entity_statistics', + 'class' => 'section')); + + $this->element('h2', null, _('Statistics')); + + $this->elementStart('dl', 'entity_created'); + $this->element('dt', null, _('Created')); + $this->element('dd', null, date('j M Y', + strtotime($this->group->created))); + $this->elementEnd('dl'); + + $this->elementStart('dl', 'entity_members'); + $this->element('dt', null, _('Members')); + $this->element('dd', null, (is_int($members_count)) ? $members_count : '0'); + $this->elementEnd('dl'); + + $this->elementEnd('div'); + } + function showAnonymousMessage() { $m = sprintf(_('**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service ' . |