]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/profilelist.php
Updated Cloudy theme default avatars and minor CSS
[quix0rs-gnu-social.git] / lib / profilelist.php
index a510c518c5dffc4564ae779666c58779d4ab3cc1..a4cc235552a4d24723cbb5abe9934bfa1c9e08a6 100644 (file)
@@ -34,8 +34,6 @@ if (!defined('LACONICA')) {
 
 require_once INSTALLDIR.'/lib/widget.php';
 
-define('PROFILES_PER_PAGE', 20);
-
 /**
  * Widget to show a list of profiles
  *
@@ -91,26 +89,27 @@ class ProfileList extends Widget
                                              'id' => 'profile-' . $this->profile->id));
 
         $user = common_current_user();
+        $is_own = !is_null($user) && isset($this->owner) && ($user->id === $this->owner->id);
 
         $this->out->elementStart('div', 'entity_profile vcard');
 
         $avatar = $this->profile->getAvatar(AVATAR_STREAM_SIZE);
         $this->out->elementStart('a', array('href' => $this->profile->profileurl,
                                             'class' => 'url'));
-        $this->out->element('img', array('src' => ($avatar) ? common_avatar_display_url($avatar) : common_default_avatar(AVATAR_STREAM_SIZE),
+        $this->out->element('img', array('src' => ($avatar) ? $avatar->displayUrl() : Avatar::defaultImage(AVATAR_STREAM_SIZE),
                                          'class' => 'photo avatar',
                                          'width' => AVATAR_STREAM_SIZE,
                                          'height' => AVATAR_STREAM_SIZE,
                                          'alt' =>
                                          ($this->profile->fullname) ? $this->profile->fullname :
                                          $this->profile->nickname));
-        $hasFN = ($this->profile->fullname) ? 'nickname' : 'fn nickname';
+        $hasFN = ($this->profile->fullname !== '') ? 'nickname' : 'fn nickname';
         $this->out->elementStart('span', $hasFN);
         $this->out->raw($this->highlight($this->profile->nickname));
         $this->out->elementEnd('span');
         $this->out->elementEnd('a');
 
-        if ($this->profile->fullname) {
+        if (!empty($this->profile->fullname)) {
             $this->out->elementStart('dl', 'entity_fn');
             $this->out->element('dt', null, 'Full name');
             $this->out->elementStart('dd');
@@ -120,15 +119,15 @@ class ProfileList extends Widget
             $this->out->elementEnd('dd');
             $this->out->elementEnd('dl');
         }
-        if ($this->profile->location) {
+        if (!empty($this->profile->location)) {
             $this->out->elementStart('dl', 'entity_location');
             $this->out->element('dt', null, _('Location'));
-            $this->out->elementStart('dd', 'location');
+            $this->out->elementStart('dd', 'label');
             $this->out->raw($this->highlight($this->profile->location));
             $this->out->elementEnd('dd');
             $this->out->elementEnd('dl');
         }
-        if ($this->profile->homepage) {
+        if (!empty($this->profile->homepage)) {
             $this->out->elementStart('dl', 'entity_url');
             $this->out->element('dt', null, _('URL'));
             $this->out->elementStart('dd');
@@ -139,7 +138,7 @@ class ProfileList extends Widget
             $this->out->elementEnd('dd');
             $this->out->elementEnd('dl');
         }
-        if ($this->profile->bio) {
+        if (!empty($this->profile->bio)) {
             $this->out->elementStart('dl', 'entity_note');
             $this->out->element('dt', null, _('Note'));
             $this->out->elementStart('dd', 'note');
@@ -156,7 +155,7 @@ class ProfileList extends Widget
 
             $this->out->elementStart('dl', 'entity_tags');
             $this->out->elementStart('dt');
-            if ($user->id == $this->owner->id) {
+            if ($is_own) {
                 $this->out->element('a', array('href' => common_local_url('tagother',
                                                                           array('id' => $this->profile->id))),
                                     _('Tags'));
@@ -169,9 +168,9 @@ class ProfileList extends Widget
                 $this->out->elementStart('ul', 'tags xoxo');
                 foreach ($tags as $tag) {
                     $this->out->elementStart('li');
-                    $this->element('span', 'mark_hash', '#');
+                    $this->out->element('span', 'mark_hash', '#');
                     $this->out->element('a', array('rel' => 'tag',
-                                                   'href' => common_local_url($this->action,
+                                                   'href' => common_local_url($this->action->trimmed('action'),
                                                                               array('nickname' => $this->owner->nickname,
                                                                                     'tag' => $tag))),
                                         $tag);
@@ -185,15 +184,21 @@ class ProfileList extends Widget
             $this->out->elementEnd('dl');
         }
 
-        if ($user && $user->id == $this->owner->id) {
+        if ($is_own) {
             $this->showOwnerControls($this->profile);
         }
 
         $this->out->elementEnd('div');
 
-        if ($user && $user->id != $this->profile->id) {
-            # XXX: special-case for user looking at own
-            # subscriptions page
+        $this->out->elementStart('div', 'entity_actions');
+
+        $this->out->elementStart('ul');
+
+        // Is this a logged-in user, looking at someone else's
+        // profile?
+
+        if (!empty($user) && $this->profile->id != $user->id) {
+            $this->out->elementStart('li', 'entity_subscribe');
             if ($user->isSubscribed($this->profile)) {
                 $usf = new UnsubscribeForm($this->out, $this->profile);
                 $usf->show();
@@ -201,8 +206,18 @@ class ProfileList extends Widget
                 $sf = new SubscribeForm($this->out, $this->profile);
                 $sf->show();
             }
+            $this->out->elementEnd('li');
+            $this->out->elementStart('li', 'entity_block');
+            if ($user->id == $this->owner->id) {
+                $this->showBlockForm();
+            }
+            $this->out->elementEnd('li');
         }
 
+        $this->out->elementEnd('ul');
+
+        $this->out->elementEnd('div');
+
         $this->out->elementEnd('li');
     }
 
@@ -217,4 +232,8 @@ class ProfileList extends Widget
     {
         return htmlspecialchars($text);
     }
+
+    function showBlockForm()
+    {
+    }
 }