function browserclass_check_browser in Browser Class 6
Same name and namespace in other branches
- 7 browserclass.module \browserclass_check_browser()
Detect browser.
Parameters
string $agent Lowercase version of user agent.:
Return value
array of detected platforms
1 call to browserclass_check_browser()
- browserclass_get_classes in ./
browserclass.module - Get classes.
File
- ./
browserclass.module, line 177
Code
function browserclass_check_browser($agent) {
$classes = array();
if (stristr($agent, 'msie') !== FALSE) {
$classes[] = 'ie';
// Add ie extra class with the version number
$pattern = '/.*msie ([0-9]*)\\..*/';
$matches = array();
preg_match($pattern, $agent, $matches);
if ($matches[1]) {
$classes[] = 'ie' . $matches[1];
}
}
if (stristr($agent, 'opera') !== FALSE) {
$classes[] = 'opera';
$aresult = explode('/', stristr($agent, 'version'));
if (isset($aresult[1])) {
$aversion = explode(' ', $aresult[1]);
$classes[] = 'opera' . _browserclass_clear_version($aversion[0]);
}
}
// Chrome is send safari header too
if (stristr($agent, 'chrome') !== FALSE) {
$classes[] = 'chrome';
$aresult = explode('/', stristr($agent, 'chrome'));
$aversion = explode(' ', $aresult[1]);
$classes[] = 'chrome' . _browserclass_clear_version($aversion[0]);
}
elseif (stristr($agent, 'safari') !== FALSE) {
$classes[] = 'safari';
$aresult = explode('/', stristr($agent, 'version'));
if (isset($aresult[1])) {
$aversion = explode(' ', $aresult[1]);
$classes[] = 'safari' . _browserclass_clear_version($aversion[0]);
}
}
if (stristr($agent, 'netscape') !== FALSE) {
$classes[] = 'netscape';
if (preg_match('/navigator\\/([^ ]*)/', $agent, $matches)) {
$classes[] = 'netscape' . _browserclass_clear_version($matches[1]);
}
elseif (preg_match('/netscape6?\\/([^ ]*)/', $agent, $matches)) {
$classes[] = 'netscape' . _browserclass_clear_version($matches[1]);
}
}
if (stristr($agent, 'firefox') !== FALSE) {
$classes[] = 'ff';
if (preg_match("/firefox[\\/ \\(]([^ ;\\)]+)/", $agent, $matches)) {
$classes[] = 'ff' . _browserclass_clear_version($matches[1]);
}
}
if (stristr($agent, 'konqueror') !== FALSE) {
$classes[] = 'konqueror';
$aresult = explode(' ', stristr($agent, 'konqueror'));
$aversion = explode('/', $aresult[0]);
$classes[] = 'konqueror' . _browserclass_clear_version($aversion[1]);
}
if (stristr($agent, 'dillo') !== FALSE) {
$classes[] = 'dillo';
}
if (stristr($agent, 'chimera') !== FALSE) {
$classes[] = 'chimera';
}
if (stristr($agent, 'beonex') !== FALSE) {
$classes[] = 'beonex';
}
if (stristr($agent, 'aweb') !== FALSE) {
$classes[] = 'aweb';
}
if (stristr($agent, 'amaya') !== FALSE) {
$classes[] = 'amaya';
}
if (stristr($agent, 'icab') !== FALSE) {
$classes[] = 'icab';
}
if (stristr($agent, 'lynx') !== FALSE) {
$classes[] = 'lynx';
}
if (stristr($agent, 'galeon') !== FALSE) {
$classes[] = 'galeon';
}
if (stristr($agent, 'opera mini') !== FALSE) {
$classes[] = 'operamini';
$resultant = stristr($agent, 'opera mini');
if (preg_match('/\\//', $resultant)) {
$aresult = explode('/', $resultant);
$aversion = explode(' ', $aresult[1]);
$classes[] = 'operamini' . _browserclass_clear_version($aversion[0]);
}
else {
$aversion = explode(' ', stristr($resultant, 'opera mini'));
$classes[] = 'operamini' . _browserclass_clear_version($aversion[1]);
}
}
return $classes;
}