getAvailableDeviceTypes() public static method

Returns available device types
public static getAvailableDeviceTypes ( ) : array
return array
コード例 #1
0
ファイル: API.php プロジェクト: FluentDevelopment/piwik
 protected function ensureDefaultRowsInTable($dataTable)
 {
     $requiredRows = array_fill(0, count(DeviceParserAbstract::getAvailableDeviceTypes()), Metrics::INDEX_NB_VISITS);
     $dataTables = array($dataTable);
     if (!$dataTable instanceof DataTable\Map) {
         foreach ($dataTables as $table) {
             if ($table->getRowsCount() == 0) {
                 continue;
             }
             foreach ($requiredRows as $requiredRow => $key) {
                 $row = $table->getRowFromLabel($requiredRow);
                 if (empty($row)) {
                     $table->addRowsFromSimpleArray(array(array('label' => $requiredRow, $key => 0)));
                 }
             }
         }
     }
 }
コード例 #2
0
ファイル: Controller.php プロジェクト: dorelljames/piwik
 public function showList()
 {
     Piwik::checkUserHasSomeAdminAccess();
     $view = new View('@DevicesDetection/list');
     $type = Common::getRequestVar('type', 'brands', 'string');
     $list = array();
     switch ($type) {
         case 'brands':
             $availableBrands = \DeviceDetector\Parser\Device\DeviceParserAbstract::$deviceBrands;
             foreach ($availableBrands as $short => $name) {
                 if ($name != 'Unknown') {
                     $list[$name] = getBrandLogo($name);
                 }
             }
             break;
         case 'browsers':
             $availableBrowsers = \DeviceDetector\Parser\Client\Browser::getAvailableBrowsers();
             foreach ($availableBrowsers as $short => $name) {
                 $list[$name] = getBrowserLogo($short);
             }
             break;
         case 'browserfamilies':
             $availableBrowserFamilies = \DeviceDetector\Parser\Client\Browser::getAvailableBrowserFamilies();
             foreach ($availableBrowserFamilies as $name => $browsers) {
                 $list[$name] = getBrowserFamilyLogo($name);
             }
             break;
         case 'os':
             $availableOSs = \DeviceDetector\Parser\OperatingSystem::getAvailableOperatingSystems();
             foreach ($availableOSs as $short => $name) {
                 $list[$name] = getOsLogo($short);
             }
             break;
         case 'osfamilies':
             $osFamilies = \DeviceDetector\Parser\OperatingSystem::getAvailableOperatingSystemFamilies();
             foreach ($osFamilies as $name => $oss) {
                 $list[$name] = getOsFamilyLogo($name);
             }
             break;
         case 'devicetypes':
             $deviceTypes = \DeviceDetector\Parser\Device\DeviceParserAbstract::getAvailableDeviceTypes();
             foreach ($deviceTypes as $name => $id) {
                 $list[$name] = getDeviceTypeLogo($name);
             }
             break;
     }
     $view->itemList = $list;
     return $view->render();
 }
コード例 #3
0
 public function __call($methodName, $arguments)
 {
     foreach (DeviceParserAbstract::getAvailableDeviceTypes() as $deviceName => $deviceType) {
         if (strtolower($methodName) == 'is' . strtolower(str_replace(' ', '', $deviceName))) {
             return $this->getDevice() == $deviceType;
         }
     }
     foreach (self::$clientTypes as $client) {
         if (strtolower($methodName) == 'is' . strtolower(str_replace(' ', '', $client))) {
             return $this->getClient('type') == $client;
         }
     }
     throw new \BadMethodCallException("Method {$methodName} not found");
 }
コード例 #4
0
ファイル: functions.php プロジェクト: diosmosis/piwik
function getDeviceTypeLogo($label)
{
    if (is_numeric($label) && in_array($label, DeviceParser::getAvailableDeviceTypes())) {
        $label = array_search($label, DeviceParser::getAvailableDeviceTypes());
    }
    $label = strtolower($label);
    $deviceTypeLogos = array("desktop" => "normal.gif", "smartphone" => "smartphone.png", "tablet" => "tablet.png", "tv" => "tv.png", "feature phone" => "mobile.gif", "console" => "console.gif", "car browser" => "carbrowser.png", "camera" => "camera.png");
    if (!array_key_exists($label, $deviceTypeLogos)) {
        $label = 'unknown.gif';
    } else {
        $label = $deviceTypeLogos[$label];
    }
    $path = 'plugins/DevicesDetection/images/screens/' . $label;
    return $path;
}
コード例 #5
0
 public function testGetAvailableDeviceTypes()
 {
     $available = DeviceParserAbstract::getAvailableDeviceTypes();
     $this->assertGreaterThan(5, count($available));
     $this->assertContains('desktop', array_keys($available));
 }