diff --git a/public/content/projects/1_miss-dior-blooming-bouquet/1_client-brief/2527557525_au-commencement-du-college-chloe-avait-donc-fait-la-connaissance-dun-garcon.-il-etait-plus-vieux.pdf b/public/content/projects/1_miss-dior-blooming-bouquet/1_client-brief/2527557525_au-commencement-du-college-chloe-avait-donc-fait-la-connaissance-dun-garcon.-il-etait-plus-vieux.pdf deleted file mode 100644 index 263651b..0000000 Binary files a/public/content/projects/1_miss-dior-blooming-bouquet/1_client-brief/2527557525_au-commencement-du-college-chloe-avait-donc-fait-la-connaissance-dun-garcon.-il-etait-plus-vieux.pdf and /dev/null differ diff --git a/public/content/projects/1_miss-dior-blooming-bouquet/1_client-brief/2527557525_au-commencement-du-college-chloe-avait-donc-fait-la-connaissance-dun-garcon.-il-etait-plus-vieux.pdf.txt b/public/content/projects/1_miss-dior-blooming-bouquet/1_client-brief/2527557525_au-commencement-du-college-chloe-avait-donc-fait-la-connaissance-dun-garcon.-il-etait-plus-vieux.pdf.txt deleted file mode 100644 index 6476016..0000000 --- a/public/content/projects/1_miss-dior-blooming-bouquet/1_client-brief/2527557525_au-commencement-du-college-chloe-avait-donc-fait-la-connaissance-dun-garcon.-il-etait-plus-vieux.pdf.txt +++ /dev/null @@ -1,9 +0,0 @@ -Date: 2024-10-14 01:15 - ----- - -Uuid: xFobejliB3pkAqLr - ----- - -Template: document \ No newline at end of file diff --git a/public/site/config/routes/upload-images.php b/public/site/config/routes/upload-images.php index 1d720f9..042fda1 100644 --- a/public/site/config/routes/upload-images.php +++ b/public/site/config/routes/upload-images.php @@ -4,70 +4,60 @@ return [ 'pattern' => 'upload-images.json', 'method' => 'POST', 'action' => function () { - - throw new Exception(json_encode($_FILES), 1); $kirby = kirby(); $request = $kirby->request(); $files = $request->files(); $data = $request->data(); - - throw new Exception(json_encode([ - 'files' => $files, - 'data' => $data, - ])); $pageUri = $request->query()->get('pageUri'); $page = page($pageUri); if ($uploads = $request->files()) { - + + $existingFiles = $page->files(); $allFiles = $page->clientBriefImages()->toFiles()->pluck('uuid', ','); - $alerts = []; - throw new Exception(json_encode($uploads), 1); + $existingFileMap = []; + foreach ($existingFiles as $file) { + $pos = strpos($file->filename(), '_'); + $originalSafename = substr($file->filename(), $pos + 1); + $existingFileMap[$originalSafename . '|' . $file->mime() . '|' . $file->size()] = $file->uuid(); + } + $alerts = []; + $newFiles = []; + foreach ($uploads->get('images') as $upload) { - // check for duplicate - $files = $page->files(); - $duplicates = $files->filter(function ($file) use ($upload) { - // get original safename without prefix - $pos = strpos($file->filename(), '_'); - $originalSafename = substr($file->filename(), $pos + 1); - - return $originalSafename === F::safeName($upload['name']) && - $file->mime() === $upload['type'] && - $file->size() === $upload['size']; - }); - - if ($duplicates->count() > 0) { - $duplicate = $duplicates->first(); - - if (in_array($duplicate->uuid(), $allFiles)) { - $allFiles[] = $duplicate->uuid(); + $key = F::safeName($upload['name']) . '|' . $upload['type'] . '|' . $upload['size']; + + if (isset($existingFileMap[$key])) { + $duplicateUUID = $existingFileMap[$key]; + if (!in_array($duplicateUUID, $allFiles)) { + $allFiles[] = $duplicateUUID; $alerts[$upload['name']] = "The file already exists, added to the field."; } - } + } else { + try { + $name = crc32($upload['name'] . microtime()) . '_' . $upload['name']; + $newFile = $page->createFile([ + 'source' => $upload['tmp_name'], + 'filename' => $name, + 'template' => 'image', + 'content' => [ + 'date' => date('Y-m-d H:i:s') + ] + ]); - try { - $name = crc32($upload['name'].microtime()). '_' . $upload['name']; - $newFile = $page->createFile([ - 'source' => $upload['tmp_name'], - 'filename' => $name, - 'template' => 'image', - 'content' => [ - 'date' => date('Y-m-d h:m') - ] - ]); + $newFiles[] = $newFile; - $newFiles[] = $newFile; - - $success = 'Your file upload was successful'; + $success = 'Your file upload was successful'; - $allFiles[] = (string) $newFile->uuid(); - } catch (Exception $e) { - $alerts[$upload['name']] = $e->getMessage(); + $allFiles[] = (string) $newFile->uuid(); + } catch (Exception $e) { + $alerts[$upload['name']] = $e->getMessage(); + } } }