function test_getSearchEngineUrlFromUrlAndKeyword() { $data = array(array('http://apollo.lv/portal/search/', 'piwik', 'http://apollo.lv/portal/search/?cof=FORID%3A11&q=piwik&search_where=www'), array('http://bing.com/images/search', 'piwik', 'http://bing.com/images/search/?q=piwik'), array('http://google.com', 'piwik', 'http://google.com/search?q=piwik')); foreach ($data as $item) { $url = array_shift($item); $keyword = array_shift($item); $expected = array_shift($item); $this->assertEqual(Piwik_getSearchEngineUrlFromUrlAndKeyword($url, $keyword), $expected, "{$url} {$keyword}"); } }
/** * Return search engine URL for keyword and URL * * @see Piwik_getSearchEngineUrlFromUrlAndKeyword() * * @param string $keyword Keyword, e.g., web+analytics * @param string $url Domain name, e.g., search.piwik.org * @return string URL, e.g., http://search.piwik.org/q=web+analytics */ function Piwik_getSearchEngineUrlFromKeywordAndUrl($keyword, $url) { return Piwik_getSearchEngineUrlFromUrlAndKeyword($url, $keyword); }
function getRefererUrl() { if ($this->getRefererType() == 'search') { if (Piwik_PluginsManager::getInstance()->isPluginActivated('Referers') && $this->details['referer_keyword'] == Piwik_Referers::LABEL_KEYWORD_NOT_DEFINED) { return 'http://piwik.org/faq/general/#faq_144'; } elseif ($this->getRefererName() == 'Google' && strpos($this->details['referer_url'], '/url')) { $refUrl = @parse_url($this->details['referer_url']); if (isset($refUrl['host'])) { $url = Piwik_getSearchEngineUrlFromUrlAndKeyword('http://google.com', $this->getKeyword()); $url = str_replace('google.com', $refUrl['host'], $url); return $url; } } } if (Piwik_Common::isLookLikeUrl($this->details['referer_url'])) { return $this->details['referer_url']; } return null; }
/** * get search engine url from name and keyword * * @group Plugins * @group Referers * @dataProvider getSearchEngineUrlFromUrlAndKeywordTestData */ public function testGetSearchEngineUrlFromUrlAndKeyword($url, $keyword, $expected) { include PIWIK_PATH_TEST_TO_ROOT . '/core/DataFiles/SearchEngines.php'; $this->assertEquals($expected, Piwik_getSearchEngineUrlFromUrlAndKeyword($url, $keyword)); }