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]Ys8~.G@kU1(ɗ|H޲(kjg76 IIMV7؟O6 $(:lI;x2ĩӳGY$\+ZBX`s +x?6*gzqdC_>]Jղ^Xֻw_Bh Rϲ_UHeeFhƣuwc}GZ ̬/N֩H.8::RUbFcLwo{g'Urz CzG}zj[>) Bl,ە|b8Lؑ"~#g _}F܀CFX OEߒ!MSLx#GL;dIh_w|1!qcw"2|V>> 9=tշLnlƭnG2}~ߒ6RM>슍 `>20P|}) s(أA ?P?pU~1q«so4#|?E4a *tq1y}4}x_א4f1x#2 ȜLjxlV77pJcJ>#;grV2O1Ƶ ο~l֚o-֠UFΫWD<! =l|渴]Xտ~ȣZZo)X>[Dнuce\א $]l YE^!ĵ\O>}L5(ʊ}lWثw Jm#bi$X6)T"Z2/t fDF=tXS]k*YHJw2*=#׉O҃PE ~s *ޕy^H ս!q$:#q@ l~N-HbG嶌쥄bvIje In`ksJWI<&T"YzxOc̫:tz+ O- AjKP,8BU!wB~ihqn݂fÂߺ16 ݈80d: 8ܝ RV} .Tx?KY5/+O׶Ϯw:QY 1ݰ, $CL)l[02\%^iTH!8Q-dyM[񝂈}*AIc d/k5 z^$7ĸβlT OۉΔ*LQ\8 ˨#}Z(*o"JjIŝg.()i>z/Tm*oK@mlI@ ޯTiyt) NwH+b Q8x"x<!uAРyt ̻n*AI֋ F>e_c0}cD@WZ=zqo[AGzhzxzBY++WPi47`ktՅB1h2?f_-C098'm\= C=> =#.(h@/xwwI\С:bH!O Qݽm%8<&jnjlpj0oKi<%t*K+nY'͖a?XhxB %>k@)[9rlY9H=R ?7ju^?F`6'8s[nVtv!I~xF2 <]\1cBc L$8d9\ =oQK -3:_&+$M_L 7`lR'ڲ5MO2gFP6% ݷfs~]"ց@(a5lk8ΈKF Chء5^KGyZk7|m&`%U/tr?7'&Is|e&WBp\aqUq9ܥ|EJz%9z/O+'SG,rWb%oeIe5zYeV VOM-]<^KUOLK@NRЯ< Ryz\Q;%sy>k[{_C{8IS?bWmЬotZr*3UW}xlVi$Ee_e[z& MPOMG;X#t]A{`}l,b4UtG?T:y9] yxT,\e,efF{秳1;t Nq6* ,1?2lY;9m\b3LC3"ZLQcU=q_cbK+pX S,?Ö-naG H+HR=V,#g/ZS"5c~Q96GBZtJ!pDO Hו݁'Crs*#,g:OVzZ첫/?1;&'q=W'lyT3>ibD8D^0mԶ GпJf 2ȽNݐ7Fhz]\ bz; _"sKhY7 ٢W8/# 8jX&R2=ث Jת8nG.,TM+%e i(K"d"Nǒ[y'xu[+pޔ5jx"2puBG?i+̬PO_٦ k6]~m"Vep5 nHsp2E(/+ x II>azL7U/eQz.BP;n.Q|#aLit|;͋4<*}ui7G0i#x9d߾9{8p95^+[S`2\}0LTzOq^jl:G6fQևBaC1=pk}27F+eŨ8F&<>38clGB7+R9;O1m'20}aXYӿ6CeqDAҢx,~^_4 k=]D+̰qل^o5Mu=)K\GWSySZUy.MRd?Lb.5n라R{60tcx/kmۯ7L8tCM6\El1V .`*+nl'm=I-q][ԙh [Kύ[⼵YG=ȵ'+ff ǀ{|0?%{ԹkY`WfQǣ#$=y_*Weii דJKF^}3kzk##jVӦf=px')l6[{.&?k