Update MediaStorageService, fix reremote avatar bug

This commit is contained in:
Daniel Supernault 2022-01-17 17:11:16 -07:00
parent 350585d316
commit 1c20d6960a
No known key found for this signature in database
GPG key ID: 0DEF1C662C9033F7
3 changed files with 27 additions and 26 deletions

View file

@ -61,16 +61,12 @@ class StatusDelete implements ShouldQueue
$status = $this->status; $status = $this->status;
$profile = $this->status->profile; $profile = $this->status->profile;
StatusService::del($status->id); StatusService::del($status->id, true);
$count = $profile->statuses()
->getQuery()
->whereIn('type', ['photo', 'photo:album', 'video', 'video:album', 'photo:video:album'])
->whereNull('in_reply_to_id')
->whereNull('reblog_of_id')
->count();
$profile->status_count = ($count - 1); if(in_array($status->type, ['photo', 'photo:album', 'video', 'video:album', 'photo:video:album'])) {
$profile->status_count = $profile->status_count - 1;
$profile->save(); $profile->save();
}
if(config_cache('federation.activitypub.enabled') == true) { if(config_cache('federation.activitypub.enabled') == true) {
$this->fanoutDelete($status); $this->fanoutDelete($status);

View file

@ -52,16 +52,12 @@ class StatusEntityLexer implements ShouldQueue
public function handle() public function handle()
{ {
$profile = $this->status->profile; $profile = $this->status->profile;
$status = $this->status;
$count = $profile->statuses() if(in_array($status->type, ['photo', 'photo:album', 'video', 'video:album', 'photo:video:album'])) {
->getQuery() $profile->status_count = $profile->status_count + 1;
->whereIn('type', ['photo', 'photo:album', 'video', 'video:album', 'photo:video:album'])
->whereNull('in_reply_to_id')
->whereNull('reblog_of_id')
->count();
$profile->status_count = $count;
$profile->save(); $profile->save();
}
if($profile->no_autolink == false) { if($profile->no_autolink == false) {
$this->parseEntities(); $this->parseEntities();

View file

@ -43,6 +43,13 @@ class MediaStorageService {
$h = $r->getHeaders(); $h = $r->getHeaders();
if (isset($h['content-length']) && isset($h['content-type'])) {
if(empty($h['content-length']) || empty($h['content-type'])) {
return false;
}
$len = is_array($h['content-length']) ? $h['content-length'][0] : $h['content-length'];
$mime = is_array($h['content-type']) ? $h['content-type'][0] : $h['content-type'];
} else {
if (isset($h['Content-Length'], $h['Content-Type']) == false) { if (isset($h['Content-Length'], $h['Content-Type']) == false) {
return false; return false;
} }
@ -53,6 +60,8 @@ class MediaStorageService {
$len = is_array($h['Content-Length']) ? $h['Content-Length'][0] : $h['Content-Length']; $len = is_array($h['Content-Length']) ? $h['Content-Length'][0] : $h['Content-Length'];
$mime = is_array($h['Content-Type']) ? $h['Content-Type'][0] : $h['Content-Type']; $mime = is_array($h['Content-Type']) ? $h['Content-Type'][0] : $h['Content-Type'];
}
if($len < 10 || $len > ((config_cache('pixelfed.max_photo_size') * 1000))) { if($len < 10 || $len > ((config_cache('pixelfed.max_photo_size') * 1000))) {
return false; return false;