public function getTheater() { return \Repository\Theaters::getInstance()->findOneById($this->theater_id); }
$crawler = file_get_html('http://www.google.com' . $url); $domTheaters = $crawler->find('#movie_results .theater'); foreach ($domTheaters as $domTheater) { if ($domTheater->find('.desc h2 a', 0)) { $url = $domTheater->find('.desc h2 a', 0)->href; $googleId = substr($url, strrpos($url, 'tid=') + 4); /** @todo Use parse_str maybe? */ $theater = \Repository\Theaters::getInstance()->findOneByGoogleId($googleId); if (!$theater) { $theater = \Repository\Theaters::getInstance()->getNew(array('google_id' => $googleId, 'name' => html_entity_decode($domTheater->find('.desc h2', 0)->text()), 'info' => html_entity_decode($domTheater->find('.info', 0)->text()))); $data = (string) file_get_html('http://www.google.com/movies?near=' . urlencode($place) . '&hl=es&view=map&date=' . $date . '&tid=' . $theater->google_id); preg_match('#lat\\:(.*?)\\,#', $data, $m); $theater->lat = array_pop($m); preg_match('#lng\\:(.*?)\\,#', $data, $m); $theater->lng = array_pop($m); \Repository\Theaters::getInstance()->save($theater); $output->writeln('[CMD] Added theater: ' . $theater->id . ' ' . $theater->name); } $return[] = $theater; } } $next = $crawler->find('#navbar table tr td a img[src="//www.google.com/nav_next.gif"]', 0); if ($next) { $next = $next->parentNode(); if ($next) { return array_merge($return, $fetchTheatersPage($next->href)); } else { return $return; } } else { return $return;
public function getTheaters() { return \Repository\Theaters::getInstance()->findAllByMovieIdAndDate($this->id, $this->date); }