Sulu\Bundle\MediaBundle\Media\Manager\MediaManager::createMedia PHP Method

createMedia() protected method

Create a new media.
protected createMedia ( $data, $user ) : Media
$data
$user
return Sulu\Bundle\MediaBundle\Api\Media
    protected function createMedia($data, $user)
    {
        $mediaEntity = $this->mediaRepository->createNew();
        $mediaEntity->setCreator($user);
        $mediaEntity->setChanger($user);
        $file = new File();
        $file->setCreator($user);
        $file->setChanger($user);
        $file->setVersion(1);
        $file->setMedia($mediaEntity);
        $fileVersion = new FileVersion();
        $fileVersion->setCreator($user);
        $fileVersion->setChanger($user);
        $fileVersion->setVersion(1);
        $fileVersion->setFile($file);
        $file->addFileVersion($fileVersion);
        $mediaEntity->addFile($file);
        $media = new Media($mediaEntity, $data['locale'], null);
        $media = $this->setDataToMedia($media, $data, $user);
        $fileVersion->setDefaultMeta($fileVersion->getMeta()->first());
        $mediaEntity = $media->getEntity();
        $this->em->persist($mediaEntity);
        $this->em->flush();
        return $media;
    }