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;
|
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)
|
function hasFave($notice)
|
||||||
{
|
{
|
||||||
$cache = common_memcache();
|
$cache = common_memcache();
|
||||||
|
@ -84,7 +84,8 @@ class User extends Memcached_DataObject
|
|||||||
|
|
||||||
function isSubscribed($other)
|
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.
|
// '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)
|
function mutuallySubscribed($other)
|
||||||
{
|
{
|
||||||
return $this->isSubscribed($other) &&
|
$profile = $this->getProfile();
|
||||||
$other->isSubscribed($this);
|
return $profile->mutuallySubscribed($other);
|
||||||
}
|
}
|
||||||
|
|
||||||
function mutuallySubscribedUsers()
|
function mutuallySubscribedUsers()
|
||||||
|
@ -101,7 +101,7 @@ class ProfileAction extends OwnerDesignAction
|
|||||||
|
|
||||||
function showSubscriptions()
|
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',
|
$this->elementStart('div', array('id' => 'entity_subscriptions',
|
||||||
'class' => 'section'));
|
'class' => 'section'));
|
||||||
@ -134,7 +134,7 @@ class ProfileAction extends OwnerDesignAction
|
|||||||
|
|
||||||
function showSubscribers()
|
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',
|
$this->elementStart('div', array('id' => 'entity_subscribers',
|
||||||
'class' => 'section'));
|
'class' => 'section'));
|
||||||
@ -173,7 +173,7 @@ class ProfileAction extends OwnerDesignAction
|
|||||||
$subs_count = $this->profile->subscriptionCount();
|
$subs_count = $this->profile->subscriptionCount();
|
||||||
$subbed_count = $this->profile->subscriberCount();
|
$subbed_count = $this->profile->subscriberCount();
|
||||||
$notice_count = $this->profile->noticeCount();
|
$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;
|
$age_days = (time() - strtotime($this->profile->created)) / 86400;
|
||||||
if ($age_days < 1) {
|
if ($age_days < 1) {
|
||||||
// Rather than extrapolating out to a bajillion...
|
// Rather than extrapolating out to a bajillion...
|
||||||
@ -241,7 +241,7 @@ class ProfileAction extends OwnerDesignAction
|
|||||||
|
|
||||||
function showGroups()
|
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',
|
$this->elementStart('div', array('id' => 'entity_groups',
|
||||||
'class' => 'section'));
|
'class' => 'section'));
|
||||||
@ -249,7 +249,7 @@ class ProfileAction extends OwnerDesignAction
|
|||||||
$this->element('h2', null, _('Groups'));
|
$this->element('h2', null, _('Groups'));
|
||||||
|
|
||||||
if ($groups) {
|
if ($groups) {
|
||||||
$gml = new GroupMiniList($groups, $this->user, $this);
|
$gml = new GroupMiniList($groups, $this->profile, $this);
|
||||||
$cnt = $gml->show();
|
$cnt = $gml->show();
|
||||||
if ($cnt == 0) {
|
if ($cnt == 0) {
|
||||||
$this->element('p', null, _('(None)'));
|
$this->element('p', null, _('(None)'));
|
||||||
|
@ -109,10 +109,8 @@ class UserProfile extends Widget
|
|||||||
'alt' => $this->profile->nickname));
|
'alt' => $this->profile->nickname));
|
||||||
$this->out->elementEnd('dd');
|
$this->out->elementEnd('dd');
|
||||||
|
|
||||||
$user = User::staticGet('id', $this->profile->id);
|
|
||||||
|
|
||||||
$cur = common_current_user();
|
$cur = common_current_user();
|
||||||
if ($cur && $cur->id == $user->id) {
|
if ($cur && $cur->id == $this->profile->id) {
|
||||||
$this->out->elementStart('dd');
|
$this->out->elementStart('dd');
|
||||||
$this->out->element('a', array('href' => common_local_url('avatarsettings')), _('Edit Avatar'));
|
$this->out->element('a', array('href' => common_local_url('avatarsettings')), _('Edit Avatar'));
|
||||||
$this->out->elementEnd('dd');
|
$this->out->elementEnd('dd');
|
||||||
@ -278,7 +276,7 @@ class UserProfile extends Widget
|
|||||||
}
|
}
|
||||||
$this->out->elementEnd('li');
|
$this->out->elementEnd('li');
|
||||||
|
|
||||||
if ($cur->mutuallySubscribed($this->user)) {
|
if ($cur->mutuallySubscribed($this->profile)) {
|
||||||
|
|
||||||
// message
|
// message
|
||||||
|
|
||||||
@ -290,7 +288,7 @@ class UserProfile extends Widget
|
|||||||
|
|
||||||
// nudge
|
// nudge
|
||||||
|
|
||||||
if ($this->user->email && $this->user->emailnotifynudge) {
|
if ($this->user && $this->user->email && $this->user->emailnotifynudge) {
|
||||||
$this->out->elementStart('li', 'entity_nudge');
|
$this->out->elementStart('li', 'entity_nudge');
|
||||||
$nf = new NudgeForm($this->out, $this->user);
|
$nf = new NudgeForm($this->out, $this->user);
|
||||||
$nf->show();
|
$nf->show();
|
||||||
@ -327,7 +325,7 @@ class UserProfile extends Widget
|
|||||||
$this->out->elementStart('ul');
|
$this->out->elementStart('ul');
|
||||||
if ($cur->hasRight(Right::SANDBOXUSER)) {
|
if ($cur->hasRight(Right::SANDBOXUSER)) {
|
||||||
$this->out->elementStart('li', 'entity_sandbox');
|
$this->out->elementStart('li', 'entity_sandbox');
|
||||||
if ($this->user->isSandboxed()) {
|
if ($this->profile->isSandboxed()) {
|
||||||
$usf = new UnSandboxForm($this->out, $this->profile, $r2args);
|
$usf = new UnSandboxForm($this->out, $this->profile, $r2args);
|
||||||
$usf->show();
|
$usf->show();
|
||||||
} else {
|
} else {
|
||||||
@ -339,7 +337,7 @@ class UserProfile extends Widget
|
|||||||
|
|
||||||
if ($cur->hasRight(Right::SILENCEUSER)) {
|
if ($cur->hasRight(Right::SILENCEUSER)) {
|
||||||
$this->out->elementStart('li', 'entity_silence');
|
$this->out->elementStart('li', 'entity_silence');
|
||||||
if ($this->user->isSilenced()) {
|
if ($this->profile->isSilenced()) {
|
||||||
$usf = new UnSilenceForm($this->out, $this->profile, $r2args);
|
$usf = new UnSilenceForm($this->out, $this->profile, $r2args);
|
||||||
$usf->show();
|
$usf->show();
|
||||||
} else {
|
} else {
|
||||||
@ -387,7 +385,7 @@ class UserProfile extends Widget
|
|||||||
$r2args['action'] = $action;
|
$r2args['action'] = $action;
|
||||||
|
|
||||||
$this->out->elementStart('li', "entity_role_$role");
|
$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 = new RevokeRoleForm($role, $label, $this->out, $this->profile, $r2args);
|
||||||
$rf->show();
|
$rf->show();
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
Reference in New Issue
Block a user