/** * @Route("/iframe/{id}", name="pumukit_webtv_multimediaobject_iframe") * @Template() */ public function iframeAction(MultimediaObject $multimediaObject, Request $request) { $track = $request->query->has('track_id') ? $multimediaObject->getTrackById($request->query->get('track_id')) : $multimediaObject->getFilteredTrackWithTags(array('display')); if (!$track) { throw $this->createNotFoundException(); } $response = $this->testBroadcast($multimediaObject, $request); if ($response instanceof Response) { return $response; } $this->incNumView($multimediaObject, $track); $this->dispatch($multimediaObject, $track); if ($track->containsTag("download")) { return $this->redirect($track->getUrl()); } return array('autostart' => $request->query->get('autostart', 'true'), 'intro' => $this->getIntro($request->query->get('intro')), 'multimediaObject' => $multimediaObject, 'track' => $track); }
/** * @ParamConverter("multimediaObject", class="PumukitSchemaBundle:MultimediaObject", options={"id" = "mmId"}) */ public function retranscodeAction(MultimediaObject $multimediaObject, Request $request) { $track = $multimediaObject->getTrackById($request->get('id')); $profile = $request->get('profile'); $priority = 2; $trackService = $this->get('pumukitschema.track'); $this->get('pumukitencoder.job')->addJob($track->getPath(), $profile, $priority, $multimediaObject, $track->getLanguage(), $track->getI18nDescription()); return $this->redirect($this->generateUrl('pumukitnewadmin_track_list', array('id' => $multimediaObject->getId()))); }
/** * Render iframe */ private function renderIframe(MultimediaObject $multimediaObject, Request $request) { if ($multimediaObject->getProperty('opencast')) { /* $this->incNumView($multimediaObject); */ /* $this->dispatch($multimediaObject); */ $userAgent = $this->getRequest()->headers->get('user-agent'); $mobileDetectorService = $this->get('mobile_detect.mobile_detector'); $mobileDevice = $mobileDetectorService->isMobile($userAgent) || $mobileDetectorService->isTablet($userAgent); $isOldBrowser = $this->getIsOldBrowser($userAgent); $track = $multimediaObject->getTrackWithTag('sbs'); return $this->render("PumukitMoodleBundle:Moodle:opencastiframe.html.twig", array("multimediaObject" => $multimediaObject, "track" => $track, "is_old_browser" => $isOldBrowser, "mobile_device" => $mobileDevice)); } else { $track = $request->query->has('track_id') ? $multimediaObject->getTrackById($request->query->get('track_id')) : $multimediaObject->getFilteredTrackWithTags(array('display')); } if (!$track) { throw $this->createNotFoundException(); } //$this->incNumView($multimediaObject, $track); //$this->dispatch($multimediaObject, $track); return $this->render("PumukitMoodleBundle:Moodle:iframe.html.twig", array('autostart' => $request->query->get('autostart', 'false'), 'intro' => false, 'multimediaObject' => $multimediaObject, 'track' => $track)); }
/** * Remove Track from Multimedia Object */ public function removeTrackFromMultimediaObject(MultimediaObject $multimediaObject, $trackId) { $track = $multimediaObject->getTrackById($trackId); $trackPath = $track->getPath(); $trackProfile = str_replace('profile:', '', preg_grep('/^profile:*/', $track->getTags())[0]); $isNotOpencast = !$track->containsTag('opencast'); $multimediaObject->removeTrackById($trackId); $this->dm->persist($multimediaObject); $this->dm->flush(); $relatedJob = $this->jobRepo->findOneBy(array('path_end' => $trackPath, 'mm_id' => $multimediaObject->getId())); if ($relatedJob) { $this->jobService->deleteJob($relatedJob->getId()); } if ($this->forceDeleteOnDisk && $trackPath && $isNotOpencast) { $this->deleteFileOnDisk($trackPath); } return $multimediaObject; }