private function createMultimediaObjectAssignedToSeries($title, Series $series)
 {
     $rank = 1;
     $status = MultimediaObject::STATUS_PUBLISHED;
     $record_date = new \DateTime();
     $public_date = new \DateTime();
     $subtitle = 'Subtitle';
     $description = "Description";
     $duration = 0;
     $mm = new MultimediaObject();
     $mm->setStatus($status);
     $mm->setRecordDate($record_date);
     $mm->setPublicDate($public_date);
     $mm->setTitle($title);
     $mm->setSubtitle($subtitle);
     $mm->setDescription($description);
     $mm->setDuration($duration);
     $mm->setSeries($series);
     $this->dm->persist($mm);
     $this->dm->persist($series);
     $this->dm->flush();
     return $mm;
 }
 public function createTrack(MultimediaObject $multimediaObject, $pathEnd, $profileName, $language = null, $description = array())
 {
     $profile = $this->profileService->getProfile($profileName);
     $track = new Track();
     $track->addTag('profile:' . $profileName);
     if ($profile['master']) {
         $track->addTag('master');
     }
     if ($profile['display']) {
         $track->addTag('display');
     }
     foreach (array_filter(preg_split('/[,\\s]+/', $profile['tags'])) as $tag) {
         $track->addTag(trim($tag));
     }
     if (!empty($description)) {
         $track->setI18nDescription($description);
     }
     $track->setLanguage($language);
     $track->setPath($pathEnd);
     if (isset($profile['streamserver']['url_out'])) {
         $track->setUrl(str_replace(realpath($profile['streamserver']['dir_out']), $profile['streamserver']['url_out'], $pathEnd));
     }
     $this->inspectionService->autocompleteTrack($track);
     $track->setOnlyAudio($track->getWidth() == 0);
     $track->setHide(!$profile['display']);
     $multimediaObject->setDuration($track->getDuration());
     $multimediaObject->addTrack($track);
     $this->dm->persist($multimediaObject);
     $this->dm->flush();
     return $track;
 }
 public function testRepository()
 {
     //$rank = 1;
     $status = MultimediaObject::STATUS_PUBLISHED;
     $record_date = new \DateTime();
     $public_date = new \DateTime();
     $title = 'titulo cualquiera';
     $subtitle = 'Subtitle paragraph';
     $description = "Description text";
     $duration = 300;
     $broadcast = $this->createBroadcast(Broadcast::BROADCAST_TYPE_PRI);
     $mmobj = new MultimediaObject();
     //$mmobj->setRank($rank);
     $mmobj->setStatus($status);
     $mmobj->setRecordDate($record_date);
     $mmobj->setPublicDate($public_date);
     $mmobj->setTitle($title);
     $mmobj->setSubtitle($subtitle);
     $mmobj->setDescription($description);
     $mmobj->setDuration($duration);
     $mmobj->setBroadcast($broadcast);
     $this->dm->persist($mmobj);
     $this->dm->flush();
     $this->assertEquals(1, count($this->repo->findAll()));
     $this->assertEquals($broadcast, $mmobj->getBroadcast());
     $broadcast = $this->createBroadcast(Broadcast::BROADCAST_TYPE_PUB);
     $mmobj->setBroadcast($broadcast);
     $this->dm->persist($mmobj);
     $this->dm->flush();
     $this->assertEquals($broadcast, $mmobj->getBroadcast());
     $t1 = new Track();
     $t1->setTags(array('master'));
     $t2 = new Track();
     $t2->setTags(array('mosca', 'master', 'old'));
     $t3 = new Track();
     $t3->setTags(array('master', 'mosca'));
     $t4 = new Track();
     $t4->setTags(array('flv', 'itunes', 'hide'));
     $t5 = new Track();
     $t5->setTags(array('flv', 'webtv'));
     $t6 = new Track();
     $t6->setTags(array('track6'));
     $t6->setHide(true);
     $this->dm->persist($t1);
     $this->dm->persist($t2);
     $this->dm->persist($t3);
     $this->dm->persist($t4);
     $this->dm->persist($t5);
     $this->dm->persist($t6);
     $mmobj->addTrack($t3);
     $mmobj->addTrack($t2);
     $mmobj->addTrack($t1);
     $mmobj->addTrack($t4);
     $mmobj->addTrack($t5);
     $mmobj->addTrack($t6);
     $this->dm->persist($mmobj);
     $this->dm->flush();
     $this->assertEquals(5, count($mmobj->getFilteredTracksWithTags()));
     $this->assertEquals(3, count($mmobj->getFilteredTracksWithTags(array('master'))));
     $this->assertEquals(1, count($mmobj->getFilteredTracksWithTags(array('master'), array('mosca', 'old'))));
     $this->assertEquals(0, count($mmobj->getFilteredTracksWithTags(array(), array('mosca', 'old'), array('master'))));
     $this->assertEquals(3, count($mmobj->getFilteredTracksWithTags(array(), array(), array('flv'))));
     $this->assertEquals(0, count($mmobj->getFilteredTracksWithTags(array(), array(), array('flv', 'master'))));
     $this->assertEquals(5, count($mmobj->getFilteredTracksWithTags(array(), array(), array(), array('flv', 'master'))));
     $this->assertEquals(1, count($mmobj->getFilteredTracksWithTags(array('mosca', 'old'), array(), array(), array('old'))));
     $this->assertEquals(1, count($mmobj->getFilteredTrackWithTags()));
     $this->assertEquals(1, count($mmobj->getFilteredTrackWithTags(array('master'))));
     $this->assertEquals(1, count($mmobj->getFilteredTrackWithTags(array('master'), array('mosca', 'old'))));
     $this->assertEquals(0, count($mmobj->getFilteredTrackWithTags(array(), array('mosca', 'old'), array('master'))));
     $this->assertEquals(1, count($mmobj->getFilteredTrackWithTags(array(), array(), array('flv'))));
     $this->assertEquals(0, count($mmobj->getFilteredTrackWithTags(array(), array(), array('flv', 'master'))));
     $this->assertEquals(1, count($mmobj->getFilteredTrackWithTags(array(), array(), array(), array('flv', 'master'))));
     $this->assertEquals(1, count($mmobj->getFilteredTrackWithTags(array('mosca', 'old'), array(), array(), array('old'))));
     $this->assertEquals(1, count($mmobj->getFilteredTrackWithTags(array(), array(), array(), array('master', 'mosca'))));
     $this->assertEquals(null, count($mmobj->getFilteredTrackWithTags(array('track6'))));
     $this->assertEquals(null, count($mmobj->getFilteredTracksWithTags(array('track6'))));
 }
 public function testDurationInMinutesAndSeconds()
 {
     $duration = 120;
     $duration_in_minutes_and_seconds1 = array('minutes' => 2, 'seconds' => 0);
     $duration_in_minutes_and_seconds2 = array('minutes' => 5, 'seconds' => 30);
     $mm = new MultimediaObject();
     $mm->setDuration($duration);
     $this->assertEquals($duration_in_minutes_and_seconds1, $mm->getDurationInMinutesAndSeconds());
     $mm->setDurationInMinutesAndSeconds($duration_in_minutes_and_seconds2);
     $this->assertEquals($duration_in_minutes_and_seconds2, $mm->getDurationInMinutesAndSeconds());
 }
 public function syncMetadata(MultimediaObject $mmobj, $parsedTerena)
 {
     $mmobj->setTitle($parsedTerena['title']);
     $mmobj->setDescription($parsedTerena['description']);
     foreach ($parsedTerena['keywords'] as $keyword) {
         $mmobj->setKeyword($keyword);
     }
     $mmobj->setLicense($parsedTerena['license']);
     $mmobj->setCopyright($parsedTerena['copyright']);
     $mmobj->setRecordDate($parsedTerena['record_date']);
     $mmobj->setDuration($parsedTerena['duration']);
 }
 private function createTestMultimediaObject()
 {
     $status = MultimediaObject::STATUS_PUBLISHED;
     $record_date = new \DateTime();
     $public_date = new \DateTime();
     $title = 'titulo cualquiera';
     $subtitle = 'Subtitle paragraph';
     $description = "Description text";
     $duration = 300;
     $mmobj = new MultimediaObject();
     $mmobj->setStatus($status);
     $mmobj->setRecordDate($record_date);
     $mmobj->setPublicDate($public_date);
     $mmobj->setTitle($title);
     $mmobj->setSubtitle($subtitle);
     $mmobj->setDescription($description);
     $mmobj->setDuration($duration);
     $this->dm->persist($mmobj);
     $this->dm->flush();
 }
 private function createMultimediaObject($title, $prototype = false)
 {
     $locale = 'en';
     $status = $prototype ? MultimediaObject::STATUS_PROTOTYPE : MultimediaObject::STATUS_NEW;
     $record_date = new \DateTime();
     $public_date = new \DateTime();
     $subtitle = 'Subtitle paragraph';
     $description = "Description text";
     $duration = 300;
     $mmobj = new MultimediaObject();
     $mmobj->setLocale($locale);
     $mmobj->setStatus($status);
     $mmobj->setRecordDate($record_date);
     $mmobj->setPublicDate($public_date);
     $mmobj->setTitle($title);
     $mmobj->setSubtitle($subtitle);
     $mmobj->setDescription($description);
     $mmobj->setDuration($duration);
     $this->dm->persist($mmobj);
     $this->dm->flush();
     return $mmobj;
 }