- Timestamp:
- 03/01/09 10:16:43 (3 years ago)
- Location:
- branches/user_agent
- Files:
-
- 3 added
- 1 modified
-
functions.php (modified) (5 diffs)
-
img/browser/internetexplorer.png (added)
-
img/browser/internetexplorer7.png (added)
-
stats.php (added)
Legend:
- Unmodified
- Added
- Removed
-
branches/user_agent/functions.php
r2 r63 4 4 function ua_get_filename($name, $folder) 5 5 { 6 global $ ext_info;6 global $base_url; 7 7 8 8 $name = strtolower($name); … … 10 10 $name = preg_replace('[^a-z0-9_]', '', $name); // remove special characters 11 11 $name = forum_htmlencode($name); 12 $name = $ ext_info['url'].'/img/'.$folder.'/'.$name.'.png';12 $name = $base_url.'/extensions/user_agent/img/'.$folder.'/'.$name.'.png'; 13 13 return $name; 14 14 } … … 34 34 } 35 35 36 function get_useragent_ icons($useragent)36 function get_useragent_names($useragent) 37 37 { 38 38 if (!$useragent) 39 39 return; 40 41 $org_useragent = $useragent; 40 41 $browser_img = ''; 42 $browser_version = ''; 43 42 44 $useragent = strtolower($useragent); 43 45 44 $result = $browser = $system = '';45 46 46 // Browser detection 47 $browsers = array('AWeb', 'Camino', 'Epiphany', 'Galeon', 'HotJava', 'iCab', ' Safari', 'Konqueror', 'Flock', 'Iceweasel', 'SeaMonkey', 'Firefox', 'Firebird', 'Netscape', 'Mozilla', 'Opera', 'Maxthon', 'PhaseOut', 'SlimBrowser', 'MSIE');47 $browsers = array('AWeb', 'Camino', 'Epiphany', 'Galeon', 'HotJava', 'iCab', 'MSIE', 'Safari', 'Konqueror', 'Flock', 'Iceweasel', 'SeaMonkey', 'Firefox', 'Firebird', 'Netscape', 'Mozilla', 'Opera', 'Maxthon', 'PhaseOut', 'SlimBrowser'); 48 48 49 49 $browser = ua_search_for_item($browsers, $useragent); 50 50 51 $browser_version = substr($useragent, strpos($useragent, strtolower($browser)) + strlen($browser) + 1); 52 preg_match('#([\.0-9]*)#', $browser_version, $matches); 53 $browser_version = $matches[1]; 54 51 55 if ($browser == 'MSIE') 52 56 { 53 $ie_version = intval(substr($ua, strpos($ua, 'msie')+5));54 if ($ie_version > 6)55 $browser = 'MSIE7';57 if (intval($browser_version) > 6) 58 $browser_img = 'Internet Explorer 7'; 59 $browser = 'Internet Explorer'; 56 60 } 57 61 … … 90 94 $browser = 'Unknown'; 91 95 92 93 $result = '<img src="'.ua_get_filename($system, 'system').'" title="'.forum_htmlencode($system).'" alt="'.forum_htmlencode($system).'" style="margin-right: 1px"/>'; 94 $result .= '<img src="'.ua_get_filename($browser, 'browser').'" title="'.forum_htmlencode($org_useragent).'" alt="'.forum_htmlencode($browser).'" style="margin-left: 1px"/>'; 96 if (!$browser_img) 97 $browser_img = $browser; 98 99 $result = array( 100 'system' => $system, 101 'browser_img' => $browser_img, 102 'browser_version' => $browser_version, 103 'browser_name' => $browser.' '.$browser_version 104 ); 105 106 return $result; 107 } 108 109 110 function get_useragent_icons($useragent) 111 { 112 $agent = get_useragent_names($useragent); 113 114 $result = '<img src="'.ua_get_filename($agent['system'], 'system').'" title="'.forum_htmlencode($agent['system']).'" alt="'.forum_htmlencode($agent['system']).'" style="margin-right: 1px"/>'; 115 $result .= '<img src="'.ua_get_filename($agent['browser_img'], 'browser').'" title="'.forum_htmlencode($agent['browser_name']).'" alt="'.forum_htmlencode($agent['browser_name']).'" style="margin-left: 1px"/>'; 95 116 96 117 // addslashes is needed for javascript 97 $description = addslashes($ org_useragent) . '\n\nSystem:\t\t' . addslashes($system) .'\nPrzeglądarka:\t' . addslashes($browser) . '\n\t';118 $description = addslashes($useragent) . '\n\nSystem:\t\t' . addslashes($agent['system']) .'\nPrzeglądarka:\t' . addslashes($agent['browser_name']) . '\n\t'; 98 119 99 120 $result = '<span style="cursor: pointer" onclick="alert(\'' . forum_htmlencode($description) . '\')">' . $result . '</span>'; … … 101 122 return $result; 102 123 } 103 ?> 124 125 126 127 function ua_chart($value, $max) 128 { 129 $width = $value * 100 / $max; 130 131 return '<div style="float: left; width: 70%; border: 1px solid #aaa; margin-right: 1%; padding: 0;"><div style="width: '.$width.'%; padding: 0; background: #ddd; border-right: 1px solid #aaa;"> </div></div>'; 132 }