|
|
|
@ -46,6 +46,9 @@ class Profile extends Model
|
|
|
|
|
|
|
|
|
|
public function permalink($suffix = '')
|
|
|
|
|
{
|
|
|
|
|
if($this->remote_url) {
|
|
|
|
|
return $this->remote_url;
|
|
|
|
|
}
|
|
|
|
|
return url('users/'.$this->username.$suffix);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -248,4 +251,34 @@ class Profile extends Model
|
|
|
|
|
{
|
|
|
|
|
return $this->sharedInbox ?? $this->inboxUrl();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function getDefaultScope()
|
|
|
|
|
{
|
|
|
|
|
return $this->is_private == true ? 'private' : 'public';
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function getAudience($scope = false)
|
|
|
|
|
{
|
|
|
|
|
if($this->remote_url) {
|
|
|
|
|
return [];
|
|
|
|
|
}
|
|
|
|
|
$scope = $scope ?? $this->getDefaultScope();
|
|
|
|
|
$audience = [];
|
|
|
|
|
switch ($scope) {
|
|
|
|
|
case 'public':
|
|
|
|
|
$audience = [
|
|
|
|
|
'to' => [
|
|
|
|
|
'https://www.w3.org/ns/activitystreams#Public'
|
|
|
|
|
],
|
|
|
|
|
'cc' => [
|
|
|
|
|
$this->permalink('/followers')
|
|
|
|
|
]
|
|
|
|
|
];
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
default:
|
|
|
|
|
# code...
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|