2020-01-18 */ use Propel\Runtime\ActiveQuery\Criteria; // ">=" filter criteria require_once(__DIR__.'/ui.php'); if (!$id = (int)Util::ValidateArrayKey($_GET, 'id')) { // no/false-y 'id' get param passed Util::Redirect('/'); } $venue = VenueQuery::create()->findOneByVenueId($id); if (null === $venue) { // venue id does not exist Util::Redirect('/'); } // if we just have an ID and no description (ie. old-style URL) redirect to a nicer one. if (empty($_GET['desc'])) { Util::Redirect('/venue/'.$venue->getNiceUrl()); } // events taking place at venue yesterday, today, in future // 'yesterday midnight' relative to which timezone? right now will be php timezone // limited to 20 results, some venues have >100 events (venue 237 has >500). $yesterdayMidnight = strtotime('yesterday midnight'); $events = EventQuery::create() ->filterByVenueId($venue->getVenueId()) ->filterByEventStartTime($yesterdayMidnight, Criteria::GREATER_EQUAL) ->orderByEventStartTimeLocal() ->limit(40) ->find(); // list 3 random venues in the same state, its possible a venue could be duped. $nearbyVenues = VenueQuery::create() ->addAscendingOrderByColumn('rand()') ->filterByVenueState($venue->getVenueState()) ->limit(5) ->find(); $sameCityVenues = VenueQuery::create() ->addAscendingOrderByColumn('rand()') ->filterByVenueState($venue->getVenueState()) ->filterByVenueCity($venue->getVenueCity()) ->limit(15) ->find(); foreach ($sameCityVenues as $idx => $avenue) { $nearbyVenues[] = $avenue; } //$nearbyVenues= array_merge($sameCityVenues, $nearbyVenues); /* if ($nearbyVenues && $sameCityVenues){ $nearbyVenues = array_merge($nearbyVenues, $sameCityVenues); } */ // add venue name to page title $template->title = "{$venue->getVenueName()} Tickets in {$venue->getVenueCity()}, {$venue->getVenueState()} Presales, Promotions, Merch and More | BoxOfficeHero"; $template->meta_description = "Buy Presale Tickets at {$venue->getVenueName()} in {$venue->getVenueCity()}, {$venue->getVenueState()} - Access Presale Codes, Early Tickets, Merch and More!"; $template->assign('id', $id); $template->assign('venue', $venue); $template->assign('events', $events); $template->assign('nearbyVenues', $nearbyVenues); $template->display('venue.tpl');