From 26e7582a7480b0ee5dbd307ba56029520e654e19 Mon Sep 17 00:00:00 2001 From: DariusIII Date: Fri, 3 Mar 2023 23:12:13 +0100 Subject: [PATCH] Prevent checks if archive has not valid data --- .../processing/post/ProcessAdditional.php | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/Blacklight/processing/post/ProcessAdditional.php b/Blacklight/processing/post/ProcessAdditional.php index a33db0ab7..d8542e672 100755 --- a/Blacklight/processing/post/ProcessAdditional.php +++ b/Blacklight/processing/post/ProcessAdditional.php @@ -923,18 +923,20 @@ class ProcessAdditional if ($this->_reverse) { $fileData = $dataSummary['file_list'] ?? []; - $rarFileName = Arr::pluck($fileData, 'name'); - if (preg_match(NameFixer::PREDB_REGEX, $rarFileName[0], $hit)) { - $preCheck = Predb::whereTitle($hit[0])->first(); - $this->_release->preid = $preCheck !== null ? $preCheck->value('id') : 0; - (new NameFixer())->updateRelease($this->_release, $preCheck->title ?? ucwords($hit[0], '.'), 'RarInfo FileName Match', true, 'Filenames, ', 1, true, $this->_release->preid); - } elseif (! empty($dataSummary['archives']) && ! empty($dataSummary['archives'][$rarFileName[0]]['file_list'])) { - $archiveData = $dataSummary['archives'][$rarFileName[0]]['file_list']; - $archiveFileName = Arr::pluck($archiveData, 'name'); - if (preg_match(NameFixer::PREDB_REGEX, $archiveFileName[0], $match2)) { - $preCheck = Predb::whereTitle($match2[0])->first(); + if (! empty($fileData)) { + $rarFileName = Arr::pluck($fileData, 'name'); + if (preg_match(NameFixer::PREDB_REGEX, $rarFileName[0], $hit)) { + $preCheck = Predb::whereTitle($hit[0])->first(); $this->_release->preid = $preCheck !== null ? $preCheck->value('id') : 0; - (new NameFixer())->updateRelease($this->_release, $preCheck->title ?? ucwords($match2[0], '.'), 'RarInfo FileName Match', true, 'Filenames, ', 1, true, $this->_release->preid); + (new NameFixer())->updateRelease($this->_release, $preCheck->title ?? ucwords($hit[0], '.'), 'RarInfo FileName Match', true, 'Filenames, ', 1, true, $this->_release->preid); + } elseif (! empty($dataSummary['archives']) && ! empty($dataSummary['archives'][$rarFileName[0]]['file_list'])) { + $archiveData = $dataSummary['archives'][$rarFileName[0]]['file_list']; + $archiveFileName = Arr::pluck($archiveData, 'name'); + if (preg_match(NameFixer::PREDB_REGEX, $archiveFileName[0], $match2)) { + $preCheck = Predb::whereTitle($match2[0])->first(); + $this->_release->preid = $preCheck !== null ? $preCheck->value('id') : 0; + (new NameFixer())->updateRelease($this->_release, $preCheck->title ?? ucwords($match2[0], '.'), 'RarInfo FileName Match', true, 'Filenames, ', 1, true, $this->_release->preid); + } } } }