/** * @Template() * @Cache(expires="tomorrow") */ public function contentAction() { $em = $this->getDoctrine()->getManager(); $playedQuery = new PlayedQuery($em); $videosPlayed = $playedQuery->getLastPlayed(12); /** @var MemcacheService $memcache */ $memcache = $this->get('memcache'); $selectedImages = $memcache->get('selectedImages'); if (!$selectedImages) { $selectedImages = []; $images = glob('images/albums/*.png'); $i = 0; while ($i < 70) { $image = array_rand($images); $selectedImages[] = $images[$image]; unset($images[$image]); $i++; } $memcache->set('selectedImages', $selectedImages, 3600); } $data = ['videosPlayed' => $videosPlayed, 'tab' => 'home', 'images' => $selectedImages]; if ($this->getUser()) { $data['user'] = $this->getUser(); $data['connected'] = true; } else { $data['connected'] = false; } return $data; }
/** * @param int $limit * @param int $offset * @Template() * @return Response */ public function videoPlayedAction($limit, $offset) { $user = $this->container->get('security.context')->getToken()->getUser(); if ($user) { $em = $this->container->get('doctrine')->getManager(); $playedQuery = new PlayedQuery($em); $data = []; $data['videosPlayed'] = $playedQuery->getLastPlayed($limit, $offset, $user); $data['connected'] = true; } else { $data['connected'] = false; } $data['html'] = $this->container->get('templating')->render('VidlisUserBundle:Profile:played.html.twig', $data); $data['offset'] = $offset + $limit; $response = new Response(json_encode($data)); $response->headers->set('Content-Type', 'application/json'); return $response; }