|
@@ -115,8 +115,8 @@ class Inbox
|
|
{
|
|
{
|
|
$activity = $this->payload['object'];
|
|
$activity = $this->payload['object'];
|
|
|
|
|
|
- if(isset($activity['inReplyTo']) &&
|
|
|
|
- !empty($activity['inReplyTo']) &&
|
|
|
|
|
|
+ if(isset($activity['inReplyTo']) &&
|
|
|
|
+ !empty($activity['inReplyTo']) &&
|
|
Helpers::validateUrl($activity['inReplyTo'])
|
|
Helpers::validateUrl($activity['inReplyTo'])
|
|
) {
|
|
) {
|
|
// reply detected, skip attachment check
|
|
// reply detected, skip attachment check
|
|
@@ -147,8 +147,8 @@ class Inbox
|
|
}
|
|
}
|
|
$to = $activity['to'];
|
|
$to = $activity['to'];
|
|
$cc = isset($activity['cc']) ? $activity['cc'] : [];
|
|
$cc = isset($activity['cc']) ? $activity['cc'] : [];
|
|
- if(count($to) == 1 &&
|
|
|
|
- count($cc) == 0 &&
|
|
|
|
|
|
+ if(count($to) == 1 &&
|
|
|
|
+ count($cc) == 0 &&
|
|
parse_url($to[0], PHP_URL_HOST) == config('pixelfed.domain.app')
|
|
parse_url($to[0], PHP_URL_HOST) == config('pixelfed.domain.app')
|
|
) {
|
|
) {
|
|
$this->handleDirectMessage();
|
|
$this->handleDirectMessage();
|
|
@@ -175,7 +175,7 @@ class Inbox
|
|
|
|
|
|
$inReplyTo = $activity['inReplyTo'];
|
|
$inReplyTo = $activity['inReplyTo'];
|
|
$url = isset($activity['url']) ? $activity['url'] : $activity['id'];
|
|
$url = isset($activity['url']) ? $activity['url'] : $activity['id'];
|
|
-
|
|
|
|
|
|
+
|
|
Helpers::statusFirstOrFetch($url, true);
|
|
Helpers::statusFirstOrFetch($url, true);
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
@@ -252,7 +252,7 @@ class Inbox
|
|
$photos = 0;
|
|
$photos = 0;
|
|
$videos = 0;
|
|
$videos = 0;
|
|
$allowed = explode(',', config('pixelfed.media_types'));
|
|
$allowed = explode(',', config('pixelfed.media_types'));
|
|
- $activity['attachment'] = array_slice($activity['attachment'], 0, config('pixelfed.max_album_length'));
|
|
|
|
|
|
+ $activity['attachment'] = array_slice($activity['attachment'], 0, config_cache('pixelfed.max_album_length'));
|
|
foreach($activity['attachment'] as $a) {
|
|
foreach($activity['attachment'] as $a) {
|
|
$type = $a['mediaType'];
|
|
$type = $a['mediaType'];
|
|
$url = $a['url'];
|
|
$url = $a['url'];
|
|
@@ -293,7 +293,7 @@ class Inbox
|
|
$dm->type = 'link';
|
|
$dm->type = 'link';
|
|
$dm->meta = [
|
|
$dm->meta = [
|
|
'domain' => parse_url($msgText, PHP_URL_HOST),
|
|
'domain' => parse_url($msgText, PHP_URL_HOST),
|
|
- 'local' => parse_url($msgText, PHP_URL_HOST) ==
|
|
|
|
|
|
+ 'local' => parse_url($msgText, PHP_URL_HOST) ==
|
|
parse_url(config('app.url'), PHP_URL_HOST)
|
|
parse_url(config('app.url'), PHP_URL_HOST)
|
|
];
|
|
];
|
|
$dm->save();
|
|
$dm->save();
|
|
@@ -459,8 +459,8 @@ class Inbox
|
|
public function handleDeleteActivity()
|
|
public function handleDeleteActivity()
|
|
{
|
|
{
|
|
if(!isset(
|
|
if(!isset(
|
|
- $this->payload['actor'],
|
|
|
|
- $this->payload['object']
|
|
|
|
|
|
+ $this->payload['actor'],
|
|
|
|
+ $this->payload['object']
|
|
)) {
|
|
)) {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
@@ -510,7 +510,7 @@ class Inbox
|
|
$status->delete();
|
|
$status->delete();
|
|
return;
|
|
return;
|
|
break;
|
|
break;
|
|
-
|
|
|
|
|
|
+
|
|
default:
|
|
default:
|
|
return;
|
|
return;
|
|
break;
|
|
break;
|
|
@@ -564,7 +564,7 @@ class Inbox
|
|
switch ($obj['type']) {
|
|
switch ($obj['type']) {
|
|
case 'Accept':
|
|
case 'Accept':
|
|
break;
|
|
break;
|
|
-
|
|
|
|
|
|
+
|
|
case 'Announce':
|
|
case 'Announce':
|
|
$obj = $obj['object'];
|
|
$obj = $obj['object'];
|
|
if(!Helpers::validateLocalUrl($obj)) {
|
|
if(!Helpers::validateLocalUrl($obj)) {
|
|
@@ -603,7 +603,7 @@ class Inbox
|
|
->whereItemType('App\Profile')
|
|
->whereItemType('App\Profile')
|
|
->forceDelete();
|
|
->forceDelete();
|
|
break;
|
|
break;
|
|
-
|
|
|
|
|
|
+
|
|
case 'Like':
|
|
case 'Like':
|
|
$status = Helpers::statusFirstOrFetch($obj['object']);
|
|
$status = Helpers::statusFirstOrFetch($obj['object']);
|
|
if(!$status) {
|
|
if(!$status) {
|