protected function createMedia($name)
{
$media = new Media();
$media->setType($this->imageType);
// create file
$file = new File();
$file->setVersion(1);
$file->setMedia($media);
// create file version
$fileVersion = new FileVersion();
$fileVersion->setVersion(1);
$fileVersion->setName($name . '.jpeg');
$fileVersion->setMimeType('image/jpg');
$fileVersion->setFile($file);
$fileVersion->setSize(1124214);
$fileVersion->setDownloadCounter(2);
$fileVersion->setChanged(new \DateTime('1937-04-20'));
$fileVersion->setCreated(new \DateTime('1937-04-20'));
$fileVersion->setStorageOptions('{"segment":"1","fileName":"' . $name . '.jpeg"}');
if (!file_exists(__DIR__ . '/../../uploads/media/1')) {
mkdir(__DIR__ . '/../../uploads/media/1', 0777, true);
}
copy($this->getImagePath(), __DIR__ . '/../../uploads/media/1/' . $name . '.jpeg');
// create meta
$fileVersionMeta = new FileVersionMeta();
$fileVersionMeta->setLocale('en-gb');
$fileVersionMeta->setTitle($name);
$fileVersionMeta->setDescription($this->mediaDefaultDescription);
$fileVersionMeta->setFileVersion($fileVersion);
$fileVersion->addMeta($fileVersionMeta);
$fileVersion->setDefaultMeta($fileVersionMeta);
$file->addFileVersion($fileVersion);
$media->addFile($file);
$media->setCollection($this->collection);
$this->em->persist($media);
$this->em->persist($file);
$this->em->persist($fileVersionMeta);
$this->em->persist($fileVersion);
$this->em->flush();
return $media;
}