From 5414096c44dd68c3212627320bd71d12e455950b Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Mon, 5 Apr 2010 10:12:40 -0400 Subject: add an event for subscribers minilist --- lib/profileaction.php | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) (limited to 'lib/profileaction.php') diff --git a/lib/profileaction.php b/lib/profileaction.php index 029c21845..8880faba6 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'); -- cgit v1.2.3-54-g00ecf From 7fb8d0c4715c7c5b9d7e7b45ba749ffc03c12fe4 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Mon, 5 Apr 2010 10:22:54 -0400 Subject: breakout subscribers minilist --- lib/profileaction.php | 40 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 38 insertions(+), 2 deletions(-) (limited to 'lib/profileaction.php') diff --git a/lib/profileaction.php b/lib/profileaction.php index 8880faba6..0895dd318 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'); + } + } +} + -- cgit v1.2.3-54-g00ecf From 2e51d331459d212807bd977fcc972b1127d889fc Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Mon, 5 Apr 2010 10:46:55 -0400 Subject: override linkAttributes() method for subscribersminilist --- lib/profileaction.php | 26 +++++--------------------- 1 file changed, 5 insertions(+), 21 deletions(-) (limited to 'lib/profileaction.php') diff --git a/lib/profileaction.php b/lib/profileaction.php index 0895dd318..82e0224af 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; } } -- cgit v1.2.3-54-g00ecf