2021-08-15 04:43:35 +09:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace App\DataFixtures;
|
|
|
|
|
|
|
|
use App\Core\DB\DB;
|
|
|
|
use App\Core\GSFile;
|
2021-08-19 20:54:06 +09:00
|
|
|
use App\Util\TemporaryFile;
|
2021-08-15 04:43:35 +09:00
|
|
|
use Doctrine\Bundle\FixturesBundle\Fixture;
|
|
|
|
use Doctrine\Persistence\ObjectManager;
|
2021-08-19 09:44:03 +09:00
|
|
|
use Exception;
|
2021-08-15 05:46:44 +09:00
|
|
|
use Functional as F;
|
2021-08-15 04:43:35 +09:00
|
|
|
|
|
|
|
class MediaFixtures extends Fixture
|
|
|
|
{
|
|
|
|
public function load(ObjectManager $manager)
|
|
|
|
{
|
|
|
|
DB::setManager($manager);
|
2021-08-15 05:46:44 +09:00
|
|
|
F\map(glob(INSTALLDIR . '/tests/sample-uploads/*'),
|
|
|
|
function (string $filepath) {
|
2021-08-19 20:54:06 +09:00
|
|
|
$file = new TemporaryFile();
|
|
|
|
$file->write(file_get_contents($filepath));
|
2021-08-15 05:46:44 +09:00
|
|
|
try {
|
|
|
|
GSFile::sanitizeAndStoreFileAsAttachment($file);
|
2021-08-19 09:44:03 +09:00
|
|
|
} catch (Exception $e) {
|
2021-08-19 20:54:06 +09:00
|
|
|
echo "Could not save file {$filepath}, failed with {$e}\n";
|
|
|
|
} finally {
|
|
|
|
unset($file);
|
2021-08-15 05:46:44 +09:00
|
|
|
}
|
|
|
|
});
|
2021-08-15 04:43:35 +09:00
|
|
|
$manager->flush();
|
|
|
|
}
|
|
|
|
}
|