Viewing file: Applications.php (3.69 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
namespace WhichBrowser\Data;
use WhichBrowser\Model\Browser; use WhichBrowser\Model\Version;
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 ]); } } } } }
|