]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
breakout subscribers minilist
authorEvan Prodromou <evan@status.net>
Mon, 5 Apr 2010 14:22:54 +0000 (10:22 -0400)
committerEvan Prodromou <evan@status.net>
Mon, 5 Apr 2010 14:22:54 +0000 (10:22 -0400)
lib/profileaction.php

index 8880faba6f975c67e2dd8633791cd190c3bae653..0895dd318a433af3c048bd765add5c693b509b06 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)'));
                 }
@@ -259,3 +259,39 @@ class ProfileAction extends OwnerDesignAction
     }
 }
 
+class SubscribersMiniList extends ProfileMiniList
+{
+    function newListItem($profile)
+    {
+        return new SubscribersMiniListItem($profile, $this->action);
+    }
+}
+
+class SubscribersMiniListItem extends ProfileMiniListItem
+{
+    function show()
+    {
+        $this->out->elementStart('li', 'vcard');
+        if (Event::handle('StartProfileListItemProfileElements', array($this))) {
+            if (Event::handle('StartProfileListItemAvatar', array($this))) {
+                $this->out->elementStart('a', array('title' => $this->profile->getBestName(),
+                                                    'href' => $this->profile->profileurl,
+                                                    'rel' => 'contact member',
+                                                    'class' => 'url'));
+                $avatar = $this->profile->getAvatar(AVATAR_MINI_SIZE);
+                $this->out->element('img', array('src' => (($avatar) ? $avatar->displayUrl() :  Avatar::defaultImage(AVATAR_MINI_SIZE)),
+                                                 'width' => AVATAR_MINI_SIZE,
+                                                 'height' => AVATAR_MINI_SIZE,
+                                                 'class' => 'avatar photo',
+                                                 'alt' =>  ($this->profile->fullname) ?
+                                                 $this->profile->fullname :
+                                                 $this->profile->nickname));
+                $this->out->element('span', 'fn nickname', $this->profile->nickname);
+                $this->out->elementEnd('a');
+                Event::handle('EndProfileListItemAvatar', array($this));
+            }
+            $this->out->elementEnd('li');
+        }
+    }
+}
+