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=v89hL>+ٖ/RoN؉7v=٣Ę"8XV̇Oڧy*IђX3H$Q@ uPNN#Ѩ &NM}:gA fI/^5jװEhg.Or"h,[^(x&[13WX_%wp%E0/>q|0tgl)YrFUx*I*H9q9 \=g. ܝ$vl³^_r_J U~{+| b[gPA&e*v9]?OfNK6HEc^+c\`p+C+WşckhWťFN5A(n&!fID BDkc bQS}!*gN$H{F"O;wl}uFZ*Um}sKCsF};;@-&t +Um3SH}kmjx^Ț^@C)'Ҏ]AU -@У.psŝp` )_Wot6XcSkG>Y0J!+hqhM`F=ʉ)OG @N_ hpZM@<h{%TAę1'ʟ$F}e^=xXV[/\wLRP@L7.! JSOr.[0*2J7V 0x>Qd5t|H9 gx7qZXAXȤ7pcp7;aMtwvX~'sb@p*_+G?vl7%zƙ#|$pW{RZ-R1=1rćQd|%H\m쿙T,q 5=l'.x{@n3Sg[WB^ )L~ÈzC Hp^c"+ ( k!T: 5flop"ј4stP! S'\v5 {AS$`Q ƤCCR? I譢H&\c5-:̕8 qd@t|-y&oLX*,ʷNv;FׁkkI "-5]&0n5jzz~Ux20@ʏ}[ @t|tsɪYn4O˱?.7AA 0ˉxSKq7i)i}qe`r[~y04:\NNKy"*R\aOxT>Ҟ۹1Ɠ.F7p.1*V>ceT.C16P noasK/PHNSˀhrpqYi=oTA:Qd(*Kl\B^ ]au"J=ɝ -%݇(E~oWHJ+H?W]{9ԍy=sZk,[AP&\Γ1XDQװBK6[=܊0LTv&pGQ&#\IPBQ,9Zq 1r(Pyq&J!t9XRK^JtK^f"akS'0)P 4 {5͚38-|d $?"K+"9mk/mn" 0 ,VԶ,[ 8jXb8FݶGЖJAS%^ф`+yt#ؘ b# UC&—7 _ Uģ8c+ԟiH`FYڻ! YuO{u;rץtj?S/y ^{oGh >xҽ/zi\Nސ6viQ Q M;·S[9-:;Go2cy HM I1Uv^I VHEңMt'qoh$OwQFw0Q0ڠPth4uMv49m<EMI*3[E U=*Fߟ= @{sL$CCʰ4ꈆ H@2GK F4Ā {c@.2P$=RD4 OKr8n9yXQrV*EEe8}bK)4`Sϟy%ud.)``/62]-D ȹb14(V*Ihsp3GQ:!lEiQL9b/]p+~V{F5Ia F&i~A,r4.&HYeTFHNS `UŬRG&GKJ[%K32U puʄ+ZݕXT6rcg&0g Ҧ.aZ3IakN rZћf=@¶#]{@6$UCz|"\v;'uَ&e;_B0@3*>{?9욉~q.d=^8c&+0Q [JХaW{}vjgw3F~@FfDৠ=/PT`5KDR`t&DX!喇pcU_j!9n5[p<eh? 1 {?f; wo嚙; ۣ6tm]h1w@}5KvDu4It <3qNLn>6tJ;@sc.BF3gSM}ijHJ6 FLz'.ՁXfgK?wʜׯ_khe ? .rt;;J1kVF&Ny8`; "v׶`S: $`D)!hERO"??^W﫿Mc?̰c1?*ۡΔKM;aMV27scmFeP܆rk 8ĔMR!ǎNe`:EQ(YA Vk.Tpy/SVX_"Or3ce2k̑Hy1C7ʧ~|bY0h:a4|xx?`ϰ b"(C tn& !q"yx,Ck$+e./]P֟ţme9 bM"R^yIJI$%T4)!L_wO6xT K6/IabHf&_[ҿH((OGF;n#yу9 ȕ޴{12pYsPM.`'B%j$a{۹=,^ҕPrT ]E"y34{ϝyx 6nwM7lۇ%JSrG_Rk$Hkg%IQH&ZG%Df]O-h9s2N:"}L|2}ԛ2|zYo1Iɚj;4~F)fnqsKUK-p=Biӑm2rN3q!ؕFS Jbz(s_Hg@W˞W؅(@ !ԏ=f{lNA}9?ԛzө/ia)fe Tl%G|z[:G> Q  @u#_{ϱ*+fb@ZO!nK %6iYTbjX)|HG4Id.4>Kv33.DUjk [%VӢf&@?Jjvv}@k