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\r۸0<5L%RV*qb'9c;ܨ iS Ծ>>^sIQ%QcӻD$эn4FGo|Ȅxpl4AX`s dž'y~!\}{5Ӽk_?^ H/Jo/ ba8~mɤ>iչe-p֝1?m)44:fČ:zϺHwolYșϥbzdj )  6BFA-_#A>#^@BKod4P479/M'\82#![.%\q&CG&? ~0MN/f0|p>)֫y2=[dgW_ ?d]I@zͻ]Χ}:$ȭ@ޅ> Bx|J}@`?"K˄K\sߏ/om3#XJS&ݧ'%Q.PE0(b4P Bqr}1Gx)(GKQ]rcEL};U>+;|LАk+ O7tCoiY~1ތ Cp[uЋO${dN}A}f8.D)XWɎBS4# @lPЃ cIc߳):SH/ྠ΢;1U;~˕:To977ͺCxPۚ+].B; g+'~DLLuG׬;k"8\tz~&bzCl :5 1L%l4AҴgo!n%=sd&SQ;S5%ѾsBb>LL0RlCW13=TGQ(/^9#{$hA,T@BGsŠB>A[lU =/t[״f+*aRq'b1b[Dj =2G5=em"nyȤ5X51S]?Ftl~F2a`/D6~>O>Ip엀 z| P;LPq9fըѿhx9?q|o='|_J,n  `Cj&[ <2,"XZ*/;Y5YCAwx7#^)G+ɺ&9dwR7 E<72ۣỞkޤ<-A.e>gyȞլ֛T% ,Nnjo&SB9P9U{2[90q혩{.LE [A{НCRzy=9L((w=61q} ́ ԻnrPʻQ!Og||؅OLm6gk! NjMbY}\[@\IЁޯ6 3dD>.B[<&Lm'اC:i+XJ]Yu{AR `@X{+OU>oQfEgm{T^Z FU56I6w=>ӗph{]]{=k KyF|}~}lf2{o-Ղ7I`9pLNd̲;w Kx H`'T4,-# 鲥2D+w?@ۊ0|:v\mXQaa|F72C v%^fI7 '0,axl| >PsH5ae7-G?jXXި_uPa[>H+olUrr뢭]p. 9$ pQtgWup\E_pTL3"&hp`RXzh%]BU]5Dۊ/7ThF8)ȅ5?^0I.qe8 ==iƠ4ܹ"6gμO\RoHV@jb6j_ɡ'y>3MaOVl~ 0 2E\;M^ 5;fk5je(:{fZ CV!CFt,SZ3c*OfQS-_jPPۛ­3<:(~M[Α\ liEe`Zs;*gEI"/׸: NZ[t'oU΃Cfh.TyLj[%yQyp2~xϮ璱u%VLk qC4`5E\e&:09/<ъtup@N1~"k/H\9*_tf~o:xӒN 'OQs>:EؚX15 'bsI* ,*v5SV$2#S.U|2Ϟ&{ jƌ\%vtZ0Qc0f1S&c1-`K+W/Km&0k64!oO,H0 VG,0߄=dz<ː$oY,@,Ȑ0m!VU؃PtA xT'sU>ʟi%SsCY}%`a$fJ$n`1di}0`l2Gla}bmvذ;ͅt۟`,>?;1GFpgR|ńGc >RgbZ60bP::׍F7F7P3Qo)l"Is j]oJl" ۲d`qNzhP* $D S4W} 8O9[aMWIyI OCe` ENPEv63fRج2fM5P9lH,ei ok2F l Ff_z!lh*BA"' vS>`yAU 니nB)r`/K'Di⁤,NL"PqJ=8'|^S e o"ȋoYJPzv[o$4:$ }UP[Zl4@b¦If9 &W*ZԸ0Z!Qѿ5Z4(}#1])* 6h~ $I߁6m${hr4A1F:rәJ$99F Q |\#Ift˼bKsקbeU8kR*l-|:|^˼2cEYNzaLCwBKrt=YB 8L9RzX T '1nTR?IȚG$-Zb+KNeo,D~'fDY3g9$41cF+NL43q)ҮJ}:9=xǎ'>!ýW*=ӽ+=2w^bQvx"odE⭪)޹(ΒS| & H >1ȔGx. LIIjPJa??16ԉ__r"w@dLK&gWiuބZ.T#A8&Gu@.Eԃ4ovTwgw9҉߭-ɤԁſ CR9pI)'P LJq|,c8NK8Y)gT ǧq|.s8Z _+q^ y8.JḨe)Z q\qU9q\q]9R8n*q[ m8rK^9R8*{)WR8Pqo[Cfl~-Qofqxs1U-D8: f!\iB'Ĺ/d7BO;KQU?X\~MVwNxHX: @^2jMaP`X6 8QJf -쟭\[dH3x yv<:'7OKT/3y !QVÆcKsPOLپucb~m?h[j-MVE)~CJ5_ZvѱzTH1~l,c[ϱ:7G|bI#j՞R N՟y2U{i:_VTL1\UX#\VmT*7M)Ak7yOR95iֵ9 j$RS|'񆌜VML>㨾aj~'uOY