diff --git a/src/DataFixtures/MediaFixtures.php b/src/DataFixtures/MediaFixtures.php index 6bd435c6b6..cc540761d0 100644 --- a/src/DataFixtures/MediaFixtures.php +++ b/src/DataFixtures/MediaFixtures.php @@ -4,9 +4,9 @@ namespace App\DataFixtures; use App\Core\DB\DB; use App\Core\GSFile; -use App\Util\Common; use Doctrine\Bundle\FixturesBundle\Fixture; use Doctrine\Persistence\ObjectManager; +use Functional as F; use Symfony\Component\HttpFoundation\File\File; class MediaFixtures extends Fixture @@ -14,37 +14,17 @@ class MediaFixtures extends Fixture public function load(ObjectManager $manager) { DB::setManager($manager); - $actor = DB::findOneBy('local_user', ['nickname' => 'taken_user']); - $store = function (string $filepath, string $title) use ($actor) { - $copy_filepath = $filepath . '.copy'; - copy($filepath, $copy_filepath); - $file = new File($copy_filepath, checkPath: true); - GSFile::validateAndStoreFileAsAttachment($file, dest_dir: Common::config('attachments', 'dir') . 'test/', title: $title, actor_id: $actor->getId()); - }; - - $test_files = [ - 'image.png' => 'image/png', - 'image.gif' => 'image/gif', - 'image.jpg' => 'image/jpeg', - 'image.jpeg' => 'image/jpeg', - 'office.pdf' => 'application/pdf', - 'wordproc.odt' => 'application/vnd.oasis.opendocument.text', - 'wordproc.ott' => 'application/vnd.oasis.opendocument.text-template', - 'wordproc.doc' => 'application/msword', - 'wordproc.docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', - 'wordproc.rtf' => 'text/rtf', - 'spreadsheet.ods' => 'application/vnd.oasis.opendocument.spreadsheet', - 'spreadsheet.ots' => 'application/vnd.oasis.opendocument.spreadsheet-template', - 'spreadsheet.xls' => 'application/vnd.ms-excel', - 'spreadsheet.xlt' => 'application/vnd.ms-excel', - 'spreadsheet.xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', - 'presentation.odp' => 'application/vnd.oasis.opendocument.presentation', - 'presentation.otp' => 'application/vnd.oasis.opendocument.presentation-template', - 'presentation.ppt' => 'application/vnd.ms-powerpoint', - 'presentation.pptx' => 'application/zip', //"application/vnd.openxmlformats-officedocument.presentationml.presentation", - ]; - - $store(INSTALLDIR . '/tests/Media/sample-uploads/image.jpeg', '1x1 JPEG image title'); + F\map(glob(INSTALLDIR . '/tests/sample-uploads/*'), + function (string $filepath) { + $copy_filepath = str_replace('.', '.copy.', $filepath); + copy($filepath, $copy_filepath); + $file = new File($copy_filepath, checkPath: true); + try { + GSFile::sanitizeAndStoreFileAsAttachment($file); + } catch (\Jcupitt\Vips\Exception $e) { + echo "Could not save file {$copy_filepath}"; + } + }); $manager->flush(); } } diff --git a/tests/Media/sample-uploads/image.jpeg b/tests/Media/sample-uploads/image.jpeg deleted file mode 100644 index 21fcb5aef4..0000000000 Binary files a/tests/Media/sample-uploads/image.jpeg and /dev/null differ diff --git a/tests/Media/sample-uploads/presentation.pot b/tests/Media/sample-uploads/presentation.pot deleted file mode 100644 index f5124ffa2b..0000000000 Binary files a/tests/Media/sample-uploads/presentation.pot and /dev/null differ diff --git a/tests/Media/sample-uploads/presentation.pptx b/tests/Media/sample-uploads/presentation.pptx deleted file mode 100644 index 21ea61a159..0000000000 Binary files a/tests/Media/sample-uploads/presentation.pptx and /dev/null differ diff --git a/tests/Media/sample-uploads/image.gif b/tests/sample-uploads/image.gif similarity index 100% rename from tests/Media/sample-uploads/image.gif rename to tests/sample-uploads/image.gif diff --git a/tests/Media/sample-uploads/image.jpg b/tests/sample-uploads/image.jpg similarity index 100% rename from tests/Media/sample-uploads/image.jpg rename to tests/sample-uploads/image.jpg diff --git a/tests/Media/sample-uploads/image.png b/tests/sample-uploads/image.png similarity index 100% rename from tests/Media/sample-uploads/image.png rename to tests/sample-uploads/image.png diff --git a/tests/Media/sample-uploads/office.pdf b/tests/sample-uploads/office.pdf similarity index 100% rename from tests/Media/sample-uploads/office.pdf rename to tests/sample-uploads/office.pdf diff --git a/tests/Media/sample-uploads/presentation.odp b/tests/sample-uploads/presentation.odp similarity index 100% rename from tests/Media/sample-uploads/presentation.odp rename to tests/sample-uploads/presentation.odp diff --git a/tests/Media/sample-uploads/presentation.otp b/tests/sample-uploads/presentation.otp similarity index 100% rename from tests/Media/sample-uploads/presentation.otp rename to tests/sample-uploads/presentation.otp diff --git a/tests/Media/sample-uploads/presentation.potm b/tests/sample-uploads/presentation.potm similarity index 100% rename from tests/Media/sample-uploads/presentation.potm rename to tests/sample-uploads/presentation.potm diff --git a/tests/Media/sample-uploads/presentation.ppt b/tests/sample-uploads/presentation.ppt similarity index 100% rename from tests/Media/sample-uploads/presentation.ppt rename to tests/sample-uploads/presentation.ppt diff --git a/tests/Media/sample-uploads/spreadsheet.ods b/tests/sample-uploads/spreadsheet.ods similarity index 100% rename from tests/Media/sample-uploads/spreadsheet.ods rename to tests/sample-uploads/spreadsheet.ods diff --git a/tests/Media/sample-uploads/spreadsheet.ots b/tests/sample-uploads/spreadsheet.ots similarity index 100% rename from tests/Media/sample-uploads/spreadsheet.ots rename to tests/sample-uploads/spreadsheet.ots diff --git a/tests/Media/sample-uploads/spreadsheet.xls b/tests/sample-uploads/spreadsheet.xls similarity index 100% rename from tests/Media/sample-uploads/spreadsheet.xls rename to tests/sample-uploads/spreadsheet.xls diff --git a/tests/Media/sample-uploads/spreadsheet.xlsx b/tests/sample-uploads/spreadsheet.xlsx similarity index 100% rename from tests/Media/sample-uploads/spreadsheet.xlsx rename to tests/sample-uploads/spreadsheet.xlsx diff --git a/tests/Media/sample-uploads/spreadsheet.xlt b/tests/sample-uploads/spreadsheet.xlt similarity index 100% rename from tests/Media/sample-uploads/spreadsheet.xlt rename to tests/sample-uploads/spreadsheet.xlt diff --git a/tests/Media/sample-uploads/wordproc.doc b/tests/sample-uploads/wordproc.doc similarity index 100% rename from tests/Media/sample-uploads/wordproc.doc rename to tests/sample-uploads/wordproc.doc diff --git a/tests/Media/sample-uploads/wordproc.docx b/tests/sample-uploads/wordproc.docx similarity index 100% rename from tests/Media/sample-uploads/wordproc.docx rename to tests/sample-uploads/wordproc.docx diff --git a/tests/Media/sample-uploads/wordproc.odt b/tests/sample-uploads/wordproc.odt similarity index 100% rename from tests/Media/sample-uploads/wordproc.odt rename to tests/sample-uploads/wordproc.odt diff --git a/tests/Media/sample-uploads/wordproc.ott b/tests/sample-uploads/wordproc.ott similarity index 100% rename from tests/Media/sample-uploads/wordproc.ott rename to tests/sample-uploads/wordproc.ott diff --git a/tests/Media/sample-uploads/wordproc.rtf b/tests/sample-uploads/wordproc.rtf similarity index 100% rename from tests/Media/sample-uploads/wordproc.rtf rename to tests/sample-uploads/wordproc.rtf