summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/profileaction.php10
-rw-r--r--lib/userprofile.php25
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 {