Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsgiehl <stefan@piwik.org>2014-05-20 22:44:41 +0400
committersgiehl <stefan@piwik.org>2014-05-20 22:44:41 +0400
commitce3b6eb638d1c3294d4f0a8b63d75395c5b6099d (patch)
tree3f832e2cffba9d1bbd2b8396b875b9c5778365f3
parenta8780b817a744c41f1e729e8d43764389ab490bf (diff)
refs #5114 added detection for yahoo! japan; improved handling for search enginge detection
-rw-r--r--core/DataFiles/SearchEngines.php8
-rw-r--r--core/UrlHelper.php10
-rw-r--r--tests/resources/extractSearchEngineInformationFromUrlTests.yml10
3 files changed, 25 insertions, 3 deletions
diff --git a/core/DataFiles/SearchEngines.php b/core/DataFiles/SearchEngines.php
index 03209af231..a874e8fd4c 100644
--- a/core/DataFiles/SearchEngines.php
+++ b/core/DataFiles/SearchEngines.php
@@ -943,6 +943,12 @@ if (!isset($GLOBALS['Piwik_SearchEngines'])) {
// X-recherche
'www.x-recherche.com' => array('X-Recherche', 'MOTS', 'cgi-bin/websearch?MOTS={k}'),
+ // Yahoo! Japan
+ 'search.yahoo.co.jp' => array('Yahoo! Japan', 'p', 'search?p={k}'),
+ 'video.search.yahoo.co.jp' => array('Yahoo! Japan Videos', 'p', 'search?p={k}'),
+ 'image.search.yahoo.co.jp' => array('Yahoo! Japan Images', 'p', 'search?p={k}'),
+
+
// Yahoo
'search.yahoo.com' => array('Yahoo!', array('p', 'q'), 'search?p={k}'),
// '*.search.yahoo.com' => array('Yahoo!'), // see built-in helper in Common.php
@@ -953,8 +959,6 @@ if (!isset($GLOBALS['Piwik_SearchEngines'])) {
'espanol.yahoo.com' => array('Yahoo!'),
'qc.yahoo.com' => array('Yahoo!'),
'one.cn.yahoo.com' => array('Yahoo!'),
- 'video.search.yahoo.co.jp' => array('Yahoo!'),
- 'image.search.yahoo.co.jp' => array('Yahoo!'),
// Powered by Yahoo APIs
'www.cercato.it' => array('Yahoo!', 'q'),
diff --git a/core/UrlHelper.php b/core/UrlHelper.php
index 2ce26ba165..b99f457f40 100644
--- a/core/UrlHelper.php
+++ b/core/UrlHelper.php
@@ -286,8 +286,18 @@ class UrlHelper
$searchEngines = Common::getSearchEngineUrls();
$hostPattern = self::getLossyUrl($referrerHost);
+ /*
+ * Try to get the best matching 'host' in definitions
+ * 1. check if host + path matches an definition
+ * 2. check if host only matches
+ * 3. check if host pattern + path matches
+ * 4. check if host pattern matches
+ * 5. special handling
+ */
if (array_key_exists($referrerHost . $referrerPath, $searchEngines)) {
$referrerHost = $referrerHost . $referrerPath;
+ } elseif (array_key_exists($referrerHost, $searchEngines)) {
+ // no need to change host
} elseif (array_key_exists($hostPattern . $referrerPath, $searchEngines)) {
$referrerHost = $hostPattern . $referrerPath;
} elseif (array_key_exists($hostPattern, $searchEngines)) {
diff --git a/tests/resources/extractSearchEngineInformationFromUrlTests.yml b/tests/resources/extractSearchEngineInformationFromUrlTests.yml
index 84cde86512..1c519bdc78 100644
--- a/tests/resources/extractSearchEngineInformationFromUrlTests.yml
+++ b/tests/resources/extractSearchEngineInformationFromUrlTests.yml
@@ -379,9 +379,17 @@
keywords: 'searchterm'
- url: 'http://image.search.yahoo.co.jp/search?ei=UTF-8&fr=top_ga1_sa&p=%EF%BD%94%EF%BD%8F+%EF%BD%88%EF%BD%85%EF%BD%81%EF%BD%92%EF%BD%94+%EF%BD%8C%EF%BD%8F%EF%BD%87%EF%BD%8F'
- engine: 'Yahoo!'
+ engine: 'Yahoo! Japan Images'
keywords: 'to heart logo'
+- url: 'http://video.search.yahoo.co.jp/search?tt=c&ei=UTF-8&fr=sfp_as&aq=-1&oq=&p=piwik&meta=vc%3D'
+ engine: 'Yahoo! Japan Videos'
+ keywords: 'piwik'
+
+- url: 'http://search.yahoo.co.jp/search?ei=UTF-8&p=piwik'
+ engine: 'Yahoo! Japan'
+ keywords: 'piwik'
+
- url: 'http://www.claro-search.com/?q=logiciels+pour+%C3%A9crire+en+japonais+avec+windows+xp&s=web&as=0&rlz=0&babsrc=SP_clro'
engine: 'Claro Search'
keywords: 'logiciels pour écrire en japonais avec windows xp'