public function onOpenPdf(PlayFileEvent $event) { $path = $this->container->getParameter('claroline.param.files_directory') . DIRECTORY_SEPARATOR . $event->getResource()->getHashName(); $content = $this->container->get('templating')->render('ClarolinePdfPlayerBundle::pdf.html.twig', array('path' => $path, 'pdf' => $event->getResource(), '_resource' => $event->getResource())); $response = new Response($content); $event->setResponse($response); $event->stopPropagation(); }
public function onOpenImage(PlayFileEvent $event) { $images = $this->container->get('claroline.manager.resource_manager')->getByMimeTypeAndParent('image', $event->getResource()->getResourceNode()->getParent(), $this->container->get('security.token_storage')->getToken()->getRoles()); $path = $this->container->getParameter('claroline.param.files_directory') . DIRECTORY_SEPARATOR . $event->getResource()->getHashName(); $content = $this->container->get('templating')->render('ClarolineImagePlayerBundle::image.html.twig', array('path' => $path, 'image' => $event->getResource(), '_resource' => $event->getResource(), 'images' => $images)); $response = new Response($content); $event->setResponse($response); $event->stopPropagation(); }
public function onOpenPdf(PlayFileEvent $event) { $canDownload = $this->container->get('security.authorization_checker')->isGranted('EXPORT', $event->getResource()->getResourceNode()); $path = $this->container->getParameter('claroline.param.files_directory') . DIRECTORY_SEPARATOR . $event->getResource()->getHashName(); $content = $this->container->get('templating')->render('ClarolinePdfPlayerBundle::pdf.html.twig', ['path' => $path, 'pdf' => $event->getResource(), 'canDownload' => $canDownload, '_resource' => $event->getResource()]); $response = new Response($content); $event->setResponse($response); $event->stopPropagation(); }
/** * @DI\Observe("play_file_video") * @DI\Observe("play_file_audio") */ public function onOpenVideo(PlayFileEvent $event) { $authorization = $this->container->get('security.authorization_checker'); $collection = new ResourceCollection([$event->getResource()->getResourceNode()]); $canExport = $authorization->isGranted('EXPORT', $collection); $path = $this->fileDir . DIRECTORY_SEPARATOR . $event->getResource()->getHashName(); $content = $this->templating->render('ClarolineVideoPlayerBundle::video.html.twig', ['workspace' => $event->getResource()->getResourceNode()->getWorkspace(), 'path' => $path, 'video' => $event->getResource(), '_resource' => $event->getResource(), 'tracks' => $this->container->get('claroline.manager.video_player_manager')->getTracksByVideo($event->getResource()), 'canExport' => $canExport]); $response = new Response($content); $event->setResponse($response); $event->stopPropagation(); }
/** * @DI\Observe("play_file_text") * * @param PlayFileEvent $event */ public function onOpenText(PlayFileEvent $event) { $authorization = $this->container->get('security.authorization_checker'); $collection = new ResourceCollection([$event->getResource()->getResourceNode()]); $canExport = $authorization->isGranted('EXPORT', $collection); $path = $this->container->getParameter('claroline.param.files_directory') . DIRECTORY_SEPARATOR . $event->getResource()->getHashName(); $text = file_get_contents($path); $content = $this->container->get('templating')->render('ClarolineTextPlayerBundle::text.html.twig', ['path' => $path, 'text' => $text, '_resource' => $event->getResource(), 'canExport' => $canExport]); $response = new Response($content); $event->setResponse($response); $event->stopPropagation(); }
public function onOpenImage(PlayFileEvent $event) { $authorization = $this->container->get('security.authorization_checker'); $collection = new ResourceCollection([$event->getResource()->getResourceNode()]); $canExport = $authorization->isGranted('EXPORT', $collection); $images = $this->container->get('claroline.manager.resource_manager')->getByMimeTypeAndParent('image', $event->getResource()->getResourceNode()->getParent(), $this->container->get('security.token_storage')->getToken()->getRoles()); $path = $this->container->getParameter('claroline.param.files_directory') . DIRECTORY_SEPARATOR . $event->getResource()->getHashName(); $content = $this->container->get('templating')->render('ClarolineImagePlayerBundle::image.html.twig', ['path' => $path, 'image' => $event->getResource(), '_resource' => $event->getResource(), 'images' => $images, 'canExport' => $canExport]); $response = new Response($content); $event->setResponse($response); $event->stopPropagation(); }