mosBrowserData.php

Go to the documentation of this file.
00001 <?php
00022 class mosBrowserData {
00023 
00024     private $browserSearchOrder = array (
00025 // Most frequent standard web browsers are first in this list
00026 "icab",
00027 "go!zilla",
00028 "konqueror",
00029 "links",
00030 "lynx",
00031 "omniweb",
00032 "opera",
00033 "msie 6\.0",
00034 "apachebench",
00035 "wget",
00036 // Other standard web browsers
00037 "22acidownload",
00038 "aol\\-iweng",
00039 "amaya",
00040 "amigavoyager",
00041 "aweb",
00042 "bpftp",
00043 "chimera",
00044 "cyberdog",
00045 "dillo",
00046 "dreamcast",
00047 "downloadagent",
00048 "ecatch",
00049 "emailsiphon",
00050 "encompass",
00051 "friendlyspider",
00052 "fresco",
00053 "galeon",
00054 "getright",
00055 "headdump",
00056 "hotjava",
00057 "ibrowse",
00058 "intergo",
00059 "k-meleon",
00060 "linemodebrowser",
00061 "lotus-notes",
00062 "macweb",
00063 "multizilla",
00064 "ncsa_mosaic",
00065 "netpositive",
00066 "nutscrape",
00067 "msfrontpageexpress",
00068 "phoenix",
00069 "firebird",
00070 "firefox",
00071 "safari",
00072 "tzgeturl",
00073 "viking",
00074 "webfetcher",
00075 "webexplorer",
00076 "webmirror",
00077 "webvcr",
00078 // Site grabbers
00079 "teleport",
00080 "webcapture",
00081 "webcopier",
00082 // Music only browsers
00083 "real",
00084 "winamp",               // Works for winampmpeg and winamp3httprdr
00085 "windows-media-player",
00086 "audion",
00087 "freeamp",
00088 "itunes",
00089 "jetaudio",
00090 "mint_audio",
00091 "mpg123",
00092 "nsplayer",
00093 "sonique",
00094 "uplayer",
00095 "xmms",
00096 "xaudio",
00097 // PDA/Phonecell browsers
00098 "alcatel",              // Alcatel
00099 "mot-",                 // Motorola
00100 "nokia",                // Nokia
00101 "panasonic",            // Panasonic
00102 "philips",              // Philips
00103 "sonyericsson",         // SonyEricsson
00104 "ericsson",             // Ericsson (must be after sonyericsson
00105 "mmef",
00106 "mspie",
00107 "wapalizer",
00108 "wapsilon",
00109 "webcollage",
00110 "up\.",                 // Works for UP.Browser and UP.Link
00111 // PDA/Phonecell I-Mode browsers
00112 "docomo",
00113 "portalmmm",
00114 // Others (TV)
00115 "webtv",
00116 // Other kind of browsers
00117 "csscheck",
00118 "w3m",
00119 "w3c_css_validator",
00120 "w3c_validator",
00121 "wdg_validator",
00122 "webzip",
00123 "staroffice",
00124 "mozilla",              // Must be at end because a lot of browsers contains mozilla in string
00125 "libwww"            // Must be at end because some browser have both "browser id" and "libwww"
00126 );
00127 
00128 private $browsersAlias = array (
00129 // Common web browsers text (IE and Netscape must not be in this list)
00130 "icab"=>"iCab",
00131 "go!zilla"=>"Go!Zilla",
00132 "konqueror"=>"Konqueror",
00133 "links"=>"Links",
00134 "lynx"=>"Lynx",
00135 "omniweb"=>"OmniWeb",
00136 "opera"=>"Opera",
00137 "msie 6\.0"=>"Microsoft Internet Explorer 6.0",
00138 "apachebench"=>"ApacheBench",
00139 "wget"=>"Wget",
00140 "22acidownload"=>"22AciDownload",
00141 "aol\\-iweng"=>"AOL-Iweng",
00142 "amaya"=>"Amaya",
00143 "amigavoyager"=>"AmigaVoyager",
00144 "aweb"=>"AWeb",
00145 "bpftp"=>"BPFTP",
00146 "chimera"=>"Chimera",
00147 "cyberdog"=>"Cyberdog",
00148 "dillo"=>"Dillo",
00149 "dreamcast"=>"Dreamcast",
00150 "downloadagent"=>"DownloadAgent",
00151 "ecatch", "eCatch",
00152 "emailsiphon"=>"EmailSiphon",
00153 "encompass"=>"Encompass",
00154 "friendlyspider"=>"FriendlySpider",
00155 "fresco"=>"ANT Fresco",
00156 "galeon"=>"Galeon",
00157 "getright"=>"GetRight",
00158 "headdump"=>"HeadDump",
00159 "hotjava"=>"Sun HotJava",
00160 "ibrowse"=>"IBrowse",
00161 "intergo"=>"InterGO",
00162 "k-meleon"=>"K-Meleon",
00163 "linemodebrowser"=>"W3C Line Mode Browser",
00164 "lotus-notes"=>"Lotus Notes web client",
00165 "macweb"=>"MacWeb",
00166 "multizilla"=>"MultiZilla",
00167 "ncsa_mosaic"=>"NCSA Mosaic",
00168 "netpositive"=>"NetPositive",
00169 "nutscrape", "Nutscrape",
00170 "msfrontpageexpress"=>"MS FrontPage Express",
00171 "phoenix"=>"Phoenix",
00172 "firebird"=>"Mozilla Firebird",
00173 "firefox"=>"Mozilla Firefox",
00174 "safari"=>"Safari",
00175 "tzgeturl"=>"TzGetURL",
00176 "viking"=>"Viking",
00177 "webfetcher"=>"WebFetcher",
00178 "webexplorer"=>"IBM-WebExplorer",
00179 "webmirror"=>"WebMirror",
00180 "webvcr"=>"WebVCR",
00181 // Site grabbers
00182 "teleport"=>"TelePort Pro",
00183 "webcapture"=>"Acrobat",
00184 "webcopier", "WebCopier",
00185 // Music only browsers
00186 "real"=>"RealAudio or compatible (media player)",
00187 "winamp"=>"WinAmp (media player)",              // Works for winampmpeg and winamp3httprdr
00188 "windows-media-player"=>"Windows Media Player (media player)",
00189 "audion"=>"Audion (media player)",
00190 "freeamp"=>"FreeAmp (media player)",
00191 "itunes"=>"Apple iTunes (media player)",
00192 "jetaudio"=>"JetAudio (media player)",
00193 "mint_audio"=>"Mint Audio (media player)",
00194 "mpg123"=>"mpg123 (media player)",
00195 "nsplayer"=>"NetShow Player (media player)",
00196 "sonique"=>"Sonique (media player)",
00197 "uplayer"=>"Ultra Player (media player)",
00198 "xmms"=>"XMMS (media player)",
00199 "xaudio"=>"Some XAudio Engine based MPEG player (media player)",
00200 // PDA/Phonecell browsers
00201 "alcatel"=>"Alcatel Browser (PDA/Phone browser)",
00202 "ericsson"=>"Ericsson Browser (PDA/Phone browser)",
00203 "mot-"=>"Motorola Browser (PDA/Phone browser)",
00204 "nokia"=>"Nokia Browser (PDA/Phone browser)",
00205 "panasonic"=>"Panasonic Browser (PDA/Phone browser)",
00206 "philips"=>"Philips Browser (PDA/Phone browser)",
00207 "sonyericsson"=>"Sony/Ericsson Browser (PDA/Phone browser)",
00208 "mmef"=>"Microsoft Mobile Explorer (PDA/Phone browser)",
00209 "mspie"=>"MS Pocket Internet Explorer (PDA/Phone browser)",
00210 "wapalizer"=>"WAPalizer (PDA/Phone browser)",
00211 "wapsilon"=>"WAPsilon (PDA/Phone browser)",
00212 "webcollage"=>"WebCollage (PDA/Phone browser)",
00213 "up\."=>"UP.Browser (PDA/Phone browser)",                   // Works for UP.Browser and UP.Link
00214 // PDA/Phonecell I-Mode browsers
00215 "docomo"=>"I-Mode phone (PDA/Phone browser)",
00216 "portalmmm"=>"I-Mode phone (PDA/Phone browser)",
00217 // Others (TV)
00218 "webtv"=>"WebTV browser",
00219 // Other kind of browsers
00220 "csscheck"=>"WDG CSS Validator",
00221 "w3m"=>"w3m",
00222 "w3c_css_validator"=>"W3C CSS Validator",
00223 "w3c_validator"=>"W3C HTML Validator",
00224 "wdg_validator"=>"WDG HTML Validator",
00225 "webzip"=>"WebZIP",
00226 "staroffice"=>"StarOffice",
00227 "mozilla"=>"Mozilla",
00228 "libwww"=>"LibWWW",
00229 );
00230 
00231 
00232 // BrowsersHashAreGrabber
00233 // Put here an entry for each browser in BrowsersSearchIDOrder that are grabber
00234 // browsers.
00235 //---------------------------------------------------------------------------
00236 private static $BrowsersHereAreGrabbers = array (
00237 "teleport"=>"1",
00238 "webcapture"=>"1",
00239 "webcopier"=>"1",
00240 );
00241 
00242 
00243 // BrowsersHashIcon
00244 // Each Browsers Search ID is associated to a string that is the name of icon
00245 // file for this browser.
00246 //---------------------------------------------------------------------------
00247 private static $BrowsersHashIcon = array (
00248 // Standard web browsers
00249 "msie"=>"msie",
00250 "netscape"=>"netscape",
00251 
00252 "icab"=>"icab",
00253 "go!zilla"=>"gozilla",
00254 "konqueror"=>"konqueror",
00255 "links"=>"notavailable",
00256 "lynx"=>"lynx",
00257 "omniweb"=>"omniweb",
00258 "opera"=>"opera",
00259 "wget"=>"notavailable",
00260 "22acidownload"=>"notavailable",
00261 "aol\\-iweng"=>"notavailable",
00262 "amaya"=>"amaya",
00263 "amigavoyager"=>"notavailable",
00264 "aweb"=>"notavailable",
00265 "bpftp"=>"notavailable",
00266 "chimera"=>"chimera",
00267 "cyberdog"=>"notavailable",
00268 "dillo"=>"notavailable",
00269 "dreamcast"=>"dreamcast",
00270 "downloadagent"=>"notavailable",
00271 "ecatch"=>"notavailable",
00272 "emailsiphon"=>"notavailable",
00273 "encompass"=>"notavailable",
00274 "friendlyspider"=>"notavailable",
00275 "fresco"=>"notavailable",
00276 "galeon"=>"galeon",
00277 "getright"=>"getright",
00278 "headdump"=>"notavailable",
00279 "hotjava"=>"notavailable",
00280 "ibrowse"=>"ibrowse",
00281 "intergo"=>"notavailable",
00282 "k-meleon"=>"kmeleon",
00283 "linemodebrowser"=>"notavailable",
00284 "lotus-notes"=>"notavailable",
00285 "macweb"=>"notavailable",
00286 "multizilla"=>"multizilla",
00287 "ncsa_mosaic"=>"notavailable",
00288 "netpositive"=>"netpositive",
00289 "nutscrape"=>"notavailable",
00290 "msfrontpageexpress"=>"notavailable",
00291 "phoenix"=>"phoenix",
00292 "firebird"=>"firebird",
00293 "safari"=>"safari",
00294 "tzgeturl"=>"notavailable",
00295 "viking"=>"notavailable",
00296 "webfetcher"=>"notavailable",
00297 "webexplorer"=>"notavailable",
00298 "webmirror"=>"notavailable",
00299 "webvcr"=>"notavailable",
00300 // Site grabbers
00301 "teleport"=>"teleport",
00302 "webcapture"=>"adobe",
00303 "webcopier"=>"webcopier",
00304 // Music only browsers
00305 "real"=>"mediaplayer",
00306 "winamp"=>"mediaplayer",                // Works for winampmpeg and winamp3httprdr
00307 "windows-media-player"=>"mediaplayer",
00308 "audion"=>"mediaplayer",
00309 "freeamp"=>"mediaplayer",
00310 "itunes"=>"mediaplayer",
00311 "jetaudio"=>"mediaplayer",
00312 "mint_audio"=>"mediaplayer",
00313 "mpg123"=>"mediaplayer",
00314 "nsplayer"=>"mediaplayer",
00315 "sonique"=>"mediaplayer",
00316 "uplayer"=>"mediaplayer",
00317 "xmms"=>"mediaplayer",
00318 "xaudio"=>"mediaplayer",
00319 // PDA/Phonecell browsers
00320 "alcatel"=>"pdaphone",              // Alcatel
00321 "ericsson"=>"pdaphone",             // Ericsson
00322 "mot-"=>"pdaphone",                 // Motorola
00323 "nokia"=>"pdaphone",                    // Nokia
00324 "panasonic"=>"pdaphone",                // Panasonic
00325 "philips"=>"pdaphone",              // Philips
00326 "sonyericsson"=>"pdaphone",         // Sony/Ericsson
00327 "mmef"=>"pdaphone",
00328 "mspie"=>"pdaphone",
00329 "wapalizer"=>"pdaphone",
00330 "wapsilon"=>"pdaphone",
00331 "webcollage"=>"pdaphone",
00332 "up\."=>"pdaphone",                 // Works for UP.Browser and UP.Link
00333 // PDA/Phonecell I-Mode browsers
00334 "docomo"=>"pdaphone",
00335 "portalmmm"=>"pdaphone",
00336 // Others (TV)
00337 "webtv"=>"webtv",
00338 // Other kind of browsers
00339 "csscheck"=>"notavailable",
00340 "w3m"=>"notavailable",
00341 "w3c_css_validator"=>"notavailable",
00342 "w3c_validator"=>"notavailable",
00343 "wdg_validator"=>"notavailable",
00344 "webzip"=>"webzip",
00345 "staroffice"=>"staroffice",
00346 "mozilla"=>"mozilla",
00347 "libwww"=>"notavailable"
00348 );
00349 
00350 
00351 // TODO
00352 // Add Gecko category -> IE / Netscape / Gecko(except Netscape) / Other
00353 // IE (based on Mosaic)
00354 // Netscape family
00355 // Gecko except Netscape (Mozilla, Firebird (was Phoenix), Galeon, AmiZilla, Dino, and few others)
00356 // Opera (Opera 6/7)
00357 // KHTML (Konqueror, Safari)
00358 
00359     function browserSearch ($agent) {
00360         foreach ($this->browserSearchOrder as $key) {
00361             if (preg_match( "/$key.?\/([\d\.]*)/i", $agent, $m )) {
00362                 $name = "$this->browsersAlias[$key] $m[1]";
00363                 return $name;
00364             }
00365         }
00366         return 'Unknown';
00367     }
00368 
00369 }

Generated on Wed May 14 13:01:56 2008 for ALIRO by  doxygen 1.5.5