|
|
|
@ -213,6 +213,11 @@ class Inbox
|
|
|
|
|
$msg = $activity['content'];
|
|
|
|
|
$msgText = strip_tags($activity['content']);
|
|
|
|
|
|
|
|
|
|
if(Str::startsWith($msgText, '@' . $profile->username)) {
|
|
|
|
|
$len = strlen('@' . $profile->username);
|
|
|
|
|
$msgText = substr($msgText, $len + 1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if($profile->user->settings->public_dm == false || $profile->is_private) {
|
|
|
|
|
if($profile->follows($actor) == true) {
|
|
|
|
|
$hidden = false;
|
|
|
|
@ -242,7 +247,10 @@ class Inbox
|
|
|
|
|
$dm->save();
|
|
|
|
|
|
|
|
|
|
if(count($activity['attachment'])) {
|
|
|
|
|
$photos = 0;
|
|
|
|
|
$videos = 0;
|
|
|
|
|
$allowed = explode(',', config('pixelfed.media_types'));
|
|
|
|
|
$activity['attachment'] = array_slice($activity['attachment'], 0, config('pixelfed.max_album_length'));
|
|
|
|
|
foreach($activity['attachment'] as $a) {
|
|
|
|
|
$type = $a['mediaType'];
|
|
|
|
|
$url = $a['url'];
|
|
|
|
@ -260,6 +268,21 @@ class Inbox
|
|
|
|
|
$media->remote_url = $url;
|
|
|
|
|
$media->mime = $type;
|
|
|
|
|
$media->save();
|
|
|
|
|
if(explode('/', $type)[0] == 'image') {
|
|
|
|
|
$photos = $photos + 1;
|
|
|
|
|
}
|
|
|
|
|
if(explode('/', $type)[0] == 'video') {
|
|
|
|
|
$videos = $videos + 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if($photos && $videos == 0) {
|
|
|
|
|
$dm->type = $photos == 1 ? 'photo' : 'photos';
|
|
|
|
|
$dm->save();
|
|
|
|
|
}
|
|
|
|
|
if($videos && $photos == 0) {
|
|
|
|
|
$dm->type = $videos == 1 ? 'video' : 'videos';
|
|
|
|
|
$dm->save();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|