X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=lib%2Faccountprofileblock.php;h=fe11a0fc1571c3658fa38253c4073a18aa543127;hb=7220b3ddd4a32b947e851c946cb6ad6146bebf7d;hp=25734f53ed35a17956eba02de8c280d470a4cd20;hpb=5304373b0b5c9905b30c85b565c23246d377467b;p=quix0rs-gnu-social.git diff --git a/lib/accountprofileblock.php b/lib/accountprofileblock.php index 25734f53ed..fe11a0fc15 100644 --- a/lib/accountprofileblock.php +++ b/lib/accountprofileblock.php @@ -51,22 +51,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 +88,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 +141,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 +170,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,19 +287,9 @@ 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', 'account_profile_block section'); + $this->out->elementStart('div', 'profile_block account_profile_block section'); if (Event::handle('StartShowAccountProfileBlock', array($this->out, $this->profile))) { parent::show(); Event::handle('EndShowAccountProfileBlock', array($this->out, $this->profile));