4 $ * @since PHP 5 * @require PHP 4.0.0 (user_error) */ if (!function_exists('stripos')) { function stripos($haystack, $needle, $offset = null) { if (!is_scalar($haystack)) { user_error('stripos() expects parameter 1 to be string, ' . gettype($haystack) . ' given', E_USER_WARNING); return false; } if (!is_scalar($needle)) { user_error('stripos() needle is not a string or an integer.', E_USER_WARNING); return false; } if (!is_int($offset) && !is_bool($offset) && !is_null($offset)) { user_error('stripos() expects parameter 3 to be long, ' . gettype($offset) . ' given', E_USER_WARNING); return false; } // Manipulate the string if there is an offset $fix = 0; if (!is_null($offset)) { if ($offset > 0) { $haystack = substr($haystack, $offset, strlen($haystack) - $offset); $fix = $offset; } } $segments = explode(strtolower($needle), strtolower($haystack), 2); // Check there was a match if (count($segments) === 1) { return false; } $position = strlen($segments[0]) + $fix; return $position; } } /** * Ported PHP5 function to PHP4 for forward compatibility */ function clone($object) { return $object; } ?>aphone', // Others (TV) 'webtv' => 'webtv', // Other kind of browsers 'csscheck' => 'notavailable', 'w3m' => 'notavailable', 'w3c_css_validator' => 'notavailable', 'w3c_validator' => 'notavailable', 'wdg_validator' => 'notavailable', 'webzip' => 'webzip', 'staroffice' => 'staroffice', 'mozilla' => 'mozilla', 'libwww' => 'notavailable' ); // TODO // Add Gecko category -> IE / Netscape / Gecko(except Netscape) / Other // IE (based on Mosaic) // Netscape family // Gecko except Netscape (Mozilla, Firebird (was Phoenix), Galeon, AmiZilla, Dino, and few others) // Opera (Opera 6/7) // KHTML (Konqueror, Safari) ?>xe>myzQ!|TS GΧES-wH&wM29ņ %3 GGGt w;' Cxyԏz@@<Që0u#Crã |} fK m<\n&KI;y=,F,咅SgX XA,q_g\Ǿk9G\~)fm !t=#%`Az}3[DFxCO#rb&Op n -_U>ëг /4B:3g!x?:0c %? u%?=ޙF= j$Z / r8Ѷ+n'xe:!N1c}n{1rxEqȊ#Zc?&1}F:Q3vϴsh"D:tJ,EguE*5/b4p/b ݢC[BdCoj!)냽hψsё̵#L~iRϝk yk{P+rP~=3qmkĊl+ E<X<ΡenkjFO{LhDr]8yzmoCf|K_,N!!0V@A'l=O{B [Qf1f 'Ĥn3gزs3iFS3M؁4;h,4 a}؃fr Gt"M$F/g 6I Kq]l4A +h丱 I~ż吷1S]ƖBP&M_5L"w)O0D Ў;ywPK|o{9G?>ե[3 'ft~v^Ώ<@-r{ob&GRCHe}8d&MSIKqy{lJ[!ˀ*ve@QnZR0 JVp~[11=:[:\:;gE<tW8ۘ1905hBߝNI +8уLg~} 3?B.A͊c`!iKZ _z0vhfZ b_,O@A_aьOG* fǤ]]^IFᚇЈ$ b<.mcp.SAKp)"fr}C݉FmӎiMƸȥ 紦VoZBq7;\sV8gͯ" zKovXCBnB|=+RaYH`1⥲FY[F++YTBߛK5zz^aG{wfs95|i 20tgh&'m䎠ʭ+"<~Xr_`mMuB|Y!ބi+{Mc!:T|!tT.1c+4?/>sr;zw\ٻP'y1)#K%=姫yvfS`T!}rYz% Ay J.ʒzp@.ak M&YcCM0aq^\0gFd \"|-E60gem D#'Pz?aP=1[ݟOAL —g"t[Cvxq؞MSũc"L{Rk0wa"*f ]1$(1 $e'ࡿ|:0*^Covi;DXŲc&YmqP20BS{ˣa0WSŨF@NMN2Afy%%V Iq_XLQ)y)@,`:k?v<`-(j>MdĒpbTSyĂ+Gh#- STնR,ivJ,͢J|"w2M|Fe Y+6AaKMiTSo5KFIIMD Zh8a? i nɤ+W`5ҏ бTT]ʹEӈnZ]U,*~N9rd`b2ٲ0 G4\[~ZoîEm|\Bk\Ʊ8UrFΌWVՕg0?dw~0L+`*&4 >U,y36 =rPU!K須g'deIdTj8O=&?1Nf59'$oZU$FސuBe-Gp4Wqot!N\b|lX''#G.䤞QeS