]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/accountprofileblock.php
If there's no Happening, we can't use the RSVP.
[quix0rs-gnu-social.git] / lib / accountprofileblock.php
index 59c27776018dac7c2bfddaf27e5557bf120bf0e0..875acbb59c30ea500b38ff27b85fe660f70dd21a 100644 (file)
  * @link      http://status.net/
  */
 
-if (!defined('STATUSNET')) {
-    // This check helps protect against security problems;
-    // your code file can't be executed directly from the web.
-    exit(1);
-}
-
-require_once INSTALLDIR.'/lib/peopletags.php';
+if (!defined('GNUSOCIAL')) { exit(1); }
 
 /**
  * Profile block to show for an account
@@ -51,22 +45,16 @@ class AccountProfileBlock extends ProfileBlock
     protected $profile = null;
     protected $user    = null;
 
-    function __construct($out, $profile)
+    function __construct(Action $out, Profile $profile)
     {
         parent::__construct($out);
         $this->profile = $profile;
-        $this->user    = User::staticGet('id', $profile->id);
-    }
-
-    function avatar()
-    {
-        $avatar = $this->profile->getAvatar(AVATAR_PROFILE_SIZE);
-        if (empty($avatar)) {
-            $avatar = $this->profile->getAvatar(73);
+        try {
+            $this->user = $this->profile->getUser();
+        } catch (NoSuchUserException $e) {
+            // The profile presented is non-local
+            assert(!$this->profile->isLocal());
         }
-        return (!empty($avatar)) ?
-            $avatar->displayUrl() :
-            Avatar::defaultImage(AVATAR_PROFILE_SIZE);
     }
 
     function name()
@@ -94,6 +82,15 @@ class AccountProfileBlock extends ProfileBlock
         return $this->profile->bio;
     }
 
+    function otherProfiles()
+    {
+        $others = array();
+
+        Event::handle('OtherAccountProfiles', array($this->profile, &$others));
+        
+        return $others;
+    }
+
     function showTags()
     {
         $cur = common_current_user();
@@ -138,9 +135,6 @@ class AccountProfileBlock extends ProfileBlock
             if (Event::handle('StartProfilePageActionsElements', array($this->out, $this->profile))) {
                 if (empty($cur)) { // not logged in
                     if (Event::handle('StartProfileRemoteSubscribe', array($this->out, $this->profile))) {
-                        $this->out->elementStart('li', 'entity_subscribe');
-                        $this->showRemoteSubscribeLink();
-                        $this->out->elementEnd('li');
                         Event::handle('EndProfileRemoteSubscribe', array($this->out, $this->profile));
                     }
                 } else {
@@ -170,21 +164,10 @@ class AccountProfileBlock extends ProfileBlock
                         }
                         $this->out->elementEnd('li');
 
-                        if ($cur->mutuallySubscribed($this->profile)) {
-
-                            // message
-
-                            $this->out->elementStart('li', 'entity_send-a-message');
-                            $this->out->element('a', array('href' => common_local_url('newmessage', array('to' => $this->user->id)),
-                                                      // TRANS: Link title for link on user profile.
-                                                      'title' => _('Send a direct message to this user.')),
-                                           // TRANS: Link text for link on user profile.
-                                           _m('BUTTON','Message'));
-                            $this->out->elementEnd('li');
-
+                        if ($this->profile->isLocal() && $cur->mutuallySubscribed($this->profile)) {
                             // nudge
 
-                            if ($this->user && $this->user->email && $this->user->emailnotifynudge) {
+                            if ($this->user->email && $this->user->emailnotifynudge) {
                                 $this->out->elementStart('li', 'entity_nudge');
                                 $nf = new NudgeForm($this->out, $this->user);
                                 $nf->show();
@@ -298,16 +281,6 @@ class AccountProfileBlock extends ProfileBlock
         $this->out->elementEnd('li');
     }
 
-    function showRemoteSubscribeLink()
-    {
-        $url = common_local_url('remotesubscribe',
-                                array('nickname' => $this->profile->nickname));
-        $this->out->element('a', array('href' => $url,
-                                  'class' => 'entity_remote_subscribe'),
-                       // TRANS: Link text for link that will subscribe to a remote profile.
-                       _m('BUTTON','Subscribe'));
-    }
-
     function show()
     {
         $this->out->elementStart('div', 'profile_block account_profile_block section');