Pop\Web\Browser::detect PHP Метод

detect() защищенный Метод

Method to detect properties.
protected detect ( ) : void
Результат void
    protected function detect()
    {
        // Determine system platform and OS version.
        if (stripos($this->ua, 'Windows') !== false) {
            $this->platform = 'Windows';
            $this->os = stripos($this->ua, 'Windows NT') !== false ? substr($this->ua, stripos($this->ua, 'Windows NT'), 14) : 'Windows';
        } else {
            if (stripos($this->ua, 'Macintosh') !== false) {
                $this->platform = 'Macintosh';
                if (stripos($this->ua, 'Intel') !== false) {
                    $this->os = substr($this->ua, stripos($this->ua, 'Intel'));
                    $this->os = substr($this->os, 0, stripos($this->os, ';'));
                } else {
                    if (stripos($this->ua, 'PPC') !== false) {
                        $this->os = substr($this->ua, stripos($this->ua, 'PPC'));
                        $this->os = substr($this->os, 0, stripos($this->os, ';'));
                    } else {
                        $this->os = 'Macintosh';
                    }
                }
            } else {
                if (stripos($this->ua, 'Linux') !== false) {
                    $this->platform = 'Linux';
                    if (stripos($this->ua, 'Linux') !== false) {
                        $this->os = substr($this->ua, stripos($this->ua, 'Linux '));
                        $this->os = substr($this->os, 0, stripos($this->os, ';'));
                    } else {
                        $this->os = 'Linux';
                    }
                } else {
                    if (stripos($this->ua, 'SunOS') !== false) {
                        $this->platform = 'SunOS';
                        if (stripos($this->ua, 'SunOS') !== false) {
                            $this->os = substr($this->ua, stripos($this->ua, 'SunOS '));
                            $this->os = substr($this->os, 0, stripos($this->os, ';'));
                        } else {
                            $this->os = 'SunOS';
                        }
                    } else {
                        if (stripos($this->ua, 'OpenBSD') !== false) {
                            $this->platform = 'OpenBSD';
                            if (stripos($this->ua, 'OpenBSD') !== false) {
                                $this->os = substr($this->ua, stripos($this->ua, 'OpenBSD '));
                                $this->os = substr($this->os, 0, stripos($this->os, ';'));
                            } else {
                                $this->os = 'OpenBSD';
                            }
                        } else {
                            if (stripos($this->ua, 'NetBSD') !== false) {
                                $this->platform = 'NetBSD';
                                if (stripos($this->ua, 'NetBSD') !== false) {
                                    $this->os = substr($this->ua, stripos($this->ua, 'NetBSD '));
                                    $this->os = substr($this->os, 0, stripos($this->os, ';'));
                                } else {
                                    $this->os = 'NetBSD';
                                }
                            } else {
                                if (stripos($this->ua, 'FreeBSD') !== false) {
                                    $this->platform = 'FreeBSD';
                                    if (stripos($this->ua, 'FreeBSD') !== false) {
                                        $this->os = substr($this->ua, stripos($this->ua, 'FreeBSD '));
                                        $this->os = substr($this->os, 0, stripos($this->os, ';'));
                                    } else {
                                        $this->os = 'FreeBSD';
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
        // Determine browser and browser version.
        if (stripos($this->ua, 'Camino') !== false) {
            $this->name = 'Camino';
            $this->webkit = true;
            $this->version = substr($this->ua, stripos($this->ua, 'Camino/') + 7);
        } else {
            if (stripos($this->ua, 'Chrome') !== false) {
                $this->name = 'Chrome';
                $this->chrome = true;
                $this->webkit = true;
                $this->version = substr($this->ua, stripos($this->ua, 'Chrome/') + 7);
                $this->version = substr($this->version, 0, stripos($this->version, ' '));
            } else {
                if (stripos($this->ua, 'Firefox') !== false) {
                    $this->name = 'Firefox';
                    $this->mozilla = true;
                    $this->version = substr($this->ua, stripos($this->ua, 'Firefox/') + 8);
                } else {
                    if (stripos($this->ua, 'MSIE') !== false) {
                        $this->name = 'MSIE';
                        $this->msie = true;
                        $this->version = substr($this->ua, stripos($this->ua, 'MSIE ') + 5);
                        $this->version = substr($this->version, 0, stripos($this->version, ';'));
                    } else {
                        if (stripos($this->ua, 'Trident') !== false) {
                            $this->name = 'MSIE';
                            $this->msie = true;
                            $this->version = substr($this->ua, stripos($this->ua, 'rv:') + 3);
                            $this->version = substr($this->version, 0, stripos($this->version, ')'));
                        } else {
                            if (stripos($this->ua, 'Konqueror') !== false) {
                                $this->name = 'Konqueror';
                                $this->webkit = true;
                                $this->version = substr($this->ua, stripos($this->ua, 'Konqueror/') + 10);
                                $this->version = substr($this->version, 0, stripos($this->version, ';'));
                            } else {
                                if (stripos($this->ua, 'Navigator') !== false) {
                                    $this->name = 'Navigator';
                                    $this->mozilla = true;
                                    $this->version = substr($this->ua, stripos($this->ua, 'Navigator/') + 10);
                                } else {
                                    if (stripos($this->ua, 'Opera') !== false) {
                                        $this->name = 'Opera';
                                        $this->opera = true;
                                        $this->version = substr($this->ua, stripos($this->ua, 'Opera/') + 6);
                                        $this->version = substr($this->version, 0, stripos($this->version, ' '));
                                    } else {
                                        if (stripos($this->ua, 'Safari') !== false) {
                                            $this->name = 'Safari';
                                            $this->webkit = true;
                                            $this->version = substr($this->ua, stripos($this->ua, 'Version/') + 8);
                                            $this->version = substr($this->version, 0, stripos($this->version, ' '));
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }