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:
Diffstat (limited to 'plugins/Referers/functions.php')
-rw-r--r--plugins/Referers/functions.php262
1 files changed, 121 insertions, 141 deletions
diff --git a/plugins/Referers/functions.php b/plugins/Referers/functions.php
index afa9fe4c3f..28faab9885 100644
--- a/plugins/Referers/functions.php
+++ b/plugins/Referers/functions.php
@@ -1,10 +1,10 @@
<?php
/**
* Piwik - Open source web analytics
- *
+ *
* @link http://piwik.org
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
- *
+ *
* @category Piwik_Plugins
* @package Piwik_Referers
*/
@@ -17,67 +17,63 @@
*/
function Piwik_getPathFromUrl($url)
{
- $path = Piwik_Common::getPathAndQueryFromUrl($url);
- if(empty($path))
- {
- return 'index';
- }
- return $path;
+ $path = Piwik_Common::getPathAndQueryFromUrl($url);
+ if (empty($path)) {
+ return 'index';
+ }
+ return $path;
}
/**
* Returns the last parts of the domain of a URL.
- *
+ *
* @param string $url e.g. http://www.facebook.com/?sdlfk=lksdfj
* @return string|false e.g. facebook.com
*/
-function Piwik_Referrers_cleanSocialUrl( $url )
+function Piwik_Referrers_cleanSocialUrl($url)
{
- $segment = '[^.:\/]+';
- preg_match('/(?:https?:\/\/)?(?:'.$segment.'\.)?('.$segment.'(?:\.'.$segment.')+)/', $url, $matches);
- return isset($matches[1]) ? $matches[1] : false;
+ $segment = '[^.:\/]+';
+ preg_match('/(?:https?:\/\/)?(?:' . $segment . '\.)?(' . $segment . '(?:\.' . $segment . ')+)/', $url, $matches);
+ return isset($matches[1]) ? $matches[1] : false;
}
/**
* Get's social network name from URL.
- *
+ *
* @param string $url
* @return string
*/
-function Piwik_Referrers_getSocialNetworkFromDomain( $url )
+function Piwik_Referrers_getSocialNetworkFromDomain($url)
{
- $domain = Piwik_Referrers_cleanSocialUrl($url);
-
- if (isset($GLOBALS['Piwik_socialUrl'][$domain]))
- {
- return $GLOBALS['Piwik_socialUrl'][$domain];
- }
- else
- {
- return Piwik_Translate('General_Unknown');
- }
+ $domain = Piwik_Referrers_cleanSocialUrl($url);
+
+ if (isset($GLOBALS['Piwik_socialUrl'][$domain])) {
+ return $GLOBALS['Piwik_socialUrl'][$domain];
+ } else {
+ return Piwik_Translate('General_Unknown');
+ }
}
/**
* Returns true if a URL belongs to a social network, false if otherwise.
- *
+ *
* @param string $url The URL to check.
* @param string|false $socialName The social network's name to check for, or false to check
* for any.
* @return bool
*/
-function Piwik_Referrers_isSocialUrl( $url, $socialName = false )
+function Piwik_Referrers_isSocialUrl($url, $socialName = false)
{
- $domain = Piwik_Referrers_cleanSocialUrl($url);
-
- if (isset($GLOBALS['Piwik_socialUrl'][$domain])
- && ($socialName === false
- || $GLOBALS['Piwik_socialUrl'][$domain] == $socialName))
- {
- return true;
- }
-
- return false;
+ $domain = Piwik_Referrers_cleanSocialUrl($url);
+
+ if (isset($GLOBALS['Piwik_socialUrl'][$domain])
+ && ($socialName === false
+ || $GLOBALS['Piwik_socialUrl'][$domain] == $socialName)
+ ) {
+ return true;
+ }
+
+ return false;
}
/* Return social network logo path by URL
@@ -88,26 +84,21 @@ function Piwik_Referrers_isSocialUrl( $url, $socialName = false )
*/
function Piwik_getSocialsLogoFromUrl($domain)
{
- if (isset($GLOBALS['Piwik_socialUrl'][$domain]))
- {
- // image names are by first domain in list, so make sure we use the first if $domain isn't it
- $firstDomain = $domain;
- foreach ($GLOBALS['Piwik_socialUrl'] as $domainKey => $name)
- {
- if ($name == $GLOBALS['Piwik_socialUrl'][$domain])
- {
- $firstDomain = $domainKey;
- break;
- }
- }
-
- $pathWithCode = 'plugins/Referers/images/socials/'.$firstDomain.'.png';
- return $pathWithCode;
- }
- else
- {
- return 'plugins/Referers/images/socials/xx.png';
- }
+ if (isset($GLOBALS['Piwik_socialUrl'][$domain])) {
+ // image names are by first domain in list, so make sure we use the first if $domain isn't it
+ $firstDomain = $domain;
+ foreach ($GLOBALS['Piwik_socialUrl'] as $domainKey => $name) {
+ if ($name == $GLOBALS['Piwik_socialUrl'][$domain]) {
+ $firstDomain = $domainKey;
+ break;
+ }
+ }
+
+ $pathWithCode = 'plugins/Referers/images/socials/' . $firstDomain . '.png';
+ return $pathWithCode;
+ } else {
+ return 'plugins/Referers/images/socials/xx.png';
+ }
}
/**
@@ -120,16 +111,13 @@ function Piwik_getSocialsLogoFromUrl($domain)
*/
function Piwik_getSearchEngineUrlFromName($name)
{
- $searchEngineNames = Piwik_Common::getSearchEngineNames();
- if(isset($searchEngineNames[$name]))
- {
- $url = 'http://'.$searchEngineNames[$name];
- }
- else
- {
- $url = 'URL unknown!';
- }
- return $url;
+ $searchEngineNames = Piwik_Common::getSearchEngineNames();
+ if (isset($searchEngineNames[$name])) {
+ $url = 'http://' . $searchEngineNames[$name];
+ } else {
+ $url = 'URL unknown!';
+ }
+ return $url;
}
/**
@@ -140,12 +128,11 @@ function Piwik_getSearchEngineUrlFromName($name)
*/
function Piwik_getSearchEngineHostFromUrl($url)
{
- $url = substr($url, strpos($url,'//') + 2);
- if(($p = strpos($url, '/')) !== false)
- {
- $url = substr($url, 0, $p);
- }
- return $url;
+ $url = substr($url, strpos($url, '//') + 2);
+ if (($p = strpos($url, '/')) !== false) {
+ $url = substr($url, 0, $p);
+ }
+ return $url;
}
/**
@@ -157,14 +144,13 @@ function Piwik_getSearchEngineHostFromUrl($url)
*/
function Piwik_getSearchEngineLogoFromUrl($url)
{
- $pathInPiwik = 'plugins/Referers/images/searchEngines/%s.png';
- $pathWithCode = sprintf($pathInPiwik, Piwik_getSearchEngineHostFromUrl($url));
- $absolutePath = PIWIK_INCLUDE_PATH . '/' . $pathWithCode;
- if(file_exists($absolutePath))
- {
- return $pathWithCode;
- }
- return sprintf($pathInPiwik, 'xx');
+ $pathInPiwik = 'plugins/Referers/images/searchEngines/%s.png';
+ $pathWithCode = sprintf($pathInPiwik, Piwik_getSearchEngineHostFromUrl($url));
+ $absolutePath = PIWIK_INCLUDE_PATH . '/' . $pathWithCode;
+ if (file_exists($absolutePath)) {
+ return $pathWithCode;
+ }
+ return sprintf($pathInPiwik, 'xx');
}
/**
@@ -175,8 +161,8 @@ function Piwik_getSearchEngineLogoFromUrl($url)
*/
function Piwik_getSearchEngineHostPathFromUrl($url)
{
- $url = substr($url, strpos($url,'//') + 2);
- return $url;
+ $url = substr($url, strpos($url, '//') + 2);
+ return $url;
}
/**
@@ -190,20 +176,18 @@ function Piwik_getSearchEngineHostPathFromUrl($url)
*/
function Piwik_getSearchEngineUrlFromUrlAndKeyword($url, $keyword)
{
- if($keyword === Piwik_Referers::LABEL_KEYWORD_NOT_DEFINED)
- {
- return 'http://piwik.org/faq/general/#faq_144';
- }
- $searchEngineUrls = Piwik_Common::getSearchEngineUrls();
- $keyword = urlencode($keyword);
- $keyword = str_replace(urlencode('+'), urlencode(' '), $keyword);
- $path = @$searchEngineUrls[Piwik_getSearchEngineHostPathFromUrl($url)][2];
- if(empty($path))
- {
- return false;
- }
- $path = str_replace("{k}", $keyword, $path);
- return $url . (substr($url, -1) != '/' ? '/' : '') . $path;
+ if ($keyword === Piwik_Referers::LABEL_KEYWORD_NOT_DEFINED) {
+ return 'http://piwik.org/faq/general/#faq_144';
+ }
+ $searchEngineUrls = Piwik_Common::getSearchEngineUrls();
+ $keyword = urlencode($keyword);
+ $keyword = str_replace(urlencode('+'), urlencode(' '), $keyword);
+ $path = @$searchEngineUrls[Piwik_getSearchEngineHostPathFromUrl($url)][2];
+ if (empty($path)) {
+ return false;
+ }
+ $path = str_replace("{k}", $keyword, $path);
+ return $url . (substr($url, -1) != '/' ? '/' : '') . $path;
}
/**
@@ -217,7 +201,7 @@ function Piwik_getSearchEngineUrlFromUrlAndKeyword($url, $keyword)
*/
function Piwik_getSearchEngineUrlFromKeywordAndUrl($keyword, $url)
{
- return Piwik_getSearchEngineUrlFromUrlAndKeyword($url, $keyword);
+ return Piwik_getSearchEngineUrlFromUrlAndKeyword($url, $keyword);
}
/**
@@ -228,27 +212,26 @@ function Piwik_getSearchEngineUrlFromKeywordAndUrl($keyword, $url)
*/
function Piwik_getRefererTypeLabel($label)
{
- $indexTranslation = '';
- switch($label)
- {
- case Piwik_Common::REFERER_TYPE_DIRECT_ENTRY:
- $indexTranslation = 'Referers_DirectEntry';
- break;
- case Piwik_Common::REFERER_TYPE_SEARCH_ENGINE:
- $indexTranslation = 'Referers_SearchEngines';
- break;
- case Piwik_Common::REFERER_TYPE_WEBSITE:
- $indexTranslation = 'Referers_Websites';
- break;
- case Piwik_Common::REFERER_TYPE_CAMPAIGN:
- $indexTranslation = 'Referers_Campaigns';
- break;
- default:
- // case of newsletter, partners, before Piwik 0.2.25
- $indexTranslation = 'General_Others';
- break;
- }
- return Piwik_Translate($indexTranslation);
+ $indexTranslation = '';
+ switch ($label) {
+ case Piwik_Common::REFERER_TYPE_DIRECT_ENTRY:
+ $indexTranslation = 'Referers_DirectEntry';
+ break;
+ case Piwik_Common::REFERER_TYPE_SEARCH_ENGINE:
+ $indexTranslation = 'Referers_SearchEngines';
+ break;
+ case Piwik_Common::REFERER_TYPE_WEBSITE:
+ $indexTranslation = 'Referers_Websites';
+ break;
+ case Piwik_Common::REFERER_TYPE_CAMPAIGN:
+ $indexTranslation = 'Referers_Campaigns';
+ break;
+ default:
+ // case of newsletter, partners, before Piwik 0.2.25
+ $indexTranslation = 'General_Others';
+ break;
+ }
+ return Piwik_Translate($indexTranslation);
}
/**
@@ -259,34 +242,31 @@ function Piwik_getRefererTypeLabel($label)
*/
function Piwik_getRefererTypeFromShortName($name)
{
- $map = array(
- Piwik_Common::REFERER_TYPE_SEARCH_ENGINE => 'search',
- Piwik_Common::REFERER_TYPE_WEBSITE => 'website',
- Piwik_Common::REFERER_TYPE_DIRECT_ENTRY => 'direct',
- Piwik_Common::REFERER_TYPE_CAMPAIGN => 'campaign',
- );
- if(isset($map[$name]))
- {
- return $map[$name];
- }
- if($found = array_search($name, $map))
- {
- return $found;
- }
- throw new Exception("Referrer type '$name' is not valid.");
+ $map = array(
+ Piwik_Common::REFERER_TYPE_SEARCH_ENGINE => 'search',
+ Piwik_Common::REFERER_TYPE_WEBSITE => 'website',
+ Piwik_Common::REFERER_TYPE_DIRECT_ENTRY => 'direct',
+ Piwik_Common::REFERER_TYPE_CAMPAIGN => 'campaign',
+ );
+ if (isset($map[$name])) {
+ return $map[$name];
+ }
+ if ($found = array_search($name, $map)) {
+ return $found;
+ }
+ throw new Exception("Referrer type '$name' is not valid.");
}
/**
* Returns a URL w/o the protocol type.
- *
+ *
* @param string $url
* @return string
*/
-function Piwik_Referrers_removeUrlProtocol( $url )
+function Piwik_Referrers_removeUrlProtocol($url)
{
- if (preg_match('/^[a-zA-Z_-]+:\/\//', $url, $matches))
- {
- return substr($url, strlen($matches[0]));
- }
- return $url;
+ if (preg_match('/^[a-zA-Z_-]+:\/\//', $url, $matches)) {
+ return substr($url, strlen($matches[0]));
+ }
+ return $url;
}