]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/profileaction.php
Make StatusNet::initDefaults() public so we can call it from the installer.
[quix0rs-gnu-social.git] / lib / profileaction.php
index 8880faba6f975c67e2dd8633791cd190c3bae653..504b77566993ccdbab8d08197888aac194a13868 100644 (file)
@@ -146,8 +146,8 @@ class ProfileAction extends OwnerDesignAction
             $cnt = 0;
 
             if (!empty($profile)) {
-                $pml = new ProfileMiniList($profile, $this);
-                $cnt = $pml->show();
+                $sml = new SubscribersMiniList($profile, $this);
+                $cnt = $sml->show();
                 if ($cnt == 0) {
                     $this->element('p', null, _('(None)'));
                 }
@@ -174,6 +174,12 @@ class ProfileAction extends OwnerDesignAction
         $subbed_count = $this->profile->subscriberCount();
         $notice_count = $this->profile->noticeCount();
         $group_count  = $this->user->getGroups()->N;
+        $age_days     = (time() - strtotime($this->profile->created)) / 86400;
+        if ($age_days < 1) {
+            // Rather than extrapolating out to a bajillion...
+            $age_days = 1;
+        }
+        $daily_count = round($notice_count / $age_days);
 
         $this->elementStart('div', array('id' => 'entity_statistics',
                                          'class' => 'section'));
@@ -224,6 +230,12 @@ class ProfileAction extends OwnerDesignAction
         $this->element('dd', null, $notice_count);
         $this->elementEnd('dl');
 
+        $this->elementStart('dl', 'entity_daily_notices');
+        // TRANS: Average count of posts made per day since account registration
+        $this->element('dt', null, _('Daily average'));
+        $this->element('dd', null, $daily_count);
+        $this->elementEnd('dl');
+
         $this->elementEnd('div');
     }
 
@@ -259,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;
+    }
+}
+