]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
don't show private lists; correct link in header
authorEvan Prodromou <evan@status.net>
Thu, 14 Apr 2011 21:27:26 +0000 (17:27 -0400)
committerEvan Prodromou <evan@status.net>
Thu, 14 Apr 2011 21:27:26 +0000 (17:27 -0400)
classes/Profile.php
lib/profileaction.php

index b44ad77dd204a898661ef6996359250776e43246..c23fc1fed2083add4d9dc2cc09e4b74ff13b6f50 100644 (file)
@@ -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);
index bffae98ca6a0708eec2f89469c74aebce4847aaa..c919cb6bed65e1c818a610738590aceef502c549 100644 (file)
@@ -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');