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-24 20:37:04 +0400
committersgiehl <stefan@piwik.org>2014-05-24 20:37:04 +0400
commitcef2d69f76320d8f02cea2418a4bf5d506aee513 (patch)
treec3a362a861346fc4fb32be6f1864b8cc9f27b3ce /plugins/DevicesDetection/functions.php
parentcbde69956082195aa04439deb269181f5fdd8759 (diff)
starting to implement new DeviceDetector structure
Diffstat (limited to 'plugins/DevicesDetection/functions.php')
-rw-r--r--plugins/DevicesDetection/functions.php54
1 files changed, 28 insertions, 26 deletions
diff --git a/plugins/DevicesDetection/functions.php b/plugins/DevicesDetection/functions.php
index 895b0ed33c..7858b43970 100644
--- a/plugins/DevicesDetection/functions.php
+++ b/plugins/DevicesDetection/functions.php
@@ -9,8 +9,10 @@
namespace Piwik\Plugins\DevicesDetection;
-use DeviceDetector;
use Piwik\Piwik;
+use DeviceDetector\Parser\OperatingSystem AS OperatingSystemParser;
+use DeviceDetector\Parser\Device\DeviceParserAbstract AS DeviceParser;
+use DeviceDetector\Parser\Client\Browser AS BrowserParser;
function getBrandLogo($label)
{
@@ -25,7 +27,7 @@ function getBrandLogo($label)
function getBrowserFamilyFullNameExtended($label)
{
- foreach (DeviceDetector::$browserFamilies as $name => $family) {
+ foreach (BrowserParser::getAvailableBrowserFamilies() as $name => $family) {
if (in_array($label, $family)) {
return $name;
}
@@ -35,8 +37,8 @@ function getBrowserFamilyFullNameExtended($label)
function getBrowserFamilyLogoExtended($label)
{
- if (array_key_exists($label, DeviceDetector::$browserFamilies)) {
- return getBrowserLogoExtended(DeviceDetector::$browserFamilies[$label][0]);
+ if (!empty($label) && array_key_exists($label, BrowserParser::getAvailableBrowserFamilies())) {
+ return getBrowserLogoExtended(BrowserParser::getAvailableBrowserFamilies()[$label][0]);
}
return getBrowserLogoExtended($label);
}
@@ -45,8 +47,8 @@ function getBrowserNameExtended($label)
{
$short = substr($label, 0, 2);
$ver = substr($label, 3, 10);
- if (array_key_exists($short, DeviceDetector::$browsers)) {
- return trim(ucfirst(DeviceDetector::$browsers[$short]) . ' ' . $ver);
+ if (array_key_exists($short, BrowserParser::getAvailableBrowsers())) {
+ return trim(ucfirst(BrowserParser::getAvailableBrowsers()[$short]) . ' ' . $ver);
} else {
return Piwik::translate('General_Unknown');
}
@@ -70,8 +72,8 @@ function getBrowserLogoExtended($short)
// If name is given instead of short code, try to find matching shortcode
if (strlen($short) > 2) {
- if (in_array($short, DeviceDetector::$browsers)) {
- $flippedBrowsers = array_flip(DeviceDetector::$browsers);
+ if (in_array($short, BrowserParser::getAvailableBrowsers())) {
+ $flippedBrowsers = array_flip(BrowserParser::getAvailableBrowsers());
$short = $flippedBrowsers[$short];
} else {
$short = substr($short, 0, 2);
@@ -80,18 +82,18 @@ function getBrowserLogoExtended($short)
$family = getBrowserFamilyFullNameExtended($short);
- if (array_key_exists($short, DeviceDetector::$browsers) && file_exists(PIWIK_INCLUDE_PATH.'/'.sprintf($path, $short))) {
+ if (!empty($short) && array_key_exists($short, BrowserParser::getAvailableBrowsers()) && file_exists(PIWIK_INCLUDE_PATH.'/'.sprintf($path, $short))) {
return sprintf($path, $short);
- } elseif (array_key_exists($family, DeviceDetector::$browserFamilies) && file_exists(PIWIK_INCLUDE_PATH.'/'.sprintf($path, DeviceDetector::$browserFamilies[$family][0]))) {
- return sprintf($path, DeviceDetector::$browserFamilies[$family][0]);
+ } elseif (!empty($short) && array_key_exists($family, BrowserParser::getAvailableBrowserFamilies()) && file_exists(PIWIK_INCLUDE_PATH.'/'.sprintf($path, BrowserParser::getAvailableBrowserFamilies()[$family][0]))) {
+ return sprintf($path, BrowserParser::getAvailableBrowserFamilies()[$family][0]);
}
return sprintf($path, 'UNK');
}
function getDeviceBrandLabel($label)
{
- if (array_key_exists($label, DeviceDetector::$deviceBrands)) {
- return ucfirst(DeviceDetector::$deviceBrands[$label]);
+ if (array_key_exists($label, DeviceParser::$deviceBrands)) {
+ return ucfirst(DeviceParser::$deviceBrands[$label]);
} else {
return Piwik::translate('General_Unknown');
}
@@ -110,8 +112,8 @@ function getDeviceTypeLabel($label)
'smart display' => 'DevicesDetection_SmartDisplay',
'camera' => 'DevicesDetection_Camera'
);
- if (isset(DeviceDetector::$deviceTypes[$label]) && isset($translations[DeviceDetector::$deviceTypes[$label]])) {
- return Piwik::translate($translations[DeviceDetector::$deviceTypes[$label]]);
+ if (in_array($label, DeviceParser::getAvailableDeviceTypes()) && isset($translations[array_search($label, DeviceParser::getAvailableDeviceTypes())])) {
+ return Piwik::translate($translations[array_search($label, DeviceParser::getAvailableDeviceTypes())]);
} else if (isset($translations[$label])) {
return Piwik::translate($translations[$label]);
} else {
@@ -121,8 +123,8 @@ function getDeviceTypeLabel($label)
function getDeviceTypeLogo($label)
{
- if (is_numeric($label) && isset(DeviceDetector::$deviceTypes[$label])) {
- $label = DeviceDetector::$deviceTypes[$label];
+ if (is_numeric($label) && in_array($label, DeviceParser::getAvailableDeviceTypes())) {
+ $label = array_search($label, DeviceParser::getAvailableDeviceTypes());
}
$label = strtolower($label);
@@ -156,7 +158,7 @@ function getModelName($label)
function getOSFamilyFullNameExtended($label)
{
- $label = DeviceDetector::getOsFamily($label);
+ $label = OperatingSystemParser::getOsFamily($label);
if($label !== false) {
return $label;
}
@@ -165,8 +167,8 @@ function getOSFamilyFullNameExtended($label)
function getOsFamilyLogoExtended($label)
{
- if (array_key_exists($label, DeviceDetector::$osFamilies)) {
- return getOsLogoExtended(DeviceDetector::$osFamilies[$label][0]);
+ if (!empty($label) && array_key_exists($label, OperatingSystemParser::getAvailableOperatingSystemFamilies())) {
+ return getOsLogoExtended(OperatingSystemParser::getAvailableOperatingSystemFamilies()[$label][0]);
}
return getOsLogoExtended($label);
}
@@ -176,7 +178,7 @@ function getOsFullNameExtended($label)
if (!empty($label) && $label != ";") {
$os = substr($label, 0, 3);
$ver = substr($label, 4, 15);
- $name = DeviceDetector::getOsNameFromId($os, $ver);
+ $name = OperatingSystemParser::getNameFromId($os, $ver);
if (!empty($name)) {
return $name;
}
@@ -202,8 +204,8 @@ function getOsLogoExtended($short)
// If name is given instead of short code, try to find matching shortcode
if (strlen($short) > 3) {
- if (array_key_exists($short, DeviceDetector::$osShorts)) {
- $short = DeviceDetector::$osShorts[$short];
+ if (in_array($short, OperatingSystemParser::getAvailableOperatingSystems())) {
+ $short = array_search($short, OperatingSystemParser::getAvailableOperatingSystems());
} else {
$short = substr($short, 0, 3);
}
@@ -211,10 +213,10 @@ function getOsLogoExtended($short)
$family = getOsFamilyFullNameExtended($short);
- if (in_array($short, DeviceDetector::$osShorts) && file_exists(PIWIK_INCLUDE_PATH.'/'.sprintf($path, $short))) {
+ if (!empty($short) && array_key_exists($short, OperatingSystemParser::getAvailableOperatingSystems()) && file_exists(PIWIK_INCLUDE_PATH.'/'.sprintf($path, $short))) {
return sprintf($path, $short);
- } elseif (array_key_exists($family, DeviceDetector::$osFamilies) && file_exists(PIWIK_INCLUDE_PATH.'/'.sprintf($path, DeviceDetector::$osFamilies[$family][0]))) {
- return sprintf($path, DeviceDetector::$osFamilies[$family][0]);
+ } elseif (!empty($family) && array_key_exists($family, OperatingSystemParser::getAvailableOperatingSystemFamilies()) && file_exists(PIWIK_INCLUDE_PATH.'/'.sprintf($path, OperatingSystemParser::getAvailableOperatingSystemFamilies()[$family][0]))) {
+ return sprintf($path, OperatingSystemParser::getAvailableOperatingSystemFamilies()[$family][0]);
}
return sprintf($path, 'UNK');
}