Newer
Older
<?php
/**
* Piwik - Open source web analytics
*
* @link http://piwik.org
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*
*/
mattab
a validé
namespace Piwik\Plugins\DevicesDetection;
use Piwik\Common;
use Piwik\Db;
use Piwik\Piwik;
sgiehl
a validé
use Piwik\Plugin\ControllerAdmin;
use Piwik\View;
Thomas Steur
a validé
use Piwik\ViewDataTable\Factory;
use DeviceDetector;
mattab
a validé
class Controller extends \Piwik\Plugin\Controller
{
{
$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->renderReport(__FUNCTION__);
}
{
return $this->renderReport(__FUNCTION__);
}
{
return $this->renderReport(__FUNCTION__);
}
{
return $this->renderReport(__FUNCTION__);
}
{
return $this->renderReport(__FUNCTION__);
}
{
return $this->renderReport(__FUNCTION__);
}
{
return $this->renderReport(__FUNCTION__);
}
sgiehl
a validé
public function deviceDetection()
{
Piwik::checkUserHasSomeAdminAccess();
$view = new View('@DevicesDetection/detection');
$this->setBasicVariablesView($view);
ControllerAdmin::setBasicVariablesAdminView($view);
$userAgent = Common::getRequestVar('ua', $_SERVER['HTTP_USER_AGENT'], 'string');
$parsedUA = DeviceDetector::getInfoFromUserAgent($userAgent);
sgiehl
a validé
$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']);
sgiehl
a validé
$view->device_model = $parsedUA['device']['model'];
$view->device_brand = getDeviceBrandLabel($parsedUA['device']['brand']);
$view->device_brand_logo = getBrandLogo($view->device_brand);
return $view->render();
}
sgiehl
a validé
public function showList()
{
Piwik::checkUserHasSomeAdminAccess();
$view = new View('@DevicesDetection/list');
$type = Common::getRequestVar('type', 'brands', 'string');
$list = array();
switch ($type) {
case 'brands':
$availableBrands = DeviceDetector::$deviceBrands;
sgiehl
a validé
foreach ($availableBrands AS $short => $name) {
if ($name != 'Unknown') {
$list[$name] = getBrandLogo($name);
}
sgiehl
a validé
}
break;
case 'browsers':
$availableBrowsers = DeviceDetector::$browsers;
sgiehl
a validé
foreach ($availableBrowsers AS $short => $name) {
$list[$name] = getBrowserLogoExtended($short);
}
break;
case 'browserfamilies':
$availableBrowserFamilies = DeviceDetector::$browserFamilies;
sgiehl
a validé
foreach ($availableBrowserFamilies AS $name => $browsers) {
$list[$name] = getBrowserFamilyLogoExtended($name);
}
break;
case 'os':
$availableOSs = DeviceDetector::$osShorts;
sgiehl
a validé
foreach ($availableOSs AS $name => $short) {
if ($name != 'Bot') {
$list[$name] = getOsLogoExtended($short);
}
}
break;
case 'osfamilies':
$osFamilies = DeviceDetector::$osFamilies;
sgiehl
a validé
foreach ($osFamilies AS $name => $oss) {
if ($name != 'Bot') {
$list[$name] = getOsFamilyLogoExtended($name);
}
}
break;
case 'devicetypes':
$deviceTypes = DeviceDetector::$deviceTypes;
sgiehl
a validé
foreach ($deviceTypes AS $name) {
$list[$name] = getDeviceTypeLogo($name);
sgiehl
a validé
}
break;
}
$view->itemList = $list;
return $view->render();
}