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][s8v~nW@kwv%J"9ݽcHHMT~R򖇜$(Q%%L[|ઓGX(\7JJDos+x`\+6O޾_ޓ^y|=tAJe}aYߑx}E/RϲߔHEe `îuk=#f֗Yq"aDrhЩ*1~Gn&{=gؼOe! JYDOQJ~Qg)+aQ X#3$1r"x@oq^cLpCGL[dI _2bBxC4ErYe2|N2|>s(U2*ǿKH_n撁9h"tugGT dyԦWa GGi,%c.%&GUQyXM@垧/mrB(,,S?}ő{Ys:d!Ezuvߜ@=Y3[j;b"`Ar}3GDF p5E^ ȗ8V[D.A7 t*; vqZ>g!xh·`B<nMRVw!|퓟6#4U@. s*cCin-qکg@Tw=V(O;4pQ<˫`n3Q<mL>#{Grr ,T|Xwum<+MA9)oހc&G[@>s\(?|oJB0hE%$R˸ c@bI(Y} h'#wvq}`qyfah>ѐ1.`! RoaLѨIK+zv6>}vfEY\fS|5a)mtL F&+ՄZ+zEsGѦa>ZJ7ҺFMj.fN$ksg(C:CNkwT"mX(AJ= 1 UŰ`PGEUu/j{ GIor'D\[ _e RQ-#{!-(kl{r}*R@F}YJZW41Ğdۧ'וPr:&r4HCB P,8Be[hbZq\g] n12;7¶=X6؝"Q1۳@vąʑAbg)MVQ]2o_L‹h۝NTdib 4%D Uem FQC怋 K\?'+Y޴zK:LUk!+<햠e-~ۋW犊JX_$zey:܎x,U>7f&GtpqA.׏J!/d U*wsaMIx{|8FY[O+X$*kcH'MnO0gMgjQ? t""M?'! .QjrN[8ca| ̞jԻnJɠwk>t_cAȱO[1H'^om=׃x H\kuRAPXXJ˕ A*-;ءТ@hH^h6zK}_jjNI+OOO}SHzB|J3H15E#w={2E"cv dr ER=4DR=,5g![@p)zR U+P ՝D=]CTPޝ![%4G loq@yIW#FI2":"; z4v8GJw/N /IEI<ւNuzV5pECj83\[:-Lsy6RsecC٣) r®ЂZ2ЁeIW=kVgkCE%kfڝr#Kegڛi2gKp5U2so:acۖ.y\s\Ae)`06a|;]e;{6kv~8ö_)}O#|}bdt1T n1;"l@Qsab8UrPb2գڟKM^fl=| Qm{9#>v~F2C}"_Ee٭# |=!±͗x#JIP n+cODz#蹮^OwOheР{<` 9[j1 ҐkLcTɜ``FcssLj9 3sX9Pjγ :ŖAMéF r'ഉh1GԚ9/#!_QKj!Qo@QkɰxBbHnפ_$͙LJ\ C>0d=gVMLЇo^^kgB^WT16a[+ ǿ xӦam/:×hϷ"=p{x F4/%# gj-=-O^nӒ;r{֓}p;chCsxw@D+c" ZS.R<:Ul+@\E221z.fJCo8LxJt hfҫJ@laY-RYMb/2mRzQʠ* ;"ɕ8VKjr5jhܸ5ת%Wo`K3W ׏BLwOdcR&=W`Lԃ/IwU<?u4H!ہG=I,!ܒ7ݐNȝD<—RW0G8Sz'ynS!dh%}\IǼI(į9?cq ȩcs u%۞3>rLTd;B9xM7KTYT | :v00K=@ __b˲P ^\H >`>2Y60ƷD!p#A*OLȇ}%P%.]oD%Ep'[=saoВfmׂQwZ4 V#uRĶw}ի;tp_wxGoFUFn/*QHU瑊y$gv_NMm oW4j5M\;z6#`x&69w 3zP*DhIi.4`Z]|X 25 .rt2(1I&Qc:E(Ҳ܁<]XA C9M qyik7~*OŠؕ?dt,l7j!I 1` Z0 sqq\u dDمIa*99eK7%B.&IFљ0I guU0˓q> wZjڍ"=E8"=dF5GGF֛u#2^tˢ*:~r6 oj*ПeorYcܐ,ۅ ͛*di6ޅM q FD?} zE_*A(c{i4zt}sfJTm7@,@F8:bز6d+fIJ1}z?5z3N58F!%{Z답T`rӵ)эM7T֚P؋ t :M6jwE  +$fBb>(ζ53jpBjbE:F#-٬5I&~ ?CdcnIj崂HHȕVIV78Ib\œ[j}e%E{^s I #5 <|3@Z2L59wr:[1o +W>zy79>|TH , K {t1J:cݮ>Qsq5Ny]Mw)C|NmL+fzg#/Yw4 ֐'V%X/u02sGn:͞eHDODF&=b,C"$bKۭd"e˸YU\XX%dQ+<˸ caZ`EfVA]X \_piF@V$|]L4˕{݈ Cr\"x>EԈZ/|7 kw girV)2=I8p'tjP{4dryY\$Dگ$}V$pMc.MQsx$J WoQ-TK;uERM ID0i%6H4`Fk~-K-tH~$o4I2-Z&IK2bv縙RD@y dartTJyE3.J QDq836޳ay.V ¨+[(n,}7ZPdoC  Li1/KBh@u Ìz0<"p˟{qc6d-"֢e^X$RR^c @0i%NvyW.A Yl&c_-I I9a">ymloő>wr?Cy'XxbL5SCաsC=LJNs0!̑NAnXg~X D(L ,qpwPwұV̆Pa5B!aEE S?!|v,>rV+ã2bR<&RPOSȓ0'/[HSw?NѝVZ/ރvk^c{- dJPm`|r )uzͽCKTo!>Qy6LѴV5KnB