From ffc1ac02c3f1f566088c8bef7c54d1ae97e56a36 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Mon, 5 Apr 2010 10:12:27 -0400 Subject: add an event for group members minilist --- actions/showgroup.php | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) (limited to 'actions') diff --git a/actions/showgroup.php b/actions/showgroup.php index a0d05ba37..6e0666690 100644 --- a/actions/showgroup.php +++ b/actions/showgroup.php @@ -388,18 +388,23 @@ class ShowgroupAction extends GroupDesignAction $this->elementStart('div', array('id' => 'entity_members', 'class' => 'section')); - $this->element('h2', null, _('Members')); + if (Event::handle('StartShowGroupMembersMiniList', array($this))) { - $pml = new ProfileMiniList($member, $this); - $cnt = $pml->show(); - if ($cnt == 0) { - $this->element('p', null, _('(None)')); - } + $this->element('h2', null, _('Members')); + + $pml = new ProfileMiniList($member, $this); + $cnt = $pml->show(); + if ($cnt == 0) { + $this->element('p', null, _('(None)')); + } + + if ($cnt > MEMBERS_PER_SECTION) { + $this->element('a', array('href' => common_local_url('groupmembers', + array('nickname' => $this->group->nickname))), + _('All members')); + } - if ($cnt > MEMBERS_PER_SECTION) { - $this->element('a', array('href' => common_local_url('groupmembers', - array('nickname' => $this->group->nickname))), - _('All members')); + Event::handle('EndShowGroupMembersMiniList', array($this)); } $this->elementEnd('div'); -- cgit v1.2.3-54-g00ecf From 96761c14eafc5933119c95021da4bd8d89b4dd61 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Mon, 5 Apr 2010 10:47:07 -0400 Subject: override linkAttributes() method for groupmembersminilist --- actions/showgroup.php | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) (limited to 'actions') diff --git a/actions/showgroup.php b/actions/showgroup.php index 6e0666690..3d369e9eb 100644 --- a/actions/showgroup.php +++ b/actions/showgroup.php @@ -392,8 +392,8 @@ class ShowgroupAction extends GroupDesignAction $this->element('h2', null, _('Members')); - $pml = new ProfileMiniList($member, $this); - $cnt = $pml->show(); + $gmml = new GroupMembersMiniList($member, $this); + $cnt = $gmml->show(); if ($cnt == 0) { $this->element('p', null, _('(None)')); } @@ -507,3 +507,26 @@ class GroupAdminSection extends ProfileSection return null; } } + +class GroupMembersMiniList extends ProfileMiniList +{ + function newListItem($profile) + { + return new GroupMembersMiniListItem($profile, $this->action); + } +} + +class GroupMembersMiniListItem extends ProfileMiniListItem +{ + function linkAttributes() + { + $aAttrs = parent::linkAttributes(); + + if (common_config('nofollow', 'members')) { + $aAttrs['rel'] .= ' nofollow'; + } + + return $aAttrs; + } +} + -- cgit v1.2.3-54-g00ecf From 2882e40540b6ca0aaeb7b9e1841622cf0442ae3d Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Mon, 5 Apr 2010 11:03:14 -0400 Subject: nofollow for peopletag pages --- actions/peopletag.php | 44 ++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 40 insertions(+), 4 deletions(-) (limited to 'actions') diff --git a/actions/peopletag.php b/actions/peopletag.php index 4ba1dc0f1..af40b9d82 100644 --- a/actions/peopletag.php +++ b/actions/peopletag.php @@ -32,8 +32,6 @@ if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } -require_once INSTALLDIR.'/lib/profilelist.php'; - /** * This class outputs a paginated list of profiles self-tagged with a given tag * @@ -124,8 +122,8 @@ class PeopletagAction extends Action $profile->query(sprintf($qry, $this->tag, $lim)); - $pl = new ProfileList($profile, $this); - $cnt = $pl->show(); + $ptl = new PeopleTagList($profile, $this); // pass the ammunition + $cnt = $ptl->show(); $this->pagination($this->page > 1, $cnt > PROFILES_PER_PAGE, @@ -146,3 +144,41 @@ class PeopletagAction extends Action } } + +class PeopleTagList extends ProfileList +{ + function newListItem($profile) + { + return new PeopleTagListItem($profile, $this->action); + } +} + +class PeopleTagListItem extends ProfileListItem +{ + function linkAttributes() + { + $aAttrs = parent::linkAttributes(); + + if (common_config('nofollow', 'peopletag')) { + $aAttrs['rel'] .= ' nofollow'; + } + + return $aAttrs; + } + + function showHomepage() + { + if (!empty($this->profile->homepage)) { + $this->out->text(' '); + $aAttrs = array('href' => $this->profile->homepage, + 'class' => 'url'); + if (common_config('nofollow', 'peopletag')) { + $aAttrs['rel'] = 'nofollow'; + } + $this->out->elementStart('a', $aAttrs); + $this->out->raw($this->highlight($this->profile->homepage)); + $this->out->elementEnd('a'); + } + } +} + -- cgit v1.2.3-54-g00ecf