forked from GNUsocial/gnu-social
More use of Profile, less User
This commit is contained in:
parent
d11ce2ef3b
commit
eb2f93ad2b
@ -184,7 +184,7 @@ class Message extends Managed_DataObject
|
|||||||
}
|
}
|
||||||
|
|
||||||
$act->actor = $profile->asActivityObject();
|
$act->actor = $profile->asActivityObject();
|
||||||
$act->actor->extra[] = $profile->profileInfo(null);
|
$act->actor->extra[] = $profile->profileInfo();
|
||||||
|
|
||||||
$act->verb = ActivityVerb::POST;
|
$act->verb = ActivityVerb::POST;
|
||||||
|
|
||||||
|
@ -1737,12 +1737,12 @@ class Notice extends Managed_DataObject
|
|||||||
/**
|
/**
|
||||||
* Convert a notice into an activity for export.
|
* Convert a notice into an activity for export.
|
||||||
*
|
*
|
||||||
* @param User $cur Current user
|
* @param Profile $scoped The currently logged in/scoped profile
|
||||||
*
|
*
|
||||||
* @return Activity activity object representing this Notice.
|
* @return Activity activity object representing this Notice.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function asActivity($cur=null)
|
function asActivity(Profile $scoped=null)
|
||||||
{
|
{
|
||||||
$act = self::cacheGet(Cache::codeKey('notice:as-activity:'.$this->id));
|
$act = self::cacheGet(Cache::codeKey('notice:as-activity:'.$this->id));
|
||||||
|
|
||||||
@ -1766,14 +1766,14 @@ class Notice extends Managed_DataObject
|
|||||||
$profile = $this->getProfile();
|
$profile = $this->getProfile();
|
||||||
|
|
||||||
$act->actor = $profile->asActivityObject();
|
$act->actor = $profile->asActivityObject();
|
||||||
$act->actor->extra[] = $profile->profileInfo($cur);
|
$act->actor->extra[] = $profile->profileInfo($scoped);
|
||||||
|
|
||||||
$act->verb = $this->verb;
|
$act->verb = $this->verb;
|
||||||
|
|
||||||
if ($this->repeat_of) {
|
if ($this->repeat_of) {
|
||||||
$repeated = Notice::getKV('id', $this->repeat_of);
|
$repeated = Notice::getKV('id', $this->repeat_of);
|
||||||
if ($repeated instanceof Notice) {
|
if ($repeated instanceof Notice) {
|
||||||
$act->objects[] = $repeated->asActivity($cur);
|
$act->objects[] = $repeated->asActivity($scoped);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$act->objects[] = $this->asActivityObject();
|
$act->objects[] = $this->asActivityObject();
|
||||||
@ -1912,10 +1912,10 @@ class Notice extends Managed_DataObject
|
|||||||
function asAtomEntry($namespace=false,
|
function asAtomEntry($namespace=false,
|
||||||
$source=false,
|
$source=false,
|
||||||
$author=true,
|
$author=true,
|
||||||
$cur=null)
|
Profile $scoped=null)
|
||||||
{
|
{
|
||||||
$act = $this->asActivity($cur);
|
$act = $this->asActivity($scoped);
|
||||||
$act->extra[] = $this->noticeInfo($cur);
|
$act->extra[] = $this->noticeInfo($scoped);
|
||||||
return $act->asString($namespace, $author, $source);
|
return $act->asString($namespace, $author, $source);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1925,12 +1925,12 @@ class Notice extends Managed_DataObject
|
|||||||
* Clients use some extra notice info in the atom stream.
|
* Clients use some extra notice info in the atom stream.
|
||||||
* This gives it to them.
|
* This gives it to them.
|
||||||
*
|
*
|
||||||
* @param User $cur Current user
|
* @param Profile $scoped The currently logged in/scoped profile
|
||||||
*
|
*
|
||||||
* @return array representation of <statusnet:notice_info> element
|
* @return array representation of <statusnet:notice_info> element
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function noticeInfo($cur)
|
function noticeInfo(Profile $scoped=null)
|
||||||
{
|
{
|
||||||
// local notice ID (useful to clients for ordering)
|
// local notice ID (useful to clients for ordering)
|
||||||
|
|
||||||
@ -1956,9 +1956,7 @@ class Notice extends Managed_DataObject
|
|||||||
|
|
||||||
// favorite and repeated
|
// favorite and repeated
|
||||||
|
|
||||||
$scoped = null;
|
if ($scoped instanceof Profile) {
|
||||||
if (!empty($cur)) {
|
|
||||||
$scoped = $cur->getProfile();
|
|
||||||
$noticeInfoAttr['repeated'] = ($scoped->hasRepeated($this)) ? "true" : "false";
|
$noticeInfoAttr['repeated'] = ($scoped->hasRepeated($this)) ? "true" : "false";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1266,20 +1266,20 @@ class Profile extends Managed_DataObject
|
|||||||
* Clients use some extra profile info in the atom stream.
|
* Clients use some extra profile info in the atom stream.
|
||||||
* This gives it to them.
|
* This gives it to them.
|
||||||
*
|
*
|
||||||
* @param User $cur Current user
|
* @param Profile $scoped The currently logged in/scoped profile
|
||||||
*
|
*
|
||||||
* @return array representation of <statusnet:profile_info> element or null
|
* @return array representation of <statusnet:profile_info> element or null
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function profileInfo($cur)
|
function profileInfo(Profile $scoped=null)
|
||||||
{
|
{
|
||||||
$profileInfoAttr = array('local_id' => $this->id);
|
$profileInfoAttr = array('local_id' => $this->id);
|
||||||
|
|
||||||
if ($cur != null) {
|
if ($scoped instanceof Profile) {
|
||||||
// Whether the current user is a subscribed to this profile
|
// Whether the current user is a subscribed to this profile
|
||||||
$profileInfoAttr['following'] = $cur->isSubscribed($this) ? 'true' : 'false';
|
$profileInfoAttr['following'] = $scoped->isSubscribed($this) ? 'true' : 'false';
|
||||||
// Whether the current user is has blocked this profile
|
// Whether the current user is has blocked this profile
|
||||||
$profileInfoAttr['blocking'] = $cur->hasBlocked($this) ? 'true' : 'false';
|
$profileInfoAttr['blocking'] = $scoped->hasBlocked($this) ? 'true' : 'false';
|
||||||
}
|
}
|
||||||
|
|
||||||
return array('statusnet:profile_info', $profileInfoAttr, null);
|
return array('statusnet:profile_info', $profileInfoAttr, null);
|
||||||
|
@ -141,7 +141,7 @@ class ActivityStreamJSONDocument extends JSONActivityCollection
|
|||||||
$cur = empty($this->cur) ? common_current_user() : $this->cur;
|
$cur = empty($this->cur) ? common_current_user() : $this->cur;
|
||||||
|
|
||||||
$act = $notice->asActivity($cur);
|
$act = $notice->asActivity($cur);
|
||||||
$act->extra[] = $notice->noticeInfo($cur);
|
$act->extra[] = $notice->noticeInfo($cur->getProfile());
|
||||||
array_push($this->items, $act->asArray());
|
array_push($this->items, $act->asArray());
|
||||||
$this->count++;
|
$this->count++;
|
||||||
}
|
}
|
||||||
|
@ -64,7 +64,7 @@ class AtomUserNoticeFeed extends AtomNoticeFeed
|
|||||||
|
|
||||||
$ao = $profile->asActivityObject();
|
$ao = $profile->asActivityObject();
|
||||||
|
|
||||||
array_push($ao->extra, $profile->profileInfo($cur));
|
array_push($ao->extra, $profile->profileInfo($cur->getProfile()));
|
||||||
|
|
||||||
$this->addAuthorRaw($ao->asString('author'));
|
$this->addAuthorRaw($ao->asString('author'));
|
||||||
}
|
}
|
||||||
|
@ -317,7 +317,7 @@ class ActivityPlugin extends Plugin
|
|||||||
$notice = Notice::getKV('id', $fave->notice_id);
|
$notice = Notice::getKV('id', $fave->notice_id);
|
||||||
if (!empty($notice)) {
|
if (!empty($notice)) {
|
||||||
$cur = common_current_user();
|
$cur = common_current_user();
|
||||||
$target = $notice->asActivity($cur);
|
$target = $notice->asActivity($cur->getProfile());
|
||||||
if ($target->verb == ActivityVerb::POST) {
|
if ($target->verb == ActivityVerb::POST) {
|
||||||
// "I like the thing you posted"
|
// "I like the thing you posted"
|
||||||
$activity->objects = $target->objects;
|
$activity->objects = $target->objects;
|
||||||
|
Loading…
Reference in New Issue
Block a user