]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/profileaction.php
better output for registration confirmation
[quix0rs-gnu-social.git] / lib / profileaction.php
index 59682d5505e76bf84d967f5cdf2a7c1cec88ce28..bdd7f9144dda3b887c83de0e44e0ab2821dc1614 100644 (file)
@@ -97,8 +97,7 @@ class ProfileAction extends OwnerDesignAction
         $this->showSubscriptions();
         $this->showSubscribers();
         $this->showGroups();
-        $this->showListsFor();
-        $this->showListSubscriptions();
+        $this->showLists();
         $this->showStatistics();
     }
 
@@ -180,28 +179,6 @@ class ProfileAction extends OwnerDesignAction
         $this->elementEnd('div');
     }
 
-    function showListsFor()
-    {
-        if (Event::handle('StartShowListsForSection', array($this))) {
-
-            $section = new PeopletagsForUserSection($this, $this->profile);
-            $section->show();
-
-            Event::handle('EndShowListsForSection', array($this));
-        }
-    }
-
-    function showListSubscriptions()
-    {
-        if (Event::handle('StartShowListSubscriptionsSection', array($this))) {
-
-            $section = new PeopletagSubscriptionsSection($this, $this->profile);
-            $section->show();
-
-            Event::handle('EndShowListSubscriptionsSection', array($this));
-        }
-    }
-
     function showStatistics()
     {
         $notice_count = $this->profile->noticeCount();
@@ -294,17 +271,65 @@ class ProfileAction extends OwnerDesignAction
                 }
             }
 
-            if ($cnt > GROUPS_PER_MINILIST) {
-                $this->elementStart('p');
-                // TRANS: Text for user group membership statistics if user has more subscriptions than displayed.
-                $this->statsSectionLink('usergroups', _('All groups'), 'more');
-                $this->elementEnd('p');
-            }
-
             Event::handle('EndShowGroupsMiniList', array($this));
         }
             $this->elementEnd('div');
     }
+
+    function showLists()
+    {
+        $cur = common_current_user();
+
+        $lists = $this->profile->getLists($cur);
+
+        if ($lists->N > 0) {
+            $this->elementStart('div', array('id' => 'entity_lists',
+                                             'class' => 'section'));
+
+            if (Event::handle('StartShowListsMiniList', array($this))) {
+
+                $url = common_local_url('peopletagsbyuser',
+                                        array('nickname' => $this->profile->nickname));
+
+                $this->elementStart('h2');
+                $this->element('a',
+                               array('href' => $url),
+                               // TRANS: H2 text for user list membership statistics.
+                               _('Lists'));
+                $this->text(' ');
+                $this->text($lists->N);
+                $this->elementEnd('h2');
+
+                $this->elementStart('ul');
+
+
+                $first = true;
+
+                while ($lists->fetch()) {
+                    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');
+
+                Event::handle('EndShowListsMiniList', array($this));
+            }
+            $this->elementEnd('div');
+        }
+    }
 }
 
 class SubscribersMiniList extends ProfileMiniList