forked from GNUsocial/gnu-social
some User -> Profile cleanup to help in adapting the profile page action to show stuff for remote users. Subscriptions, groups, roles, etc are all on profiles now so go ahead and use em.
This commit is contained in:
parent
227d4b6889
commit
0d0e51292d
@ -473,6 +473,29 @@ class Profile extends Memcached_DataObject
|
||||
return $cnt;
|
||||
}
|
||||
|
||||
/**
|
||||
* Is this profile subscribed to another profile?
|
||||
*
|
||||
* @param Profile $other
|
||||
* @return boolean
|
||||
*/
|
||||
function isSubscribed($other)
|
||||
{
|
||||
return Subscription::exists($this, $other);
|
||||
}
|
||||
|
||||
/**
|
||||
* Are these two profiles subscribed to each other?
|
||||
*
|
||||
* @param Profile $other
|
||||
* @return boolean
|
||||
*/
|
||||
function mutuallySubscribed($other)
|
||||
{
|
||||
return $this->isSubscribed($other) &&
|
||||
$other->isSubscribed($this);
|
||||
}
|
||||
|
||||
function hasFave($notice)
|
||||
{
|
||||
$cache = common_memcache();
|
||||
|
@ -84,7 +84,8 @@ class User extends Memcached_DataObject
|
||||
|
||||
function isSubscribed($other)
|
||||
{
|
||||
return Subscription::exists($this->getProfile(), $other);
|
||||
$profile = $this->getProfile();
|
||||
return $profile->isSubscribed($other);
|
||||
}
|
||||
|
||||
// 'update' won't write key columns, so we have to do it ourselves.
|
||||
@ -418,8 +419,8 @@ class User extends Memcached_DataObject
|
||||
|
||||
function mutuallySubscribed($other)
|
||||
{
|
||||
return $this->isSubscribed($other) &&
|
||||
$other->isSubscribed($this);
|
||||
$profile = $this->getProfile();
|
||||
return $profile->mutuallySubscribed($other);
|
||||
}
|
||||
|
||||
function mutuallySubscribedUsers()
|
||||
|
@ -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)'));
|
||||
|
@ -109,10 +109,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 +276,7 @@ class UserProfile extends Widget
|
||||
}
|
||||
$this->out->elementEnd('li');
|
||||
|
||||
if ($cur->mutuallySubscribed($this->user)) {
|
||||
if ($cur->mutuallySubscribed($this->profile)) {
|
||||
|
||||
// message
|
||||
|
||||
@ -290,7 +288,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();
|
||||
@ -327,7 +325,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 +337,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 {
|
||||
@ -387,7 +385,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 {
|
||||
|
Loading…
Reference in New Issue
Block a user