Вход Регистрация
Файл: vendor/whichbrowser/parser/src/Data/Applications.php
Строк: 64
<?php

namespace WhichBrowserData;

use 
WhichBrowserModelBrowser;
use 
WhichBrowserModelVersion;

class 
Applications
{
    public static 
$BOTS = [];
    public static 
$BOTS_REGEX '';

    public static 
$BROWSERS = [];
    public static 
$BROWSERS_REGEX '';

    public static 
$OTHERS = [];
    public static 
$OTHERS_REGEX '';


    public static function 
identifyBrowser($ua)
    {
        require_once 
__DIR__ '/../../data/regexes/applications-browsers.php';

        if (
preg_match(self::$BROWSERS_REGEX$ua)) {
            require_once 
__DIR__ '/../../data/applications-browsers.php';

            foreach (
self::$BROWSERS as $type => $list) {
                foreach (
$list as $i => $item) {
                    if (
preg_match($item['regexp'], $ua$match)) {
                        return [
                            
'browser' => [
                                
'name'      => $item['name'],
                                
'hidden'    => isset($item['hidden']) ? $item['hidden'] : false,
                                
'stock'     => false,
                                
'channel'   => '',
                                
'type'      => $type,
                                
'version'   => isset($match[1]) && $match[1] ? new Version([ 'value' => $match[1], 'details' => isset($item['details']) ? $item['details'] : null ]) : null
                            
],

                            
'device' => isset($item['type']) ? [
                                
'type'      => $item['type']
                            ] : 
null
                        
];
                    }
                }
            }
        }
    }

    public static function 
identifyOther($ua)
    {
        require_once 
__DIR__ '/../../data/regexes/applications-others.php';

        if (
preg_match(self::$OTHERS_REGEX$ua)) {
            require_once 
__DIR__ '/../../data/applications-others.php';

            foreach (
self::$OTHERS as $type => $list) {
                foreach (
$list as $i => $item) {
                    if (
preg_match($item['regexp'], $ua$match)) {
                        return [
                            
'browser' => [
                                
'name'      => $item['name'],
                                
'hidden'    => isset($item['hidden']) ? $item['hidden'] : false,
                                
'stock'     => false,
                                
'channel'   => '',
                                
'type'      => $type,
                                
'version'   => isset($match[1]) && $match[1] ? new Version([ 'value' => $match[1], 'details' => isset($item['details']) ? $item['details'] : null ]) : null
                            
],

                            
'device' => isset($item['type']) ? [
                                
'type'      => $item['type']
                            ] : 
null
                        
];
                    }
                }
            }
        }
    }
    public static function 
identifyBot($ua)
    {
        if (
is_null($ua)) {
            return;
        }

        require_once 
__DIR__ '/../../data/regexes/applications-bots.php';

        if (
preg_match(self::$BOTS_REGEX$ua)) {
            require_once 
__DIR__ '/../../data/applications-bots.php';

            foreach (
self::$BOTS as $i => $item) {
                if (
preg_match($item['regexp'], $ua$match)) {
                    return new 
Browser([
                        
'name'      => $item['name'],
                        
'stock'     => false,
                        
'version'   => isset($match[1]) && $match[1] ? new Version([ 'value' => $match[1], 'details' => isset($item['details']) ? $item['details'] : null ]) : null
                    
]);
                }
            }
        }
    }
}
Онлайн: 1
Реклама