]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/profileblock.php
Merge commit 'refs/merge-requests/41' of https://gitorious.org/social/mainline into...
[quix0rs-gnu-social.git] / lib / profileblock.php
index 3cea0474a429bfacdbfca7c1c65f04349a052714..65c4fa99d2c51ac980eae7ef32079478c7fd014f 100644 (file)
@@ -4,7 +4,7 @@
  * Copyright (C) 2011, StatusNet, Inc.
  *
  * Superclass for profile blocks
- * 
+ *
  * PHP version 5
  *
  * This program is free software: you can redistribute it and/or modify
@@ -47,7 +47,8 @@ if (!defined('STATUSNET')) {
 
 abstract class ProfileBlock extends Widget
 {
-    abstract function avatar();
+    protected $avatarSize = AVATAR_PROFILE_SIZE;
+
     abstract function name();
     abstract function url();
     abstract function location();
@@ -57,30 +58,15 @@ abstract class ProfileBlock extends Widget
     function show()
     {
         $this->showActions();
-        $this->showAvatar();
+        $this->showAvatar($this->profile);
         $this->showName();
         $this->showLocation();
         $this->showHomepage();
+        $this->showOtherProfiles();
         $this->showDescription();
         $this->showTags();
     }
 
-    function showAvatar()
-    {
-        $size = $this->avatarSize();
-
-        $this->out->element(
-            'img',
-            array(
-                'src'  => $this->avatar(),
-                'class'  => 'ur_face',
-                'alt'    => $this->name(),
-                'width'  => $size,
-                'height' => $size
-            )
-        );
-    }
-
     function showName()
     {
         $name = $this->name();
@@ -122,14 +108,42 @@ abstract class ProfileBlock extends Widget
 
     function showHomepage()
     {
+        $homepage = $this->homepage();
+
         if (!empty($homepage)) {
-            $this->out->element('a', 'profile_block_homepage', $homepage);
+            $this->out->element('a',
+                                array('href' => $homepage,
+                                      'rel' => 'me',
+                                      'class' => 'profile_block_homepage'),
+                                $homepage);
         }
     }
 
-    function avatarSize()
+    function showOtherProfiles()
     {
-        return AVATAR_PROFILE_SIZE;
+        $otherProfiles = $this->otherProfiles();
+
+        if (!empty($otherProfiles)) {
+
+            $this->out->elementStart('ul',
+                                     array('class' => 'profile_block_otherprofile_list'));
+
+            foreach ($otherProfiles as $otherProfile) {
+                $this->out->elementStart('li');
+                $this->out->elementStart('a',
+                                         array('href' => $otherProfile['href'],
+                                               'rel' => 'me',
+                                               'class' => 'profile_block_otherprofile',
+                                               'title' => $otherProfile['text']));
+                $this->out->element('img',
+                                    array('src' => $otherProfile['image'],
+                                          'class' => 'profile_block_otherprofile_icon'));
+                $this->out->elementEnd('a');
+                $this->out->elementEnd('li');
+            }
+
+            $this->out->elementEnd('ul');
+        }
     }
 
     function showTags()