From ac9fda4bc0d0440378eeb23cc3ba673bb8f2b981 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Thu, 1 Apr 2010 15:53:17 -0400 Subject: [PATCH 01/17] ProfileMiniListItem does same events as ProfileListItem --- lib/profileminilist.php | 36 ++++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/lib/profileminilist.php b/lib/profileminilist.php index 079170d802..913119c798 100644 --- a/lib/profileminilist.php +++ b/lib/profileminilist.php @@ -81,20 +81,24 @@ class ProfileMiniListItem extends ProfileListItem function show() { $this->out->elementStart('li', 'vcard'); - $this->out->elementStart('a', array('title' => $this->profile->getBestName(), - 'href' => $this->profile->profileurl, - 'rel' => 'contact member', - 'class' => 'url')); - $avatar = $this->profile->getAvatar(AVATAR_MINI_SIZE); - $this->out->element('img', array('src' => (($avatar) ? $avatar->displayUrl() : Avatar::defaultImage(AVATAR_MINI_SIZE)), - 'width' => AVATAR_MINI_SIZE, - 'height' => AVATAR_MINI_SIZE, - 'class' => 'avatar photo', - 'alt' => ($this->profile->fullname) ? - $this->profile->fullname : - $this->profile->nickname)); - $this->out->element('span', 'fn nickname', $this->profile->nickname); - $this->out->elementEnd('a'); - $this->out->elementEnd('li'); - } + if (Event::handle('StartProfileListItemProfileElements', array($this))) { + if (Event::handle('StartProfileListItemAvatar', array($this))) { + $this->out->elementStart('a', array('title' => $this->profile->getBestName(), + 'href' => $this->profile->profileurl, + 'rel' => 'contact member', + 'class' => 'url')); + $avatar = $this->profile->getAvatar(AVATAR_MINI_SIZE); + $this->out->element('img', array('src' => (($avatar) ? $avatar->displayUrl() : Avatar::defaultImage(AVATAR_MINI_SIZE)), + 'width' => AVATAR_MINI_SIZE, + 'height' => AVATAR_MINI_SIZE, + 'class' => 'avatar photo', + 'alt' => ($this->profile->fullname) ? + $this->profile->fullname : + $this->profile->nickname)); + $this->out->element('span', 'fn nickname', $this->profile->nickname); + $this->out->elementEnd('a'); + Event::handle('EndProfileListItemAvatar', array($this)); + } + $this->out->elementEnd('li'); + } } From d3e47797485d671bd6f806cd0ba72f499e049a66 Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Sat, 3 Apr 2010 10:08:13 -0700 Subject: [PATCH 02/17] Ticket #2273: Fix bookmarklet with URls with special characters The tartget page's URL was not being URL-escaped when passed as a parameter into the query string. Result was that any URL-encoded bytes in the link would be unescaped and interpreted as raw UTF-8 when our bookmarklet post target page reads its parameters; this would break 8-bit high characters (eg a Latin-1 %FC turning into a corrupt UTF-8 byte) or reserved chars that needed to be kept escaped (eg a %3F turning into literal ?) Unfortunately as this was a bug in the original bookmarklet's JS code, this'll only fix it for people who grab a fresh copy of the bookmarklet. --- doc-src/bookmarklet | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc-src/bookmarklet b/doc-src/bookmarklet index bab0ad445f..ae359d2dbe 100644 --- a/doc-src/bookmarklet +++ b/doc-src/bookmarklet @@ -2,4 +2,4 @@ A bookmarklet is a small piece of javascript code used as a bookmark. This one w Drag-and-drop the following link to your bookmarks bar or right-click it and add it to your browser favorites to keep it handy. -Post to %%site.name%% +Post to %%site.name%% From d4940fe148002bfd6619bcbef95763395bb6d9cc Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Sat, 3 Apr 2010 10:26:43 -0700 Subject: [PATCH 03/17] Ticket #2272: Block confirmation form should let enter trigger the 'yes' button Setting focus into the form to make it easier to submit by keyboard. Enter or space will now trigger the button right off without having to mouse around to find the button after we've clicked into the conf form, and keyboarders can also get to the 'no' button more easily. --- actions/block.php | 7 +++++++ actions/groupblock.php | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/actions/block.php b/actions/block.php index 5fae45dffc..fe4ec00881 100644 --- a/actions/block.php +++ b/actions/block.php @@ -168,4 +168,11 @@ class BlockAction extends ProfileFormAction return; } } + + function showScripts() + { + parent::showScripts(); + $this->autofocus('form_action-yes'); + } + } diff --git a/actions/groupblock.php b/actions/groupblock.php index ec673358e6..88d7634a28 100644 --- a/actions/groupblock.php +++ b/actions/groupblock.php @@ -214,5 +214,12 @@ class GroupblockAction extends Action 303); } } + + function showScripts() + { + parent::showScripts(); + $this->autofocus('form_action-yes'); + } + } From ffc1ac02c3f1f566088c8bef7c54d1ae97e56a36 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Mon, 5 Apr 2010 10:12:27 -0400 Subject: [PATCH 04/17] add an event for group members minilist --- actions/showgroup.php | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/actions/showgroup.php b/actions/showgroup.php index a0d05ba37a..6e06666909 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')); - if ($cnt > MEMBERS_PER_SECTION) { - $this->element('a', array('href' => common_local_url('groupmembers', - array('nickname' => $this->group->nickname))), - _('All 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')); + } + + Event::handle('EndShowGroupMembersMiniList', array($this)); } $this->elementEnd('div'); From 5414096c44dd68c3212627320bd71d12e455950b Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Mon, 5 Apr 2010 10:12:40 -0400 Subject: [PATCH 05/17] add an event for subscribers minilist --- lib/profileaction.php | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/lib/profileaction.php b/lib/profileaction.php index 029c21845d..8880faba6f 100644 --- a/lib/profileaction.php +++ b/lib/profileaction.php @@ -139,25 +139,30 @@ class ProfileAction extends OwnerDesignAction $this->elementStart('div', array('id' => 'entity_subscribers', 'class' => 'section')); - $this->element('h2', null, _('Subscribers')); + if (Event::handle('StartShowSubscribersMiniList', array($this))) { - $cnt = 0; + $this->element('h2', null, _('Subscribers')); - if (!empty($profile)) { - $pml = new ProfileMiniList($profile, $this); - $cnt = $pml->show(); - if ($cnt == 0) { - $this->element('p', null, _('(None)')); + $cnt = 0; + + if (!empty($profile)) { + $pml = new ProfileMiniList($profile, $this); + $cnt = $pml->show(); + if ($cnt == 0) { + $this->element('p', null, _('(None)')); + } } - } - if ($cnt > PROFILES_PER_MINILIST) { - $this->elementStart('p'); - $this->element('a', array('href' => common_local_url('subscribers', - array('nickname' => $this->profile->nickname)), - 'class' => 'more'), - _('All subscribers')); - $this->elementEnd('p'); + if ($cnt > PROFILES_PER_MINILIST) { + $this->elementStart('p'); + $this->element('a', array('href' => common_local_url('subscribers', + array('nickname' => $this->profile->nickname)), + 'class' => 'more'), + _('All subscribers')); + $this->elementEnd('p'); + } + + Event::handle('EndShowSubscribersMiniList', array($this)); } $this->elementEnd('div'); From 8d335f0c86390a2f5bb9a1cfbacd47c679a19664 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Mon, 5 Apr 2010 10:14:45 -0400 Subject: [PATCH 06/17] balance brackets on profileminilist --- lib/profileminilist.php | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/profileminilist.php b/lib/profileminilist.php index 913119c798..2b4ea1635d 100644 --- a/lib/profileminilist.php +++ b/lib/profileminilist.php @@ -101,4 +101,5 @@ class ProfileMiniListItem extends ProfileListItem } $this->out->elementEnd('li'); } + } } From 7fb8d0c4715c7c5b9d7e7b45ba749ffc03c12fe4 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Mon, 5 Apr 2010 10:22:54 -0400 Subject: [PATCH 07/17] breakout subscribers minilist --- lib/profileaction.php | 40 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 38 insertions(+), 2 deletions(-) diff --git a/lib/profileaction.php b/lib/profileaction.php index 8880faba6f..0895dd318a 100644 --- a/lib/profileaction.php +++ b/lib/profileaction.php @@ -146,8 +146,8 @@ class ProfileAction extends OwnerDesignAction $cnt = 0; if (!empty($profile)) { - $pml = new ProfileMiniList($profile, $this); - $cnt = $pml->show(); + $sml = new SubscribersMiniList($profile, $this); + $cnt = $sml->show(); if ($cnt == 0) { $this->element('p', null, _('(None)')); } @@ -259,3 +259,39 @@ class ProfileAction extends OwnerDesignAction } } +class SubscribersMiniList extends ProfileMiniList +{ + function newListItem($profile) + { + return new SubscribersMiniListItem($profile, $this->action); + } +} + +class SubscribersMiniListItem extends ProfileMiniListItem +{ + function show() + { + $this->out->elementStart('li', 'vcard'); + if (Event::handle('StartProfileListItemProfileElements', array($this))) { + if (Event::handle('StartProfileListItemAvatar', array($this))) { + $this->out->elementStart('a', array('title' => $this->profile->getBestName(), + 'href' => $this->profile->profileurl, + 'rel' => 'contact member', + 'class' => 'url')); + $avatar = $this->profile->getAvatar(AVATAR_MINI_SIZE); + $this->out->element('img', array('src' => (($avatar) ? $avatar->displayUrl() : Avatar::defaultImage(AVATAR_MINI_SIZE)), + 'width' => AVATAR_MINI_SIZE, + 'height' => AVATAR_MINI_SIZE, + 'class' => 'avatar photo', + 'alt' => ($this->profile->fullname) ? + $this->profile->fullname : + $this->profile->nickname)); + $this->out->element('span', 'fn nickname', $this->profile->nickname); + $this->out->elementEnd('a'); + Event::handle('EndProfileListItemAvatar', array($this)); + } + $this->out->elementEnd('li'); + } + } +} + From a313aeab9cddabc2fd02dfbe98a7aa83653260da Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Mon, 5 Apr 2010 10:24:22 -0400 Subject: [PATCH 08/17] lib/default.php has nofollow group --- lib/default.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/default.php b/lib/default.php index 10f3f1a97e..ffeab70b3a 100644 --- a/lib/default.php +++ b/lib/default.php @@ -296,4 +296,8 @@ $default = ), 'api' => array('realm' => null), + 'nofollow' => + array('subscribers' => true, + 'members' => true, + 'peopletag' => true), ); From 19401f6530f874f9bbbd71e251873bf678f2d7a5 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Mon, 5 Apr 2010 10:46:26 -0400 Subject: [PATCH 09/17] add linkAttributes() method for profilelist --- lib/profilelist.php | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/lib/profilelist.php b/lib/profilelist.php index 3e5513895c..934907bc35 100644 --- a/lib/profilelist.php +++ b/lib/profilelist.php @@ -181,9 +181,8 @@ class ProfileListItem extends Widget function showAvatar() { $avatar = $this->profile->getAvatar(AVATAR_STREAM_SIZE); - $this->out->elementStart('a', array('href' => $this->profile->profileurl, - 'class' => 'url entry-title', - 'rel' => 'contact')); + $aAttrs = $this->linkAttributes(); + $this->out->elementStart('a', $aAttrs); $this->out->element('img', array('src' => ($avatar) ? $avatar->displayUrl() : Avatar::defaultImage(AVATAR_STREAM_SIZE), 'class' => 'photo avatar', 'width' => AVATAR_STREAM_SIZE, @@ -299,4 +298,11 @@ class ProfileListItem extends Widget { return htmlspecialchars($text); } + + function linkAttributes() + { + return array('href' => $this->profile->profileurl, + 'class' => 'url entry-title', + 'rel' => 'contact'); + } } From dd053aa3490298a292fbf9e5e061640cf774a527 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Mon, 5 Apr 2010 10:46:38 -0400 Subject: [PATCH 10/17] override linkAttributes() method for profileminilist --- lib/profileminilist.php | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/lib/profileminilist.php b/lib/profileminilist.php index 2b4ea1635d..a989534748 100644 --- a/lib/profileminilist.php +++ b/lib/profileminilist.php @@ -83,10 +83,8 @@ class ProfileMiniListItem extends ProfileListItem $this->out->elementStart('li', 'vcard'); if (Event::handle('StartProfileListItemProfileElements', array($this))) { if (Event::handle('StartProfileListItemAvatar', array($this))) { - $this->out->elementStart('a', array('title' => $this->profile->getBestName(), - 'href' => $this->profile->profileurl, - 'rel' => 'contact member', - 'class' => 'url')); + $aAttrs = $this->linkAttributes(); + $this->out->elementStart('a', $aAttrs); $avatar = $this->profile->getAvatar(AVATAR_MINI_SIZE); $this->out->element('img', array('src' => (($avatar) ? $avatar->displayUrl() : Avatar::defaultImage(AVATAR_MINI_SIZE)), 'width' => AVATAR_MINI_SIZE, @@ -102,4 +100,17 @@ class ProfileMiniListItem extends ProfileListItem $this->out->elementEnd('li'); } } + + // default; overridden for nofollow lists + + function linkAttributes() + { + $aAttrs = parent::linkAttributes(); + + $aAttrs['title'] = $this->profile->getBestName(); + $aAttrs['rel'] = 'contact member'; // @todo: member? always? + $aAttrs['class'] = 'url'; + + return $aAttrs; + } } From 2e51d331459d212807bd977fcc972b1127d889fc Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Mon, 5 Apr 2010 10:46:55 -0400 Subject: [PATCH 11/17] override linkAttributes() method for subscribersminilist --- lib/profileaction.php | 26 +++++--------------------- 1 file changed, 5 insertions(+), 21 deletions(-) diff --git a/lib/profileaction.php b/lib/profileaction.php index 0895dd318a..82e0224af2 100644 --- a/lib/profileaction.php +++ b/lib/profileaction.php @@ -269,29 +269,13 @@ class SubscribersMiniList extends ProfileMiniList class SubscribersMiniListItem extends ProfileMiniListItem { - function show() + function linkAttributes() { - $this->out->elementStart('li', 'vcard'); - if (Event::handle('StartProfileListItemProfileElements', array($this))) { - if (Event::handle('StartProfileListItemAvatar', array($this))) { - $this->out->elementStart('a', array('title' => $this->profile->getBestName(), - 'href' => $this->profile->profileurl, - 'rel' => 'contact member', - 'class' => 'url')); - $avatar = $this->profile->getAvatar(AVATAR_MINI_SIZE); - $this->out->element('img', array('src' => (($avatar) ? $avatar->displayUrl() : Avatar::defaultImage(AVATAR_MINI_SIZE)), - 'width' => AVATAR_MINI_SIZE, - 'height' => AVATAR_MINI_SIZE, - 'class' => 'avatar photo', - 'alt' => ($this->profile->fullname) ? - $this->profile->fullname : - $this->profile->nickname)); - $this->out->element('span', 'fn nickname', $this->profile->nickname); - $this->out->elementEnd('a'); - Event::handle('EndProfileListItemAvatar', array($this)); - } - $this->out->elementEnd('li'); + $aAttrs = parent::linkAttributes(); + if (common_config('nofollow', 'subscribers')) { + $aAttrs['rel'] .= ' nofollow'; } + return $aAttrs; } } From 96761c14eafc5933119c95021da4bd8d89b4dd61 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Mon, 5 Apr 2010 10:47:07 -0400 Subject: [PATCH 12/17] override linkAttributes() method for groupmembersminilist --- actions/showgroup.php | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/actions/showgroup.php b/actions/showgroup.php index 6e06666909..3d369e9ebf 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; + } +} + From 2882e40540b6ca0aaeb7b9e1841622cf0442ae3d Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Mon, 5 Apr 2010 11:03:14 -0400 Subject: [PATCH 13/17] nofollow for peopletag pages --- actions/peopletag.php | 44 +++++++++++++++++++++++++++++++++++++++---- 1 file changed, 40 insertions(+), 4 deletions(-) diff --git a/actions/peopletag.php b/actions/peopletag.php index 4ba1dc0f1f..af40b9d82a 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'); + } + } +} + From 98905de69df7371f7ce010680416525036a1c400 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Mon, 5 Apr 2010 11:17:06 -0400 Subject: [PATCH 14/17] make profilelist homepage link attributes overrideable --- lib/profilelist.php | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/profilelist.php b/lib/profilelist.php index 934907bc35..b010fb7249 100644 --- a/lib/profilelist.php +++ b/lib/profilelist.php @@ -222,8 +222,8 @@ class ProfileListItem extends Widget { if (!empty($this->profile->homepage)) { $this->out->text(' '); - $this->out->elementStart('a', array('href' => $this->profile->homepage, - 'class' => 'url')); + $aAttrs = $this->homepageAttributes(); + $this->out->elementStart('a', $aAttrs); $this->out->raw($this->highlight($this->profile->homepage)); $this->out->elementEnd('a'); } @@ -305,4 +305,10 @@ class ProfileListItem extends Widget 'class' => 'url entry-title', 'rel' => 'contact'); } + + function homepageAttributes() + { + return array('href' => $this->profile->homepage, + 'class' => 'url'); + } } From 95229bc7a060bb6289aa9b7950f4e69acd96a1e7 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Mon, 5 Apr 2010 11:17:36 -0400 Subject: [PATCH 15/17] use homepage link attributes method for peopletaglist --- actions/peopletag.php | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/actions/peopletag.php b/actions/peopletag.php index af40b9d82a..456cc21c4c 100644 --- a/actions/peopletag.php +++ b/actions/peopletag.php @@ -166,18 +166,10 @@ class PeopleTagListItem extends ProfileListItem return $aAttrs; } - function showHomepage() + function homepageAttributes() { - 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'); + if (common_config('nofollow', 'peopletag')) { + $aAttrs['rel'] = 'nofollow'; } } } From 16827a66bab59964f315d39a305ddac19a8f2f18 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Mon, 5 Apr 2010 11:17:51 -0400 Subject: [PATCH 16/17] use nofollow for group members list --- actions/groupmembers.php | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/actions/groupmembers.php b/actions/groupmembers.php index a16debd7b0..fb4e46dbc0 100644 --- a/actions/groupmembers.php +++ b/actions/groupmembers.php @@ -212,6 +212,7 @@ class GroupMemberListItem extends ProfileListItem } } + function showGroupBlockForm() { $user = common_current_user(); @@ -224,7 +225,24 @@ class GroupMemberListItem extends ProfileListItem $bf->show(); $this->out->elementEnd('li'); } + } + function linkAttributes() + { + $aAttrs = parent::linkAttributes(); + + if (common_config('nofollow', 'members')) { + $aAttrs['rel'] .= ' nofollow'; + } + + return $aAttrs; + } + + function homepageAttributes() + { + if (common_config('nofollow', 'members')) { + $aAttrs['rel'] = 'nofollow'; + } } } From 2a489018b11838280ef0c74f6727d5b9c0c10a0f Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Mon, 5 Apr 2010 11:18:03 -0400 Subject: [PATCH 17/17] use nofollow for subscribers list --- actions/subscribers.php | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/actions/subscribers.php b/actions/subscribers.php index 4bced62840..6dda7312d6 100644 --- a/actions/subscribers.php +++ b/actions/subscribers.php @@ -163,4 +163,22 @@ class SubscribersListItem extends SubscriptionListItem $bf->show(); } } + + function linkAttributes() + { + $aAttrs = parent::linkAttributes(); + + if (common_config('nofollow', 'subscribers')) { + $aAttrs['rel'] .= ' nofollow'; + } + + return $aAttrs; + } + + function homepageAttributes() + { + if (common_config('nofollow', 'subscribers')) { + $aAttrs['rel'] = 'nofollow'; + } + } }