summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Prodromou <evan@status.net>2010-04-05 11:03:14 -0400
committerEvan Prodromou <evan@status.net>2010-04-05 11:03:14 -0400
commit2882e40540b6ca0aaeb7b9e1841622cf0442ae3d (patch)
tree9343346bbfd4789f4f383b18b0c54b0a7d79ac77
parent96761c14eafc5933119c95021da4bd8d89b4dd61 (diff)
nofollow for peopletag pages
-rw-r--r--actions/peopletag.php44
1 files changed, 40 insertions, 4 deletions
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');
+ }
+ }
+}
+