logger = $logger; } public function getMetrics($domain) { $url = self::URL . urlencode($domain); try { $response = str_replace(' ', ' ', Http::sendHttpRequest($url, $timeout = 10, @$_SERVER['HTTP_USER_AGENT'])); if (preg_match('#([0-9\,]+) results#i', $response, $p)) { $pageCount = NumberFormatter::getInstance()->formatNumber((int)str_replace(',', '', $p[1])); } else { $pageCount = 0; } } catch (\Exception $e) { $this->logger->warning('Error while getting Bing SEO stats: {message}', array('message' => $e->getMessage())); $pageCount = null; } $logo = SearchEngine::getInstance()->getLogoFromUrl('http://bing.com'); return array( new Metric('bing-index', 'SEO_Bing_IndexedPages', $pageCount, $logo, null, null, 'General_Pages') ); } }