/** * pre saving handler. * * @param MediaInterface $media */ public function preSave(MediaInterface $media) { preg_match('/(?<=v(\\=|\\/))([-a-zA-Z0-9_]+)|(?<=youtu\\.be\\/)([-a-zA-Z0-9_]+)/', $media->getReference(), $matches); $media->setReference($matches[2]); if (!isset($media->old) || $media->old->getReference() !== $media->getReference()) { $this->updateMedadata($media); } }
/** * {@inheritdoc} */ public function prePersist(MediaInterface $media) { if ($media->getFile() === null) { return; } $file = $media->getFile(); $filename = $this->createUniqueFileName($file); if (!$media->getName()) { $media->setName($filename); } $media->setReference($filename)->setContentType($media->getFile()->getClientMimeType())->setFilesize($media->getFile()->getSize())->setMetadata('metadata'); }