From e5dee0ae2c3583d1142de7de93449f27e75571dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Subileau?= Date: Sun, 17 Mar 2013 01:54:58 +0100 Subject: [PATCH] Refs #3697, Prettify ISP names --- plugins/Live/Visitor.php | 2 +- plugins/Provider/API.php | 2 +- plugins/Provider/functions.php | 34 ++++++++++++++++++++++++++++++++++ 3 files changed, 36 insertions(+), 2 deletions(-) diff --git a/plugins/Live/Visitor.php b/plugins/Live/Visitor.php index c42ff66233b..ed3f7e84f48 100644 --- a/plugins/Live/Visitor.php +++ b/plugins/Live/Visitor.php @@ -497,7 +497,7 @@ function getScreenTypeIcon() function getProvider() { - return Piwik_getHostnameName( @$this->details['location_provider']); + return Piwik_Provider_getPrettyProviderName( @$this->details['location_provider']); } function getProviderUrl() diff --git a/plugins/Provider/API.php b/plugins/Provider/API.php index d2fe4b3beea..f3747dc20b6 100644 --- a/plugins/Provider/API.php +++ b/plugins/Provider/API.php @@ -39,7 +39,7 @@ public function getProvider( $idSite, $period, $date, $segment = false ) $dataTable = $archive->getDataTable('Provider_hostnameExt'); $dataTable->filter('Sort', array(Piwik_Archive::INDEX_NB_VISITS)); $dataTable->queueFilter('ColumnCallbackAddMetadata', array('label', 'url', 'Piwik_getHostnameUrl')); - $dataTable->queueFilter('ColumnCallbackReplace', array('label', 'Piwik_getHostnameName')); + $dataTable->queueFilter('ColumnCallbackReplace', array('label', 'Piwik_Provider_getPrettyProviderName')); $dataTable->queueFilter('ReplaceColumnNames'); $dataTable->queueFilter('ReplaceSummaryRowLabel'); return $dataTable; diff --git a/plugins/Provider/functions.php b/plugins/Provider/functions.php index ec1afd4518a..81866befd49 100644 --- a/plugins/Provider/functions.php +++ b/plugins/Provider/functions.php @@ -61,3 +61,37 @@ function Piwik_getHostnameUrl($in) return "https://startpage.com/do/search?q=".urlencode($in); } } + +/** + * Return a pretty provider name for a given domain name + * + * @param string $in hostname + * @return string Real ISP name, IP (if IP address didn't resolve), or Unknown + */ +function Piwik_Provider_getPrettyProviderName( $in ) +{ + $providerName = Piwik_getHostnameName($in); + + $prettyNames = array( //List to be completed + // France + "wanadoo" => "Orange", + "proxad" => "Free", + "bbox" => "Bouygues Telecom", + "bouyguestelecom" => "Bouygues Telecom", + "coucou-networks" => "Free Mobile", + "sfr" => "SFR", //Acronym, keep in uppercase + "univ-metz" => "Université de Lorraine", + "unilim" => "Université de Limoges", + "univ-paris5" => "Université Paris Descartes", + + // US + "rr" => "Time Warner Cable Internet", // Not sure + ); + + if(array_key_exists(strtolower($providerName), $prettyNames)) + { + $providerName = $prettyNames[strtolower($providerName)]; + } + + return $providerName; +}