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) ?>x[_s۸g; njdR")sb'XΥ$!6EhEMa:H}{ )Rl[$ XUi ] D"zA4NխƫAٛO7z|^ h0@@84ͷ2|!9fysm~mْ9}g1zWcw]ͮ DH ɔDi函)ExJG˂Xj FDo,0N "$|.' -q¡j*5YgyC#6< |y$Ϝ4{>hÇv"/pK«f/f 럪cYMV,$sj #:) F&`E#g8a(XzG ]R/ϡ顛xئ$DSb( c9%(4 !u]€#\c9'l Iw}xN4ԟc/k~.TGDT*JHEazHK$Ξ XH3Px(-E=̏ЕObKwf %_U:O,/ Ao, )Vd$" LSY0'԰ )̈́}B^B9b&=+=2PQnA䑯Gh 3M`>#c)BS4%w0۰oD Ay ]8KGb2 > Yu'n*ЍzǯP}A?irL׿uKGt$aV;(>eM \v~'c|/G-kIp7Nk7 *L%r}8ºZ(!>!bG|L4M3F#t9GRLC |7{Lzsa'$hxr` ob` "rf0_K;4PO0)A QZH?=(4Y`lHxcMMT(Z lMu(`V)(#U@I = k7=ͺ+rD#[1hHNȯSnZ&>#~ǃ0q(f^ t>|dN ぐ"CSͱ`&@ڟ-Q)U>W6϶m$Čnw)Qˉ9د"1luUm"?)0ǔ /".; h*dЯEkk(Pb t$aIG4r|e0Qk?KxM*ӂ-=o6JZ)GV&PV٣vڋ;9 3S/aic۹wwsQ!Әq>ї]S>'~~k"A [@3S WKD* j NIO8zsק3FSm8h6Q?W tFc:qO5QG$zt?N:J%Vk !{rkAd7J!lqcB.V].DtnNU)c *ƙtyvqtn+B[OЎO?_Arow rեS-/#!vQ̏oee3cJbMFw-7dଏt\v Vq8C[} ˉ*N˄j?*q5RP$]Wk;st;{5uFww+w+y(Sю fGp0 ݽ3.G2$3_0$O4K7F(}ݚ:<<'gl+y2{׼La|e5ܩep|]ӛ}t=x1?Ŏx߲\  a w/!y.-J,7U'Ƀ: _K#trd-B#(۲'8D$Jp-3AfQC$P ȡÃ~tiXJ.9"Y;("υl3 BHLcfMadptְyFdPQ> UbbE%$hNī}!%pXB )HO!sx{UF7rH9 Y\odbD$lmM :&$o%΋2w{i;Em8v!'yNN+m6?*}`7A {yuB jܪrDCUukCaOgKʀr`,[Jlc@[[Tߞ7Vm<(Z!BBdY9. E:%B?Q%!Y'ԍ5YrW8Z;VsBXH3yr,ɋ $w&(:]/vK*#gMo0MZoPN]f5iݲ*/C^4X|jj ˶3G=Xi4<[_&gc{5[)4**GoA%4qt,fHg] 'txGF*<^{CI`g۫ZMT״p.U`&;LC,am>2ĩtvj4ZVӱEZny>QG]\`:|Z# IQBHJe(dHK$iT K)ʑ^?$MÓ]M*+mZOcTG՛&Ik+7KAB2!#ku/|yLԵ& 2Kff_BSi7cհ?DC>