update Piwik to version 2.16 (fixes #91)
This commit is contained in:
parent
296343bf3b
commit
d885a4baa9
5833 changed files with 418860 additions and 226988 deletions
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* Piwik - Open source web analytics
|
||||
* Piwik - free/libre analytics platform
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
|
|
@ -8,64 +8,58 @@
|
|||
*/
|
||||
namespace Piwik\Plugins\DevicesDetection;
|
||||
|
||||
use DeviceDetector\DeviceDetector;
|
||||
use Piwik\Common;
|
||||
use Piwik\Db;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Plugin\ControllerAdmin;
|
||||
use Piwik\Plugin\Manager AS PluginManager;
|
||||
use Piwik\Plugin\Report;
|
||||
use Piwik\View;
|
||||
use Piwik\ViewDataTable\Factory;
|
||||
use DeviceDetector;
|
||||
|
||||
class Controller extends \Piwik\Plugin\Controller
|
||||
{
|
||||
public function index()
|
||||
{
|
||||
$view = new View('@DevicesDetection/index');
|
||||
$view->deviceTypes = $view->deviceModels = $view->deviceBrands = $view->osReport = $view->browserReport = "blank";
|
||||
$view->deviceTypes = $this->getType(true);
|
||||
$view->deviceBrands = $this->getBrand(true);
|
||||
$view->deviceModels = $this->getModel(true);
|
||||
$view->osReport = $this->getOsFamilies(true);
|
||||
$view->browserReport = $this->getBrowserFamilies(true);
|
||||
return $this->devices();
|
||||
}
|
||||
|
||||
public function devices()
|
||||
{
|
||||
$view = new View('@DevicesDetection/devices');
|
||||
$view->deviceTypes = $this->renderReport('getType');
|
||||
$view->deviceBrands = $this->renderReport('getBrand');
|
||||
$view->deviceModels = $this->renderReport('getModel');
|
||||
|
||||
$isResolutionEnabled = PluginManager::getInstance()->isPluginActivated('Resolution');
|
||||
if ($isResolutionEnabled) {
|
||||
$view->resolutions = $this->renderReport(Report::factory('Resolution', 'getResolution'));
|
||||
}
|
||||
|
||||
return $view->render();
|
||||
}
|
||||
|
||||
public function getType()
|
||||
public function software()
|
||||
{
|
||||
return $this->renderReport(__FUNCTION__);
|
||||
$view = new View('@DevicesDetection/software');
|
||||
$view->osReport = $this->renderReport('getOsVersions');
|
||||
$view->browserReport = $this->renderReport('getBrowsers');
|
||||
$view->browserEngineReport = $this->renderReport('getBrowserEngines');
|
||||
|
||||
$isResolutionEnabled = PluginManager::getInstance()->isPluginActivated('Resolution');
|
||||
if ($isResolutionEnabled) {
|
||||
$view->configurations = $this->renderReport(Report::factory('Resolution', 'getConfiguration'));
|
||||
}
|
||||
|
||||
$isDevicePluginsEnabled = PluginManager::getInstance()->isPluginActivated('DevicePlugins');
|
||||
if ($isDevicePluginsEnabled) {
|
||||
$view->browserPlugins = $this->renderReport(Report::factory('DevicePlugins', 'getPlugin'));
|
||||
}
|
||||
|
||||
return $view->render();
|
||||
}
|
||||
|
||||
public function getBrand()
|
||||
{
|
||||
return $this->renderReport(__FUNCTION__);
|
||||
}
|
||||
|
||||
public function getModel()
|
||||
{
|
||||
return $this->renderReport(__FUNCTION__);
|
||||
}
|
||||
|
||||
public function getOsFamilies()
|
||||
{
|
||||
return $this->renderReport(__FUNCTION__);
|
||||
}
|
||||
|
||||
public function getOsVersions()
|
||||
{
|
||||
return $this->renderReport(__FUNCTION__);
|
||||
}
|
||||
|
||||
public function getBrowserFamilies()
|
||||
{
|
||||
return $this->renderReport(__FUNCTION__);
|
||||
}
|
||||
|
||||
public function getBrowserVersions()
|
||||
{
|
||||
return $this->renderReport(__FUNCTION__);
|
||||
}
|
||||
|
||||
public function deviceDetection()
|
||||
public function detection()
|
||||
{
|
||||
Piwik::checkUserHasSomeAdminAccess();
|
||||
|
||||
|
|
@ -75,26 +69,27 @@ class Controller extends \Piwik\Plugin\Controller
|
|||
|
||||
$userAgent = Common::getRequestVar('ua', $_SERVER['HTTP_USER_AGENT'], 'string');
|
||||
|
||||
$parsedUA = DeviceDetector::getInfoFromUserAgent($userAgent);
|
||||
$uaParser = new DeviceDetector($userAgent);
|
||||
$uaParser->parse();
|
||||
|
||||
$view->userAgent = $userAgent;
|
||||
$view->browser_name = $parsedUA['browser']['name'];
|
||||
$view->browser_short_name = $parsedUA['browser']['short_name'];
|
||||
$view->browser_version = $parsedUA['browser']['version'];
|
||||
$view->browser_logo = getBrowserLogoExtended($parsedUA['browser']['short_name']);
|
||||
$view->browser_family = $parsedUA['browser_family'];
|
||||
$view->browser_family_logo = getBrowserFamilyLogoExtended($parsedUA['browser_family']);
|
||||
$view->os_name = $parsedUA['os']['name'];
|
||||
$view->os_logo = getOsLogoExtended($parsedUA['os']['short_name']);
|
||||
$view->os_short_name = $parsedUA['os']['short_name'];
|
||||
$view->os_family = $parsedUA['os_family'];
|
||||
$view->os_family_logo = getOsFamilyLogoExtended($parsedUA['os_family']);
|
||||
$view->os_version = $parsedUA['os']['version'];
|
||||
$view->device_type = getDeviceTypeLabel($parsedUA['device']['type']);
|
||||
$view->device_type_logo = getDeviceTypeLogo($parsedUA['device']['type']);
|
||||
$view->device_model = $parsedUA['device']['model'];
|
||||
$view->device_brand = getDeviceBrandLabel($parsedUA['device']['brand']);
|
||||
$view->device_brand_logo = getBrandLogo($view->device_brand);
|
||||
$view->browser_name = $uaParser->getClient('name');
|
||||
$view->browser_short_name = $uaParser->getClient('short_name');
|
||||
$view->browser_version = $uaParser->getClient('version');
|
||||
$view->browser_logo = getBrowserLogo($uaParser->getClient('short_name'));
|
||||
$view->browser_family = \DeviceDetector\Parser\Client\Browser::getBrowserFamily($uaParser->getClient('short_name'));
|
||||
$view->browser_family_logo = getBrowserFamilyLogo($view->browser_family);
|
||||
$view->os_name = $uaParser->getOs('name');
|
||||
$view->os_logo = getOsLogo($uaParser->getOs('short_name'));
|
||||
$view->os_short_name = $uaParser->getOs('short_name');
|
||||
$view->os_family = \DeviceDetector\Parser\OperatingSystem::getOsFamily($uaParser->getOs('short_name'));
|
||||
$view->os_family_logo = getOsFamilyLogo($view->os_family);
|
||||
$view->os_version = $uaParser->getOs('version');
|
||||
$view->device_type = getDeviceTypeLabel($uaParser->getDeviceName());
|
||||
$view->device_type_logo = getDeviceTypeLogo($uaParser->getDeviceName());
|
||||
$view->device_model = $uaParser->getModel();
|
||||
$view->device_brand = getDeviceBrandLabel($uaParser->getBrand());
|
||||
$view->device_brand_logo = getBrandLogo($uaParser->getBrand());
|
||||
|
||||
return $view->render();
|
||||
}
|
||||
|
|
@ -111,9 +106,9 @@ class Controller extends \Piwik\Plugin\Controller
|
|||
|
||||
switch ($type) {
|
||||
case 'brands':
|
||||
$availableBrands = DeviceDetector::$deviceBrands;
|
||||
$availableBrands = \DeviceDetector\Parser\Device\DeviceParserAbstract::$deviceBrands;
|
||||
|
||||
foreach ($availableBrands AS $short => $name) {
|
||||
foreach ($availableBrands as $short => $name) {
|
||||
if ($name != 'Unknown') {
|
||||
$list[$name] = getBrandLogo($name);
|
||||
}
|
||||
|
|
@ -121,45 +116,41 @@ class Controller extends \Piwik\Plugin\Controller
|
|||
break;
|
||||
|
||||
case 'browsers':
|
||||
$availableBrowsers = DeviceDetector::$browsers;
|
||||
$availableBrowsers = \DeviceDetector\Parser\Client\Browser::getAvailableBrowsers();
|
||||
|
||||
foreach ($availableBrowsers AS $short => $name) {
|
||||
$list[$name] = getBrowserLogoExtended($short);
|
||||
foreach ($availableBrowsers as $short => $name) {
|
||||
$list[$name] = getBrowserLogo($short);
|
||||
}
|
||||
break;
|
||||
|
||||
case 'browserfamilies':
|
||||
$availableBrowserFamilies = DeviceDetector::$browserFamilies;
|
||||
$availableBrowserFamilies = \DeviceDetector\Parser\Client\Browser::getAvailableBrowserFamilies();
|
||||
|
||||
foreach ($availableBrowserFamilies AS $name => $browsers) {
|
||||
$list[$name] = getBrowserFamilyLogoExtended($name);
|
||||
foreach ($availableBrowserFamilies as $name => $browsers) {
|
||||
$list[$name] = getBrowserFamilyLogo($name);
|
||||
}
|
||||
break;
|
||||
|
||||
case 'os':
|
||||
$availableOSs = DeviceDetector::$osShorts;
|
||||
$availableOSs = \DeviceDetector\Parser\OperatingSystem::getAvailableOperatingSystems();
|
||||
|
||||
foreach ($availableOSs AS $name => $short) {
|
||||
if ($name != 'Bot') {
|
||||
$list[$name] = getOsLogoExtended($short);
|
||||
}
|
||||
foreach ($availableOSs as $short => $name) {
|
||||
$list[$name] = getOsLogo($short);
|
||||
}
|
||||
break;
|
||||
|
||||
case 'osfamilies':
|
||||
$osFamilies = DeviceDetector::$osFamilies;
|
||||
$osFamilies = \DeviceDetector\Parser\OperatingSystem::getAvailableOperatingSystemFamilies();
|
||||
|
||||
foreach ($osFamilies AS $name => $oss) {
|
||||
if ($name != 'Bot') {
|
||||
$list[$name] = getOsFamilyLogoExtended($name);
|
||||
}
|
||||
foreach ($osFamilies as $name => $oss) {
|
||||
$list[$name] = getOsFamilyLogo($name);
|
||||
}
|
||||
break;
|
||||
|
||||
case 'devicetypes':
|
||||
$deviceTypes = DeviceDetector::$deviceTypes;
|
||||
$deviceTypes = \DeviceDetector\Parser\Device\DeviceParserAbstract::getAvailableDeviceTypes();
|
||||
|
||||
foreach ($deviceTypes AS $name) {
|
||||
foreach ($deviceTypes as $name => $id) {
|
||||
$list[$name] = getDeviceTypeLogo($name);
|
||||
}
|
||||
break;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue