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ɟd .L`ep-F#|>pW^FңF/c3յWUrFy@>PyxOj?<" C8$_K%)W. O4=tR%>%Rh! HvT/K- nqXw, iTTa1yMg,q_J>xXTM>-&JQj4mcCJ)`q~?L+$_u3'ٖ2!mJ/|wI>&_h$t lçQ)jcKII>)tYOP]j8Ν0@c- hLc\'-da r'~sZ&΁ ~t HdF64ǁP\DupZ^Un^U#h'cVf8l7-.";Ur뤒.u wL tz"rW?[Di*i#M'h"|2cLnH^MlC)EZJ`+95sL2Ԇ<] b+ 8oueASWp~1ughS+޹S BDV595Ȓ6K I`iʑE鱮x!Q K&Bk]b~=7&Hi7V&{ND^k-P/47kdc^ua&Ќ*CFN<3p!0sbijXeBlOO$FTɧ4Z-_v:(k`:LӀ{4bz< 0"_GNOɑu\ul QRr(X+P VeB Vټe0sKExT1UpoIWF`6b/ݓV$Y0h]2Kl.)ӫQe)~<ϻy~Py-j^V2ުͶF^js;3%[&%>`c4?nR >뭵Q ƨ[)U- .mvoV; f%df-H]S?l^L9IGx|7Wl$t,jN1oIz_vG6˞|.+ #;GwXp[} ?9ְz P; )uXOn=ԯ+&~1V/ $(NXSCi1EdD &ȌU4ALiNvEFy–q˲{6qacCr?h%I1ȷ\V[-?BVdF̃սbmN`WYR#iBܫ8ZM^NY`[$MYYP^#/|k*>6;$̏޷Fql:P[τIF!E@kxqtMyڬSjȥKy5 ?kÅ';Xti-ٞ!=0יҐ%`GEֈ5*5R]`uK.&~d3mYG`Ĭ5ZLsyj"qYH׺%1}{sv~o\Ǭ3?cq6ѷH>,2 V5T^.6Vw 2ZSu0 "l-a6ؓK:U &xxKJ~Vw .9f3wX5ةfv͊{dI  C;X*,Aj#7l䟳G5Rq$Ko244[nYZgR:%=TB&:{\G&@^ }^ԪaU:s~v ڸ]%c^q3c"&%aEazqkEj~)#N,\j6CTaQ-lqt҄%l ,`us糐$|bĚ,+3i$ɌW;ۢ\@̱@5HKWd/ܔnvw6ϣ rZF $@amH i2mͅ +kŀ 0eǻ:lb٭;lYka{-=ҧ FwثFq@{i#F|N;}c i|o ]AmIe*ߗ`LV8 AW,Ϫ09Mxʨ> Hsk{ yYaT/tދi/w](gӃWCtHKj;fʹBQlAJ#hz}1iwЫؚvuBڽӮ )L1eeJ?}-.G:ugs14H9UIߒtOG%B4"k GK`bC$E#.9w=Pl&dDx> BPE\Nf<%T + @ׯgWOxRTW\ #eЛ^OT۫75uaY ^Y3_q(īc,rsr륉P\nwY:IVb ȵ*D_"['[,g.+6u3 `o 9{}A^6Ϲjъw GϋAa~BU,}kPbE3X9\9RzwYe!xIsLy QӪ{G{[ ,Z͜*KڜŢh0Nւyvۜ?` o-v&˄mvE61Ⱦt}A.Ȑ&.g%t\S6"! !_KП>nCIhĈS=<:Ym6:GG~Wb|=lrvQتVlp[#* Pߥ ˨(1RG b Vqq~`r]iU1YUҖszUUQ 2%_sFcG궛1j&ZSx| [ Mkff_)Ph괏V!^-gJ