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) ?>x5׺ݣ^6^OrvOW'뛋gĨi}K [Aȗ( LݥA OifYbl^?-ǚa]OE4N+ڱ{F+}>}w6aaTw{&&4$7q815ɄIJB:a"GS % QԗX|ˆ1r$~ #&?#`_ bܱ 7Qȷ~HIO1ЉEQ0}2҇OF"|J>q> (xr=_O_TelR`=כׇu@togŸD<$ ]x-J(>9C$b.  |qb @ڄ$y/ ?5Q`Qy)X!yb9 3>?/a͛\5 E1(طG7<rMHR*sPx㒣b!wf %7U>'7*AG |= k+|CO{C>LƗЦlȩpS>6`CM|;jrU+EHP Eլ֛NyCI)Qz|X\G"VL 1cSQb&i3 O0 ,\"I}p7ޜ< 09& vm;n/Faw Q C~N !,}ŕ.14x~ vf5A,>1~LrmJPFs z)QQ44'zLh<}@ 1,vFGʫ j \=vN=dugJ?&(f۰;n6HO<"q䚩%t=NJ%V/gq Ʌkh*XVQ!VX$>E|޲DǎSyjv*j~*r$]_kށی1vG#"ҧph--N^7O-v/'wIzvlKyƱ|$7d˼yԢ,zV!,Vo%5pZV-wf 8["RQm,}XiU?2p5}([kƍw} Z꽻ͼ}WSю 3AS+OɘDټx2#/M `2YX#Ayj @"y/.{,ח4k9yVaϰg!ծYGTxQçx2Ьa=.qqwh\:Z\*IQ(>SG"&:hp̩itX8BuQ^3yXqiEiضbRG#/M_<mv]+_aJ9X lzk8v,m6V3y#f/u0Lww1 2㮱F4L3GYX^˴j6ԩ3|Ǹ cfs 2Yg4`K7+r}{Spx$GůKsmΕNv]쌙fC[F+&M+$ C{xpi(Ii , @;kz4P$If?CtˍrtxTM2v44G)4r}4W:5KrEzw+_p3Wu<)$ e2ģ"%InМE |fJejexխwg{% c)sKڲM09~)MN,`c?B'H&odj}=#IWjRf"AHwxJ2gޮ8%(q  KZSŜV"5@38lX$ł rW67auY֞@7Qz-qY{Xj;lhc[; Nc-3җ F>.7F^sƞJ5K[()b2^ESjK-19R+N Q6(jQW%:,η"tPe馶._9b+B ;JfDci(J'L|3W Ku~Ӱ_FӲDw|@eB]M8CI<9gP1f8n4A;*%ja{i~4-eV'nF;RIum)%2Ƿ]\I*M.^fe|:R27[>*xVV Ppl(ԷbR)Lft`v nv%kz;ffI6VIRA@\nz-0ඐ/BTe5h𠺲sqHNB^x?ޱu(*~. 9%K|G9yr'II(N Vt  |rm )ކM(/ a-`@5ɡs;*Ȫ{uUBjs"s/؋Rϭ-*[}ŤzF3Poj|_id5%xޱfaZS}WƒcQ]8$(Iz!);-dKV` uBn19€IE +/E>deSK@,Q:w'۝P`10Wż>k!o#и ԫ>)?3 yI/VM?3= /DZ89֧>U͞@̊1-ZXe[d8iK 7rQ_Ău6'9J ˌhZP좈OZ \0HΨ`UR_~5_] DtOSTa{M^7Ag檨VÎ&ooI:7uNC਍i<:Qk5GV۵yX($b>G@ 5YF{l!h,T 3ݸ@s*ڃ#LZu mh>j죪WTiN Zs2S.["