]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - plugins/Directory/lib/sortablegrouplist.php
Localisation updates from http://translatewiki.net.
[quix0rs-gnu-social.git] / plugins / Directory / lib / sortablegrouplist.php
index 2b51ef5655a5bb37632521b488ddb1960ad6431b..709547ae0f4ee0c9629ed9e02b115d7c4df2e771 100644 (file)
@@ -1,5 +1,4 @@
 <?php
-
 /**
  * StatusNet, the distributed open-source microblogging tool
  *
@@ -43,7 +42,6 @@ require_once INSTALLDIR . '/lib/subscriptionlist.php';
  * @license  http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
  * @link     http://status.net/
  */
-
 class SortableGroupList extends SortableSubscriptionList
 {
     /** Owner of this list */
@@ -63,12 +61,13 @@ class SortableGroupList extends SortableSubscriptionList
         $this->out->elementStart('tr');
 
         $tableHeaders = array(
+            // TRANS: Column header in table for user nickname.
             'nickname'    => _m('Nickname'),
+            // TRANS: Column header in table for timestamp when user was created.
             'created'     => _m('Created')
         );
 
         foreach ($tableHeaders as $id => $label) {
-
             $attrs   = array('id' => $id);
             $current = (!empty($this->action->sort) && $this->action->sort == $id);
 
@@ -110,6 +109,7 @@ class SortableGroupList extends SortableSubscriptionList
             $this->out->elementEnd('th');
         }
 
+        // TRANS: Column header in table for members of a group.
         $this->out->element('th', array('id' => 'Members'), _m('Members'));
         $this->out->element('th', array('id' => 'controls'), null);
 
@@ -149,6 +149,24 @@ class SortableGroupListItem extends SortableSubscriptionListItem
         }
     }
 
+    function showDescription()
+    {
+        if (!empty($this->profile->description)) {
+            $cutoff      = 140; // XXX Should this be configurable?
+            $description = htmlspecialchars($this->profile->description);
+
+            if (mb_strlen($description) > $cutoff) {
+                $description = mb_substr($description, 0, $cutoff - 1)
+                    .'<a href="' . $this->profile->homeUrl() .'">…</a>';
+            }
+
+            $this->out->elementStart('p', 'note');
+            $this->out->raw($description);
+            $this->out->elementEnd('p');
+        }
+
+    }
+
     function showAvatar()
     {
         $logo = ($this->profile->stream_logo) ?
@@ -205,6 +223,19 @@ class SortableGroupListItem extends SortableSubscriptionListItem
         }
     }
 
+    function showProfile()
+    {
+        $this->startProfile();
+        $this->showAvatar();
+        $this->showFullName();
+        $this->showLocation();
+        $this->showHomepage();
+        $this->showDescription(); // groups have this instead of bios
+        // Relevant portion!
+        $this->showTags();
+        $this->endProfile();
+    }
+
     function showActions()
     {
         $this->startActions();
@@ -245,6 +276,7 @@ class SortableGroupListItem extends SortableSubscriptionListItem
     function showCreatedDate()
     {
         $this->out->elementStart('td', 'entry_created');
+        // @todo FIXME: Should we provide i18n for timestamps in core?
         $this->out->raw(date('j M Y', strtotime($this->profile->created)));
         $this->out->elementEnd('td');
     }
@@ -267,5 +299,4 @@ class SortableGroupListItem extends SortableSubscriptionListItem
         }
 
     }
-
 }