diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/profileaction.php | 10 | ||||
-rw-r--r-- | lib/userprofile.php | 25 |
2 files changed, 20 insertions, 15 deletions
diff --git a/lib/profileaction.php b/lib/profileaction.php index 504b77566..4bfc4d48d 100644 --- a/lib/profileaction.php +++ b/lib/profileaction.php @@ -101,7 +101,7 @@ class ProfileAction extends OwnerDesignAction function showSubscriptions() { - $profile = $this->user->getSubscriptions(0, PROFILES_PER_MINILIST + 1); + $profile = $this->profile->getSubscriptions(0, PROFILES_PER_MINILIST + 1); $this->elementStart('div', array('id' => 'entity_subscriptions', 'class' => 'section')); @@ -134,7 +134,7 @@ class ProfileAction extends OwnerDesignAction function showSubscribers() { - $profile = $this->user->getSubscribers(0, PROFILES_PER_MINILIST + 1); + $profile = $this->profile->getSubscribers(0, PROFILES_PER_MINILIST + 1); $this->elementStart('div', array('id' => 'entity_subscribers', 'class' => 'section')); @@ -173,7 +173,7 @@ class ProfileAction extends OwnerDesignAction $subs_count = $this->profile->subscriptionCount(); $subbed_count = $this->profile->subscriberCount(); $notice_count = $this->profile->noticeCount(); - $group_count = $this->user->getGroups()->N; + $group_count = $this->profile->getGroups()->N; $age_days = (time() - strtotime($this->profile->created)) / 86400; if ($age_days < 1) { // Rather than extrapolating out to a bajillion... @@ -241,7 +241,7 @@ class ProfileAction extends OwnerDesignAction function showGroups() { - $groups = $this->user->getGroups(0, GROUPS_PER_MINILIST + 1); + $groups = $this->profile->getGroups(0, GROUPS_PER_MINILIST + 1); $this->elementStart('div', array('id' => 'entity_groups', 'class' => 'section')); @@ -249,7 +249,7 @@ class ProfileAction extends OwnerDesignAction $this->element('h2', null, _('Groups')); if ($groups) { - $gml = new GroupMiniList($groups, $this->user, $this); + $gml = new GroupMiniList($groups, $this->profile, $this); $cnt = $gml->show(); if ($cnt == 0) { $this->element('p', null, _('(None)')); diff --git a/lib/userprofile.php b/lib/userprofile.php index ca060842b..2813f735e 100644 --- a/lib/userprofile.php +++ b/lib/userprofile.php @@ -98,6 +98,10 @@ class UserProfile extends Widget if (Event::handle('StartProfilePageAvatar', array($this->out, $this->profile))) { $avatar = $this->profile->getAvatar(AVATAR_PROFILE_SIZE); + if (!$avatar) { + // hack for remote Twitter users: no 96px, but large Twitter size is 73px + $avatar = $this->profile->getAvatar(73); + } $this->out->elementStart('dl', 'entity_depiction'); $this->out->element('dt', null, _('Photo')); @@ -109,10 +113,8 @@ class UserProfile extends Widget 'alt' => $this->profile->nickname)); $this->out->elementEnd('dd'); - $user = User::staticGet('id', $this->profile->id); - $cur = common_current_user(); - if ($cur && $cur->id == $user->id) { + if ($cur && $cur->id == $this->profile->id) { $this->out->elementStart('dd'); $this->out->element('a', array('href' => common_local_url('avatarsettings')), _('Edit Avatar')); $this->out->elementEnd('dd'); @@ -278,7 +280,7 @@ class UserProfile extends Widget } $this->out->elementEnd('li'); - if ($cur->mutuallySubscribed($this->user)) { + if ($cur->mutuallySubscribed($this->profile)) { // message @@ -290,7 +292,7 @@ class UserProfile extends Widget // nudge - if ($this->user->email && $this->user->emailnotifynudge) { + if ($this->user && $this->user->email && $this->user->emailnotifynudge) { $this->out->elementStart('li', 'entity_nudge'); $nf = new NudgeForm($this->out, $this->user); $nf->show(); @@ -319,6 +321,9 @@ class UserProfile extends Widget } $this->out->elementEnd('li'); + // Some actions won't be applicable to non-local users. + $isLocal = !empty($this->user); + if ($cur->hasRight(Right::SANDBOXUSER) || $cur->hasRight(Right::SILENCEUSER) || $cur->hasRight(Right::DELETEUSER)) { @@ -327,7 +332,7 @@ class UserProfile extends Widget $this->out->elementStart('ul'); if ($cur->hasRight(Right::SANDBOXUSER)) { $this->out->elementStart('li', 'entity_sandbox'); - if ($this->user->isSandboxed()) { + if ($this->profile->isSandboxed()) { $usf = new UnSandboxForm($this->out, $this->profile, $r2args); $usf->show(); } else { @@ -339,7 +344,7 @@ class UserProfile extends Widget if ($cur->hasRight(Right::SILENCEUSER)) { $this->out->elementStart('li', 'entity_silence'); - if ($this->user->isSilenced()) { + if ($this->profile->isSilenced()) { $usf = new UnSilenceForm($this->out, $this->profile, $r2args); $usf->show(); } else { @@ -349,7 +354,7 @@ class UserProfile extends Widget $this->out->elementEnd('li'); } - if ($cur->hasRight(Right::DELETEUSER)) { + if ($isLocal && $cur->hasRight(Right::DELETEUSER)) { $this->out->elementStart('li', 'entity_delete'); $df = new DeleteUserForm($this->out, $this->profile, $r2args); $df->show(); @@ -359,7 +364,7 @@ class UserProfile extends Widget $this->out->elementEnd('li'); } - if ($cur->hasRight(Right::GRANTROLE)) { + if ($isLocal && $cur->hasRight(Right::GRANTROLE)) { $this->out->elementStart('li', 'entity_role'); $this->out->element('p', null, _('User role')); $this->out->elementStart('ul'); @@ -387,7 +392,7 @@ class UserProfile extends Widget $r2args['action'] = $action; $this->out->elementStart('li', "entity_role_$role"); - if ($this->user->hasRole($role)) { + if ($this->profile->hasRole($role)) { $rf = new RevokeRoleForm($role, $label, $this->out, $this->profile, $r2args); $rf->show(); } else { |