Вход Регистрация
Файл: vendor/whichbrowser/parser/src/Analyser/Header/Useragent/Device/Media.php
Строк: 83
<?php

namespace WhichBrowserAnalyserHeaderUseragentDevice;

use 
WhichBrowserConstants;
use 
WhichBrowserModelVersion;

trait 
Media
{
    private function 
detectMedia($ua)
    {
        if (!
preg_match('/(Archos|Zune|Walkman)/ui'$ua)) {
            return;
        }

        
$this->detectArchos($ua);
        
$this->detectZune($ua);
        
$this->detectWalkman($ua);
    }




    
/* Archos Generation 4, 5 and 6 */

    
private function detectArchos($ua)
    {
        
/* Generation 4 */

        
if (preg_match('/Archos A([67]04)WIFI//u'$ua$match)) {
            
$this->data->os->reset();
            
$this->data->device->setIdentification([
                
'manufacturer'  =>  'Archos',
                
'model'         =>  $match[1] . ' WiFi',
                
'type'          =>  ConstantsDeviceType::MEDIA
            
]);
        }

        
/* Generation 5 */

        
if (preg_match('/ARCHOS; GOGI; a([67]05f?);/u'$ua$match)) {
            
$this->data->os->reset();
            
$this->data->device->setIdentification([
                
'manufacturer'  =>  'Archos',
                
'model'         =>  $match[1] . ' WiFi',
                
'type'          =>  ConstantsDeviceType::MEDIA
            
]);
        }

        
/* Generation 6 without Android */

        
if (preg_match('/ARCHOS; GOGI; G6-?(S|H|L|3GP);/u'$ua$match)) {
            
$this->data->os->reset();
            
$this->data->device->setIdentification([
                
'manufacturer'  =>  'Archos',
                
'type'          =>  ConstantsDeviceType::MEDIA
            
]);

            switch (
$match[1]) {
                case 
'3GP':
                    
$this->data->device->model '5 3G+';
                    break;
                case 
'S':
                case 
'H':
                    
$this->data->device->model '5';
                    break;
                case 
'L':
                    
$this->data->device->model '7';
                    break;
            }
        }

        
/* Generation 6 with Android */

        
if (preg_match('/ARCHOS; GOGI; A5[SH]; Version ([0-9].[0-9])/u'$ua$match)) {
            
$version = new Version([ 'value' => $match[1] ]);

            
$this->data->os->reset([
                
'name'          => 'Android',
                
'version'       => new Version([ 'value' => $version->is('<''1.7') ? '1.5' '1.6' ])
            ]);

            
$this->data->device->setIdentification([
                
'manufacturer'  =>  'Archos',
                
'model'         =>  '5',
                
'type'          =>  ConstantsDeviceType::MEDIA
            
]);
        }
    }


    
/* Microsoft Zune */

    
private function detectZune($ua)
    {
        if (
preg_match('/Microsoft ZuneHD/u'$ua)) {
            
$this->data->os->reset();
            
$this->data->device->setIdentification([
                
'manufacturer'  =>  'Microsoft',
                
'model'         =>  'Zune HD',
                
'type'          =>  ConstantsDeviceType::MEDIA
            
]);
        }
    }


    
/* Sony Walkman */

    
private function detectWalkman($ua)
    {
        if (
preg_match('/Walkman/(NW-[A-Z0-9]+)/u'$ua$match)) {
            
$this->data->device->setIdentification([
                
'manufacturer'  =>  'Sony',
                
'model'         =>  $match[1] . ' Walkman',
                
'type'          =>  ConstantsDeviceType::MEDIA
            
]);
        }
    }
}
Онлайн: 0
Реклама