/** * @param \Twig_Environment $twig * @param int $type * @return string */ public function displaySingleAd(\Twig_Environment $twig, $id) { $em = $this->container->get('doctrine.orm.entity_manager'); /** * @var Query $query */ $query = $em->getRepository('SiciarekAdRotatorBundle:Ad')->createNamedQuery('single')->setParameter('id', intval($id)); $ads = $query->getResult(); if (count($ads) > 0) { /** * @var Ad $ad */ $ad = $ads[0]; $ad->setDisplayed($ad->getDisplayed() + 1); $em->persist($ad); $em->flush(); $params['ad'] = DefaultController::getAdData($ad, $this->container); $params['ad']['single'] = true; $params['static'] = true; return $twig->render('SiciarekAdRotatorBundle:Default:index.html.twig', $params); } return ''; }
public static function getAd($type, Container $container) { /** * @var EntityManager $em */ $em = $container->get('doctrine.orm.entity_manager'); $ads = self::getAvailableAds($type); $item = null; if (count($ads) > 0) { $aid = DefaultController::getAdId($ads); /** * @var Ad $ad */ $ad = $ads[$aid]; // Inkrementacja wyświetleń: $ad->setDisplayed($ad->getDisplayed() + 1); $em->persist($ad); $em->flush(); $item = DefaultController::getAdData($ad, $container); } return array('ad' => $item); }