From 9208c94b2927a67d2ec4db5766952b0066f14fbc Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Thu, 14 Apr 2011 17:27:26 -0400 Subject: [PATCH] don't show private lists; correct link in header --- classes/Profile.php | 8 ++++++-- lib/profileaction.php | 44 +++++++++++++++++++++++-------------------- 2 files changed, 30 insertions(+), 22 deletions(-) diff --git a/classes/Profile.php b/classes/Profile.php index b44ad77dd2..c23fc1fed2 100644 --- a/classes/Profile.php +++ b/classes/Profile.php @@ -1324,7 +1324,7 @@ class Profile extends Memcached_DataObject return $profile; } - function getLists($offset, $limit) + function getLists($showPrivate) { $ids = array(); @@ -1352,7 +1352,11 @@ class Profile extends Memcached_DataObject $lists = array(); foreach ($ids as $id) { - $lists[] = Profile_list::staticGet('id', $id); + $list = Profile_list::staticGet('id', $id); + if (!empty($list) && + ($showPrivate || !$list->private)) { + $lists[] = $list; + } } return new ArrayWrapper($lists); diff --git a/lib/profileaction.php b/lib/profileaction.php index bffae98ca6..c919cb6bed 100644 --- a/lib/profileaction.php +++ b/lib/profileaction.php @@ -278,7 +278,10 @@ class ProfileAction extends OwnerDesignAction function showLists() { - $lists = $this->profile->getLists(); + $cur = common_current_user(); + $showPrivate = (!empty($cur) && $cur->id == $this->profile->id); + + $lists = $this->profile->getLists($showPrivate); if ($lists->N > 0) { $this->elementStart('div', array('id' => 'entity_lists', @@ -286,38 +289,39 @@ class ProfileAction extends OwnerDesignAction if (Event::handle('StartShowListsMiniList', array($this))) { + $url = common_local_url('peopletagsbyuser', + array('nickname' => $this->profile->nickname)); + $this->elementStart('h2'); // TRANS: H2 text for user list membership statistics. - $this->statsSectionLink('userlists', _('Lists')); + $this->element('a', + array('href' => $url), + _('Lists')); $this->text(' '); $this->text($lists->N); $this->elementEnd('h2'); $this->elementStart('ul'); - $cur = common_current_user(); $first = true; while ($lists->fetch()) { - if (!$lists->private || - ($lists->private && !empty($cur) && $cur->id == $profile->id)) { - if (!empty($lists->mainpage)) { - $url = $lists->mainpage; - } else { - $url = common_local_url('showprofiletag', - array('tagger' => $this->profile->nickname, - 'tag' => $lists->tag)); - } - if (!$first) { - $this->text(', '); - } else { - $first = false; - } - - $this->element('a', array('href' => $url), - $lists->tag); + if (!empty($lists->mainpage)) { + $url = $lists->mainpage; + } else { + $url = common_local_url('showprofiletag', + array('tagger' => $this->profile->nickname, + 'tag' => $lists->tag)); } + if (!$first) { + $this->text(', '); + } else { + $first = false; + } + + $this->element('a', array('href' => $url), + $lists->tag); } $this->elementEnd('ul'); -- 2.39.5