* Show group descriptions in group directory

* Truncate descriptions and bios in directory list when > 140c
This commit is contained in:
Zach Copley 2011-05-05 14:57:38 -07:00
parent 68d960cceb
commit 94c858d1e1
2 changed files with 52 additions and 0 deletions

View File

@ -149,6 +149,24 @@ class SortableGroupListItem extends SortableSubscriptionListItem
}
}
function showDescription()
{
if (!empty($this->profile->description)) {
$cutoff = 140; // XXX Should this be configurable?
$description = htmlspecialchars($this->profile->description);
if (mb_strlen($description) > $cutoff) {
$description = mb_substr($description, 0, $cutoff - 1)
.'<a href="' . $this->profile->homeUrl() .'">…</a>';
}
$this->out->elementStart('p', 'note');
$this->out->raw($description);
$this->out->elementEnd('p');
}
}
function showAvatar()
{
$logo = ($this->profile->stream_logo) ?
@ -205,6 +223,19 @@ class SortableGroupListItem extends SortableSubscriptionListItem
}
}
function showProfile()
{
$this->startProfile();
$this->showAvatar();
$this->showFullName();
$this->showLocation();
$this->showHomepage();
$this->showDescription(); // groups have this instead of bios
// Relevant portion!
$this->showTags();
$this->endProfile();
}
function showActions()
{
$this->startActions();

View File

@ -249,6 +249,27 @@ class SortableSubscriptionListItem extends SubscriptionListItem
$this->out->elementEnd('td');
}
/**
* Overrided to truncate the bio if it's real long, because it
* looks better that way in the SortableSubscriptionList's table
*/
function showBio()
{
if (!empty($this->profile->bio)) {
$cutoff = 140; // XXX Should this be configurable?
$bio = htmlspecialchars($this->profile->bio);
if (mb_strlen($bio) > $cutoff) {
$bio = mb_substr($bio, 0, $cutoff - 1)
.'<a href="' . $this->profile->profileurl .'">…</a>';
}
$this->out->elementStart('p', 'note');
$this->out->raw($bio);
$this->out->elementEnd('p');
}
}
/**
* Only show the tags if we're logged in
*/