public function isPageAvailable(BannerTag $bannerTag, $currentUrl, $type) { // Fetch Disabling Banners $dql = 'SELECT b ' . 'FROM AciliaBannerBundle:Banner b ' . 'WHERE b.status = true ' . ' AND b.resourceId = :resourceId ' . ' AND b.type = :typeId ' . ' AND b.publishSince <= :publishSince ' . ' AND (b.publishUntil >= :publishUntil OR b.publishUntil IS NULL OR b.publishUntil = \'0000-00-00\') ' . 'ORDER BY b.modifiedAt DESC '; $query = $this->getEntityManager()->createQuery($dql)->setParameter('resourceId', $bannerTag->getResource())->setParameter('typeId', $type)->setParameter('publishSince', date('Y-m-d'))->setParameter('publishUntil', date('Y-m-d')); // Iterate Banners $banners = $query->getResult(); foreach ($banners as $banner) { if ($this->compareUrl($currentUrl, $banner->getUrlInclude())) { return true; } } return false; }