nofollow for peopletag pages

This commit is contained in:
Evan Prodromou 2010-04-05 11:03:14 -04:00
parent 96761c14ea
commit 2882e40540
1 changed files with 40 additions and 4 deletions

View File

@ -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');
}
}
}