diff options
Diffstat (limited to 'contrib/www/esc/browser.php')
-rw-r--r-- | contrib/www/esc/browser.php | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/contrib/www/esc/browser.php b/contrib/www/esc/browser.php new file mode 100644 index 0000000..5df08dc --- /dev/null +++ b/contrib/www/esc/browser.php @@ -0,0 +1,45 @@ +<?php +$browser = array( + 'platform' => 'unknown', + 'name' => 'unknown', + 'version' => '0.0.0', + 'majorver' => 0, + 'minorver' => 0, + 'build' => 0, + 'useragent' => '' +); + +$browsers = array( + 'firefox', 'msie', 'opera', 'chrome', 'safari', 'mozilla', 'seamonkey', 'konqueror', 'netscape', + 'gecko', 'navigator', 'mosaic', 'lynx', 'amaya', 'omniweb', 'avant', 'camino', 'flock', 'aol' +); + +if (isset($_SERVER['HTTP_USER_AGENT'])) { + $browser['useragent'] = $_SERVER['HTTP_USER_AGENT']; + $user_agent = strtolower($browser['useragent']); + foreach($browsers as $_browser) { + if (preg_match("/($_browser)[\/ ]?([0-9.]*)/", $user_agent, $match)) { + $browser['name'] = $match[1]; + $browser['version'] = $match[2]; + @list($browser['majorver'], $browser['minorver'], $browser['build']) = explode('.', $browser['version']); + break; + } + } + if (preg_match('/linux/i', $user_agent)) { + $browser['platform'] = 'linux'; + } + elseif (preg_match('/macintosh|mac os x/i', $user_agent)) { + $browser['platform'] = 'mac'; + } + elseif (preg_match('/windows|win32/i', $user_agent)) { + $browser['platform'] = 'windows'; + } + +} + +if ( isset($_GET['debug']) ) { + echo "<pre>"; + print_r($browser); + echo "</pre>"; +} +?> |