don't show private lists; correct link in header
This commit is contained in:
parent
edee3995c2
commit
9208c94b29
|
@ -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);
|
||||
|
|
|
@ -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');
|
||||
|
|
Loading…
Reference in New Issue
Block a user