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); }
/** * @param \Twig_Environment $twig * @param int $type * @return string */ public function displayAd(\Twig_Environment $twig, $timeout = 15, $type = 1, $static = false) { $params = DefaultController::getAd($type, $this->container); $params['static'] = $static; $output = $twig->render('SiciarekAdRotatorBundle:Default:index.html.twig', $params); $router = $this->container->get('router'); if (self::$firstAdSet === false) { $jsparams = array('sarRotateAfter' => $timeout, 'sarDataUrl' => $router->generate('_sar_data', array('type' => '__TYPE__', 'count' => '__COUNT__'), true), 'sarIncrementClicksUrl' => $router->generate('_sar_increment_clicks', array('slug' => '__SLUG__'), true)); $javascript = $twig->render('SiciarekAdRotatorBundle:Default:script.html.twig', $jsparams); $output = $javascript . $output; self::$firstAdSet = true; } return $output; }