]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/profileaction.php
auth fix
[quix0rs-gnu-social.git] / lib / profileaction.php
index 072c024c74a38c7d87ff7412c4f26f2b88f015fd..4bfc4d48d900b042020cadd0b1247f1535f87b1f 100644 (file)
@@ -101,7 +101,7 @@ class ProfileAction extends OwnerDesignAction
 
     function showSubscriptions()
     {
-        $profile = $this->user->getSubscriptions(0, PROFILES_PER_MINILIST + 1);
+        $profile = $this->profile->getSubscriptions(0, PROFILES_PER_MINILIST + 1);
 
         $this->elementStart('div', array('id' => 'entity_subscriptions',
                                          'class' => 'section'));
@@ -134,30 +134,35 @@ class ProfileAction extends OwnerDesignAction
 
     function showSubscribers()
     {
-        $profile = $this->user->getSubscribers(0, PROFILES_PER_MINILIST + 1);
+        $profile = $this->profile->getSubscribers(0, PROFILES_PER_MINILIST + 1);
 
         $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)) {
+                $sml = new SubscribersMiniList($profile, $this);
+                $cnt = $sml->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');
@@ -168,7 +173,7 @@ class ProfileAction extends OwnerDesignAction
         $subs_count   = $this->profile->subscriptionCount();
         $subbed_count = $this->profile->subscriberCount();
         $notice_count = $this->profile->noticeCount();
-        $group_count  = $this->user->getGroups()->N;
+        $group_count  = $this->profile->getGroups()->N;
         $age_days     = (time() - strtotime($this->profile->created)) / 86400;
         if ($age_days < 1) {
             // Rather than extrapolating out to a bajillion...
@@ -236,7 +241,7 @@ class ProfileAction extends OwnerDesignAction
 
     function showGroups()
     {
-        $groups = $this->user->getGroups(0, GROUPS_PER_MINILIST + 1);
+        $groups = $this->profile->getGroups(0, GROUPS_PER_MINILIST + 1);
 
         $this->elementStart('div', array('id' => 'entity_groups',
                                          'class' => 'section'));
@@ -244,7 +249,7 @@ class ProfileAction extends OwnerDesignAction
             $this->element('h2', null, _('Groups'));
 
             if ($groups) {
-                $gml = new GroupMiniList($groups, $this->user, $this);
+                $gml = new GroupMiniList($groups, $this->profile, $this);
                 $cnt = $gml->show();
                 if ($cnt == 0) {
                     $this->element('p', null, _('(None)'));
@@ -266,3 +271,23 @@ class ProfileAction extends OwnerDesignAction
     }
 }
 
+class SubscribersMiniList extends ProfileMiniList
+{
+    function newListItem($profile)
+    {
+        return new SubscribersMiniListItem($profile, $this->action);
+    }
+}
+
+class SubscribersMiniListItem extends ProfileMiniListItem
+{
+    function linkAttributes()
+    {
+        $aAttrs = parent::linkAttributes();
+        if (common_config('nofollow', 'subscribers')) {
+            $aAttrs['rel'] .= ' nofollow';
+        }
+        return $aAttrs;
+    }
+}
+