|
|
|
@ -37,6 +37,7 @@ use App\Util\ActivityPub\Validator\UndoFollow as UndoFollowValidator;
|
|
|
|
|
|
|
|
|
|
use App\Services\PollService;
|
|
|
|
|
use App\Services\FollowerService;
|
|
|
|
|
use App\Services\ReblogService;
|
|
|
|
|
use App\Services\StatusService;
|
|
|
|
|
use App\Services\UserFilterService;
|
|
|
|
|
use App\Services\NetworkTimelineService;
|
|
|
|
@ -602,6 +603,8 @@ class Inbox
|
|
|
|
|
$parent->reblogs_count = $parent->reblogs_count + 1;
|
|
|
|
|
$parent->save();
|
|
|
|
|
|
|
|
|
|
ReblogService::addPostReblog($parent->profile_id, $status->id);
|
|
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -789,17 +792,23 @@ class Inbox
|
|
|
|
|
if(is_array($obj) && isset($obj['object'])) {
|
|
|
|
|
$obj = $obj['object'];
|
|
|
|
|
}
|
|
|
|
|
if(!is_string($obj) || !Helpers::validateLocalUrl($obj)) {
|
|
|
|
|
if(!is_string($obj)) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
$status = Status::whereUri($obj)->exists();
|
|
|
|
|
if(Helpers::validateLocalUrl($obj)) {
|
|
|
|
|
$parsedId = last(explode('/', $obj));
|
|
|
|
|
$status = Status::find($parsedId);
|
|
|
|
|
} else {
|
|
|
|
|
$status = Status::whereUri($obj)->first();
|
|
|
|
|
}
|
|
|
|
|
if(!$status) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
Status::whereProfileId($profile->id)
|
|
|
|
|
->whereReblogOfId($status->id)
|
|
|
|
|
->forceDelete();
|
|
|
|
|
Notification::whereProfileId($status->profile->id)
|
|
|
|
|
->delete();
|
|
|
|
|
ReblogService::removePostReblog($profile->id, $status->id);
|
|
|
|
|
Notification::whereProfileId($status->profile_id)
|
|
|
|
|
->whereActorId($profile->id)
|
|
|
|
|
->whereAction('share')
|
|
|
|
|
->whereItemId($status->reblog_of_id)
|
|
|
|
|