kartik\helpers\Enum::getBrowser PHP Method

getBrowser() public static method

Example: ~~~ echo Enum::array2table(Enum::getBrowser(), true); ~~~
public static getBrowser ( boolean $common = false, array $browsers = [], string $agent = null ) : array
$common boolean show common browsers only
$browsers array the list of browsers
$agent string user agent
return array the browser information
    public static function getBrowser($common = false, $browsers = [], $agent = null)
    {
        static::initI18N();
        if ($agent === null) {
            $agent = $_SERVER['HTTP_USER_AGENT'];
        }
        if ($common) {
            $browsers = ['opera' => Yii::t('kvenum', 'Opera'), 'chrome' => Yii::t('kvenum', 'Google Chrome'), 'safari' => Yii::t('kvenum', 'Safari'), 'firefox' => Yii::t('kvenum', 'Mozilla Firefox'), 'msie' => Yii::t('kvenum', 'Microsoft Internet Explorer'), 'mobile safari' => Yii::t('kvenum', 'Mobile Safari')];
        } elseif (empty($browsers)) {
            $browsers = ['opera' => Yii::t('kvenum', 'Opera'), 'maxthon' => Yii::t('kvenum', 'Maxthon'), 'seamonkey' => Yii::t('kvenum', 'Mozilla Sea Monkey'), 'arora' => Yii::t('kvenum', 'Arora'), 'avant' => Yii::t('kvenum', 'Avant'), 'omniweb' => Yii::t('kvenum', 'Omniweb'), 'epiphany' => Yii::t('kvenum', 'Epiphany'), 'chromium' => Yii::t('kvenum', 'Chromium'), 'galeon' => Yii::t('kvenum', 'Galeon'), 'puffin' => Yii::t('kvenum', 'Puffin'), 'fennec' => Yii::t('kvenum', 'Mozilla Firefox Fennec'), 'chrome' => Yii::t('kvenum', 'Google Chrome'), 'mobile safari' => Yii::t('kvenum', 'Mobile Safari'), 'safari' => Yii::t('kvenum', 'Apple Safari'), 'firefox' => Yii::t('kvenum', 'Mozilla Firefox'), 'iemobile' => Yii::t('kvenum', 'Microsoft Internet Explorer Mobile'), 'msie' => Yii::t('kvenum', 'Microsoft Internet Explorer'), 'konqueror' => Yii::t('kvenum', 'Konqueror'), 'amaya' => Yii::t('kvenum', 'Amaya'), 'netscape' => Yii::t('kvenum', 'Netscape'), 'mosaic' => Yii::t('kvenum', 'Mosaic'), 'netsurf' => Yii::t('kvenum', 'NetSurf'), 'netfront' => Yii::t('kvenum', 'NetFront'), 'minimo' => Yii::t('kvenum', 'Minimo'), 'blackberry' => Yii::t('kvenum', 'Blackberry')];
        }
        $info = ['agent' => $agent, 'code' => 'other', 'name' => Yii::t('kvenum', 'Other'), 'version' => "?", 'platform' => Yii::t('kvenum', 'Unknown')];
        $ios = Yii::t('kvenum', 'iOS');
        $unix = Yii::t('kvenum', 'Unix');
        $platforms = ['iphone' => $ios, 'ipad' => $ios, 'ipod' => $ios, 'android' => Yii::t('kvenum', 'Android'), 'symbian' => Yii::t('kvenum', 'Symbian'), 'maemo' => Yii::t('kvenum', 'Maemo'), 'palm' => Yii::t('kvenum', 'Palm'), 'linux' => Yii::t('kvenum', 'Linux'), 'mac' => Yii::t('kvenum', 'Macintosh OSX'), 'win' => Yii::t('kvenum', 'Windows'), 'x11' => $unix, 'bsd' => $unix, 'sun' => $unix, 'blackberry' => Yii::t('kvenum', 'Blackberry')];
        foreach ($platforms as $key => $value) {
            if (stripos($agent, $key)) {
                $info['platform'] = $value;
                break;
            }
        }
        foreach ($browsers as $code => $name) {
            if (stripos($agent, $code)) {
                $info['code'] = $code;
                $info['name'] = $name;
                $info['version'] = static::getBrowserVer($agent, $code);
                return $info;
            }
        }
        return $info;
    }