diff --git a/app/Profile.php b/app/Profile.php index 4fe81c03..333cbb20 100644 --- a/app/Profile.php +++ b/app/Profile.php @@ -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; + } + } }