diff options
author | sgiehl <stefan@piwik.org> | 2014-05-24 20:37:04 +0400 |
---|---|---|
committer | sgiehl <stefan@piwik.org> | 2014-05-24 20:37:04 +0400 |
commit | cef2d69f76320d8f02cea2418a4bf5d506aee513 (patch) | |
tree | c3a362a861346fc4fb32be6f1864b8cc9f27b3ce /plugins/DevicesDetection/functions.php | |
parent | cbde69956082195aa04439deb269181f5fdd8759 (diff) |
starting to implement new DeviceDetector structure
Diffstat (limited to 'plugins/DevicesDetection/functions.php')
-rw-r--r-- | plugins/DevicesDetection/functions.php | 54 |
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'); } |