[ Index ] |
|
Code source de Seagull 0.6.1 |
1 <?php 2 3 /** 4 * Compares the specified version of browser with current one. 5 * 6 * Examples: 7 * browser('MSIE7', 'ge') - all 7.x family and younger, 8 * browser('Gecko') - gecko family, 9 * browser('MSIE') - MSIE family, 10 * browser('MSIE6', '<') - MSIE 5.x and older 11 * browser('MSIE6.0', 'eq') - exactly MSIE 6.0 12 * browser('MSIE5.5', 'ge') && browser('MSIE6', '<') - MSIE 5.5 13 * 14 * @param string $currentVersion version to compare e.g. 'MSIE5.5' 15 * @param string $operator comparison operator 16 * @return boolean 17 */ 18 function isBrowserFamily($currentVersion, $operator = null, $reload = false) 19 { 20 static $browserFamily; 21 if ($reload) { 22 $browserFamily = null; 23 } 24 if (!isset($browserFamily)) { 25 $ua = isset($_SERVER['HTTP_USER_AGENT']) 26 ? $_SERVER['HTTP_USER_AGENT'] : ''; 27 // get browser family and version 28 $browserFamily = 'None'; 29 if (!empty($ua)) { 30 if (strstr($ua, 'Opera')) { 31 $browserFamily = 'Opera'; 32 } elseif (strstr($ua, 'MSIE')) { 33 $browserFamily = 'MSIE'; 34 preg_match("/$browserFamily (.+?);/", $ua, $aMatches); 35 // append browser version for MSIE 36 $browserFamily .= $aMatches[1]; 37 } else { 38 $browserFamily = 'Gecko'; 39 } 40 } 41 } 42 43 // family check, first letters: 'M', 'G', 'O' or 'N' 44 if ($currentVersion[0] != $browserFamily[0]) { 45 return false; 46 } 47 48 // family comparison without a version 49 // for families other than MSIE we force this check, 'cos browser 50 // versioning is not implemented for them yet 51 if (false === strpos($browserFamily, 'MSIE')) { 52 if (strpos($currentVersion, $browserFamily) !== false) { 53 return true; 54 } else { 55 return false; 56 } 57 } elseif (is_null($operator)) { 58 if (strpos($browserFamily, $currentVersion) !== false) { 59 return true; 60 } else { 61 return false; 62 } 63 } 64 return version_compare($browserFamily, $currentVersion, $operator); 65 } 66 67 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Fri Mar 30 01:27:52 2007 | par Balluche grâce à PHPXref 0.7 |