ofs | hex dump | ascii |
---|
0000 | 70 61 63 6b 61 67 65 2e 78 6d 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | package.xml..................... |
0020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0060 | 00 00 00 00 31 30 30 36 36 30 20 00 20 20 20 37 36 34 20 00 20 20 20 37 36 34 20 00 20 20 20 20 | ....100660.....764.....764...... |
0080 | 20 20 20 34 31 30 35 20 31 30 30 32 34 31 31 33 37 37 37 20 20 20 36 33 36 35 20 00 00 00 00 00 | ...4105.10024113777...6365...... |
00a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
00c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
00e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
01a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
01c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
01e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0200 | 3c 3f 78 6d 6c 20 76 65 72 73 69 6f 6e 3d 22 31 2e 30 22 20 65 6e 63 6f 64 69 6e 67 3d 22 49 53 | <?xml.version="1.0".encoding="IS |
0220 | 4f 2d 38 38 35 39 2d 31 22 20 3f 3e 0a 3c 21 44 4f 43 54 59 50 45 20 70 61 63 6b 61 67 65 20 53 | O-8859-1".?>.<!DOCTYPE.package.S |
0240 | 59 53 54 45 4d 20 22 68 74 74 70 3a 2f 2f 70 65 61 72 2e 70 68 70 2e 6e 65 74 2f 64 74 64 2f 70 | YSTEM."http://pear.php.net/dtd/p |
0260 | 61 63 6b 61 67 65 2d 31 2e 30 22 3e 0a 3c 70 61 63 6b 61 67 65 20 76 65 72 73 69 6f 6e 3d 22 31 | ackage-1.0">.<package.version="1 |
0280 | 2e 30 22 3e 0a 20 20 3c 6e 61 6d 65 3e 4e 65 74 5f 55 73 65 72 41 67 65 6e 74 5f 44 65 74 65 63 | .0">...<name>Net_UserAgent_Detec |
02a0 | 74 3c 2f 6e 61 6d 65 3e 0a 20 20 3c 73 75 6d 6d 61 72 79 3e 4e 65 74 5f 55 73 65 72 41 67 65 6e | t</name>...<summary>Net_UserAgen |
02c0 | 74 5f 44 65 74 65 63 74 20 64 65 74 65 72 6d 69 6e 65 73 20 74 68 65 20 57 65 62 20 62 72 6f 77 | t_Detect.determines.the.Web.brow |
02e0 | 73 65 72 2c 20 76 65 72 73 69 6f 6e 2c 20 61 6e 64 20 70 6c 61 74 66 6f 72 6d 20 66 72 6f 6d 20 | ser,.version,.and.platform.from. |
0300 | 61 6e 20 48 54 54 50 20 75 73 65 72 20 61 67 65 6e 74 20 73 74 72 69 6e 67 3c 2f 73 75 6d 6d 61 | an.HTTP.user.agent.string</summa |
0320 | 72 79 3e 0a 20 20 3c 64 65 73 63 72 69 70 74 69 6f 6e 3e 54 68 65 20 4e 65 74 5f 55 73 65 72 41 | ry>...<description>The.Net_UserA |
0340 | 67 65 6e 74 20 6f 62 6a 65 63 74 20 64 6f 65 73 20 61 20 6e 75 6d 62 65 72 20 6f 66 20 74 65 73 | gent.object.does.a.number.of.tes |
0360 | 74 73 20 6f 6e 20 61 6e 20 48 54 54 50 20 75 73 65 72 0a 61 67 65 6e 74 20 73 74 72 69 6e 67 2e | ts.on.an.HTTP.user.agent.string. |
0380 | 20 20 54 68 65 20 72 65 73 75 6c 74 73 20 6f 66 20 74 68 65 73 65 20 74 65 73 74 73 20 61 72 65 | ..The.results.of.these.tests.are |
03a0 | 20 61 76 61 69 6c 61 62 6c 65 20 76 69 61 20 6d 65 74 68 6f 64 73 20 6f 66 0a 74 68 65 20 6f 62 | .available.via.methods.of.the.ob |
03c0 | 6a 65 63 74 2e 0a 0a 54 68 69 73 20 6d 6f 64 75 6c 65 20 69 73 20 62 61 73 65 64 20 75 70 6f 6e | ject...This.module.is.based.upon |
03e0 | 20 74 68 65 20 4a 61 76 61 53 63 72 69 70 74 20 62 72 6f 77 73 65 72 20 64 65 74 65 63 74 69 6f | .the.JavaScript.browser.detectio |
0400 | 6e 20 63 6f 64 65 0a 61 76 61 69 6c 61 62 6c 65 20 61 74 20 68 74 74 70 3a 2f 2f 77 77 77 2e 6d | n.code.available.at.http://www.m |
0420 | 6f 7a 69 6c 6c 61 2e 6f 72 67 2f 64 6f 63 73 2f 77 65 62 2d 64 65 76 65 6c 6f 70 65 72 2f 73 6e | ozilla.org/docs/web-developer/sn |
0440 | 69 66 66 65 72 2f 62 72 6f 77 73 65 72 5f 74 79 70 65 2e 68 74 6d 6c 2e 0a 54 68 69 73 20 6d 6f | iffer/browser_type.html..This.mo |
0460 | 64 75 6c 65 20 68 61 64 20 6d 61 6e 79 20 69 6e 66 6c 75 65 6e 63 65 73 20 66 72 6f 6d 20 74 68 | dule.had.many.influences.from.th |
0480 | 65 20 6c 69 62 2f 42 72 6f 77 73 65 72 2e 70 68 70 20 63 6f 64 65 20 69 6e 0a 76 65 72 73 69 6f | e.lib/Browser.php.code.in.versio |
04a0 | 6e 20 31 2e 33 20 6f 66 20 48 6f 72 64 65 2e 3c 2f 64 65 73 63 72 69 70 74 69 6f 6e 3e 0a 20 20 | n.1.3.of.Horde.</description>... |
04c0 | 3c 6d 61 69 6e 74 61 69 6e 65 72 73 3e 0a 20 20 20 20 3c 6d 61 69 6e 74 61 69 6e 65 72 3e 0a 20 | <maintainers>.....<maintainer>.. |
04e0 | 20 20 20 20 20 3c 75 73 65 72 3e 6a 72 75 73 74 3c 2f 75 73 65 72 3e 0a 20 20 20 20 20 20 3c 6e | .....<user>jrust</user>.......<n |
0500 | 61 6d 65 3e 4a 61 73 6f 6e 20 52 75 73 74 3c 2f 6e 61 6d 65 3e 0a 20 20 20 20 20 20 3c 65 6d 61 | ame>Jason.Rust</name>.......<ema |
0520 | 69 6c 3e 6a 72 75 73 74 40 70 68 70 2e 6e 65 74 3c 2f 65 6d 61 69 6c 3e 0a 20 20 20 20 20 20 3c | il>jrust@php.net</email>.......< |
0540 | 72 6f 6c 65 3e 6c 65 61 64 3c 2f 72 6f 6c 65 3e 0a 20 20 20 20 3c 2f 6d 61 69 6e 74 61 69 6e 65 | role>lead</role>.....</maintaine |
0560 | 72 3e 0a 20 20 20 20 3c 6d 61 69 6e 74 61 69 6e 65 72 3e 0a 20 20 20 20 20 20 3c 75 73 65 72 3e | r>.....<maintainer>.......<user> |
0580 | 64 61 6c 6c 65 6e 3c 2f 75 73 65 72 3e 0a 20 20 20 20 20 20 3c 6e 61 6d 65 3e 44 61 6e 20 41 6c | dallen</user>.......<name>Dan.Al |
05a0 | 6c 65 6e 3c 2f 6e 61 6d 65 3e 0a 20 20 20 20 20 20 3c 65 6d 61 69 6c 3e 64 61 6c 6c 65 6e 40 70 | len</name>.......<email>dallen@p |
05c0 | 68 70 2e 6e 65 74 3c 2f 65 6d 61 69 6c 3e 0a 20 20 20 20 20 20 3c 72 6f 6c 65 3e 68 65 6c 70 65 | hp.net</email>.......<role>helpe |
05e0 | 72 3c 2f 72 6f 6c 65 3e 0a 20 20 20 20 3c 2f 6d 61 69 6e 74 61 69 6e 65 72 3e 0a 20 20 20 20 3c | r</role>.....</maintainer>.....< |
0600 | 6d 61 69 6e 74 61 69 6e 65 72 3e 0a 20 20 20 20 20 20 3c 75 73 65 72 3e 67 75 72 75 67 65 65 6b | maintainer>.......<user>gurugeek |
0620 | 3c 2f 75 73 65 72 3e 0a 20 20 20 20 20 20 3c 6e 61 6d 65 3e 44 61 76 69 64 20 43 6f 73 74 61 3c | </user>.......<name>David.Costa< |
0640 | 2f 6e 61 6d 65 3e 0a 20 20 20 20 20 20 3c 65 6d 61 69 6c 3e 67 75 72 75 67 65 65 6b 40 70 68 70 | /name>.......<email>gurugeek@php |
0660 | 2e 6e 65 74 3c 2f 65 6d 61 69 6c 3e 0a 20 20 20 20 20 20 3c 72 6f 6c 65 3e 68 65 6c 70 65 72 3c | .net</email>.......<role>helper< |
0680 | 2f 72 6f 6c 65 3e 0a 20 20 20 20 3c 2f 6d 61 69 6e 74 61 69 6e 65 72 3e 0a 20 20 3c 2f 6d 61 69 | /role>.....</maintainer>...</mai |
06a0 | 6e 74 61 69 6e 65 72 73 3e 0a 20 20 3c 72 65 6c 65 61 73 65 3e 0a 20 20 20 20 3c 76 65 72 73 69 | ntainers>...<release>.....<versi |
06c0 | 6f 6e 3e 32 2e 30 2e 31 3c 2f 76 65 72 73 69 6f 6e 3e 0a 20 20 20 20 3c 64 61 74 65 3e 32 30 30 | on>2.0.1</version>.....<date>200 |
06e0 | 34 2d 30 33 2d 31 31 3c 2f 64 61 74 65 3e 0a 20 20 20 20 3c 6c 69 63 65 6e 73 65 3e 50 48 50 20 | 4-03-11</date>.....<license>PHP. |
0700 | 32 2e 30 31 3c 2f 6c 69 63 65 6e 73 65 3e 0a 20 20 20 20 3c 73 74 61 74 65 3e 73 74 61 62 6c 65 | 2.01</license>.....<state>stable |
0720 | 3c 2f 73 74 61 74 65 3e 0a 20 20 20 20 3c 6e 6f 74 65 73 3e 2a 20 4d 61 64 65 20 69 74 20 50 48 | </state>.....<notes>*.Made.it.PH |
0740 | 50 35 20 63 6f 6d 70 61 74 69 62 6c 65 20 69 6e 20 61 20 77 61 79 20 74 68 61 74 20 69 73 20 42 | P5.compatible.in.a.way.that.is.B |
0760 | 43 0a 2a 20 41 64 64 65 64 20 73 75 70 70 6f 72 74 20 66 6f 72 20 53 61 66 61 72 69 0a 2a 20 42 | C.*.Added.support.for.Safari.*.B |
0780 | 75 6d 70 65 64 20 6b 6f 6e 71 27 73 20 6a 61 76 61 73 63 72 69 70 74 20 76 65 72 73 69 6f 6e 20 | umped.konq's.javascript.version. |
07a0 | 75 70 20 74 6f 20 31 2e 34 0a 2a 20 46 69 78 20 62 75 67 20 77 68 65 72 65 20 77 33 6d 20 63 61 | up.to.1.4.*.Fix.bug.where.w3m.ca |
07c0 | 75 73 65 64 20 77 61 72 6e 69 6e 67 73 0a 2a 20 66 69 78 65 64 20 61 20 6e 6f 74 69 63 65 20 65 | used.warnings.*.fixed.a.notice.e |
07e0 | 72 72 6f 72 20 77 68 65 6e 20 74 68 65 20 75 73 65 72 20 61 67 65 6e 74 20 69 73 20 65 6d 70 74 | rror.when.the.user.agent.is.empt |
0800 | 79 0a 2a 20 46 69 78 65 64 20 6d 69 73 73 69 6e 67 20 77 69 6e 64 6f 77 73 20 78 70 20 64 65 74 | y.*.Fixed.missing.windows.xp.det |
0820 | 65 63 74 69 6f 6e 20 61 6e 64 20 61 64 64 65 64 20 6e 65 73 74 65 64 5f 74 61 62 6c 65 5f 72 65 | ection.and.added.nested_table_re |
0840 | 6e 64 65 72 5f 62 75 67 20 71 75 69 72 6b 20 66 6f 72 20 6e 65 74 73 63 61 70 65 20 34 2e 38 20 | nder_bug.quirk.for.netscape.4.8. |
0860 | 61 6e 64 20 62 65 6c 6f 77 2e 20 0a 2a 20 43 6f 64 65 20 63 6c 65 61 6e 75 70 73 2e 3c 2f 6e 6f | and.below...*.Code.cleanups.</no |
0880 | 74 65 73 3e 0a 20 20 20 20 3c 64 65 70 73 3e 0a 20 20 20 20 20 20 3c 64 65 70 20 74 79 70 65 3d | tes>.....<deps>.......<dep.type= |
08a0 | 22 70 68 70 22 20 72 65 6c 3d 22 67 65 22 20 76 65 72 73 69 6f 6e 3d 22 34 2e 31 2e 30 22 2f 3e | "php".rel="ge".version="4.1.0"/> |
08c0 | 0a 20 20 20 20 3c 2f 64 65 70 73 3e 0a 20 20 20 20 3c 66 69 6c 65 6c 69 73 74 3e 0a 20 20 20 20 | .....</deps>.....<filelist>..... |
08e0 | 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 70 68 70 22 20 62 61 73 65 69 6e 73 74 61 6c 6c 64 69 | ..<file.role="php".baseinstalldi |
0900 | 72 3d 22 4e 65 74 2f 55 73 65 72 41 67 65 6e 74 22 20 6e 61 6d 65 3d 22 44 65 74 65 63 74 2e 70 | r="Net/UserAgent".name="Detect.p |
0920 | 68 70 22 2f 3e 0a 20 20 20 20 3c 2f 66 69 6c 65 6c 69 73 74 3e 0a 20 20 3c 2f 72 65 6c 65 61 73 | hp"/>.....</filelist>...</releas |
0940 | 65 3e 0a 20 20 3c 63 68 61 6e 67 65 6c 6f 67 3e 0a 20 20 20 20 3c 72 65 6c 65 61 73 65 3e 0a 20 | e>...<changelog>.....<release>.. |
0960 | 20 20 20 20 20 3c 76 65 72 73 69 6f 6e 3e 31 2e 30 3c 2f 76 65 72 73 69 6f 6e 3e 0a 20 20 20 20 | .....<version>1.0</version>..... |
0980 | 20 20 3c 64 61 74 65 3e 32 30 30 32 2d 30 35 2d 32 31 3c 2f 64 61 74 65 3e 0a 20 20 20 20 20 20 | ..<date>2002-05-21</date>....... |
09a0 | 3c 6c 69 63 65 6e 73 65 3e 50 48 50 20 32 2e 30 31 3c 2f 6c 69 63 65 6e 73 65 3e 0a 20 20 20 20 | <license>PHP.2.01</license>..... |
09c0 | 20 20 3c 73 74 61 74 65 3e 73 74 61 62 6c 65 3c 2f 73 74 61 74 65 3e 0a 20 20 20 20 20 20 3c 6e | ..<state>stable</state>.......<n |
09e0 | 6f 74 65 73 3e 54 68 69 73 20 69 73 20 74 68 65 20 69 6e 69 74 69 61 6c 20 69 6e 64 65 70 65 6e | otes>This.is.the.initial.indepen |
0a00 | 64 65 6e 74 20 50 45 41 52 20 72 65 6c 65 61 73 65 2e 0a 3c 2f 6e 6f 74 65 73 3e 0a 20 20 20 20 | dent.PEAR.release..</notes>..... |
0a20 | 3c 2f 72 65 6c 65 61 73 65 3e 0a 20 20 3c 2f 63 68 61 6e 67 65 6c 6f 67 3e 0a 3c 2f 70 61 63 6b | </release>...</changelog>.</pack |
0a40 | 61 67 65 3e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | age>............................ |
0a60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0a80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0b00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0b20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0bc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0c00 | 4e 65 74 5f 55 73 65 72 41 67 65 6e 74 5f 44 65 74 65 63 74 2d 32 2e 30 2e 31 2f 44 65 74 65 63 | Net_UserAgent_Detect-2.0.1/Detec |
0c20 | 74 2e 70 68 70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | t.php........................... |
0c40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0c60 | 00 00 00 00 31 30 30 36 36 30 20 00 20 20 20 37 36 34 20 00 20 20 20 37 36 34 20 00 20 20 20 20 | ....100660.....764.....764...... |
0c80 | 20 31 31 31 32 32 36 20 31 30 30 32 34 31 31 33 35 36 33 20 20 31 32 36 35 34 20 00 00 00 00 00 | .111226.10024113563..12654...... |
0ca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0cc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0ce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0d00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0d20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0d40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0d60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0d80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0da0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0dc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0de0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0e00 | 3c 3f 70 68 70 0a 2f 2f 20 7b 7b 7b 20 6c 69 63 65 6e 73 65 0a 0a 2f 2f 20 2b 2d 2d 2d 2d 2d 2d | <?php.//.{{{.license..//.+------ |
0e20 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | -------------------------------- |
0e40 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | -------------------------------- |
0e60 | 2b 0a 2f 2f 20 7c 20 50 48 50 20 76 65 72 73 69 6f 6e 20 34 2e 32 20 20 20 20 20 20 20 20 20 20 | +.//.|.PHP.version.4.2.......... |
0e80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
0ea0 | 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | ............|.//.+-------------- |
0ec0 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | -------------------------------- |
0ee0 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a 2f 2f 20 7c 20 43 | ------------------------+.//.|.C |
0f00 | 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 37 2d 32 30 30 33 20 54 68 65 20 50 48 50 20 47 | opyright.(c).1997-2003.The.PHP.G |
0f20 | 72 6f 75 70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | roup............................ |
0f40 | 20 20 20 20 7c 0a 2f 2f 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | ....|.//.+---------------------- |
0f60 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | -------------------------------- |
0f80 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a 2f 2f 20 7c 20 54 68 69 73 20 73 6f 75 72 | ----------------+.//.|.This.sour |
0fa0 | 63 65 20 66 69 6c 65 20 69 73 20 73 75 62 6a 65 63 74 20 74 6f 20 76 65 72 73 69 6f 6e 20 32 2e | ce.file.is.subject.to.version.2. |
0fc0 | 30 20 6f 66 20 74 68 65 20 50 48 50 20 6c 69 63 65 6e 73 65 2c 20 20 20 20 20 20 20 7c 0a 2f 2f | 0.of.the.PHP.license,.......|.// |
0fe0 | 20 7c 20 74 68 61 74 20 69 73 20 62 75 6e 64 6c 65 64 20 77 69 74 68 20 74 68 69 73 20 70 61 63 | .|.that.is.bundled.with.this.pac |
1000 | 6b 61 67 65 20 69 6e 20 74 68 65 20 66 69 6c 65 20 4c 49 43 45 4e 53 45 2c 20 61 6e 64 20 69 73 | kage.in.the.file.LICENSE,.and.is |
1020 | 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 61 76 61 69 6c 61 62 6c 65 20 61 74 20 74 68 72 6f | ........|.//.|.available.at.thro |
1040 | 75 67 68 20 74 68 65 20 77 6f 72 6c 64 2d 77 69 64 65 2d 77 65 62 20 61 74 20 20 20 20 20 20 20 | ugh.the.world-wide-web.at....... |
1060 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 68 74 74 70 3a | ....................|.//.|.http: |
1080 | 2f 2f 77 77 77 2e 70 68 70 2e 6e 65 74 2f 6c 69 63 65 6e 73 65 2f 32 5f 30 32 2e 74 78 74 2e 20 | //www.php.net/license/2_02.txt.. |
10a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
10c0 | 7c 0a 2f 2f 20 7c 20 49 66 20 79 6f 75 20 64 69 64 20 6e 6f 74 20 72 65 63 65 69 76 65 20 61 20 | |.//.|.If.you.did.not.receive.a. |
10e0 | 63 6f 70 79 20 6f 66 20 74 68 65 20 50 48 50 20 6c 69 63 65 6e 73 65 20 61 6e 64 20 61 72 65 20 | copy.of.the.PHP.license.and.are. |
1100 | 75 6e 61 62 6c 65 20 74 6f 20 20 20 7c 0a 2f 2f 20 7c 20 6f 62 74 61 69 6e 20 69 74 20 74 68 72 | unable.to...|.//.|.obtain.it.thr |
1120 | 6f 75 67 68 20 74 68 65 20 77 6f 72 6c 64 2d 77 69 64 65 2d 77 65 62 2c 20 70 6c 65 61 73 65 20 | ough.the.world-wide-web,.please. |
1140 | 73 65 6e 64 20 61 20 6e 6f 74 65 20 74 6f 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 6c | send.a.note.to..........|.//.|.l |
1160 | 69 63 65 6e 73 65 40 70 68 70 2e 6e 65 74 20 73 6f 20 77 65 20 63 61 6e 20 6d 61 69 6c 20 79 6f | icense@php.net.so.we.can.mail.yo |
1180 | 75 20 61 20 63 6f 70 79 20 69 6d 6d 65 64 69 61 74 65 6c 79 2e 20 20 20 20 20 20 20 20 20 20 20 | u.a.copy.immediately............ |
11a0 | 20 20 20 20 7c 0a 2f 2f 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | ....|.//.+---------------------- |
11c0 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | -------------------------------- |
11e0 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a 2f 2f 20 7c 20 41 75 74 68 6f 72 73 3a 20 | ----------------+.//.|.Authors:. |
1200 | 44 61 6e 20 41 6c 6c 65 6e 20 3c 64 61 6e 40 6d 6f 6a 61 76 65 6c 69 6e 75 78 2e 63 6f 6d 3e 20 | Dan.Allen.<dan@mojavelinux.com>. |
1220 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f | ............................|.// |
1240 | 20 7c 20 20 20 20 20 20 20 20 20 20 4a 61 73 6f 6e 20 52 75 73 74 20 3c 6a 72 75 73 74 40 70 68 | .|..........Jason.Rust.<jrust@ph |
1260 | 70 2e 6e 65 74 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | p.net>.......................... |
1280 | 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | ........|.//.+------------------ |
12a0 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | -------------------------------- |
12c0 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a 0a 2f 2f 20 24 49 64 3a 20 44 | --------------------+..//.$Id:.D |
12e0 | 65 74 65 63 74 2e 70 68 70 2c 76 20 31 2e 31 32 20 32 30 30 34 2f 30 33 2f 31 30 20 32 30 3a 32 | etect.php,v.1.12.2004/03/10.20:2 |
1300 | 32 3a 33 34 20 6a 72 75 73 74 20 45 78 70 20 24 0a 0a 2f 2f 20 7d 7d 7d 0a 2f 2f 20 7b 7b 7b 20 | 2:34.jrust.Exp.$..//.}}}.//.{{{. |
1320 | 63 6f 6e 73 74 61 6e 74 73 0a 0a 64 65 66 69 6e 65 28 27 4e 45 54 5f 55 53 45 52 41 47 45 4e 54 | constants..define('NET_USERAGENT |
1340 | 5f 44 45 54 45 43 54 5f 42 52 4f 57 53 45 52 27 2c 20 20 27 62 72 6f 77 73 65 72 27 29 3b 0a 64 | _DETECT_BROWSER',..'browser');.d |
1360 | 65 66 69 6e 65 28 27 4e 45 54 5f 55 53 45 52 41 47 45 4e 54 5f 44 45 54 45 43 54 5f 4f 53 27 2c | efine('NET_USERAGENT_DETECT_OS', |
1380 | 20 20 20 20 20 20 20 27 6f 73 27 29 3b 0a 64 65 66 69 6e 65 28 27 4e 45 54 5f 55 53 45 52 41 47 | .......'os');.define('NET_USERAG |
13a0 | 45 4e 54 5f 44 45 54 45 43 54 5f 46 45 41 54 55 52 45 53 27 2c 20 27 66 65 61 74 75 72 65 73 27 | ENT_DETECT_FEATURES',.'features' |
13c0 | 29 3b 0a 64 65 66 69 6e 65 28 27 4e 45 54 5f 55 53 45 52 41 47 45 4e 54 5f 44 45 54 45 43 54 5f | );.define('NET_USERAGENT_DETECT_ |
13e0 | 51 55 49 52 4b 53 27 2c 20 20 20 27 71 75 69 72 6b 73 27 29 3b 0a 64 65 66 69 6e 65 28 27 4e 45 | QUIRKS',...'quirks');.define('NE |
1400 | 54 5f 55 53 45 52 41 47 45 4e 54 5f 44 45 54 45 43 54 5f 41 43 43 45 50 54 27 2c 20 20 20 27 61 | T_USERAGENT_DETECT_ACCEPT',...'a |
1420 | 63 63 65 70 74 27 29 3b 0a 64 65 66 69 6e 65 28 27 4e 45 54 5f 55 53 45 52 41 47 45 4e 54 5f 44 | ccept');.define('NET_USERAGENT_D |
1440 | 45 54 45 43 54 5f 41 4c 4c 27 2c 20 20 20 20 20 20 27 61 6c 6c 27 29 3b 0a 0a 2f 2f 20 7d 7d 7d | ETECT_ALL',......'all');..//.}}} |
1460 | 0a 2f 2f 20 7b 7b 7b 20 63 6c 61 73 73 20 4e 65 74 5f 55 73 65 72 41 67 65 6e 74 5f 44 65 74 65 | .//.{{{.class.Net_UserAgent_Dete |
1480 | 63 74 0a 0a 2f 2a 2a 0a 20 2a 20 54 68 65 20 4e 65 74 5f 55 73 65 72 41 67 65 6e 74 5f 44 65 74 | ct../**..*.The.Net_UserAgent_Det |
14a0 | 65 63 74 20 6f 62 6a 65 63 74 20 64 6f 65 73 20 61 20 6e 75 6d 62 65 72 20 6f 66 20 74 65 73 74 | ect.object.does.a.number.of.test |
14c0 | 73 20 6f 6e 20 61 6e 20 48 54 54 50 20 75 73 65 72 0a 20 2a 20 61 67 65 6e 74 20 73 74 72 69 6e | s.on.an.HTTP.user..*.agent.strin |
14e0 | 67 2e 20 20 54 68 65 20 72 65 73 75 6c 74 73 20 6f 66 20 74 68 65 73 65 20 74 65 73 74 73 20 61 | g...The.results.of.these.tests.a |
1500 | 72 65 20 61 76 61 69 6c 61 62 6c 65 20 76 69 61 20 6d 65 74 68 6f 64 73 20 6f 66 0a 20 2a 20 74 | re.available.via.methods.of..*.t |
1520 | 68 65 20 6f 62 6a 65 63 74 2e 20 20 4e 6f 74 65 20 74 68 61 74 20 61 6c 6c 20 6d 65 74 68 6f 64 | he.object...Note.that.all.method |
1540 | 73 20 69 6e 20 74 68 69 73 20 63 6c 61 73 73 20 63 61 6e 20 62 65 20 63 61 6c 6c 65 64 0a 20 2a | s.in.this.class.can.be.called..* |
1560 | 20 73 74 61 74 69 63 61 6c 6c 79 2e 20 20 54 68 65 20 63 6f 6e 73 74 72 75 63 74 6f 72 20 61 6e | .statically...The.constructor.an |
1580 | 64 20 73 69 6e 67 6c 65 74 6f 6e 20 6d 65 74 68 6f 64 73 20 61 72 65 20 6f 6e 6c 79 20 72 65 74 | d.singleton.methods.are.only.ret |
15a0 | 61 69 6e 65 64 0a 20 2a 20 66 6f 72 20 42 43 2e 0a 20 2a 0a 20 2a 20 54 68 69 73 20 6d 6f 64 75 | ained..*.for.BC...*..*.This.modu |
15c0 | 6c 65 20 69 73 20 62 61 73 65 64 20 75 70 6f 6e 20 74 68 65 20 4a 61 76 61 53 63 72 69 70 74 20 | le.is.based.upon.the.JavaScript. |
15e0 | 62 72 6f 77 73 65 72 20 64 65 74 65 63 74 69 6f 6e 20 63 6f 64 65 0a 20 2a 20 61 76 61 69 6c 61 | browser.detection.code..*.availa |
1600 | 62 6c 65 20 61 74 20 68 74 74 70 3a 2f 2f 77 77 77 2e 6d 6f 7a 69 6c 6c 61 2e 6f 72 67 2f 64 6f | ble.at.http://www.mozilla.org/do |
1620 | 63 73 2f 77 65 62 2d 64 65 76 65 6c 6f 70 65 72 2f 73 6e 69 66 66 65 72 2f 62 72 6f 77 73 65 72 | cs/web-developer/sniffer/browser |
1640 | 5f 74 79 70 65 2e 68 74 6d 6c 2e 0a 20 2a 20 54 68 69 73 20 6d 6f 64 75 6c 65 20 68 61 64 20 6d | _type.html...*.This.module.had.m |
1660 | 61 6e 79 20 69 6e 66 6c 75 65 6e 63 65 73 20 66 72 6f 6d 20 74 68 65 20 6c 69 62 2f 42 72 6f 77 | any.influences.from.the.lib/Brow |
1680 | 73 65 72 2e 70 68 70 20 63 6f 64 65 20 69 6e 0a 20 2a 20 76 65 72 73 69 6f 6e 20 31 2e 33 20 6f | ser.php.code.in..*.version.1.3.o |
16a0 | 66 20 48 6f 72 64 65 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 20 20 4a 61 73 6f 6e 20 52 | f.Horde...*..*.@author...Jason.R |
16c0 | 75 73 74 20 3c 6a 72 75 73 74 40 70 68 70 2e 6e 65 74 3e 0a 20 2a 20 40 61 75 74 68 6f 72 20 20 | ust.<jrust@php.net>..*.@author.. |
16e0 | 20 44 61 6e 20 41 6c 6c 65 6e 20 3c 64 61 6e 40 6d 6f 6a 61 76 65 6c 69 6e 75 78 2e 63 6f 6d 3e | .Dan.Allen.<dan@mojavelinux.com> |
1700 | 0a 20 2a 20 40 61 75 74 68 6f 72 20 20 20 43 68 75 63 6b 20 48 61 67 65 6e 62 75 63 68 20 3c 63 | ..*.@author...Chuck.Hagenbuch.<c |
1720 | 68 75 63 6b 40 68 6f 72 64 65 2e 6f 72 67 3e 0a 20 2a 20 40 61 75 74 68 6f 72 20 20 20 4a 6f 6e | huck@horde.org>..*.@author...Jon |
1740 | 20 50 61 72 69 73 65 20 3c 6a 6f 6e 40 68 6f 72 64 65 2e 6f 72 67 3e 0a 20 2a 20 40 70 61 63 6b | .Parise.<jon@horde.org>..*.@pack |
1760 | 61 67 65 20 20 4e 65 74 5f 55 73 65 72 41 67 65 6e 74 0a 20 2a 2f 0a 0a 2f 2f 20 7d 7d 7d 0a 63 | age..Net_UserAgent..*/..//.}}}.c |
1780 | 6c 61 73 73 20 4e 65 74 5f 55 73 65 72 41 67 65 6e 74 5f 44 65 74 65 63 74 20 7b 0a 20 20 20 20 | lass.Net_UserAgent_Detect.{..... |
17a0 | 2f 2f 20 7b 7b 7b 20 63 6f 6e 73 74 72 75 63 74 6f 72 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e | //.{{{.constructor......function |
17c0 | 20 4e 65 74 5f 55 73 65 72 41 67 65 6e 74 5f 44 65 74 65 63 74 28 24 69 6e 5f 75 73 65 72 41 67 | .Net_UserAgent_Detect($in_userAg |
17e0 | 65 6e 74 20 3d 20 6e 75 6c 6c 2c 20 24 69 6e 5f 64 65 74 65 63 74 20 3d 20 6e 75 6c 6c 29 0a 20 | ent.=.null,.$in_detect.=.null).. |
1800 | 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 65 74 65 63 74 28 24 69 6e 5f 75 | ...{.........$this->detect($in_u |
1820 | 73 65 72 41 67 65 6e 74 2c 20 24 69 6e 5f 64 65 74 65 63 74 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 | serAgent,.$in_detect);.....}.... |
1840 | 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 73 69 6e 67 6c 65 74 6f 6e 0a 0a 20 | ..//.}}}.....//.{{{.singleton... |
1860 | 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 54 6f 20 62 65 20 75 73 65 64 20 69 6e 20 70 6c 61 63 | .../**......*.To.be.used.in.plac |
1880 | 65 20 6f 66 20 74 68 65 20 63 6f 6e 74 72 75 63 74 6f 72 20 74 6f 20 72 65 74 75 72 6e 20 6f 6e | e.of.the.contructor.to.return.on |
18a0 | 6c 79 20 6f 70 65 6e 20 69 6e 73 74 61 6e 63 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 | ly.open.instance.......*......*. |
18c0 | 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 20 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 6f | @access.public.......*.@return.o |
18e0 | 62 6a 65 63 74 20 4e 65 74 5f 55 73 65 72 41 67 65 6e 74 5f 44 65 74 65 63 74 20 69 6e 73 74 61 | bject.Net_UserAgent_Detect.insta |
1900 | 6e 63 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 26 73 69 6e 67 6c 65 | nce......*/.....function.&single |
1920 | 74 6f 6e 28 24 69 6e 5f 75 73 65 72 41 67 65 6e 74 20 3d 20 6e 75 6c 6c 2c 20 24 69 6e 5f 64 65 | ton($in_userAgent.=.null,.$in_de |
1940 | 74 65 63 74 20 3d 20 6e 75 6c 6c 29 20 0a 20 20 20 20 7b 20 0a 20 20 20 20 20 20 20 20 73 74 61 | tect.=.null)......{..........sta |
1960 | 74 69 63 20 24 69 6e 73 74 61 6e 63 65 3b 0a 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 69 | tic.$instance;.................i |
1980 | 66 20 28 21 69 73 73 65 74 28 24 69 6e 73 74 61 6e 63 65 29 29 20 7b 20 0a 20 20 20 20 20 20 20 | f.(!isset($instance)).{......... |
19a0 | 20 20 20 20 20 24 69 6e 73 74 61 6e 63 65 20 3d 20 6e 65 77 20 4e 65 74 5f 55 73 65 72 41 67 65 | .....$instance.=.new.Net_UserAge |
19c0 | 6e 74 5f 44 65 74 65 63 74 28 24 69 6e 5f 75 73 65 72 41 67 65 6e 74 2c 20 24 69 6e 5f 64 65 74 | nt_Detect($in_userAgent,.$in_det |
19e0 | 65 63 74 29 3b 20 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 | ect);..........}................ |
1a00 | 20 20 72 65 74 75 72 6e 20 24 69 6e 73 74 61 6e 63 65 3b 20 0a 20 20 20 20 7d 0a 0a 20 20 20 20 | ..return.$instance;......}...... |
1a20 | 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 64 65 74 65 63 74 28 29 0a 0a 20 20 20 20 | //.}}}.....//.{{{.detect()...... |
1a40 | 2f 2a 2a 0a 20 20 20 20 20 2a 20 44 65 74 65 63 74 20 74 68 65 20 75 73 65 72 20 61 67 65 6e 74 | /**......*.Detect.the.user.agent |
1a60 | 20 61 6e 64 20 70 72 65 70 61 72 65 20 66 6c 61 67 73 2c 20 66 65 61 74 75 72 65 73 20 61 6e 64 | .and.prepare.flags,.features.and |
1a80 | 20 71 75 69 72 6b 73 0a 20 20 20 20 20 2a 20 62 61 73 65 64 20 6f 6e 20 77 68 61 74 20 69 73 20 | .quirks......*.based.on.what.is. |
1aa0 | 66 6f 75 6e 64 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 54 68 69 73 20 69 73 20 74 68 65 20 | found......*......*.This.is.the. |
1ac0 | 63 6f 72 65 20 6f 66 20 74 68 65 20 4e 65 74 5f 55 73 65 72 41 67 65 6e 74 5f 44 65 74 65 63 74 | core.of.the.Net_UserAgent_Detect |
1ae0 | 20 63 6c 61 73 73 2e 20 20 49 74 20 6d 6f 76 65 73 20 69 74 73 0a 20 20 20 20 20 2a 20 77 61 79 | .class...It.moves.its......*.way |
1b00 | 20 74 68 72 6f 75 67 68 20 74 68 65 20 75 73 65 72 20 61 67 65 6e 74 20 73 74 72 69 6e 67 20 73 | .through.the.user.agent.string.s |
1b20 | 65 74 74 69 6e 67 20 75 70 20 74 68 65 20 66 6c 61 67 73 20 62 61 73 65 64 20 6f 6e 0a 20 20 20 | etting.up.the.flags.based.on.... |
1b40 | 20 20 2a 20 74 68 65 20 76 65 6e 64 6f 72 73 20 61 6e 64 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 | ..*.the.vendors.and.versions.of. |
1b60 | 74 68 65 20 62 72 6f 77 73 65 72 73 2c 20 64 65 74 65 72 6d 69 6e 69 6e 67 20 74 68 65 20 4f 53 | the.browsers,.determining.the.OS |
1b80 | 20 61 6e 64 0a 20 20 20 20 20 2a 20 73 65 74 74 69 6e 67 20 75 70 20 74 68 65 20 66 65 61 74 75 | .and......*.setting.up.the.featu |
1ba0 | 72 65 73 20 61 6e 64 20 71 75 69 72 6b 73 20 6f 77 6e 65 64 20 62 79 20 65 61 63 68 20 6f 66 20 | res.and.quirks.owned.by.each.of. |
1bc0 | 74 68 65 20 72 65 6c 65 76 61 6e 74 0a 20 20 20 20 20 2a 20 63 6c 69 65 6e 74 73 2e 20 20 4e 6f | the.relevant......*.clients...No |
1be0 | 74 65 20 74 68 61 74 20 69 66 20 79 6f 75 20 61 72 65 20 67 6f 69 6e 67 20 74 6f 20 62 65 20 63 | te.that.if.you.are.going.to.be.c |
1c00 | 61 6c 6c 69 6e 67 20 6d 65 74 68 6f 64 73 20 6f 66 0a 20 20 20 20 20 2a 20 74 68 69 73 20 63 6c | alling.methods.of......*.this.cl |
1c20 | 61 73 73 20 73 74 61 74 69 63 61 6c 6c 79 20 74 68 65 6e 20 73 65 74 20 61 6c 6c 20 74 68 65 20 | ass.statically.then.set.all.the. |
1c40 | 70 61 72 61 6d 65 74 65 72 73 20 75 73 69 6e 67 20 74 68 0a 20 20 20 20 20 2a 20 73 65 74 4f 70 | parameters.using.th......*.setOp |
1c60 | 74 69 6f 6e 28 29 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 20 73 74 72 | tion()......*......*.@param..str |
1c80 | 69 6e 67 20 24 69 6e 5f 75 73 65 72 41 67 65 6e 74 20 28 6f 70 74 69 6f 6e 61 6c 29 20 55 73 65 | ing.$in_userAgent.(optional).Use |
1ca0 | 72 20 61 67 65 6e 74 20 6f 76 65 72 72 69 64 65 2e 20 20 0a 20 20 20 20 20 2a 20 40 70 61 72 61 | r.agent.override.........*.@para |
1cc0 | 6d 20 20 6d 69 78 65 64 20 24 69 6e 5f 64 65 74 65 63 74 20 28 6f 70 74 69 6f 6e 61 6c 29 20 54 | m..mixed.$in_detect.(optional).T |
1ce0 | 68 65 20 6c 65 76 65 6c 20 6f 66 20 63 68 65 63 6b 69 6e 67 20 74 6f 20 64 6f 2e 20 0a 20 20 20 | he.level.of.checking.to.do...... |
1d00 | 20 20 2a 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a | ..*......*.@access.public......* |
1d20 | 20 40 72 65 74 75 72 6e 20 76 6f 69 64 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 | .@return.void......*/.....functi |
1d40 | 6f 6e 20 64 65 74 65 63 74 28 24 69 6e 5f 75 73 65 72 41 67 65 6e 74 20 3d 20 6e 75 6c 6c 2c 20 | on.detect($in_userAgent.=.null,. |
1d60 | 24 69 6e 5f 64 65 74 65 63 74 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 | $in_detect.=.null).....{........ |
1d80 | 20 73 74 61 74 69 63 20 24 68 61 73 52 75 6e 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 65 6d | .static.$hasRun;.........if.(!em |
1da0 | 70 74 79 28 24 68 61 73 52 75 6e 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 | pty($hasRun)).{.............retu |
1dc0 | 72 6e 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 68 61 73 52 75 6e 20 3d | rn;.........}..........$hasRun.= |
1de0 | 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 2f 2f 20 7b 7b 7b 20 73 65 74 20 75 70 20 73 74 61 | .true;.........//.{{{.set.up.sta |
1e00 | 74 69 63 20 70 72 6f 70 65 72 74 69 65 73 0a 0a 20 20 20 20 20 20 20 20 24 6f 70 74 69 6f 6e 73 | tic.properties..........$options |
1e20 | 20 3d 20 26 4e 65 74 5f 55 73 65 72 41 67 65 6e 74 5f 44 65 74 65 63 74 3a 3a 5f 67 65 74 53 74 | .=.&Net_UserAgent_Detect::_getSt |
1e40 | 61 74 69 63 50 72 6f 70 65 72 74 79 28 27 6f 70 74 69 6f 6e 73 27 29 3b 0a 20 20 20 20 20 20 20 | aticProperty('options');........ |
1e60 | 20 24 69 6e 5f 75 73 65 72 41 67 65 6e 74 20 3d 20 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b | .$in_userAgent.=.isset($options[ |
1e80 | 27 75 73 65 72 41 67 65 6e 74 27 5d 29 20 26 26 20 69 73 5f 6e 75 6c 6c 28 24 69 6e 5f 75 73 65 | 'userAgent']).&&.is_null($in_use |
1ea0 | 72 41 67 65 6e 74 29 20 3f 20 24 6f 70 74 69 6f 6e 73 5b 27 75 73 65 72 41 67 65 6e 74 27 5d 20 | rAgent).?.$options['userAgent']. |
1ec0 | 3a 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 24 69 6e 5f 64 65 74 65 63 74 20 3d 20 69 73 73 | :.null;.........$in_detect.=.iss |
1ee0 | 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 64 65 74 65 63 74 4f 70 74 69 6f 6e 73 27 5d 29 20 26 26 | et($options['detectOptions']).&& |
1f00 | 20 69 73 5f 6e 75 6c 6c 28 24 69 6e 5f 64 65 74 65 63 74 29 20 3f 20 24 6f 70 74 69 6f 6e 73 5b | .is_null($in_detect).?.$options[ |
1f20 | 27 64 65 74 65 63 74 4f 70 74 69 6f 6e 73 27 5d 20 3a 20 6e 75 6c 6c 3b 0a 0a 20 20 20 20 20 20 | 'detectOptions'].:.null;........ |
1f40 | 20 20 2f 2f 20 55 73 65 72 20 61 67 65 6e 74 20 73 74 72 69 6e 67 20 74 68 61 74 20 69 73 20 62 | ..//.User.agent.string.that.is.b |
1f60 | 65 69 6e 67 20 61 6e 61 6c 79 7a 65 64 0a 20 20 20 20 20 20 20 20 24 75 73 65 72 41 67 65 6e 74 | eing.analyzed.........$userAgent |
1f80 | 20 3d 20 26 4e 65 74 5f 55 73 65 72 41 67 65 6e 74 5f 44 65 74 65 63 74 3a 3a 5f 67 65 74 53 74 | .=.&Net_UserAgent_Detect::_getSt |
1fa0 | 61 74 69 63 50 72 6f 70 65 72 74 79 28 27 75 73 65 72 41 67 65 6e 74 27 29 3b 0a 0a 20 20 20 20 | aticProperty('userAgent');...... |
1fc0 | 20 20 20 20 2f 2f 20 41 72 72 61 79 20 74 68 61 74 20 73 74 6f 72 65 73 20 61 6c 6c 20 6f 66 20 | ....//.Array.that.stores.all.of. |
1fe0 | 74 68 65 20 66 6c 61 67 73 20 66 6f 72 20 74 68 65 20 76 65 6e 64 6f 72 20 61 6e 64 20 76 65 72 | the.flags.for.the.vendor.and.ver |
2000 | 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 2f 2f 20 6f 66 20 74 68 65 20 64 69 66 66 65 72 65 6e 74 | sion.........//.of.the.different |
2020 | 20 62 72 6f 77 73 65 72 73 0a 20 20 20 20 20 20 20 20 24 62 72 6f 77 73 65 72 20 3d 20 26 4e 65 | .browsers.........$browser.=.&Ne |
2040 | 74 5f 55 73 65 72 41 67 65 6e 74 5f 44 65 74 65 63 74 3a 3a 5f 67 65 74 53 74 61 74 69 63 50 72 | t_UserAgent_Detect::_getStaticPr |
2060 | 6f 70 65 72 74 79 28 27 62 72 6f 77 73 65 72 27 29 3b 0a 20 20 20 20 20 20 20 20 24 62 72 6f 77 | operty('browser');.........$brow |
2080 | 73 65 72 20 3d 20 61 72 72 61 79 5f 66 6c 69 70 28 61 72 72 61 79 28 27 6e 73 27 2c 20 27 6e 73 | ser.=.array_flip(array('ns',.'ns |
20a0 | 32 27 2c 20 27 6e 73 33 27 2c 20 27 6e 73 34 27 2c 20 27 6e 73 34 75 70 27 2c 20 27 6e 61 76 27 | 2',.'ns3',.'ns4',.'ns4up',.'nav' |
20c0 | 2c 20 27 6e 73 36 27 2c 20 27 6e 73 36 75 70 27 2c 20 27 67 65 63 6b 6f 27 2c 20 27 69 65 27 2c | ,.'ns6',.'ns6up',.'gecko',.'ie', |
20e0 | 20 27 69 65 33 27 2c 20 27 69 65 34 27 2c 20 27 69 65 34 75 70 27 2c 20 27 69 65 35 27 2c 20 27 | .'ie3',.'ie4',.'ie4up',.'ie5',.' |
2100 | 69 65 35 5f 35 27 2c 20 27 69 65 35 75 70 27 2c 20 27 69 65 36 27 2c 20 27 69 65 36 75 70 27 2c | ie5_5',.'ie5up',.'ie6',.'ie6up', |
2120 | 20 27 6f 70 65 72 61 27 2c 20 27 6f 70 65 72 61 32 27 2c 20 27 6f 70 65 72 61 33 27 2c 20 27 6f | .'opera',.'opera2',.'opera3',.'o |
2140 | 70 65 72 61 34 27 2c 20 27 6f 70 65 72 61 35 27 2c 20 27 6f 70 65 72 61 35 75 70 27 2c 20 27 61 | pera4',.'opera5',.'opera5up',.'a |
2160 | 6f 6c 27 2c 20 27 61 6f 6c 33 27 2c 20 27 61 6f 6c 34 27 2c 20 27 61 6f 6c 35 27 2c 20 27 61 6f | ol',.'aol3',.'aol4',.'aol5',.'ao |
2180 | 6c 36 27 2c 20 27 61 6f 6c 37 27 2c 20 27 77 65 62 74 76 27 2c 20 27 61 6f 6c 74 76 27 2c 20 27 | l6',.'aol7',.'webtv',.'aoltv',.' |
21a0 | 74 76 6e 61 76 69 67 61 74 6f 72 27 2c 20 27 68 6f 74 6a 61 76 61 27 2c 20 27 68 6f 74 6a 61 76 | tvnavigator',.'hotjava',.'hotjav |
21c0 | 61 33 27 2c 20 27 68 6f 74 6a 61 76 61 33 75 70 27 2c 20 27 6b 6f 6e 71 27 2c 20 27 73 61 66 61 | a3',.'hotjava3up',.'konq',.'safa |
21e0 | 72 69 27 29 29 3b 0a 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 2f 2f 20 41 72 72 61 79 | ri'));..................//.Array |
2200 | 20 74 68 61 74 20 73 74 6f 72 65 73 20 61 6c 6c 20 6f 66 20 74 68 65 20 66 6c 61 67 73 20 66 6f | .that.stores.all.of.the.flags.fo |
2220 | 72 20 74 68 65 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 73 2c 0a 20 20 20 20 20 20 20 | r.the.operating.systems,........ |
2240 | 20 2f 2f 20 61 6e 64 20 69 6e 20 73 6f 6d 65 20 63 61 73 65 73 20 74 68 65 20 76 65 72 73 69 6f | .//.and.in.some.cases.the.versio |
2260 | 6e 73 20 6f 66 20 74 68 6f 73 65 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 73 20 28 77 | ns.of.those.operating.systems.(w |
2280 | 69 6e 64 6f 77 73 29 0a 20 20 20 20 20 20 20 20 24 6f 73 20 3d 20 26 4e 65 74 5f 55 73 65 72 41 | indows).........$os.=.&Net_UserA |
22a0 | 67 65 6e 74 5f 44 65 74 65 63 74 3a 3a 5f 67 65 74 53 74 61 74 69 63 50 72 6f 70 65 72 74 79 28 | gent_Detect::_getStaticProperty( |
22c0 | 27 6f 73 27 29 3b 0a 20 20 20 20 20 20 20 20 24 6f 73 20 3d 20 61 72 72 61 79 5f 66 6c 69 70 28 | 'os');.........$os.=.array_flip( |
22e0 | 61 72 72 61 79 28 27 77 69 6e 27 2c 20 27 77 69 6e 39 35 27 2c 20 27 77 69 6e 31 36 27 2c 20 27 | array('win',.'win95',.'win16',.' |
2300 | 77 69 6e 33 31 27 2c 20 27 77 69 6e 39 78 27 2c 20 27 77 69 6e 39 38 27 2c 20 27 77 69 6e 6d 65 | win31',.'win9x',.'win98',.'winme |
2320 | 27 2c 20 27 77 69 6e 32 6b 27 2c 20 27 77 69 6e 78 70 27 2c 20 27 77 69 6e 6e 74 27 2c 20 27 6f | ',.'win2k',.'winxp',.'winnt',.'o |
2340 | 73 32 27 2c 20 27 6d 61 63 27 2c 20 27 6d 61 63 36 38 6b 27 2c 20 27 6d 61 63 70 70 63 27 2c 20 | s2',.'mac',.'mac68k',.'macppc',. |
2360 | 27 6c 69 6e 75 78 27 2c 20 27 75 6e 69 78 27 2c 20 27 76 6d 73 27 2c 20 27 73 75 6e 27 2c 20 27 | 'linux',.'unix',.'vms',.'sun',.' |
2380 | 73 75 6e 34 27 2c 20 27 73 75 6e 35 27 2c 20 27 73 75 6e 69 38 36 27 2c 20 27 69 72 69 78 27 2c | sun4',.'sun5',.'suni86',.'irix', |
23a0 | 20 27 69 72 69 78 35 27 2c 20 27 69 72 69 78 36 27 2c 20 27 68 70 75 78 27 2c 20 27 68 70 75 78 | .'irix5',.'irix6',.'hpux',.'hpux |
23c0 | 39 27 2c 20 27 68 70 75 78 31 30 27 2c 20 27 61 69 78 27 2c 20 27 61 69 78 31 27 2c 20 27 61 69 | 9',.'hpux10',.'aix',.'aix1',.'ai |
23e0 | 78 32 27 2c 20 27 61 69 78 33 27 2c 20 27 61 69 78 34 27 2c 20 27 73 63 6f 27 2c 20 27 75 6e 69 | x2',.'aix3',.'aix4',.'sco',.'uni |
2400 | 78 77 61 72 65 27 2c 20 27 6d 70 72 61 73 27 2c 20 27 72 65 6c 69 61 6e 74 27 2c 20 27 64 65 63 | xware',.'mpras',.'reliant',.'dec |
2420 | 27 2c 20 27 73 69 6e 69 78 27 2c 20 27 66 72 65 65 62 73 64 27 2c 20 27 62 73 64 27 29 29 3b 0a | ',.'sinix',.'freebsd',.'bsd'));. |
2440 | 0a 20 20 20 20 20 20 20 20 2f 2f 20 41 72 72 61 79 20 77 68 69 63 68 20 73 74 6f 72 65 73 20 6b | .........//.Array.which.stores.k |
2460 | 6e 6f 77 6e 20 69 73 73 75 65 73 20 77 69 74 68 20 74 68 65 20 67 69 76 65 6e 20 63 6c 69 65 6e | nown.issues.with.the.given.clien |
2480 | 74 20 74 68 61 74 20 63 61 6e 0a 20 20 20 20 20 20 20 20 2f 2f 20 62 65 20 75 73 65 64 20 66 6f | t.that.can.........//.be.used.fo |
24a0 | 72 20 6f 6e 20 74 68 65 20 66 6c 79 20 74 77 65 61 6b 69 6e 67 20 73 6f 20 74 68 61 74 20 74 68 | r.on.the.fly.tweaking.so.that.th |
24c0 | 65 20 63 6c 69 65 6e 74 20 6d 61 79 20 72 65 63 69 65 76 65 0a 20 20 20 20 20 20 20 20 2f 2f 20 | e.client.may.recieve.........//. |
24e0 | 74 68 65 20 70 72 6f 70 65 72 20 68 61 6e 64 6c 69 6e 67 20 6f 66 20 74 68 69 73 20 71 75 69 72 | the.proper.handling.of.this.quir |
2500 | 6b 2e 0a 20 20 20 20 20 20 20 20 24 71 75 69 72 6b 73 20 3d 20 26 4e 65 74 5f 55 73 65 72 41 67 | k..........$quirks.=.&Net_UserAg |
2520 | 65 6e 74 5f 44 65 74 65 63 74 3a 3a 5f 67 65 74 53 74 61 74 69 63 50 72 6f 70 65 72 74 79 28 27 | ent_Detect::_getStaticProperty(' |
2540 | 71 75 69 72 6b 73 27 29 3b 0a 20 20 20 20 20 20 20 20 24 71 75 69 72 6b 73 20 3d 20 61 72 72 61 | quirks');.........$quirks.=.arra |
2560 | 79 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 6d 75 73 74 5f 63 61 63 68 65 5f 66 | y(.................'must_cache_f |
2580 | 6f 72 6d 73 27 20 20 20 20 20 20 20 20 20 3d 3e 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 | orms'.........=>.false,......... |
25a0 | 20 20 20 20 20 20 20 20 27 70 6f 70 75 70 73 5f 64 69 73 61 62 6c 65 64 27 20 20 20 20 20 20 20 | ........'popups_disabled'....... |
25c0 | 20 20 20 3d 3e 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 65 6d | ...=>.false,.................'em |
25e0 | 70 74 79 5f 66 69 6c 65 5f 69 6e 70 75 74 5f 76 61 6c 75 65 27 20 20 20 3d 3e 20 66 61 6c 73 65 | pty_file_input_value'...=>.false |
2600 | 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 63 61 63 68 65 5f 73 73 6c 5f 64 6f 77 | ,.................'cache_ssl_dow |
2620 | 6e 6c 6f 61 64 73 27 20 20 20 20 20 20 3d 3e 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 20 | nloads'......=>.false,.......... |
2640 | 20 20 20 20 20 20 20 27 73 63 72 6f 6c 6c 62 61 72 5f 69 6e 5f 77 61 79 27 20 20 20 20 20 20 20 | .......'scrollbar_in_way'....... |
2660 | 20 20 3d 3e 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 62 72 65 | ..=>.false,.................'bre |
2680 | 61 6b 5f 64 69 73 70 6f 73 69 74 69 6f 6e 5f 68 65 61 64 65 72 27 20 3d 3e 20 66 61 6c 73 65 2c | ak_disposition_header'.=>.false, |
26a0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 6e 65 73 74 65 64 5f 74 61 62 6c 65 5f 72 | .................'nested_table_r |
26c0 | 65 6e 64 65 72 5f 62 75 67 27 20 20 3d 3e 20 66 61 6c 73 65 29 3b 0a 0a 20 20 20 20 20 20 20 20 | ender_bug'..=>.false);.......... |
26e0 | 2f 2f 20 41 72 72 61 79 20 74 68 61 74 20 73 74 6f 72 65 73 20 63 72 65 64 65 6e 74 69 61 6c 73 | //.Array.that.stores.credentials |
2700 | 20 66 6f 72 20 65 61 63 68 20 6f 66 20 74 68 65 20 62 72 6f 77 73 65 72 2f 6f 73 0a 20 20 20 20 | .for.each.of.the.browser/os..... |
2720 | 20 20 20 20 2f 2f 20 63 6f 6d 62 69 6e 61 74 69 6f 6e 73 2e 20 20 54 68 65 73 65 20 61 6c 6c 6f | ....//.combinations...These.allo |
2740 | 77 20 71 75 69 63 6b 20 61 63 63 65 73 73 20 74 6f 20 64 65 74 65 72 6d 69 6e 65 20 69 66 20 74 | w.quick.access.to.determine.if.t |
2760 | 68 65 0a 20 20 20 20 20 20 20 20 2f 2f 20 63 75 72 72 65 6e 74 20 63 6c 69 65 6e 74 20 68 61 73 | he.........//.current.client.has |
2780 | 20 61 20 66 65 61 74 75 72 65 20 74 68 61 74 20 69 73 20 67 6f 69 6e 67 20 74 6f 20 62 65 20 69 | .a.feature.that.is.going.to.be.i |
27a0 | 6d 70 6c 65 6d 65 6e 74 65 64 0a 20 20 20 20 20 20 20 20 2f 2f 20 69 6e 20 74 68 65 20 73 63 72 | mplemented.........//.in.the.scr |
27c0 | 69 70 74 2e 0a 20 20 20 20 20 20 20 20 24 66 65 61 74 75 72 65 73 20 3d 20 26 4e 65 74 5f 55 73 | ipt..........$features.=.&Net_Us |
27e0 | 65 72 41 67 65 6e 74 5f 44 65 74 65 63 74 3a 3a 5f 67 65 74 53 74 61 74 69 63 50 72 6f 70 65 72 | erAgent_Detect::_getStaticProper |
2800 | 74 79 28 27 66 65 61 74 75 72 65 73 27 29 3b 0a 20 20 20 20 20 20 20 20 24 66 65 61 74 75 72 65 | ty('features');.........$feature |
2820 | 73 20 3d 20 61 72 72 61 79 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 6a 61 76 61 | s.=.array(.................'java |
2840 | 73 63 72 69 70 74 27 20 20 20 3d 3e 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 | script'...=>.false,............. |
2860 | 20 20 20 20 27 64 68 74 6d 6c 27 20 20 20 20 20 20 20 20 3d 3e 20 66 61 6c 73 65 2c 0a 20 20 20 | ....'dhtml'........=>.false,.... |
2880 | 20 20 20 20 20 20 20 20 20 20 20 20 20 27 64 6f 6d 27 20 20 20 20 20 20 20 20 20 20 3d 3e 20 66 | .............'dom'..........=>.f |
28a0 | 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 73 69 64 65 62 61 72 27 20 | alse,.................'sidebar'. |
28c0 | 20 20 20 20 20 3d 3e 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 | .....=>.false,.................' |
28e0 | 67 65 63 6b 6f 27 20 20 20 20 20 20 20 20 3d 3e 20 66 61 6c 73 65 29 3b 0a 0a 20 20 20 20 20 20 | gecko'........=>.false);........ |
2900 | 20 20 2f 2f 20 54 68 65 20 6c 65 61 64 69 6e 67 20 69 64 65 6e 74 69 66 69 65 72 20 69 73 20 74 | ..//.The.leading.identifier.is.t |
2920 | 68 65 20 76 65 72 79 20 66 69 72 73 74 20 74 65 72 6d 20 69 6e 20 74 68 65 20 75 73 65 72 0a 20 | he.very.first.term.in.the.user.. |
2940 | 20 20 20 20 20 20 20 2f 2f 20 61 67 65 6e 74 20 73 74 72 69 6e 67 2c 20 77 68 69 63 68 20 69 73 | .......//.agent.string,.which.is |
2960 | 20 75 73 65 64 20 74 6f 20 69 64 65 6e 74 69 66 79 20 63 6c 69 65 6e 74 73 20 77 68 69 63 68 20 | .used.to.identify.clients.which. |
2980 | 61 72 65 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 2f 2f 20 4d 6f 73 61 69 63 2d 62 61 73 65 64 20 | are.not.........//.Mosaic-based. |
29a0 | 62 72 6f 77 73 65 72 73 2e 0a 20 20 20 20 20 20 20 20 24 6c 65 61 64 69 6e 67 49 64 65 6e 74 69 | browsers..........$leadingIdenti |
29c0 | 66 69 65 72 20 3d 20 26 4e 65 74 5f 55 73 65 72 41 67 65 6e 74 5f 44 65 74 65 63 74 3a 3a 5f 67 | fier.=.&Net_UserAgent_Detect::_g |
29e0 | 65 74 53 74 61 74 69 63 50 72 6f 70 65 72 74 79 28 27 6c 65 61 64 69 6e 67 49 64 65 6e 74 69 66 | etStaticProperty('leadingIdentif |
2a00 | 69 65 72 27 29 3b 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 54 68 65 20 66 75 6c 6c 20 76 65 72 73 | ier');..........//.The.full.vers |
2a20 | 69 6f 6e 20 6f 66 20 74 68 65 20 63 6c 69 65 6e 74 20 61 73 20 73 75 70 70 6c 69 65 64 20 62 79 | ion.of.the.client.as.supplied.by |
2a40 | 20 74 68 65 20 76 65 72 79 20 66 69 72 73 74 0a 20 20 20 20 20 20 20 20 2f 2f 20 6e 75 6d 62 65 | .the.very.first.........//.numbe |
2a60 | 72 73 20 69 6e 20 74 68 65 20 75 73 65 72 20 61 67 65 6e 74 0a 20 20 20 20 20 20 20 20 24 76 65 | rs.in.the.user.agent.........$ve |
2a80 | 72 73 69 6f 6e 20 3d 20 26 4e 65 74 5f 55 73 65 72 41 67 65 6e 74 5f 44 65 74 65 63 74 3a 3a 5f | rsion.=.&Net_UserAgent_Detect::_ |
2aa0 | 67 65 74 53 74 61 74 69 63 50 72 6f 70 65 72 74 79 28 27 76 65 72 73 69 6f 6e 27 29 3b 0a 20 20 | getStaticProperty('version');... |
2ac0 | 20 20 20 20 20 20 24 76 65 72 73 69 6f 6e 20 3d 20 30 3b 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 | ......$version.=.0;..........//. |
2ae0 | 54 68 65 20 6d 61 6a 6f 72 20 70 61 72 74 20 6f 66 20 74 68 65 20 63 6c 69 65 6e 74 20 76 65 72 | The.major.part.of.the.client.ver |
2b00 | 73 69 6f 6e 2c 20 77 68 69 63 68 20 69 73 20 74 68 65 20 69 6e 74 65 67 65 72 0a 20 20 20 20 20 | sion,.which.is.the.integer...... |
2b20 | 20 20 20 2f 2f 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 76 65 72 73 69 6f 6e 2e 0a 20 20 20 20 | ...//.value.of.the.version...... |
2b40 | 20 20 20 20 24 6d 61 6a 6f 72 56 65 72 73 69 6f 6e 20 3d 20 26 4e 65 74 5f 55 73 65 72 41 67 65 | ....$majorVersion.=.&Net_UserAge |
2b60 | 6e 74 5f 44 65 74 65 63 74 3a 3a 5f 67 65 74 53 74 61 74 69 63 50 72 6f 70 65 72 74 79 28 27 6d | nt_Detect::_getStaticProperty('m |
2b80 | 61 6a 6f 72 56 65 72 73 69 6f 6e 27 29 3b 0a 20 20 20 20 20 20 20 20 24 6d 61 6a 6f 72 56 65 72 | ajorVersion');.........$majorVer |
2ba0 | 73 69 6f 6e 20 3d 20 30 3b 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 54 68 65 20 6d 69 6e 6f 72 20 | sion.=.0;..........//.The.minor. |
2bc0 | 70 61 72 74 20 6f 66 20 74 68 65 20 63 6c 69 65 6e 74 20 76 65 72 73 69 6f 6e 2c 20 77 68 69 63 | part.of.the.client.version,.whic |
2be0 | 68 20 69 73 20 74 68 65 20 64 65 63 69 6d 61 6c 0a 20 20 20 20 20 20 20 20 2f 2f 20 70 61 72 74 | h.is.the.decimal.........//.part |
2c00 | 73 20 6f 66 20 74 68 65 20 76 65 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 24 73 75 62 56 65 72 | s.of.the.version.........$subVer |
2c20 | 73 69 6f 6e 20 3d 20 26 4e 65 74 5f 55 73 65 72 41 67 65 6e 74 5f 44 65 74 65 63 74 3a 3a 5f 67 | sion.=.&Net_UserAgent_Detect::_g |
2c40 | 65 74 53 74 61 74 69 63 50 72 6f 70 65 72 74 79 28 27 73 75 62 56 65 72 73 69 6f 6e 27 29 3b 0a | etStaticProperty('subVersion');. |
2c60 | 20 20 20 20 20 20 20 20 24 73 75 62 56 65 72 73 69 6f 6e 20 3d 20 30 3b 0a 0a 20 20 20 20 20 20 | ........$subVersion.=.0;........ |
2c80 | 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 20 20 20 20 2f 2f 20 64 65 74 65 6d 69 6e 65 20 77 68 61 | ..//.}}}.........//.detemine.wha |
2ca0 | 74 20 75 73 65 72 20 61 67 65 6e 74 20 77 65 20 61 72 65 20 75 73 69 6e 67 0a 20 20 20 20 20 20 | t.user.agent.we.are.using....... |
2cc0 | 20 20 69 66 20 28 69 73 5f 6e 75 6c 6c 28 24 69 6e 5f 75 73 65 72 41 67 65 6e 74 29 29 20 7b 0a | ..if.(is_null($in_userAgent)).{. |
2ce0 | 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 5f 53 45 52 56 45 52 5b 27 | ............if.(isset($_SERVER[' |
2d00 | 48 54 54 50 5f 55 53 45 52 5f 41 47 45 4e 54 27 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 | HTTP_USER_AGENT'])).{........... |
2d20 | 20 20 20 20 20 20 24 75 73 65 72 41 67 65 6e 74 20 3d 20 24 5f 53 45 52 56 45 52 5b 27 48 54 54 | ......$userAgent.=.$_SERVER['HTT |
2d40 | 50 5f 55 53 45 52 5f 41 47 45 4e 54 27 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 | P_USER_AGENT'];.............}... |
2d60 | 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 28 24 47 4c 4f 42 41 4c 53 | ..........elseif.(isset($GLOBALS |
2d80 | 5b 27 48 54 54 50 5f 53 45 52 56 45 52 5f 56 41 52 53 27 5d 5b 27 48 54 54 50 5f 55 53 45 52 5f | ['HTTP_SERVER_VARS']['HTTP_USER_ |
2da0 | 41 47 45 4e 54 27 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 75 73 65 | AGENT'])).{.................$use |
2dc0 | 72 41 67 65 6e 74 20 3d 20 24 47 4c 4f 42 41 4c 53 5b 27 48 54 54 50 5f 53 45 52 56 45 52 5f 56 | rAgent.=.$GLOBALS['HTTP_SERVER_V |
2de0 | 41 52 53 27 5d 5b 27 48 54 54 50 5f 55 53 45 52 5f 41 47 45 4e 54 27 5d 3b 0a 20 20 20 20 20 20 | ARS']['HTTP_USER_AGENT'];....... |
2e00 | 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 | ......}.............else.{...... |
2e20 | 20 20 20 20 20 20 20 20 20 20 20 24 75 73 65 72 41 67 65 6e 74 20 3d 20 27 27 3b 0a 20 20 20 20 | ...........$userAgent.=.'';..... |
2e40 | 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 65 6c 73 65 | ........}.........}.........else |
2e60 | 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 75 73 65 72 41 67 65 6e 74 20 3d 20 24 69 6e 5f | .{.............$userAgent.=.$in_ |
2e80 | 75 73 65 72 41 67 65 6e 74 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f | userAgent;.........}..........// |
2ea0 | 20 67 65 74 20 74 68 65 20 6c 6f 77 65 72 63 61 73 65 20 76 65 72 73 69 6f 6e 20 66 6f 72 20 63 | .get.the.lowercase.version.for.c |
2ec0 | 61 73 65 2d 69 6e 73 65 6e 73 69 74 69 76 65 20 73 65 61 72 63 68 69 6e 67 0a 20 20 20 20 20 20 | ase-insensitive.searching....... |
2ee0 | 20 20 24 61 67 74 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 75 73 65 72 41 67 65 6e 74 29 3b | ..$agt.=.strtolower($userAgent); |
2f00 | 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 66 69 67 75 72 65 20 6f 75 74 20 77 68 61 74 20 77 65 20 | ..........//.figure.out.what.we. |
2f20 | 6e 65 65 64 20 74 6f 20 6c 6f 6f 6b 20 66 6f 72 0a 20 20 20 20 20 20 20 20 24 64 65 74 65 63 74 | need.to.look.for.........$detect |
2f40 | 4f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 4e 45 54 5f 55 53 45 52 41 47 45 4e 54 5f 44 45 | Options.=.array(NET_USERAGENT_DE |
2f60 | 54 45 43 54 5f 42 52 4f 57 53 45 52 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 45 | TECT_BROWSER,.................NE |
2f80 | 54 5f 55 53 45 52 41 47 45 4e 54 5f 44 45 54 45 43 54 5f 4f 53 2c 20 4e 45 54 5f 55 53 45 52 41 | T_USERAGENT_DETECT_OS,.NET_USERA |
2fa0 | 47 45 4e 54 5f 44 45 54 45 43 54 5f 46 45 41 54 55 52 45 53 2c 0a 20 20 20 20 20 20 20 20 20 20 | GENT_DETECT_FEATURES,........... |
2fc0 | 20 20 20 20 20 20 4e 45 54 5f 55 53 45 52 41 47 45 4e 54 5f 44 45 54 45 43 54 5f 51 55 49 52 4b | ......NET_USERAGENT_DETECT_QUIRK |
2fe0 | 53 2c 20 4e 45 54 5f 55 53 45 52 41 47 45 4e 54 5f 44 45 54 45 43 54 5f 41 43 43 45 50 54 2c 20 | S,.NET_USERAGENT_DETECT_ACCEPT,. |
3000 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 45 54 5f 55 53 45 52 41 47 45 4e 54 5f 44 | .................NET_USERAGENT_D |
3020 | 45 54 45 43 54 5f 41 4c 4c 29 3b 0a 20 20 20 20 20 20 20 20 24 64 65 74 65 63 74 20 3d 20 69 73 | ETECT_ALL);.........$detect.=.is |
3040 | 5f 6e 75 6c 6c 28 24 69 6e 5f 64 65 74 65 63 74 29 20 3f 20 4e 45 54 5f 55 53 45 52 41 47 45 4e | _null($in_detect).?.NET_USERAGEN |
3060 | 54 5f 44 45 54 45 43 54 5f 41 4c 4c 20 3a 20 24 69 6e 5f 64 65 74 65 63 74 3b 0a 20 20 20 20 20 | T_DETECT_ALL.:.$in_detect;...... |
3080 | 20 20 20 73 65 74 74 79 70 65 28 24 64 65 74 65 63 74 2c 20 27 61 72 72 61 79 27 29 3b 0a 20 20 | ...settype($detect,.'array');... |
30a0 | 20 20 20 20 20 20 66 6f 72 65 61 63 68 28 24 64 65 74 65 63 74 4f 70 74 69 6f 6e 73 20 61 73 20 | ......foreach($detectOptions.as. |
30c0 | 24 6f 70 74 69 6f 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 6e 5f 61 72 | $option).{.............if.(in_ar |
30e0 | 72 61 79 28 24 6f 70 74 69 6f 6e 2c 20 24 64 65 74 65 63 74 29 29 20 7b 0a 20 20 20 20 20 20 20 | ray($option,.$detect)).{........ |
3100 | 20 20 20 20 20 20 20 20 20 24 64 65 74 65 63 74 46 6c 61 67 73 5b 24 6f 70 74 69 6f 6e 5d 20 3d | .........$detectFlags[$option].= |
3120 | 20 74 72 75 65 3b 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 | .true;..............}........... |
3140 | 20 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 64 65 74 65 63 74 | ..else.{.................$detect |
3160 | 46 6c 61 67 73 5b 24 6f 70 74 69 6f 6e 5d 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 | Flags[$option].=.false;......... |
3180 | 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 69 6e 69 74 | ....}.........}..........//.init |
31a0 | 69 61 6c 69 7a 65 20 74 68 65 20 61 72 72 61 79 73 20 6f 66 20 62 72 6f 77 73 65 72 73 20 61 6e | ialize.the.arrays.of.browsers.an |
31c0 | 64 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 73 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 | d.operating.systems..........//. |
31e0 | 47 65 74 20 74 68 65 20 74 79 70 65 20 61 6e 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 | Get.the.type.and.version.of.the. |
3200 | 63 6c 69 65 6e 74 0a 20 20 20 20 20 20 20 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 22 3b | client.........if.(preg_match("; |
3220 | 5e 28 5b 5b 3a 61 6c 6e 75 6d 3a 5d 5d 2b 29 5b 20 2f 5c 28 5d 2a 5b 5b 3a 61 6c 70 68 61 3a 5d | ^([[:alnum:]]+)[./\(]*[[:alpha:] |
3240 | 5d 2a 28 5b 5c 64 5d 2a 29 28 5c 2e 5b 5c 64 5c 2e 5d 2a 29 3b 22 2c 20 24 61 67 74 2c 20 24 6d | ]*([\d]*)(\.[\d\.]*);",.$agt,.$m |
3260 | 61 74 63 68 65 73 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 6c 69 73 74 28 2c 20 24 6c | atches)).{.............list(,.$l |
3280 | 65 61 64 69 6e 67 49 64 65 6e 74 69 66 69 65 72 2c 20 24 6d 61 6a 6f 72 56 65 72 73 69 6f 6e 2c | eadingIdentifier,.$majorVersion, |
32a0 | 20 24 73 75 62 56 65 72 73 69 6f 6e 29 20 3d 20 24 6d 61 74 63 68 65 73 3b 0a 20 20 20 20 20 20 | .$subVersion).=.$matches;....... |
32c0 | 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 65 6d 70 74 79 28 24 6c 65 61 64 69 6e 67 49 | ..}..........if.(empty($leadingI |
32e0 | 64 65 6e 74 69 66 69 65 72 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 65 61 64 69 | dentifier)).{.............$leadi |
3300 | 6e 67 49 64 65 6e 74 69 66 69 65 72 20 3d 20 27 55 6e 6b 6e 6f 77 6e 27 3b 0a 20 20 20 20 20 20 | ngIdentifier.=.'Unknown';....... |
3320 | 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 76 65 72 73 69 6f 6e 20 3d 20 24 6d 61 6a 6f 72 56 65 | ..}..........$version.=.$majorVe |
3340 | 72 73 69 6f 6e 20 2e 20 24 73 75 62 56 65 72 73 69 6f 6e 3b 0a 20 20 20 20 0a 20 20 20 20 20 20 | rsion...$subVersion;............ |
3360 | 20 20 2f 2f 20 42 72 6f 77 73 65 72 20 74 79 70 65 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 64 | ..//.Browser.type.........if.($d |
3380 | 65 74 65 63 74 46 6c 61 67 73 5b 4e 45 54 5f 55 53 45 52 41 47 45 4e 54 5f 44 45 54 45 43 54 5f | etectFlags[NET_USERAGENT_DETECT_ |
33a0 | 41 4c 4c 5d 20 7c 7c 20 24 64 65 74 65 63 74 46 6c 61 67 73 5b 4e 45 54 5f 55 53 45 52 41 47 45 | ALL].||.$detectFlags[NET_USERAGE |
33c0 | 4e 54 5f 44 45 54 45 43 54 5f 42 52 4f 57 53 45 52 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 | NT_DETECT_BROWSER]).{........... |
33e0 | 20 20 24 62 72 6f 77 73 65 72 5b 27 6b 6f 6e 71 27 5d 20 20 20 20 3d 20 24 62 72 6f 77 73 65 72 | ..$browser['konq']....=.$browser |
3400 | 5b 27 73 61 66 61 72 69 27 5d 20 3d 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 6b 6f 6e 71 | ['safari'].=.(strpos($agt,.'konq |
3420 | 75 65 72 6f 72 27 29 20 21 3d 3d 20 66 61 6c 73 65 20 7c 7c 20 73 74 72 70 6f 73 28 24 61 67 74 | ueror').!==.false.||.strpos($agt |
3440 | 2c 20 27 73 61 66 61 72 69 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 20 | ,.'safari').!==.false);......... |
3460 | 20 20 20 20 24 62 72 6f 77 73 65 72 5b 27 74 65 78 74 27 5d 20 20 20 20 3d 20 28 73 74 72 70 6f | ....$browser['text']....=.(strpo |
3480 | 73 28 24 61 67 74 2c 20 27 6c 69 6e 6b 73 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7c 7c 20 28 | s($agt,.'links').!==.false).||.( |
34a0 | 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 6c 79 6e 78 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 | strpos($agt,.'lynx').!==.false). |
34c0 | 7c 7c 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 77 33 6d 27 29 20 21 3d 3d 20 66 61 6c 73 | ||.(strpos($agt,.'w3m').!==.fals |
34e0 | 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 62 72 6f 77 73 65 72 5b 27 6e 73 27 5d 20 20 | e);.............$browser['ns'].. |
3500 | 20 20 20 20 3d 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 6d 6f 7a 69 6c 6c 61 27 29 20 21 | ....=.(strpos($agt,.'mozilla').! |
3520 | 3d 3d 20 66 61 6c 73 65 29 20 26 26 20 21 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 73 70 6f | ==.false).&&.!(strpos($agt,.'spo |
3540 | 6f 66 65 72 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 26 26 20 21 28 73 74 72 70 6f 73 28 24 61 | ofer').!==.false).&&.!(strpos($a |
3560 | 67 74 2c 20 27 63 6f 6d 70 61 74 69 62 6c 65 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 26 26 20 | gt,.'compatible').!==.false).&&. |
3580 | 21 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 68 6f 74 6a 61 76 61 27 29 20 21 3d 3d 20 66 61 | !(strpos($agt,.'hotjava').!==.fa |
35a0 | 6c 73 65 29 20 26 26 20 21 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 6f 70 65 72 61 27 29 20 | lse).&&.!(strpos($agt,.'opera'). |
35c0 | 21 3d 3d 20 66 61 6c 73 65 29 20 26 26 20 21 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 77 65 | !==.false).&&.!(strpos($agt,.'we |
35e0 | 62 74 76 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 3f 20 31 20 3a 20 30 3b 0a 20 20 20 20 20 20 | btv').!==.false).?.1.:.0;....... |
3600 | 20 20 20 20 20 20 24 62 72 6f 77 73 65 72 5b 27 6e 73 32 27 5d 20 20 20 20 20 3d 20 24 62 72 6f | ......$browser['ns2'].....=.$bro |
3620 | 77 73 65 72 5b 27 6e 73 27 5d 20 26 26 20 24 6d 61 6a 6f 72 56 65 72 73 69 6f 6e 20 3d 3d 20 32 | wser['ns'].&&.$majorVersion.==.2 |
3640 | 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 62 72 6f 77 73 65 72 5b 27 6e 73 33 27 5d 20 20 20 | ;.............$browser['ns3']... |
3660 | 20 20 3d 20 24 62 72 6f 77 73 65 72 5b 27 6e 73 27 5d 20 26 26 20 24 6d 61 6a 6f 72 56 65 72 73 | ..=.$browser['ns'].&&.$majorVers |
3680 | 69 6f 6e 20 3d 3d 20 33 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 62 72 6f 77 73 65 72 5b 27 | ion.==.3;.............$browser[' |
36a0 | 6e 73 34 27 5d 20 20 20 20 20 3d 20 24 62 72 6f 77 73 65 72 5b 27 6e 73 27 5d 20 26 26 20 24 6d | ns4'].....=.$browser['ns'].&&.$m |
36c0 | 61 6a 6f 72 56 65 72 73 69 6f 6e 20 3d 3d 20 34 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 62 | ajorVersion.==.4;.............$b |
36e0 | 72 6f 77 73 65 72 5b 27 6e 73 34 75 70 27 5d 20 20 20 3d 20 24 62 72 6f 77 73 65 72 5b 27 6e 73 | rowser['ns4up']...=.$browser['ns |
3700 | 27 5d 20 26 26 20 24 6d 61 6a 6f 72 56 65 72 73 69 6f 6e 20 3e 3d 20 34 3b 0a 20 20 20 20 20 20 | '].&&.$majorVersion.>=.4;....... |
3720 | 20 20 20 20 20 20 2f 2f 20 64 65 74 65 72 6d 69 6e 65 20 69 66 20 74 68 69 73 20 69 73 20 61 20 | ......//.determine.if.this.is.a. |
3740 | 4e 65 74 73 63 61 70 65 20 4e 61 76 69 67 61 74 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 | Netscape.Navigator.............$ |
3760 | 62 72 6f 77 73 65 72 5b 27 6e 61 76 27 5d 20 20 20 20 20 3d 20 24 62 72 6f 77 73 65 72 5b 27 6e | browser['nav'].....=.$browser['n |
3780 | 73 27 5d 20 26 26 20 24 6d 61 6a 6f 72 56 65 72 73 69 6f 6e 20 3c 20 35 3b 0a 20 20 20 20 20 20 | s'].&&.$majorVersion.<.5;....... |
37a0 | 20 20 20 20 20 20 24 62 72 6f 77 73 65 72 5b 27 6e 73 36 27 5d 20 20 20 20 20 3d 20 21 24 62 72 | ......$browser['ns6'].....=.!$br |
37c0 | 6f 77 73 65 72 5b 27 6b 6f 6e 71 27 5d 20 26 26 20 24 62 72 6f 77 73 65 72 5b 27 6e 73 27 5d 20 | owser['konq'].&&.$browser['ns']. |
37e0 | 26 26 20 24 6d 61 6a 6f 72 56 65 72 73 69 6f 6e 20 3d 3d 20 35 3b 0a 20 20 20 20 20 20 20 20 20 | &&.$majorVersion.==.5;.......... |
3800 | 20 20 20 24 62 72 6f 77 73 65 72 5b 27 6e 73 36 75 70 27 5d 20 20 20 3d 20 24 62 72 6f 77 73 65 | ...$browser['ns6up']...=.$browse |
3820 | 72 5b 27 6e 73 36 27 5d 20 26 26 20 24 6d 61 6a 6f 72 56 65 72 73 69 6f 6e 20 3e 3d 20 35 3b 0a | r['ns6'].&&.$majorVersion.>=.5;. |
3840 | 20 20 20 20 20 20 20 20 20 20 20 20 24 62 72 6f 77 73 65 72 5b 27 67 65 63 6b 6f 27 5d 20 20 20 | ............$browser['gecko']... |
3860 | 3d 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 67 65 63 6b 6f 27 29 20 21 3d 3d 20 66 61 6c | =.(strpos($agt,.'gecko').!==.fal |
3880 | 73 65 20 26 26 20 21 24 62 72 6f 77 73 65 72 5b 27 6b 6f 6e 71 27 5d 29 3b 0a 20 20 20 20 20 20 | se.&&.!$browser['konq']);....... |
38a0 | 20 20 20 20 20 20 24 62 72 6f 77 73 65 72 5b 27 69 65 27 5d 20 20 20 20 20 20 3d 20 28 73 74 72 | ......$browser['ie']......=.(str |
38c0 | 70 6f 73 28 24 61 67 74 2c 20 27 6d 73 69 65 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 26 26 20 | pos($agt,.'msie').!==.false).&&. |
38e0 | 21 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 6f 70 65 72 61 27 29 20 21 3d 3d 20 66 61 6c 73 | !(strpos($agt,.'opera').!==.fals |
3900 | 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 62 72 6f 77 73 65 72 5b 27 69 65 33 27 5d 20 | e);.............$browser['ie3']. |
3920 | 20 20 20 20 3d 20 24 62 72 6f 77 73 65 72 5b 27 69 65 27 5d 20 26 26 20 24 6d 61 6a 6f 72 56 65 | ....=.$browser['ie'].&&.$majorVe |
3940 | 72 73 69 6f 6e 20 3c 20 34 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 62 72 6f 77 73 65 72 5b | rsion.<.4;.............$browser[ |
3960 | 27 69 65 34 27 5d 20 20 20 20 20 3d 20 24 62 72 6f 77 73 65 72 5b 27 69 65 27 5d 20 26 26 20 24 | 'ie4'].....=.$browser['ie'].&&.$ |
3980 | 6d 61 6a 6f 72 56 65 72 73 69 6f 6e 20 3d 3d 20 34 20 26 26 20 28 73 74 72 70 6f 73 28 24 61 67 | majorVersion.==.4.&&.(strpos($ag |
39a0 | 74 2c 20 27 6d 73 69 65 20 34 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 | t,.'msie.4').!==.false);........ |
39c0 | 20 20 20 20 20 24 62 72 6f 77 73 65 72 5b 27 69 65 34 75 70 27 5d 20 20 20 3d 20 24 62 72 6f 77 | .....$browser['ie4up']...=.$brow |
39e0 | 73 65 72 5b 27 69 65 27 5d 20 26 26 20 21 24 62 72 6f 77 73 65 72 5b 27 69 65 33 27 5d 3b 0a 20 | ser['ie'].&&.!$browser['ie3'];.. |
3a00 | 20 20 20 20 20 20 20 20 20 20 20 24 62 72 6f 77 73 65 72 5b 27 69 65 35 27 5d 20 20 20 20 20 3d | ...........$browser['ie5'].....= |
3a20 | 20 24 62 72 6f 77 73 65 72 5b 27 69 65 34 75 70 27 5d 20 26 26 20 28 73 74 72 70 6f 73 28 24 61 | .$browser['ie4up'].&&.(strpos($a |
3a40 | 67 74 2c 20 27 6d 73 69 65 20 35 2e 30 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 | gt,.'msie.5.0').!==.false);..... |
3a60 | 20 20 20 20 20 20 20 20 24 62 72 6f 77 73 65 72 5b 27 69 65 35 5f 35 27 5d 20 20 20 3d 20 24 62 | ........$browser['ie5_5']...=.$b |
3a80 | 72 6f 77 73 65 72 5b 27 69 65 34 75 70 27 5d 20 26 26 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c | rowser['ie4up'].&&.(strpos($agt, |
3aa0 | 20 27 6d 73 69 65 20 35 2e 35 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 | .'msie.5.5').!==.false);........ |
3ac0 | 20 20 20 20 20 24 62 72 6f 77 73 65 72 5b 27 69 65 35 75 70 27 5d 20 20 20 3d 20 24 62 72 6f 77 | .....$browser['ie5up']...=.$brow |
3ae0 | 73 65 72 5b 27 69 65 34 75 70 27 5d 20 26 26 20 21 24 62 72 6f 77 73 65 72 5b 27 69 65 33 27 5d | ser['ie4up'].&&.!$browser['ie3'] |
3b00 | 20 26 26 20 21 24 62 72 6f 77 73 65 72 5b 27 69 65 34 27 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 | .&&.!$browser['ie4'];........... |
3b20 | 20 20 24 62 72 6f 77 73 65 72 5b 27 69 65 35 5f 35 75 70 27 5d 20 3d 20 24 62 72 6f 77 73 65 72 | ..$browser['ie5_5up'].=.$browser |
3b40 | 5b 27 69 65 35 75 70 27 5d 20 26 26 20 21 24 62 72 6f 77 73 65 72 5b 27 69 65 35 27 5d 3b 0a 20 | ['ie5up'].&&.!$browser['ie5'];.. |
3b60 | 20 20 20 20 20 20 20 20 20 20 20 24 62 72 6f 77 73 65 72 5b 27 69 65 36 27 5d 20 20 20 20 20 3d | ...........$browser['ie6'].....= |
3b80 | 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 6d 73 69 65 20 36 27 29 20 21 3d 3d 20 66 61 6c | .(strpos($agt,.'msie.6').!==.fal |
3ba0 | 73 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 62 72 6f 77 73 65 72 5b 27 69 65 36 75 70 | se);.............$browser['ie6up |
3bc0 | 27 5d 20 20 20 3d 20 24 62 72 6f 77 73 65 72 5b 27 69 65 35 75 70 27 5d 20 26 26 20 21 24 62 72 | ']...=.$browser['ie5up'].&&.!$br |
3be0 | 6f 77 73 65 72 5b 27 69 65 35 27 5d 20 26 26 20 21 24 62 72 6f 77 73 65 72 5b 27 69 65 35 5f 35 | owser['ie5'].&&.!$browser['ie5_5 |
3c00 | 27 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 62 72 6f 77 73 65 72 5b 27 6f 70 65 72 61 27 | '];.............$browser['opera' |
3c20 | 5d 20 20 20 3d 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 6f 70 65 72 61 27 29 20 21 3d 3d | ]...=.(strpos($agt,.'opera').!== |
3c40 | 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 62 72 6f 77 73 65 72 5b 27 6f | .false);.............$browser['o |
3c60 | 70 65 72 61 32 27 5d 20 20 3d 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 6f 70 65 72 61 20 | pera2']..=.(strpos($agt,.'opera. |
3c80 | 32 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7c 7c 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 | 2').!==.false).||.(strpos($agt,. |
3ca0 | 27 6f 70 65 72 61 2f 32 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 20 20 | 'opera/2').!==.false);.......... |
3cc0 | 20 20 20 24 62 72 6f 77 73 65 72 5b 27 6f 70 65 72 61 33 27 5d 20 20 3d 20 28 73 74 72 70 6f 73 | ...$browser['opera3']..=.(strpos |
3ce0 | 28 24 61 67 74 2c 20 27 6f 70 65 72 61 20 33 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7c 7c 20 | ($agt,.'opera.3').!==.false).||. |
3d00 | 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 6f 70 65 72 61 2f 33 27 29 20 21 3d 3d 20 66 61 6c | (strpos($agt,.'opera/3').!==.fal |
3d20 | 73 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 62 72 6f 77 73 65 72 5b 27 6f 70 65 72 61 | se);.............$browser['opera |
3d40 | 34 27 5d 20 20 3d 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 6f 70 65 72 61 20 34 27 29 20 | 4']..=.(strpos($agt,.'opera.4'). |
3d60 | 21 3d 3d 20 66 61 6c 73 65 29 20 7c 7c 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 6f 70 65 | !==.false).||.(strpos($agt,.'ope |
3d80 | 72 61 2f 34 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 | ra/4').!==.false);.............$ |
3da0 | 62 72 6f 77 73 65 72 5b 27 6f 70 65 72 61 35 27 5d 20 20 3d 20 28 73 74 72 70 6f 73 28 24 61 67 | browser['opera5']..=.(strpos($ag |
3dc0 | 74 2c 20 27 6f 70 65 72 61 20 35 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7c 7c 20 28 73 74 72 | t,.'opera.5').!==.false).||.(str |
3de0 | 70 6f 73 28 24 61 67 74 2c 20 27 6f 70 65 72 61 2f 35 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 3b | pos($agt,.'opera/5').!==.false); |
3e00 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 62 72 6f 77 73 65 72 5b 27 6f 70 65 72 61 35 75 70 27 | .............$browser['opera5up' |
3e20 | 5d 20 3d 20 24 62 72 6f 77 73 65 72 5b 27 6f 70 65 72 61 27 5d 20 26 26 20 21 24 62 72 6f 77 73 | ].=.$browser['opera'].&&.!$brows |
3e40 | 65 72 5b 27 6f 70 65 72 61 32 27 5d 20 26 26 20 21 24 62 72 6f 77 73 65 72 5b 27 6f 70 65 72 61 | er['opera2'].&&.!$browser['opera |
3e60 | 33 27 5d 20 26 26 20 21 24 62 72 6f 77 73 65 72 5b 27 6f 70 65 72 61 34 27 5d 3b 0a 0a 20 20 20 | 3'].&&.!$browser['opera4'];..... |
3e80 | 20 20 20 20 20 20 20 20 20 24 62 72 6f 77 73 65 72 5b 27 61 6f 6c 27 5d 20 20 20 3d 20 28 73 74 | .........$browser['aol']...=.(st |
3ea0 | 72 70 6f 73 28 24 61 67 74 2c 20 27 61 6f 6c 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 3b 0a 20 20 | rpos($agt,.'aol').!==.false);... |
3ec0 | 20 20 20 20 20 20 20 20 20 20 24 62 72 6f 77 73 65 72 5b 27 61 6f 6c 33 27 5d 20 20 3d 20 24 62 | ..........$browser['aol3']..=.$b |
3ee0 | 72 6f 77 73 65 72 5b 27 61 6f 6c 27 5d 20 26 26 20 24 62 72 6f 77 73 65 72 5b 27 69 65 33 27 5d | rowser['aol'].&&.$browser['ie3'] |
3f00 | 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 62 72 6f 77 73 65 72 5b 27 61 6f 6c 34 27 5d 20 20 | ;.............$browser['aol4'].. |
3f20 | 3d 20 24 62 72 6f 77 73 65 72 5b 27 61 6f 6c 27 5d 20 26 26 20 24 62 72 6f 77 73 65 72 5b 27 69 | =.$browser['aol'].&&.$browser['i |
3f40 | 65 34 27 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 62 72 6f 77 73 65 72 5b 27 61 6f 6c 35 | e4'];.............$browser['aol5 |
3f60 | 27 5d 20 20 3d 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 61 6f 6c 20 35 27 29 20 21 3d 3d | ']..=.(strpos($agt,.'aol.5').!== |
3f80 | 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 62 72 6f 77 73 65 72 5b 27 61 | .false);.............$browser['a |
3fa0 | 6f 6c 36 27 5d 20 20 3d 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 61 6f 6c 20 36 27 29 20 | ol6']..=.(strpos($agt,.'aol.6'). |
3fc0 | 21 3d 3d 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 62 72 6f 77 73 65 72 | !==.false);.............$browser |
3fe0 | 5b 27 61 6f 6c 37 27 5d 20 20 3d 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 61 6f 6c 20 37 | ['aol7']..=.(strpos($agt,.'aol.7 |
4000 | 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 62 72 6f 77 | ').!==.false);.............$brow |
4020 | 73 65 72 5b 27 77 65 62 74 76 27 5d 20 3d 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 77 65 | ser['webtv'].=.(strpos($agt,.'we |
4040 | 62 74 76 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 3b 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 | btv').!==.false);..............$ |
4060 | 62 72 6f 77 73 65 72 5b 27 61 6f 6c 74 76 27 5d 20 3d 20 24 62 72 6f 77 73 65 72 5b 27 74 76 6e | browser['aoltv'].=.$browser['tvn |
4080 | 61 76 69 67 61 74 6f 72 27 5d 20 3d 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 6e 61 76 69 | avigator'].=.(strpos($agt,.'navi |
40a0 | 6f 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7c 7c 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 | o').!==.false).||.(strpos($agt,. |
40c0 | 27 6e 61 76 69 6f 5f 61 6f 6c 74 76 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 3b 20 0a 20 20 20 20 | 'navio_aoltv').!==.false);...... |
40e0 | 20 20 20 20 20 20 20 20 24 62 72 6f 77 73 65 72 5b 27 68 6f 74 6a 61 76 61 27 5d 20 3d 20 28 73 | ........$browser['hotjava'].=.(s |
4100 | 74 72 70 6f 73 28 24 61 67 74 2c 20 27 68 6f 74 6a 61 76 61 27 29 20 21 3d 3d 20 66 61 6c 73 65 | trpos($agt,.'hotjava').!==.false |
4120 | 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 62 72 6f 77 73 65 72 5b 27 68 6f 74 6a 61 76 61 | );.............$browser['hotjava |
4140 | 33 27 5d 20 3d 20 24 62 72 6f 77 73 65 72 5b 27 68 6f 74 6a 61 76 61 27 5d 20 26 26 20 24 6d 61 | 3'].=.$browser['hotjava'].&&.$ma |
4160 | 6a 6f 72 56 65 72 73 69 6f 6e 20 3d 3d 20 33 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 62 72 | jorVersion.==.3;.............$br |
4180 | 6f 77 73 65 72 5b 27 68 6f 74 6a 61 76 61 33 75 70 27 5d 20 3d 20 24 62 72 6f 77 73 65 72 5b 27 | owser['hotjava3up'].=.$browser[' |
41a0 | 68 6f 74 6a 61 76 61 27 5d 20 26 26 20 24 6d 61 6a 6f 72 56 65 72 73 69 6f 6e 20 3e 3d 20 33 3b | hotjava'].&&.$majorVersion.>=.3; |
41c0 | 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 64 65 74 65 63 74 46 | .........}..........if.($detectF |
41e0 | 6c 61 67 73 5b 4e 45 54 5f 55 53 45 52 41 47 45 4e 54 5f 44 45 54 45 43 54 5f 41 4c 4c 5d 20 7c | lags[NET_USERAGENT_DETECT_ALL].| |
4200 | 7c 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 24 64 65 74 65 63 74 46 6c 61 67 73 5b 4e 45 54 | |..............($detectFlags[NET |
4220 | 5f 55 53 45 52 41 47 45 4e 54 5f 44 45 54 45 43 54 5f 42 52 4f 57 53 45 52 5d 20 26 26 20 24 64 | _USERAGENT_DETECT_BROWSER].&&.$d |
4240 | 65 74 65 63 74 46 6c 61 67 73 5b 4e 45 54 5f 55 53 45 52 41 47 45 4e 54 5f 44 45 54 45 43 54 5f | etectFlags[NET_USERAGENT_DETECT_ |
4260 | 46 45 41 54 55 52 45 53 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 4a 61 76 | FEATURES])).{.............//.Jav |
4280 | 61 73 63 72 69 70 74 20 43 68 65 63 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 62 | ascript.Check.............if.($b |
42a0 | 72 6f 77 73 65 72 5b 27 6e 73 32 27 5d 20 7c 7c 20 24 62 72 6f 77 73 65 72 5b 27 69 65 33 27 5d | rowser['ns2'].||.$browser['ie3'] |
42c0 | 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 65 74 5f 55 73 65 72 41 67 65 6e | ).{.................Net_UserAgen |
42e0 | 74 5f 44 65 74 65 63 74 3a 3a 73 65 74 46 65 61 74 75 72 65 28 27 6a 61 76 61 73 63 72 69 70 74 | t_Detect::setFeature('javascript |
4300 | 27 2c 20 31 2e 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 | ',.1.0);.............}.......... |
4320 | 20 20 20 65 6c 73 65 69 66 20 28 24 62 72 6f 77 73 65 72 5b 27 6f 70 65 72 61 35 75 70 27 5d 29 | ...elseif.($browser['opera5up']) |
4340 | 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 65 74 5f 55 73 65 72 41 67 65 6e 74 | .{.................Net_UserAgent |
4360 | 5f 44 65 74 65 63 74 3a 3a 73 65 74 46 65 61 74 75 72 65 28 27 6a 61 76 61 73 63 72 69 70 74 27 | _Detect::setFeature('javascript' |
4380 | 2c 20 31 2e 33 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 | ,.1.3);.............}........... |
43a0 | 20 20 65 6c 73 65 69 66 20 28 24 62 72 6f 77 73 65 72 5b 27 6f 70 65 72 61 27 5d 20 7c 7c 20 24 | ..elseif.($browser['opera'].||.$ |
43c0 | 62 72 6f 77 73 65 72 5b 27 6e 73 33 27 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | browser['ns3']).{............... |
43e0 | 20 20 4e 65 74 5f 55 73 65 72 41 67 65 6e 74 5f 44 65 74 65 63 74 3a 3a 73 65 74 46 65 61 74 75 | ..Net_UserAgent_Detect::setFeatu |
4400 | 72 65 28 27 6a 61 76 61 73 63 72 69 70 74 27 2c 20 31 2e 31 29 3b 0a 20 20 20 20 20 20 20 20 20 | re('javascript',.1.1);.......... |
4420 | 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 69 66 20 28 28 24 62 72 6f 77 73 | ...}.............elseif.(($brows |
4440 | 65 72 5b 27 6e 73 34 27 5d 20 26 26 20 28 24 76 65 72 73 69 6f 6e 20 3c 3d 20 34 2e 30 35 29 29 | er['ns4'].&&.($version.<=.4.05)) |
4460 | 20 7c 7c 20 24 62 72 6f 77 73 65 72 5b 27 69 65 34 27 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 | .||.$browser['ie4']).{.......... |
4480 | 20 20 20 20 20 20 20 4e 65 74 5f 55 73 65 72 41 67 65 6e 74 5f 44 65 74 65 63 74 3a 3a 73 65 74 | .......Net_UserAgent_Detect::set |
44a0 | 46 65 61 74 75 72 65 28 27 6a 61 76 61 73 63 72 69 70 74 27 2c 20 31 2e 32 29 3b 0a 20 20 20 20 | Feature('javascript',.1.2);..... |
44c0 | 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 69 66 20 28 28 24 | ........}.............elseif.(($ |
44e0 | 62 72 6f 77 73 65 72 5b 27 69 65 35 75 70 27 5d 20 26 26 20 73 74 72 70 6f 73 28 24 61 67 74 2c | browser['ie5up'].&&.strpos($agt, |
4500 | 20 27 6d 61 63 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7c 7c 20 24 62 72 6f 77 73 65 72 5b 27 | .'mac').!==.false).||.$browser[' |
4520 | 6b 6f 6e 71 27 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 65 74 5f 55 73 | konq']).{.................Net_Us |
4540 | 65 72 41 67 65 6e 74 5f 44 65 74 65 63 74 3a 3a 73 65 74 46 65 61 74 75 72 65 28 27 6a 61 76 61 | erAgent_Detect::setFeature('java |
4560 | 73 63 72 69 70 74 27 2c 20 31 2e 34 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 | script',.1.4);.............}.... |
4580 | 20 20 20 20 20 20 20 20 20 2f 2f 20 49 20 63 61 6e 27 74 20 62 65 6c 69 65 76 65 20 49 45 36 20 | .........//.I.can't.believe.IE6. |
45a0 | 73 74 69 6c 6c 20 68 61 73 20 6a 61 76 61 73 63 72 69 70 74 20 31 2e 33 2c 20 77 68 61 74 20 61 | still.has.javascript.1.3,.what.a |
45c0 | 20 73 68 69 74 74 79 20 62 72 6f 77 73 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 | .shitty.browser.............else |
45e0 | 69 66 20 28 28 24 62 72 6f 77 73 65 72 5b 27 6e 73 34 27 5d 20 26 26 20 28 24 76 65 72 73 69 6f | if.(($browser['ns4'].&&.($versio |
4600 | 6e 20 3e 20 34 2e 30 35 29 29 20 7c 7c 20 24 62 72 6f 77 73 65 72 5b 27 69 65 35 75 70 27 5d 20 | n.>.4.05)).||.$browser['ie5up']. |
4620 | 7c 7c 20 24 62 72 6f 77 73 65 72 5b 27 68 6f 74 6a 61 76 61 33 75 70 27 5d 29 20 7b 0a 20 20 20 | ||.$browser['hotjava3up']).{.... |
4640 | 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 65 74 5f 55 73 65 72 41 67 65 6e 74 5f 44 65 74 65 63 | .............Net_UserAgent_Detec |
4660 | 74 3a 3a 73 65 74 46 65 61 74 75 72 65 28 27 6a 61 76 61 73 63 72 69 70 74 27 2c 20 31 2e 33 29 | t::setFeature('javascript',.1.3) |
4680 | 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 | ;.............}.............else |
46a0 | 69 66 20 28 24 62 72 6f 77 73 65 72 5b 27 6e 73 36 75 70 27 5d 20 7c 7c 20 24 62 72 6f 77 73 65 | if.($browser['ns6up'].||.$browse |
46c0 | 72 5b 27 67 65 63 6b 6f 27 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 65 | r['gecko']).{.................Ne |
46e0 | 74 5f 55 73 65 72 41 67 65 6e 74 5f 44 65 74 65 63 74 3a 3a 73 65 74 46 65 61 74 75 72 65 28 27 | t_UserAgent_Detect::setFeature(' |
4700 | 6a 61 76 61 73 63 72 69 70 74 27 2c 20 31 2e 35 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d | javascript',.1.5);.............} |
4720 | 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 2f 2a 2a 20 | .........}................../**. |
4740 | 4f 53 20 43 68 65 63 6b 20 2a 2a 2f 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 64 65 74 65 63 74 | OS.Check.**/.........if.($detect |
4760 | 46 6c 61 67 73 5b 4e 45 54 5f 55 53 45 52 41 47 45 4e 54 5f 44 45 54 45 43 54 5f 41 4c 4c 5d 20 | Flags[NET_USERAGENT_DETECT_ALL]. |
4780 | 7c 7c 20 24 64 65 74 65 63 74 46 6c 61 67 73 5b 4e 45 54 5f 55 53 45 52 41 47 45 4e 54 5f 44 45 | ||.$detectFlags[NET_USERAGENT_DE |
47a0 | 54 45 43 54 5f 4f 53 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 73 5b 27 77 69 6e | TECT_OS]).{.............$os['win |
47c0 | 27 5d 20 20 20 3d 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 77 69 6e 27 29 20 21 3d 3d 20 | ']...=.(strpos($agt,.'win').!==. |
47e0 | 66 61 6c 73 65 29 20 7c 7c 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 31 36 62 69 74 27 29 | false).||.(strpos($agt,.'16bit') |
4800 | 20 21 3d 3d 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 73 5b 27 77 69 | .!==.false);.............$os['wi |
4820 | 6e 39 35 27 5d 20 3d 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 77 69 6e 39 35 27 29 20 21 | n95'].=.(strpos($agt,.'win95').! |
4840 | 3d 3d 20 66 61 6c 73 65 29 20 7c 7c 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 77 69 6e 64 | ==.false).||.(strpos($agt,.'wind |
4860 | 6f 77 73 20 39 35 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 | ows.95').!==.false);............ |
4880 | 20 24 6f 73 5b 27 77 69 6e 31 36 27 5d 20 3d 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 77 | .$os['win16'].=.(strpos($agt,.'w |
48a0 | 69 6e 31 36 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7c 7c 20 28 73 74 72 70 6f 73 28 24 61 67 | in16').!==.false).||.(strpos($ag |
48c0 | 74 2c 20 27 31 36 62 69 74 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7c 7c 20 28 73 74 72 70 6f | t,.'16bit').!==.false).||.(strpo |
48e0 | 73 28 24 61 67 74 2c 20 27 77 69 6e 64 6f 77 73 20 33 2e 31 27 29 20 21 3d 3d 20 66 61 6c 73 65 | s($agt,.'windows.3.1').!==.false |
4900 | 29 20 7c 7c 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 77 69 6e 64 6f 77 73 20 31 36 2d 62 | ).||.(strpos($agt,.'windows.16-b |
4920 | 69 74 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 3b 20 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 | it').!==.false);...............$ |
4940 | 6f 73 5b 27 77 69 6e 33 31 27 5d 20 3d 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 77 69 6e | os['win31'].=.(strpos($agt,.'win |
4960 | 64 6f 77 73 20 33 2e 31 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7c 7c 20 28 73 74 72 70 6f 73 | dows.3.1').!==.false).||.(strpos |
4980 | 28 24 61 67 74 2c 20 27 77 69 6e 31 36 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7c 7c 20 28 73 | ($agt,.'win16').!==.false).||.(s |
49a0 | 74 72 70 6f 73 28 24 61 67 74 2c 20 27 77 69 6e 64 6f 77 73 20 31 36 2d 62 69 74 27 29 20 21 3d | trpos($agt,.'windows.16-bit').!= |
49c0 | 3d 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 73 5b 27 77 69 6e 6d 65 | =.false);.............$os['winme |
49e0 | 27 5d 20 3d 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 77 69 6e 20 39 78 20 34 2e 39 30 27 | '].=.(strpos($agt,.'win.9x.4.90' |
4a00 | 29 20 21 3d 3d 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 73 5b 27 77 | ).!==.false);.............$os['w |
4a20 | 69 6e 32 6b 27 5d 20 3d 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 77 69 6e 64 6f 77 73 20 | in2k'].=.(strpos($agt,.'windows. |
4a40 | 6e 74 20 35 2e 30 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 | nt.5.0').!==.false);............ |
4a60 | 20 24 6f 73 5b 27 77 69 6e 78 70 27 5d 20 3d 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 77 | .$os['winxp'].=.(strpos($agt,.'w |
4a80 | 69 6e 64 6f 77 73 20 6e 74 20 35 2e 31 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 | indows.nt.5.1').!==.false);..... |
4aa0 | 20 20 20 20 20 20 20 20 24 6f 73 5b 27 77 69 6e 39 38 27 5d 20 3d 20 28 73 74 72 70 6f 73 28 24 | ........$os['win98'].=.(strpos($ |
4ac0 | 61 67 74 2c 20 27 77 69 6e 39 38 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7c 7c 20 28 73 74 72 | agt,.'win98').!==.false).||.(str |
4ae0 | 70 6f 73 28 24 61 67 74 2c 20 27 77 69 6e 64 6f 77 73 20 39 38 27 29 20 21 3d 3d 20 66 61 6c 73 | pos($agt,.'windows.98').!==.fals |
4b00 | 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 73 5b 27 77 69 6e 39 78 27 5d 20 3d 20 24 | e);.............$os['win9x'].=.$ |
4b20 | 6f 73 5b 27 77 69 6e 39 35 27 5d 20 7c 7c 20 24 6f 73 5b 27 77 69 6e 39 38 27 5d 3b 0a 20 20 20 | os['win95'].||.$os['win98'];.... |
4b40 | 20 20 20 20 20 20 20 20 20 24 6f 73 5b 27 77 69 6e 6e 74 27 5d 20 3d 20 28 28 73 74 72 70 6f 73 | .........$os['winnt'].=.((strpos |
4b60 | 28 24 61 67 74 2c 20 27 77 69 6e 6e 74 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7c 7c 20 28 73 | ($agt,.'winnt').!==.false).||.(s |
4b80 | 74 72 70 6f 73 28 24 61 67 74 2c 20 27 77 69 6e 64 6f 77 73 20 6e 74 27 29 20 21 3d 3d 20 66 61 | trpos($agt,.'windows.nt').!==.fa |
4ba0 | 6c 73 65 29 29 20 26 26 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 77 69 6e 64 6f 77 73 20 | lse)).&&.(strpos($agt,.'windows. |
4bc0 | 6e 74 20 35 27 29 20 3d 3d 3d 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 | nt.5').===.false);.............$ |
4be0 | 6f 73 5b 27 77 69 6e 33 32 27 5d 20 3d 20 24 6f 73 5b 27 77 69 6e 39 35 27 5d 20 7c 7c 20 24 6f | os['win32'].=.$os['win95'].||.$o |
4c00 | 73 5b 27 77 69 6e 6e 74 27 5d 20 7c 7c 20 24 6f 73 5b 27 77 69 6e 39 38 27 5d 20 7c 7c 20 24 6d | s['winnt'].||.$os['win98'].||.$m |
4c20 | 61 6a 6f 72 56 65 72 73 69 6f 6e 20 3e 3d 20 34 20 26 26 20 28 73 74 72 70 6f 73 28 24 61 67 74 | ajorVersion.>=.4.&&.(strpos($agt |
4c40 | 2c 20 27 77 69 6e 33 32 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7c 7c 20 28 73 74 72 70 6f 73 | ,.'win32').!==.false).||.(strpos |
4c60 | 28 24 61 67 74 2c 20 27 33 32 62 69 74 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 | ($agt,.'32bit').!==.false);..... |
4c80 | 20 20 20 20 20 20 20 20 24 6f 73 5b 27 6f 73 32 27 5d 20 20 20 3d 20 28 73 74 72 70 6f 73 28 24 | ........$os['os2']...=.(strpos($ |
4ca0 | 61 67 74 2c 20 27 6f 73 2f 32 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7c 7c 20 28 73 74 72 70 | agt,.'os/2').!==.false).||.(strp |
4cc0 | 6f 73 28 24 61 67 74 2c 20 27 69 62 6d 2d 77 65 62 65 78 70 6c 6f 72 65 72 27 29 20 21 3d 3d 20 | os($agt,.'ibm-webexplorer').!==. |
4ce0 | 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 73 5b 27 6d 61 63 27 5d 20 20 | false);.............$os['mac'].. |
4d00 | 20 3d 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 6d 61 63 27 29 20 21 3d 3d 20 66 61 6c 73 | .=.(strpos($agt,.'mac').!==.fals |
4d20 | 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 73 5b 27 6d 61 63 36 38 6b 27 5d 20 20 20 | e);.............$os['mac68k']... |
4d40 | 3d 20 24 6f 73 5b 27 6d 61 63 27 5d 20 26 26 20 28 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 | =.$os['mac'].&&.((strpos($agt,.' |
4d60 | 36 38 6b 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7c 7c 20 28 73 74 72 70 6f 73 28 24 61 67 74 | 68k').!==.false).||.(strpos($agt |
4d80 | 2c 20 27 36 38 30 30 30 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 29 3b 0a 20 20 20 20 20 20 20 20 | ,.'68000').!==.false));......... |
4da0 | 20 20 20 20 24 6f 73 5b 27 6d 61 63 70 70 63 27 5d 20 20 20 3d 20 24 6f 73 5b 27 6d 61 63 27 5d | ....$os['macppc']...=.$os['mac'] |
4dc0 | 20 26 26 20 28 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 70 70 63 27 29 20 21 3d 3d 20 66 61 | .&&.((strpos($agt,.'ppc').!==.fa |
4de0 | 6c 73 65 29 20 7c 7c 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 70 6f 77 65 72 70 63 27 29 | lse).||.(strpos($agt,.'powerpc') |
4e00 | 20 21 3d 3d 20 66 61 6c 73 65 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 73 5b 27 73 | .!==.false));.............$os['s |
4e20 | 75 6e 27 5d 20 20 20 20 20 20 3d 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 73 75 6e 6f 73 | un']......=.(strpos($agt,.'sunos |
4e40 | 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 73 5b 27 | ').!==.false);.............$os[' |
4e60 | 73 75 6e 34 27 5d 20 20 20 20 20 3d 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 73 75 6e 6f | sun4'].....=.(strpos($agt,.'suno |
4e80 | 73 20 34 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f | s.4').!==.false);.............$o |
4ea0 | 73 5b 27 73 75 6e 35 27 5d 20 20 20 20 20 3d 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 73 | s['sun5'].....=.(strpos($agt,.'s |
4ec0 | 75 6e 6f 73 20 35 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 | unos.5').!==.false);............ |
4ee0 | 20 24 6f 73 5b 27 73 75 6e 69 38 36 27 5d 20 20 20 3d 20 24 6f 73 5b 27 73 75 6e 27 5d 20 26 26 | .$os['suni86']...=.$os['sun'].&& |
4f00 | 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 69 38 36 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 | .(strpos($agt,.'i86').!==.false) |
4f20 | 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 73 5b 27 69 72 69 78 27 5d 20 20 20 20 20 3d 20 | ;.............$os['irix'].....=. |
4f40 | 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 69 72 69 78 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 | (strpos($agt,.'irix').!==.false) |
4f60 | 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 73 5b 27 69 72 69 78 35 27 5d 20 20 20 20 3d 20 | ;.............$os['irix5']....=. |
4f80 | 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 69 72 69 78 20 35 27 29 20 21 3d 3d 20 66 61 6c 73 | (strpos($agt,.'irix.5').!==.fals |
4fa0 | 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 73 5b 27 69 72 69 78 36 27 5d 20 20 20 20 | e);.............$os['irix6'].... |
4fc0 | 3d 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 69 72 69 78 20 36 27 29 20 21 3d 3d 20 66 61 | =.(strpos($agt,.'irix.6').!==.fa |
4fe0 | 6c 73 65 29 20 7c 7c 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 69 72 69 78 36 27 29 20 21 | lse).||.(strpos($agt,.'irix6').! |
5000 | 3d 3d 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 73 5b 27 68 70 75 78 | ==.false);.............$os['hpux |
5020 | 27 5d 20 20 20 20 20 3d 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 68 70 2d 75 78 27 29 20 | '].....=.(strpos($agt,.'hp-ux'). |
5040 | 21 3d 3d 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 73 5b 27 68 70 75 | !==.false);.............$os['hpu |
5060 | 78 39 27 5d 20 20 20 20 3d 20 24 6f 73 5b 27 68 70 75 78 27 5d 20 26 26 20 28 73 74 72 70 6f 73 | x9']....=.$os['hpux'].&&.(strpos |
5080 | 28 24 61 67 74 2c 20 27 30 39 2e 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 | ($agt,.'09.').!==.false);....... |
50a0 | 20 20 20 20 20 20 24 6f 73 5b 27 68 70 75 78 31 30 27 5d 20 20 20 3d 20 24 6f 73 5b 27 68 70 75 | ......$os['hpux10']...=.$os['hpu |
50c0 | 78 27 5d 20 26 26 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 31 30 2e 27 29 20 21 3d 3d 20 | x'].&&.(strpos($agt,.'10.').!==. |
50e0 | 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 73 5b 27 61 69 78 27 5d 20 20 | false);.............$os['aix'].. |
5100 | 20 20 20 20 3d 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 61 69 78 27 29 20 21 3d 3d 20 66 | ....=.(strpos($agt,.'aix').!==.f |
5120 | 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 73 5b 27 61 69 78 31 27 5d 20 20 | alse);.............$os['aix1'].. |
5140 | 20 20 20 3d 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 61 69 78 20 31 27 29 20 21 3d 3d 20 | ...=.(strpos($agt,.'aix.1').!==. |
5160 | 66 61 6c 73 65 29 3b 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 73 5b 27 61 69 78 | false);.................$os['aix |
5180 | 32 27 5d 20 20 20 20 20 3d 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 61 69 78 20 32 27 29 | 2'].....=.(strpos($agt,.'aix.2') |
51a0 | 20 21 3d 3d 20 66 61 6c 73 65 29 3b 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 73 | .!==.false);.................$os |
51c0 | 5b 27 61 69 78 33 27 5d 20 20 20 20 20 3d 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 61 69 | ['aix3'].....=.(strpos($agt,.'ai |
51e0 | 78 20 33 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 3b 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 20 | x.3').!==.false);............... |
5200 | 20 20 24 6f 73 5b 27 61 69 78 34 27 5d 20 20 20 20 20 3d 20 28 73 74 72 70 6f 73 28 24 61 67 74 | ..$os['aix4'].....=.(strpos($agt |
5220 | 2c 20 27 61 69 78 20 34 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 3b 20 20 20 20 0a 20 20 20 20 20 | ,.'aix.4').!==.false);.......... |
5240 | 20 20 20 20 20 20 20 24 6f 73 5b 27 6c 69 6e 75 78 27 5d 20 20 20 20 3d 20 28 73 74 72 70 6f 73 | .......$os['linux']....=.(strpos |
5260 | 28 24 61 67 74 2c 20 27 69 6e 75 78 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 | ($agt,.'inux').!==.false);...... |
5280 | 20 20 20 20 20 20 20 24 6f 73 5b 27 73 63 6f 27 5d 20 20 20 20 20 20 3d 20 28 73 74 72 70 6f 73 | .......$os['sco']......=.(strpos |
52a0 | 28 24 61 67 74 2c 20 27 73 63 6f 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7c 7c 20 28 73 74 72 | ($agt,.'sco').!==.false).||.(str |
52c0 | 70 6f 73 28 24 61 67 74 2c 20 27 75 6e 69 78 5f 73 76 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 3b | pos($agt,.'unix_sv').!==.false); |
52e0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 73 5b 27 75 6e 69 78 77 61 72 65 27 5d 20 3d 20 28 | .............$os['unixware'].=.( |
5300 | 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 75 6e 69 78 5f 73 79 73 74 65 6d 5f 76 27 29 20 21 3d | strpos($agt,.'unix_system_v').!= |
5320 | 3d 20 66 61 6c 73 65 29 3b 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 73 5b 27 6d 70 72 61 | =.false);..............$os['mpra |
5340 | 73 27 5d 20 20 20 20 3d 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 6e 63 72 27 29 20 21 3d | s']....=.(strpos($agt,.'ncr').!= |
5360 | 3d 20 66 61 6c 73 65 29 3b 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 73 5b 27 72 65 6c 69 | =.false);..............$os['reli |
5380 | 61 6e 74 27 5d 20 20 3d 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 72 65 6c 69 61 6e 74 27 | ant']..=.(strpos($agt,.'reliant' |
53a0 | 29 20 21 3d 3d 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 73 5b 27 64 | ).!==.false);.............$os['d |
53c0 | 65 63 27 5d 20 20 20 20 20 20 3d 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 64 65 63 27 29 | ec']......=.(strpos($agt,.'dec') |
53e0 | 20 21 3d 3d 20 66 61 6c 73 65 29 20 7c 7c 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 6f 73 | .!==.false).||.(strpos($agt,.'os |
5400 | 66 31 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7c 7c 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c | f1').!==.false).||.(strpos($agt, |
5420 | 20 27 64 65 63 5f 61 6c 70 68 61 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7c 7c 20 28 73 74 72 | .'dec_alpha').!==.false).||.(str |
5440 | 70 6f 73 28 24 61 67 74 2c 20 27 61 6c 70 68 61 73 65 72 76 65 72 27 29 20 21 3d 3d 20 66 61 6c | pos($agt,.'alphaserver').!==.fal |
5460 | 73 65 29 20 7c 7c 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 75 6c 74 72 69 78 27 29 20 21 | se).||.(strpos($agt,.'ultrix').! |
5480 | 3d 3d 20 66 61 6c 73 65 29 20 7c 7c 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 61 6c 70 68 | ==.false).||.(strpos($agt,.'alph |
54a0 | 61 73 74 61 74 69 6f 6e 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 20 20 | astation').!==.false);.......... |
54c0 | 20 20 20 24 6f 73 5b 27 73 69 6e 69 78 27 5d 20 20 20 20 3d 20 28 73 74 72 70 6f 73 28 24 61 67 | ...$os['sinix']....=.(strpos($ag |
54e0 | 74 2c 20 27 73 69 6e 69 78 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 20 | t,.'sinix').!==.false);......... |
5500 | 20 20 20 20 24 6f 73 5b 27 66 72 65 65 62 73 64 27 5d 20 20 3d 20 28 73 74 72 70 6f 73 28 24 61 | ....$os['freebsd']..=.(strpos($a |
5520 | 67 74 2c 20 27 66 72 65 65 62 73 64 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 | gt,.'freebsd').!==.false);...... |
5540 | 20 20 20 20 20 20 20 24 6f 73 5b 27 62 73 64 27 5d 20 20 20 20 20 20 3d 20 28 73 74 72 70 6f 73 | .......$os['bsd']......=.(strpos |
5560 | 28 24 61 67 74 2c 20 27 62 73 64 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 | ($agt,.'bsd').!==.false);....... |
5580 | 20 20 20 20 20 20 24 6f 73 5b 27 75 6e 69 78 27 5d 20 20 20 20 20 3d 20 28 73 74 72 70 6f 73 28 | ......$os['unix'].....=.(strpos( |
55a0 | 24 61 67 74 2c 20 27 78 31 31 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7c 7c 20 28 73 74 72 70 | $agt,.'x11').!==.false).||.(strp |
55c0 | 6f 73 28 24 61 67 74 2c 20 27 75 6e 69 78 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7c 7c 20 24 | os($agt,.'unix').!==.false).||.$ |
55e0 | 6f 73 5b 27 73 75 6e 27 5d 20 7c 7c 20 24 6f 73 5b 27 69 72 69 78 27 5d 20 7c 7c 20 24 6f 73 5b | os['sun'].||.$os['irix'].||.$os[ |
5600 | 27 68 70 75 78 27 5d 20 7c 7c 20 24 6f 73 5b 27 73 63 6f 27 5d 20 7c 7c 20 24 6f 73 5b 27 75 6e | 'hpux'].||.$os['sco'].||.$os['un |
5620 | 69 78 77 61 72 65 27 5d 20 7c 7c 20 24 6f 73 5b 27 6d 70 72 61 73 27 5d 20 7c 7c 20 24 6f 73 5b | ixware'].||.$os['mpras'].||.$os[ |
5640 | 27 72 65 6c 69 61 6e 74 27 5d 20 7c 7c 20 24 6f 73 5b 27 64 65 63 27 5d 20 7c 7c 20 24 6f 73 5b | 'reliant'].||.$os['dec'].||.$os[ |
5660 | 27 73 69 6e 69 78 27 5d 20 7c 7c 20 24 6f 73 5b 27 61 69 78 27 5d 20 7c 7c 20 24 6f 73 5b 27 6c | 'sinix'].||.$os['aix'].||.$os['l |
5680 | 69 6e 75 78 27 5d 20 7c 7c 20 24 6f 73 5b 27 62 73 64 27 5d 20 7c 7c 20 24 6f 73 5b 27 66 72 65 | inux'].||.$os['bsd'].||.$os['fre |
56a0 | 65 62 73 64 27 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 73 5b 27 76 6d 73 27 5d 20 20 | ebsd'];.............$os['vms'].. |
56c0 | 20 20 20 20 3d 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 76 61 78 27 29 20 21 3d 3d 20 66 | ....=.(strpos($agt,.'vax').!==.f |
56e0 | 61 6c 73 65 29 20 7c 7c 20 28 73 74 72 70 6f 73 28 24 61 67 74 2c 20 27 6f 70 65 6e 76 6d 73 27 | alse).||.(strpos($agt,.'openvms' |
5700 | 29 20 21 3d 3d 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 | ).!==.false);.........}......... |
5720 | 20 2f 2f 20 53 65 74 75 70 20 74 68 65 20 71 75 69 72 6b 73 0a 20 20 20 20 20 20 20 20 69 66 20 | .//.Setup.the.quirks.........if. |
5740 | 28 24 64 65 74 65 63 74 46 6c 61 67 73 5b 4e 45 54 5f 55 53 45 52 41 47 45 4e 54 5f 44 45 54 45 | ($detectFlags[NET_USERAGENT_DETE |
5760 | 43 54 5f 41 4c 4c 5d 20 7c 7c 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 24 64 65 74 65 63 74 | CT_ALL].||..............($detect |
5780 | 46 6c 61 67 73 5b 4e 45 54 5f 55 53 45 52 41 47 45 4e 54 5f 44 45 54 45 43 54 5f 42 52 4f 57 53 | Flags[NET_USERAGENT_DETECT_BROWS |
57a0 | 45 52 5d 20 26 26 20 24 64 65 74 65 63 74 46 6c 61 67 73 5b 4e 45 54 5f 55 53 45 52 41 47 45 4e | ER].&&.$detectFlags[NET_USERAGEN |
57c0 | 54 5f 44 45 54 45 43 54 5f 51 55 49 52 4b 53 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 | T_DETECT_QUIRKS])).{............ |
57e0 | 20 69 66 20 28 24 62 72 6f 77 73 65 72 5b 27 6b 6f 6e 71 27 5d 29 20 7b 0a 20 20 20 20 20 20 20 | .if.($browser['konq']).{........ |
5800 | 20 20 20 20 20 20 20 20 20 4e 65 74 5f 55 73 65 72 41 67 65 6e 74 5f 44 65 74 65 63 74 3a 3a 73 | .........Net_UserAgent_Detect::s |
5820 | 65 74 51 75 69 72 6b 28 27 65 6d 70 74 79 5f 66 69 6c 65 5f 69 6e 70 75 74 5f 76 61 6c 75 65 27 | etQuirk('empty_file_input_value' |
5840 | 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 | );.............}..............if |
5860 | 20 28 24 62 72 6f 77 73 65 72 5b 27 69 65 27 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 | .($browser['ie']).{............. |
5880 | 20 20 20 20 4e 65 74 5f 55 73 65 72 41 67 65 6e 74 5f 44 65 74 65 63 74 3a 3a 73 65 74 51 75 69 | ....Net_UserAgent_Detect::setQui |
58a0 | 72 6b 28 27 63 61 63 68 65 5f 73 73 6c 5f 64 6f 77 6e 6c 6f 61 64 73 27 29 3b 0a 20 20 20 20 20 | rk('cache_ssl_downloads');...... |
58c0 | 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 62 72 6f 77 73 | .......}..............if.($brows |
58e0 | 65 72 5b 27 69 65 36 27 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 65 74 | er['ie6']).{.................Net |
5900 | 5f 55 73 65 72 41 67 65 6e 74 5f 44 65 74 65 63 74 3a 3a 73 65 74 51 75 69 72 6b 28 27 73 63 72 | _UserAgent_Detect::setQuirk('scr |
5920 | 6f 6c 6c 62 61 72 5f 69 6e 5f 77 61 79 27 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a | ollbar_in_way');.............}.. |
5940 | 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 62 72 6f 77 73 65 72 5b 27 69 65 35 27 5d 29 | ............if.($browser['ie5']) |
5960 | 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 65 74 5f 55 73 65 72 41 67 65 6e 74 | .{.................Net_UserAgent |
5980 | 5f 44 65 74 65 63 74 3a 3a 73 65 74 51 75 69 72 6b 28 27 62 72 65 61 6b 5f 64 69 73 70 6f 73 69 | _Detect::setQuirk('break_disposi |
59a0 | 74 69 6f 6e 5f 68 65 61 64 65 72 27 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 | tion_header');.............}.... |
59c0 | 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 62 72 6f 77 73 65 72 5b 27 6e 73 36 27 5d 29 20 7b | ..........if.($browser['ns6']).{ |
59e0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 65 74 5f 55 73 65 72 41 67 65 6e 74 5f 44 | .................Net_UserAgent_D |
5a00 | 65 74 65 63 74 3a 3a 73 65 74 51 75 69 72 6b 28 27 70 6f 70 75 70 73 5f 64 69 73 61 62 6c 65 64 | etect::setQuirk('popups_disabled |
5a20 | 27 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 65 74 5f 55 73 65 72 41 67 65 6e | ');.................Net_UserAgen |
5a40 | 74 5f 44 65 74 65 63 74 3a 3a 73 65 74 51 75 69 72 6b 28 27 6d 75 73 74 5f 63 61 63 68 65 5f 66 | t_Detect::setQuirk('must_cache_f |
5a60 | 6f 72 6d 73 27 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 | orms');.............}........... |
5a80 | 20 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 62 72 6f 77 73 65 72 5b 27 6e 61 76 | ...............if.($browser['nav |
5aa0 | 27 5d 20 26 26 20 24 73 75 62 56 65 72 73 69 6f 6e 20 3c 20 2e 37 39 29 20 7b 0a 20 20 20 20 20 | '].&&.$subVersion.<..79).{...... |
5ac0 | 20 20 20 20 20 20 20 20 20 20 20 4e 65 74 5f 55 73 65 72 41 67 65 6e 74 5f 44 65 74 65 63 74 3a | ...........Net_UserAgent_Detect: |
5ae0 | 3a 73 65 74 51 75 69 72 6b 28 27 6e 65 73 74 65 64 5f 74 61 62 6c 65 5f 72 65 6e 64 65 72 5f 62 | :setQuirk('nested_table_render_b |
5b00 | 75 67 27 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 | ug');.............}.........}... |
5b20 | 20 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 2f 2f 20 53 65 74 20 66 65 61 74 75 72 | ...................//.Set.featur |
5b40 | 65 73 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 64 65 74 65 63 74 46 6c 61 67 73 5b 4e 45 54 5f | es.........if.($detectFlags[NET_ |
5b60 | 55 53 45 52 41 47 45 4e 54 5f 44 45 54 45 43 54 5f 41 4c 4c 5d 20 7c 7c 20 0a 20 20 20 20 20 20 | USERAGENT_DETECT_ALL].||........ |
5b80 | 20 20 20 20 20 20 28 24 64 65 74 65 63 74 46 6c 61 67 73 5b 4e 45 54 5f 55 53 45 52 41 47 45 4e | ......($detectFlags[NET_USERAGEN |
5ba0 | 54 5f 44 45 54 45 43 54 5f 42 52 4f 57 53 45 52 5d 20 26 26 20 24 64 65 74 65 63 74 46 6c 61 67 | T_DETECT_BROWSER].&&.$detectFlag |
5bc0 | 73 5b 4e 45 54 5f 55 53 45 52 41 47 45 4e 54 5f 44 45 54 45 43 54 5f 46 45 41 54 55 52 45 53 5d | s[NET_USERAGENT_DETECT_FEATURES] |
5be0 | 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 62 72 6f 77 73 65 72 5b 27 67 | )).{.............if.($browser['g |
5c00 | 65 63 6b 6f 27 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 65 67 5f 6d | ecko']).{.................preg_m |
5c20 | 61 74 63 68 28 27 3b 67 65 63 6b 6f 2f 28 5b 5c 64 5d 2b 29 5c 62 3b 69 27 2c 20 24 61 67 74 2c | atch(';gecko/([\d]+)\b;i',.$agt, |
5c40 | 20 24 6d 61 74 63 68 65 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 65 74 5f | .$matches);.................Net_ |
5c60 | 55 73 65 72 41 67 65 6e 74 5f 44 65 74 65 63 74 3a 3a 73 65 74 46 65 61 74 75 72 65 28 27 67 65 | UserAgent_Detect::setFeature('ge |
5c80 | 63 6b 6f 27 2c 20 24 6d 61 74 63 68 65 73 5b 31 5d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 | cko',.$matches[1]);............. |
5ca0 | 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 62 72 6f 77 73 65 72 5b 27 6e 73 36 | }..............if.($browser['ns6 |
5cc0 | 75 70 27 5d 20 7c 7c 20 24 62 72 6f 77 73 65 72 5b 27 6f 70 65 72 61 35 75 70 27 5d 20 7c 7c 20 | up'].||.$browser['opera5up'].||. |
5ce0 | 24 62 72 6f 77 73 65 72 5b 27 6b 6f 6e 71 27 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 | $browser['konq']).{............. |
5d00 | 20 20 20 20 4e 65 74 5f 55 73 65 72 41 67 65 6e 74 5f 44 65 74 65 63 74 3a 3a 73 65 74 46 65 61 | ....Net_UserAgent_Detect::setFea |
5d20 | 74 75 72 65 28 27 64 6f 6d 27 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 | ture('dom');.............}...... |
5d40 | 20 20 20 20 20 20 20 20 69 66 20 28 24 62 72 6f 77 73 65 72 5b 27 69 65 34 75 70 27 5d 20 7c 7c | ........if.($browser['ie4up'].|| |
5d60 | 20 24 62 72 6f 77 73 65 72 5b 27 6e 73 34 75 70 27 5d 20 7c 7c 20 24 62 72 6f 77 73 65 72 5b 27 | .$browser['ns4up'].||.$browser[' |
5d80 | 6f 70 65 72 61 35 75 70 27 5d 20 7c 7c 20 24 62 72 6f 77 73 65 72 5b 27 6b 6f 6e 71 27 5d 29 20 | opera5up'].||.$browser['konq']). |
5da0 | 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 65 74 5f 55 73 65 72 41 67 65 6e 74 5f | {.................Net_UserAgent_ |
5dc0 | 44 65 74 65 63 74 3a 3a 73 65 74 46 65 61 74 75 72 65 28 27 64 68 74 6d 6c 27 29 3b 0a 20 20 20 | Detect::setFeature('dhtml');.... |
5de0 | 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 | .........}.........}..........if |
5e00 | 20 28 24 64 65 74 65 63 74 46 6c 61 67 73 5b 4e 45 54 5f 55 53 45 52 41 47 45 4e 54 5f 44 45 54 | .($detectFlags[NET_USERAGENT_DET |
5e20 | 45 43 54 5f 41 4c 4c 5d 20 7c 7c 20 24 64 65 74 65 63 74 46 6c 61 67 73 5b 4e 45 54 5f 55 53 45 | ECT_ALL].||.$detectFlags[NET_USE |
5e40 | 52 41 47 45 4e 54 5f 44 45 54 45 43 54 5f 41 43 43 45 50 54 5d 29 20 7b 0a 20 20 20 20 20 20 20 | RAGENT_DETECT_ACCEPT]).{........ |
5e60 | 20 20 20 20 20 24 6d 69 6d 65 74 79 70 65 73 20 3d 20 70 72 65 67 5f 73 70 6c 69 74 28 27 3b 5b | .....$mimetypes.=.preg_split(';[ |
5e80 | 5c 73 2c 5d 2b 3b 27 2c 20 73 75 62 73 74 72 28 67 65 74 65 6e 76 28 27 48 54 54 50 5f 41 43 43 | \s,]+;',.substr(getenv('HTTP_ACC |
5ea0 | 45 50 54 27 29 2c 20 30 2c 20 73 74 72 70 6f 73 28 67 65 74 65 6e 76 28 27 48 54 54 50 5f 41 43 | EPT'),.0,.strpos(getenv('HTTP_AC |
5ec0 | 43 45 50 54 27 29 20 2e 20 27 3b 27 2c 20 27 3b 27 29 29 2c 20 2d 31 2c 20 50 52 45 47 5f 53 50 | CEPT')...';',.';')),.-1,.PREG_SP |
5ee0 | 4c 49 54 5f 4e 4f 5f 45 4d 50 54 59 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 4e 65 74 5f 55 | LIT_NO_EMPTY);.............Net_U |
5f00 | 73 65 72 41 67 65 6e 74 5f 44 65 74 65 63 74 3a 3a 73 65 74 41 63 63 65 70 74 54 79 70 65 28 28 | serAgent_Detect::setAcceptType(( |
5f20 | 61 72 72 61 79 29 20 24 6d 69 6d 65 74 79 70 65 73 2c 20 27 6d 69 6d 65 74 79 70 65 27 29 3b 0a | array).$mimetypes,.'mimetype');. |
5f40 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 61 6e 67 75 61 67 65 73 20 3d 20 70 72 65 67 5f 73 | .............$languages.=.preg_s |
5f60 | 70 6c 69 74 28 27 3b 5b 5c 73 2c 5d 2b 3b 27 2c 20 73 75 62 73 74 72 28 67 65 74 65 6e 76 28 27 | plit(';[\s,]+;',.substr(getenv(' |
5f80 | 48 54 54 50 5f 41 43 43 45 50 54 5f 4c 41 4e 47 55 41 47 45 27 29 2c 20 30 2c 20 73 74 72 70 6f | HTTP_ACCEPT_LANGUAGE'),.0,.strpo |
5fa0 | 73 28 67 65 74 65 6e 76 28 27 48 54 54 50 5f 41 43 43 45 50 54 5f 4c 41 4e 47 55 41 47 45 27 29 | s(getenv('HTTP_ACCEPT_LANGUAGE') |
5fc0 | 20 2e 20 27 3b 27 2c 20 27 3b 27 29 29 2c 20 2d 31 2c 20 50 52 45 47 5f 53 50 4c 49 54 5f 4e 4f | ...';',.';')),.-1,.PREG_SPLIT_NO |
5fe0 | 5f 45 4d 50 54 59 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 65 6d 70 74 79 28 24 | _EMPTY);.............if.(empty($ |
6000 | 6c 61 6e 67 75 61 67 65 73 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6c | languages)).{.................$l |
6020 | 61 6e 67 75 61 67 65 73 20 3d 20 27 65 6e 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a | anguages.=.'en';.............}.. |
6040 | 20 20 20 20 20 20 20 20 20 20 20 20 4e 65 74 5f 55 73 65 72 41 67 65 6e 74 5f 44 65 74 65 63 74 | ............Net_UserAgent_Detect |
6060 | 3a 3a 73 65 74 41 63 63 65 70 74 54 79 70 65 28 28 61 72 72 61 79 29 20 24 6c 61 6e 67 75 61 67 | ::setAcceptType((array).$languag |
6080 | 65 73 2c 20 27 6c 61 6e 67 75 61 67 65 27 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 65 | es,.'language');..............$e |
60a0 | 6e 63 6f 64 69 6e 67 73 20 3d 20 70 72 65 67 5f 73 70 6c 69 74 28 27 3b 5b 5c 73 2c 5d 2b 3b 27 | ncodings.=.preg_split(';[\s,]+;' |
60c0 | 2c 20 73 75 62 73 74 72 28 67 65 74 65 6e 76 28 27 48 54 54 50 5f 41 43 43 45 50 54 5f 45 4e 43 | ,.substr(getenv('HTTP_ACCEPT_ENC |
60e0 | 4f 44 49 4e 47 27 29 2c 20 30 2c 20 73 74 72 70 6f 73 28 67 65 74 65 6e 76 28 27 48 54 54 50 5f | ODING'),.0,.strpos(getenv('HTTP_ |
6100 | 41 43 43 45 50 54 5f 45 4e 43 4f 44 49 4e 47 27 29 20 2e 20 27 3b 27 2c 20 27 3b 27 29 29 2c 20 | ACCEPT_ENCODING')...';',.';')),. |
6120 | 2d 31 2c 20 50 52 45 47 5f 53 50 4c 49 54 5f 4e 4f 5f 45 4d 50 54 59 29 3b 0a 20 20 20 20 20 20 | -1,.PREG_SPLIT_NO_EMPTY);....... |
6140 | 20 20 20 20 20 20 4e 65 74 5f 55 73 65 72 41 67 65 6e 74 5f 44 65 74 65 63 74 3a 3a 73 65 74 41 | ......Net_UserAgent_Detect::setA |
6160 | 63 63 65 70 74 54 79 70 65 28 28 61 72 72 61 79 29 20 24 65 6e 63 6f 64 69 6e 67 73 2c 20 27 65 | cceptType((array).$encodings,.'e |
6180 | 6e 63 6f 64 69 6e 67 27 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 | ncoding');...................... |
61a0 | 20 20 20 20 24 63 68 61 72 73 65 74 73 20 3d 20 70 72 65 67 5f 73 70 6c 69 74 28 27 3b 5b 5c 73 | ....$charsets.=.preg_split(';[\s |
61c0 | 2c 5d 2b 3b 27 2c 20 73 75 62 73 74 72 28 67 65 74 65 6e 76 28 27 48 54 54 50 5f 41 43 43 45 50 | ,]+;',.substr(getenv('HTTP_ACCEP |
61e0 | 54 5f 43 48 41 52 53 45 54 27 29 2c 20 30 2c 20 73 74 72 70 6f 73 28 67 65 74 65 6e 76 28 27 48 | T_CHARSET'),.0,.strpos(getenv('H |
6200 | 54 54 50 5f 41 43 43 45 50 54 5f 43 48 41 52 53 45 54 27 29 20 2e 20 27 3b 27 2c 20 27 3b 27 29 | TTP_ACCEPT_CHARSET')...';',.';') |
6220 | 29 2c 20 2d 31 2c 20 50 52 45 47 5f 53 50 4c 49 54 5f 4e 4f 5f 45 4d 50 54 59 29 3b 0a 20 20 20 | ),.-1,.PREG_SPLIT_NO_EMPTY);.... |
6240 | 20 20 20 20 20 20 20 20 20 4e 65 74 5f 55 73 65 72 41 67 65 6e 74 5f 44 65 74 65 63 74 3a 3a 73 | .........Net_UserAgent_Detect::s |
6260 | 65 74 41 63 63 65 70 74 54 79 70 65 28 28 61 72 72 61 79 29 20 24 63 68 61 72 73 65 74 73 2c 20 | etAcceptType((array).$charsets,. |
6280 | 27 63 68 61 72 73 65 74 27 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 20 20 | 'charset');.........}.....}..... |
62a0 | 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 73 65 74 4f 70 74 69 6f 6e | .....//.}}}.....//.{{{.setOption |
62c0 | 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 73 20 61 20 63 6c 61 73 73 20 | ()....../**......*.Sets.a.class. |
62e0 | 6f 70 74 69 6f 6e 2e 20 20 54 68 65 20 61 76 61 69 6c 61 62 6c 65 20 73 65 74 74 69 6e 67 73 20 | option...The.available.settings. |
6300 | 61 72 65 3a 0a 20 20 20 20 20 2a 20 6f 20 27 75 73 65 72 41 67 65 6e 74 27 20 3d 3e 20 54 68 65 | are:......*.o.'userAgent'.=>.The |
6320 | 20 75 73 65 72 20 61 67 65 6e 74 20 73 74 72 69 6e 67 20 74 6f 20 64 65 74 65 63 74 20 28 75 73 | .user.agent.string.to.detect.(us |
6340 | 65 66 75 6c 20 66 6f 72 0a 20 20 20 20 20 2a 20 63 68 65 63 6b 69 6e 67 20 61 20 73 74 72 69 6e | eful.for......*.checking.a.strin |
6360 | 67 20 6d 61 6e 75 61 6c 6c 79 29 2e 0a 20 20 20 20 20 2a 20 6f 20 27 64 65 74 65 63 74 4f 70 74 | g.manually).......*.o.'detectOpt |
6380 | 69 6f 6e 73 27 20 3d 3e 20 54 68 65 20 6c 65 76 65 6c 20 6f 66 20 63 68 65 63 6b 69 6e 67 20 74 | ions'.=>.The.level.of.checking.t |
63a0 | 6f 20 64 6f 2e 20 20 41 20 73 69 6e 67 6c 65 20 6c 65 76 65 6c 0a 20 20 20 20 20 2a 20 6f 72 20 | o.do...A.single.level......*.or. |
63c0 | 61 6e 20 61 72 72 61 79 20 6f 66 20 6f 70 74 69 6f 6e 73 2e 20 20 44 65 66 61 75 6c 74 20 69 73 | an.array.of.options...Default.is |
63e0 | 20 4e 45 54 5f 55 53 45 52 41 47 45 4e 54 5f 44 45 54 45 43 54 5f 41 4c 4c 2e 0a 20 20 20 20 20 | .NET_USERAGENT_DETECT_ALL....... |
6400 | 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 69 6e 5f 66 69 65 6c 64 | *......*.@param.string.$in_field |
6420 | 20 54 68 65 20 6f 70 74 69 6f 6e 20 66 69 65 6c 64 20 28 75 73 65 72 41 67 65 6e 74 20 6f 72 20 | .The.option.field.(userAgent.or. |
6440 | 64 65 74 65 63 74 4f 70 74 69 6f 6e 73 29 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 6d 69 78 | detectOptions)......*.@param.mix |
6460 | 65 64 20 24 69 6e 5f 76 61 6c 75 65 20 54 68 65 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 66 | ed.$in_value.The.value.for.the.f |
6480 | 69 65 6c 64 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4f 70 74 | ield......*/.....function.setOpt |
64a0 | 69 6f 6e 28 24 69 6e 5f 66 69 65 6c 64 2c 20 24 69 6e 5f 76 61 6c 75 65 29 0a 20 20 20 20 7b 0a | ion($in_field,.$in_value).....{. |
64c0 | 20 20 20 20 20 20 20 20 24 6f 70 74 69 6f 6e 73 20 3d 20 26 4e 65 74 5f 55 73 65 72 41 67 65 6e | ........$options.=.&Net_UserAgen |
64e0 | 74 5f 44 65 74 65 63 74 3a 3a 5f 67 65 74 53 74 61 74 69 63 50 72 6f 70 65 72 74 79 28 27 6f 70 | t_Detect::_getStaticProperty('op |
6500 | 74 69 6f 6e 73 27 29 3b 0a 20 20 20 20 20 20 20 20 24 6f 70 74 69 6f 6e 73 5b 24 69 6e 5f 66 69 | tions');.........$options[$in_fi |
6520 | 65 6c 64 5d 20 3d 20 24 69 6e 5f 76 61 6c 75 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 | eld].=.$in_value;.....}......//. |
6540 | 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 69 73 42 72 6f 77 73 65 72 28 29 0a 0a 20 20 20 20 | }}}.....//.{{{.isBrowser()...... |
6560 | 2f 2a 2a 0a 20 20 20 20 20 2a 20 4c 6f 6f 6b 20 75 70 20 74 68 65 20 70 72 6f 76 69 64 65 20 62 | /**......*.Look.up.the.provide.b |
6580 | 72 6f 77 73 65 72 20 66 6c 61 67 20 61 6e 64 20 72 65 74 75 72 6e 20 61 20 62 6f 6f 6c 65 61 6e | rowser.flag.and.return.a.boolean |
65a0 | 20 76 61 6c 75 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 47 69 76 65 6e 20 6f 6e 65 20 6f | .value......*......*.Given.one.o |
65c0 | 66 20 74 68 65 20 66 6c 61 67 73 20 6c 69 73 74 65 64 20 69 6e 20 74 68 65 20 70 72 6f 70 65 72 | f.the.flags.listed.in.the.proper |
65e0 | 74 69 65 73 2c 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 77 69 6c 6c 20 72 65 74 75 72 6e 0a | ties,.this.function.will.return. |
6600 | 20 20 20 20 20 2a 20 74 68 65 20 76 61 6c 75 65 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 | .....*.the.value.associated.with |
6620 | 20 74 68 61 74 20 66 6c 61 67 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d | .that.flag.......*......*.@param |
6640 | 20 20 73 74 72 69 6e 67 20 24 69 6e 5f 6d 61 74 63 68 20 66 6c 61 67 20 74 6f 20 6c 6f 6f 6b 75 | ..string.$in_match.flag.to.looku |
6660 | 70 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 | p......*......*.@access.public.. |
6680 | 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 65 61 6e 20 77 68 65 74 68 65 72 20 6f 72 | ....*.@return.boolean.whether.or |
66a0 | 20 6e 6f 74 20 74 68 65 20 62 72 6f 77 73 65 72 20 73 61 74 69 73 66 69 65 73 20 74 68 69 73 20 | .not.the.browser.satisfies.this. |
66c0 | 66 6c 61 67 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 69 73 42 72 6f 77 | flag......*/.....function.isBrow |
66e0 | 73 65 72 28 24 69 6e 5f 6d 61 74 63 68 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 4e 65 74 | ser($in_match).....{.........Net |
6700 | 5f 55 73 65 72 41 67 65 6e 74 5f 44 65 74 65 63 74 3a 3a 64 65 74 65 63 74 28 29 3b 0a 20 20 20 | _UserAgent_Detect::detect();.... |
6720 | 20 20 20 20 20 24 62 72 6f 77 73 65 72 20 3d 20 26 4e 65 74 5f 55 73 65 72 41 67 65 6e 74 5f 44 | .....$browser.=.&Net_UserAgent_D |
6740 | 65 74 65 63 74 3a 3a 5f 67 65 74 53 74 61 74 69 63 50 72 6f 70 65 72 74 79 28 27 62 72 6f 77 73 | etect::_getStaticProperty('brows |
6760 | 65 72 27 29 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 62 72 6f 77 | er');.........return.isset($brow |
6780 | 73 65 72 5b 73 74 72 74 6f 6c 6f 77 65 72 28 24 69 6e 5f 6d 61 74 63 68 29 5d 29 20 3f 20 24 62 | ser[strtolower($in_match)]).?.$b |
67a0 | 72 6f 77 73 65 72 5b 73 74 72 74 6f 6c 6f 77 65 72 28 24 69 6e 5f 6d 61 74 63 68 29 5d 20 3a 20 | rowser[strtolower($in_match)].:. |
67c0 | 66 61 6c 73 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 | false;.....}......//.}}}.....//. |
67e0 | 7b 7b 7b 20 67 65 74 42 72 6f 77 73 65 72 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a | {{{.getBrowser()....../**......* |
6800 | 20 53 69 6e 63 65 20 73 69 6d 70 6c 79 20 72 65 74 75 72 6e 69 6e 67 20 74 68 65 20 22 62 72 6f | .Since.simply.returning.the."bro |
6820 | 77 73 65 72 22 20 69 73 20 73 6f 6d 65 77 68 61 74 20 61 6d 62 69 67 75 6f 75 73 20 73 69 6e 63 | wser".is.somewhat.ambiguous.sinc |
6840 | 65 20 74 68 65 72 65 0a 20 20 20 20 20 2a 20 61 72 65 20 64 69 66 66 65 72 65 6e 74 20 77 61 79 | e.there......*.are.different.way |
6860 | 73 20 74 6f 20 63 6c 61 73 73 69 66 79 20 74 68 65 20 62 72 6f 77 73 65 72 2c 20 74 68 69 73 20 | s.to.classify.the.browser,.this. |
6880 | 66 75 6e 63 74 69 6f 6e 20 77 6f 72 6b 73 20 62 79 20 74 61 6b 69 6e 67 0a 20 20 20 20 20 2a 20 | function.works.by.taking......*. |
68a0 | 61 6e 20 65 78 70 65 63 74 20 6c 69 73 74 20 61 6e 64 20 72 65 74 75 72 6e 69 6e 67 20 74 68 65 | an.expect.list.and.returning.the |
68c0 | 20 73 74 72 69 6e 67 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 6d 61 74 63 68 2c 20 73 6f 20 70 | .string.of.the.first.match,.so.p |
68e0 | 75 74 20 74 68 65 20 69 6d 70 6f 72 74 61 6e 74 0a 20 20 20 20 20 2a 20 6f 6e 65 73 20 66 69 72 | ut.the.important......*.ones.fir |
6900 | 73 74 20 69 6e 20 74 68 65 20 61 72 72 61 79 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 | st.in.the.array.......*......*.@ |
6920 | 70 61 72 61 6d 20 20 61 72 72 61 79 20 24 69 6e 5f 65 78 70 65 63 74 4c 69 73 74 20 74 68 65 20 | param..array.$in_expectList.the. |
6940 | 62 72 6f 77 73 65 72 20 66 6c 61 67 73 20 74 6f 20 73 65 61 72 63 68 20 66 6f 72 0a 20 20 20 20 | browser.flags.to.search.for..... |
6960 | 20 2a 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a 20 | .*......*.@access.public......*. |
6980 | 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 66 69 72 73 74 20 66 6c 61 67 20 74 68 61 74 20 6d | @return.string.first.flag.that.m |
69a0 | 61 74 63 68 65 73 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 42 | atches......*/.....function.getB |
69c0 | 72 6f 77 73 65 72 28 24 69 6e 5f 65 78 70 65 63 74 4c 69 73 74 29 0a 20 20 20 20 7b 0a 20 20 20 | rowser($in_expectList).....{.... |
69e0 | 20 20 20 20 20 4e 65 74 5f 55 73 65 72 41 67 65 6e 74 5f 44 65 74 65 63 74 3a 3a 64 65 74 65 63 | .....Net_UserAgent_Detect::detec |
6a00 | 74 28 29 3b 0a 20 20 20 20 20 20 20 20 24 62 72 6f 77 73 65 72 20 3d 20 26 4e 65 74 5f 55 73 65 | t();.........$browser.=.&Net_Use |
6a20 | 72 41 67 65 6e 74 5f 44 65 74 65 63 74 3a 3a 5f 67 65 74 53 74 61 74 69 63 50 72 6f 70 65 72 74 | rAgent_Detect::_getStaticPropert |
6a40 | 79 28 27 62 72 6f 77 73 65 72 27 29 3b 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 28 28 61 | y('browser');.........foreach((a |
6a60 | 72 72 61 79 29 20 24 69 6e 5f 65 78 70 65 63 74 4c 69 73 74 20 61 73 20 24 62 72 77 73 72 29 20 | rray).$in_expectList.as.$brwsr). |
6a80 | 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 65 6d 70 74 79 28 24 62 72 6f 77 73 65 | {.............if.(!empty($browse |
6aa0 | 72 5b 73 74 72 74 6f 6c 6f 77 65 72 28 24 62 72 77 73 72 29 5d 29 29 20 7b 0a 20 20 20 20 20 20 | r[strtolower($brwsr)])).{....... |
6ac0 | 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 62 72 77 73 72 3b 0a 20 20 20 20 20 20 20 | ..........return.$brwsr;........ |
6ae0 | 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d | .....}.........}.....}......//.} |
6b00 | 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 67 65 74 42 72 6f 77 73 65 72 53 74 72 69 6e 67 28 29 | }}.....//.{{{.getBrowserString() |
6b20 | 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 | ....../**......*.This.function.r |
6b40 | 65 74 75 72 6e 73 20 74 68 65 20 76 65 6e 64 6f 72 20 73 74 72 69 6e 67 20 63 6f 72 72 65 73 70 | eturns.the.vendor.string.corresp |
6b60 | 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 66 6c 61 67 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 | onding.to.the.flag.......*...... |
6b80 | 2a 20 45 69 74 68 65 72 20 75 73 65 20 74 68 65 20 64 65 66 61 75 6c 74 20 6d 61 74 63 68 65 73 | *.Either.use.the.default.matches |
6ba0 | 20 6f 72 20 70 61 73 73 20 69 6e 20 61 6e 20 61 73 73 6f 63 69 61 74 69 76 65 20 61 72 72 61 79 | .or.pass.in.an.associative.array |
6bc0 | 20 6f 66 0a 20 20 20 20 20 2a 20 66 6c 61 67 73 20 61 6e 64 20 63 6f 72 72 65 73 70 6f 6e 64 69 | .of......*.flags.and.correspondi |
6be0 | 6e 67 20 76 65 6e 64 6f 72 20 73 74 72 69 6e 67 73 2e 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f | ng.vendor.strings...This.functio |
6c00 | 6e 20 77 69 6c 6c 20 66 69 6e 64 0a 20 20 20 20 20 2a 20 74 68 65 20 68 69 67 68 65 73 74 20 76 | n.will.find......*.the.highest.v |
6c20 | 65 72 73 69 6f 6e 20 66 6c 61 67 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 20 76 65 6e 64 6f | ersion.flag.and.return.the.vendo |
6c40 | 72 20 73 74 72 69 6e 67 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 0a 20 20 20 20 20 2a 20 74 6f | r.string.corresponding......*.to |
6c60 | 20 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 66 6c 61 67 2e 20 20 42 65 20 73 75 72 65 20 | .the.appropriate.flag...Be.sure. |
6c80 | 74 6f 20 70 61 73 73 20 69 6e 20 74 68 65 20 66 6c 61 67 73 20 69 6e 20 61 73 63 65 6e 64 69 6e | to.pass.in.the.flags.in.ascendin |
6ca0 | 67 20 6f 72 64 65 72 0a 20 20 20 20 20 2a 20 69 66 20 79 6f 75 20 77 61 6e 74 20 61 20 62 61 73 | g.order......*.if.you.want.a.bas |
6cc0 | 69 63 20 6d 61 74 63 68 65 73 20 66 69 72 73 74 2c 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 6d 6f | ic.matches.first,.followed.by.mo |
6ce0 | 72 65 20 64 65 74 61 69 6c 65 64 20 6d 61 74 63 68 65 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 | re.detailed.matches.......*..... |
6d00 | 20 2a 20 40 70 61 72 61 6d 20 20 61 72 72 61 79 20 24 69 6e 5f 76 65 6e 64 6f 72 53 74 72 69 6e | .*.@param..array.$in_vendorStrin |
6d20 | 67 73 20 28 6f 70 74 69 6f 6e 61 6c 29 20 61 72 72 61 79 20 6f 66 20 66 6c 61 67 73 20 6d 61 74 | gs.(optional).array.of.flags.mat |
6d40 | 63 68 65 64 20 77 69 74 68 20 76 65 6e 64 6f 72 20 73 74 72 69 6e 67 73 0a 20 20 20 20 20 2a 0a | ched.with.vendor.strings......*. |
6d60 | 20 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a 20 40 72 65 | .....*.@access.public......*.@re |
6d80 | 74 75 72 6e 20 73 74 72 69 6e 67 20 76 65 6e 64 6f 72 20 73 74 72 69 6e 67 20 6d 61 74 63 68 65 | turn.string.vendor.string.matche |
6da0 | 73 20 61 70 70 72 6f 70 72 69 61 74 65 20 66 6c 61 67 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 | s.appropriate.flag......*/.....f |
6dc0 | 75 6e 63 74 69 6f 6e 20 67 65 74 42 72 6f 77 73 65 72 53 74 72 69 6e 67 28 24 69 6e 5f 76 65 6e | unction.getBrowserString($in_ven |
6de0 | 64 6f 72 53 74 72 69 6e 67 73 20 3d 20 61 72 72 61 79 20 28 0a 20 20 20 20 20 20 20 20 27 69 65 | dorStrings.=.array.(.........'ie |
6e00 | 27 20 20 20 20 20 20 20 3d 3e 20 27 4d 69 63 72 6f 73 6f 66 74 20 49 6e 74 65 72 6e 65 74 20 45 | '.......=>.'Microsoft.Internet.E |
6e20 | 78 70 6c 6f 72 65 72 27 2c 0a 20 20 20 20 20 20 20 20 27 69 65 34 75 70 27 20 20 20 20 3d 3e 20 | xplorer',.........'ie4up'....=>. |
6e40 | 27 4d 69 63 72 6f 73 6f 66 74 20 49 6e 74 65 72 6e 65 74 20 45 78 70 6c 6f 72 65 72 20 34 2e 78 | 'Microsoft.Internet.Explorer.4.x |
6e60 | 27 2c 0a 20 20 20 20 20 20 20 20 27 69 65 35 75 70 27 20 20 20 20 3d 3e 20 27 4d 69 63 72 6f 73 | ',.........'ie5up'....=>.'Micros |
6e80 | 6f 66 74 20 49 6e 74 65 72 6e 65 74 20 45 78 70 6c 6f 72 65 72 20 35 2e 78 27 2c 0a 20 20 20 20 | oft.Internet.Explorer.5.x',..... |
6ea0 | 20 20 20 20 27 69 65 36 75 70 27 20 20 20 20 3d 3e 20 27 4d 69 63 72 6f 73 6f 66 74 20 49 6e 74 | ....'ie6up'....=>.'Microsoft.Int |
6ec0 | 65 72 6e 65 74 20 45 78 70 6c 6f 72 65 72 20 36 2e 78 27 2c 0a 20 20 20 20 20 20 20 20 27 6f 70 | ernet.Explorer.6.x',.........'op |
6ee0 | 65 72 61 34 27 20 20 20 3d 3e 20 27 4f 70 65 72 61 20 34 2e 78 27 2c 0a 20 20 20 20 20 20 20 20 | era4'...=>.'Opera.4.x',......... |
6f00 | 27 6f 70 65 72 61 35 75 70 27 20 3d 3e 20 27 4f 70 65 72 61 20 35 2e 78 27 2c 0a 20 20 20 20 20 | 'opera5up'.=>.'Opera.5.x',...... |
6f20 | 20 20 20 27 6e 61 76 27 20 20 20 20 20 20 3d 3e 20 27 4e 65 74 73 63 61 70 65 20 4e 61 76 69 67 | ...'nav'......=>.'Netscape.Navig |
6f40 | 61 74 6f 72 27 2c 0a 20 20 20 20 20 20 20 20 27 6e 73 34 27 20 20 20 20 20 20 3d 3e 20 27 4e 65 | ator',.........'ns4'......=>.'Ne |
6f60 | 74 73 63 61 70 65 20 34 2e 78 27 2c 0a 20 20 20 20 20 20 20 20 27 6e 73 36 75 70 27 20 20 20 20 | tscape.4.x',.........'ns6up'.... |
6f80 | 3d 3e 20 27 4d 6f 7a 69 6c 6c 61 2f 4e 65 74 73 63 61 70 65 20 36 2e 78 27 2c 0a 20 20 20 20 20 | =>.'Mozilla/Netscape.6.x',...... |
6fa0 | 20 20 20 27 6b 6f 6e 71 27 20 20 20 20 20 3d 3e 20 27 4b 6f 6e 71 75 65 72 6f 72 2f 53 61 66 61 | ...'konq'.....=>.'Konqueror/Safa |
6fc0 | 72 69 27 2c 0a 20 20 20 20 29 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 4e 65 74 5f 55 73 | ri',.....)).....{.........Net_Us |
6fe0 | 65 72 41 67 65 6e 74 5f 44 65 74 65 63 74 3a 3a 64 65 74 65 63 74 28 29 3b 0a 20 20 20 20 20 20 | erAgent_Detect::detect();....... |
7000 | 20 20 24 62 72 6f 77 73 65 72 20 3d 20 26 4e 65 74 5f 55 73 65 72 41 67 65 6e 74 5f 44 65 74 65 | ..$browser.=.&Net_UserAgent_Dete |
7020 | 63 74 3a 3a 5f 67 65 74 53 74 61 74 69 63 50 72 6f 70 65 72 74 79 28 27 62 72 6f 77 73 65 72 27 | ct::_getStaticProperty('browser' |
7040 | 29 3b 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 28 28 61 72 72 61 79 29 20 24 69 6e 5f 76 | );.........foreach((array).$in_v |
7060 | 65 6e 64 6f 72 53 74 72 69 6e 67 73 20 61 73 20 24 66 6c 61 67 20 3d 3e 20 24 73 74 72 69 6e 67 | endorStrings.as.$flag.=>.$string |
7080 | 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 65 6d 70 74 79 28 24 62 72 6f 77 | ).{.............if.(!empty($brow |
70a0 | 73 65 72 5b 24 66 6c 61 67 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 | ser[$flag])).{.................$ |
70c0 | 76 65 6e 64 6f 72 53 74 72 69 6e 67 20 3d 20 24 73 74 72 69 6e 67 3b 0a 20 20 20 20 20 20 20 20 | vendorString.=.$string;......... |
70e0 | 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 69 66 20 74 | ....}.........}..........//.if.t |
7100 | 68 65 72 65 20 61 72 65 20 6e 6f 20 6d 61 74 63 68 65 73 20 6a 75 73 74 20 75 73 65 20 74 68 65 | here.are.no.matches.just.use.the |
7120 | 20 75 73 65 72 20 61 67 65 6e 74 20 6c 65 61 64 69 6e 67 20 69 64 65 6e 64 69 66 69 65 72 20 28 | .user.agent.leading.idendifier.( |
7140 | 75 73 75 61 6c 6c 79 20 4d 6f 7a 69 6c 6c 61 29 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 | usually.Mozilla).........if.(!is |
7160 | 73 65 74 28 24 76 65 6e 64 6f 72 53 74 72 69 6e 67 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 | set($vendorString)).{........... |
7180 | 20 20 24 6c 65 61 64 69 6e 67 49 64 65 6e 74 69 66 69 65 72 20 3d 20 26 4e 65 74 5f 55 73 65 72 | ..$leadingIdentifier.=.&Net_User |
71a0 | 41 67 65 6e 74 5f 44 65 74 65 63 74 3a 3a 5f 67 65 74 53 74 61 74 69 63 50 72 6f 70 65 72 74 79 | Agent_Detect::_getStaticProperty |
71c0 | 28 27 6c 65 61 64 69 6e 67 49 64 65 6e 74 69 66 69 65 72 27 29 3b 0a 20 20 20 20 20 20 20 20 20 | ('leadingIdentifier');.......... |
71e0 | 20 20 20 24 76 65 6e 64 6f 72 53 74 72 69 6e 67 20 3d 20 24 6c 65 61 64 69 6e 67 49 64 65 6e 74 | ...$vendorString.=.$leadingIdent |
7200 | 69 66 69 65 72 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 | ifier;.........}................ |
7220 | 20 20 72 65 74 75 72 6e 20 24 76 65 6e 64 6f 72 53 74 72 69 6e 67 3b 0a 20 20 20 20 7d 0a 0a 20 | ..return.$vendorString;.....}... |
7240 | 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 69 73 49 45 28 29 0a 0a 20 20 20 | ...//.}}}.....//.{{{.isIE()..... |
7260 | 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 44 65 74 65 72 6d 69 6e 65 20 69 66 20 74 68 65 20 62 72 6f | ./**......*.Determine.if.the.bro |
7280 | 77 73 65 72 20 69 73 20 61 6e 20 49 6e 74 65 72 6e 65 74 20 45 78 70 6c 6f 72 65 72 20 62 72 6f | wser.is.an.Internet.Explorer.bro |
72a0 | 77 73 65 72 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 | wser......*......*.@access.publi |
72c0 | 63 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 20 77 68 65 74 68 65 72 20 6f 72 | c......*.@return.bool.whether.or |
72e0 | 20 6e 6f 74 20 74 68 69 73 20 62 72 6f 77 73 65 72 20 69 73 20 61 6e 20 69 65 20 62 72 6f 77 73 | .not.this.browser.is.an.ie.brows |
7300 | 65 72 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 69 73 49 45 28 29 0a 20 | er......*/.....function.isIE().. |
7320 | 20 20 20 7b 0a 20 20 20 20 20 20 20 20 4e 65 74 5f 55 73 65 72 41 67 65 6e 74 5f 44 65 74 65 63 | ...{.........Net_UserAgent_Detec |
7340 | 74 3a 3a 64 65 74 65 63 74 28 29 3b 0a 20 20 20 20 20 20 20 20 24 62 72 6f 77 73 65 72 20 3d 20 | t::detect();.........$browser.=. |
7360 | 26 4e 65 74 5f 55 73 65 72 41 67 65 6e 74 5f 44 65 74 65 63 74 3a 3a 5f 67 65 74 53 74 61 74 69 | &Net_UserAgent_Detect::_getStati |
7380 | 63 50 72 6f 70 65 72 74 79 28 27 62 72 6f 77 73 65 72 27 29 3b 0a 20 20 20 20 20 20 20 20 72 65 | cProperty('browser');.........re |
73a0 | 74 75 72 6e 20 21 65 6d 70 74 79 28 24 62 72 6f 77 73 65 72 5b 27 69 65 27 5d 29 3b 0a 20 20 20 | turn.!empty($browser['ie']);.... |
73c0 | 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 69 73 4e 61 76 69 | .}......//.}}}.....//.{{{.isNavi |
73e0 | 67 61 74 6f 72 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 44 65 74 65 72 6d 69 6e | gator()....../**......*.Determin |
7400 | 65 20 69 66 20 74 68 65 20 62 72 6f 77 73 65 72 20 69 73 20 61 20 4e 65 74 73 63 61 70 65 20 4e | e.if.the.browser.is.a.Netscape.N |
7420 | 61 76 69 67 61 74 6f 72 20 62 72 6f 77 73 65 72 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 | avigator.browser......*......*.@ |
7440 | 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f | access.public......*.@return.boo |
7460 | 6c 20 77 68 65 74 68 65 72 20 6f 72 20 6e 6f 74 20 74 68 69 73 20 62 72 6f 77 73 65 72 20 69 73 | l.whether.or.not.this.browser.is |
7480 | 20 61 20 4e 65 74 73 63 61 70 65 20 4e 61 76 69 67 61 74 6f 72 20 62 72 6f 77 73 65 72 0a 20 20 | .a.Netscape.Navigator.browser... |
74a0 | 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 69 73 4e 61 76 69 67 61 74 6f 72 28 29 | ...*/.....function.isNavigator() |
74c0 | 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 4e 65 74 5f 55 73 65 72 41 67 65 6e 74 5f 44 65 74 | .....{.........Net_UserAgent_Det |
74e0 | 65 63 74 3a 3a 64 65 74 65 63 74 28 29 3b 0a 20 20 20 20 20 20 20 20 24 62 72 6f 77 73 65 72 20 | ect::detect();.........$browser. |
7500 | 3d 20 26 4e 65 74 5f 55 73 65 72 41 67 65 6e 74 5f 44 65 74 65 63 74 3a 3a 5f 67 65 74 53 74 61 | =.&Net_UserAgent_Detect::_getSta |
7520 | 74 69 63 50 72 6f 70 65 72 74 79 28 27 62 72 6f 77 73 65 72 27 29 3b 0a 20 20 20 20 20 20 20 20 | ticProperty('browser');......... |
7540 | 72 65 74 75 72 6e 20 21 65 6d 70 74 79 28 24 62 72 6f 77 73 65 72 5b 27 6e 61 76 27 5d 29 3b 0a | return.!empty($browser['nav']);. |
7560 | 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 69 73 4e | ....}......//.}}}.....//.{{{.isN |
7580 | 65 74 73 63 61 70 65 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 44 65 74 65 72 6d | etscape()....../**......*.Determ |
75a0 | 69 6e 65 20 69 66 20 74 68 65 20 62 72 6f 77 73 65 72 20 69 73 20 61 20 4e 65 74 73 63 61 70 65 | ine.if.the.browser.is.a.Netscape |
75c0 | 20 6f 72 20 4d 6f 7a 69 6c 6c 61 20 62 72 6f 77 73 65 72 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 | .or.Mozilla.browser......*...... |
75e0 | 2a 20 4e 6f 74 65 20 74 68 61 74 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6e 6f 74 | *.Note.that.this.function.is.not |
7600 | 20 74 68 65 20 73 61 6d 65 20 61 73 20 69 73 4e 61 76 69 67 61 74 6f 72 2c 20 73 69 6e 63 65 20 | .the.same.as.isNavigator,.since. |
7620 | 74 68 65 0a 20 20 20 20 20 2a 20 6e 65 77 20 4d 6f 7a 69 6c 6c 61 20 62 72 6f 77 73 65 72 73 20 | the......*.new.Mozilla.browsers. |
7640 | 61 72 65 20 73 74 69 6c 6c 20 73 70 6f 6e 73 65 72 65 64 20 62 79 20 4e 65 74 73 63 61 70 65 2c | are.still.sponsered.by.Netscape, |
7660 | 20 61 6e 64 20 68 65 6e 63 65 20 61 72 65 0a 20 20 20 20 20 2a 20 4e 65 74 73 63 61 70 65 20 70 | .and.hence.are......*.Netscape.p |
7680 | 72 6f 64 75 63 74 73 2c 20 62 75 74 20 6e 6f 74 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 4e 61 | roducts,.but.not.the.original.Na |
76a0 | 76 69 67 61 74 6f 72 73 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 | vigators......*......*.@access.p |
76c0 | 75 62 6c 69 63 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 20 77 68 65 74 68 65 | ublic......*.@return.bool.whethe |
76e0 | 72 20 6f 72 20 6e 6f 74 20 74 68 69 73 20 62 72 6f 77 73 65 72 20 69 73 20 61 20 4e 65 74 73 63 | r.or.not.this.browser.is.a.Netsc |
7700 | 61 70 65 20 70 72 6f 64 75 63 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e | ape.product......*/.....function |
7720 | 20 69 73 4e 65 74 73 63 61 70 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 4e 65 74 5f | .isNetscape().....{.........Net_ |
7740 | 55 73 65 72 41 67 65 6e 74 5f 44 65 74 65 63 74 3a 3a 64 65 74 65 63 74 28 29 3b 0a 20 20 20 20 | UserAgent_Detect::detect();..... |
7760 | 20 20 20 20 24 62 72 6f 77 73 65 72 20 3d 20 26 4e 65 74 5f 55 73 65 72 41 67 65 6e 74 5f 44 65 | ....$browser.=.&Net_UserAgent_De |
7780 | 74 65 63 74 3a 3a 5f 67 65 74 53 74 61 74 69 63 50 72 6f 70 65 72 74 79 28 27 62 72 6f 77 73 65 | tect::_getStaticProperty('browse |
77a0 | 72 27 29 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 21 65 6d 70 74 79 28 24 62 72 6f 77 | r');.........return.!empty($brow |
77c0 | 73 65 72 5b 27 6e 73 34 75 70 27 5d 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 0a 20 20 20 20 2f 2f | ser['ns4up']);.....}..........// |
77e0 | 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 69 73 4f 53 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a | .}}}.....//.{{{.isOS()....../**. |
7800 | 20 20 20 20 20 2a 20 4c 6f 6f 6b 20 75 70 20 74 68 65 20 70 72 6f 76 69 64 65 20 4f 53 20 66 6c | .....*.Look.up.the.provide.OS.fl |
7820 | 61 67 20 61 6e 64 20 72 65 74 75 72 6e 20 61 20 62 6f 6f 6c 65 61 6e 20 76 61 6c 75 65 0a 20 20 | ag.and.return.a.boolean.value... |
7840 | 20 20 20 2a 0a 20 20 20 20 20 2a 20 47 69 76 65 6e 20 6f 6e 65 20 6f 66 20 74 68 65 20 66 6c 61 | ...*......*.Given.one.of.the.fla |
7860 | 67 73 20 6c 69 73 74 65 64 20 69 6e 20 74 68 65 20 70 72 6f 70 65 72 74 69 65 73 2c 20 74 68 69 | gs.listed.in.the.properties,.thi |
7880 | 73 20 66 75 6e 63 74 69 6f 6e 20 77 69 6c 6c 20 72 65 74 75 72 6e 0a 20 20 20 20 20 2a 20 74 68 | s.function.will.return......*.th |
78a0 | 65 20 76 61 6c 75 65 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 74 68 61 74 20 66 6c 61 | e.value.associated.with.that.fla |
78c0 | 67 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 2e 0a 20 20 20 20 | g.for.the.operating.system...... |
78e0 | 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 20 73 74 72 69 6e 67 20 24 69 6e 5f 6d 61 74 | .*......*.@param..string.$in_mat |
7900 | 63 68 20 66 6c 61 67 20 74 6f 20 6c 6f 6f 6b 75 70 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 | ch.flag.to.lookup......*......*. |
7920 | 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f | @access.public......*.@return.bo |
7940 | 6f 6c 65 61 6e 20 77 68 65 74 68 65 72 20 6f 72 20 6e 6f 74 20 74 68 65 20 4f 53 20 73 61 74 69 | olean.whether.or.not.the.OS.sati |
7960 | 73 66 69 65 73 20 74 68 69 73 20 66 6c 61 67 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 | sfies.this.flag......*/.....func |
7980 | 74 69 6f 6e 20 69 73 4f 53 28 24 69 6e 5f 6d 61 74 63 68 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 | tion.isOS($in_match).....{...... |
79a0 | 20 20 20 4e 65 74 5f 55 73 65 72 41 67 65 6e 74 5f 44 65 74 65 63 74 3a 3a 64 65 74 65 63 74 28 | ...Net_UserAgent_Detect::detect( |
79c0 | 29 3b 0a 20 20 20 20 20 20 20 20 24 6f 73 20 3d 20 26 4e 65 74 5f 55 73 65 72 41 67 65 6e 74 5f | );.........$os.=.&Net_UserAgent_ |
79e0 | 44 65 74 65 63 74 3a 3a 5f 67 65 74 53 74 61 74 69 63 50 72 6f 70 65 72 74 79 28 27 6f 73 27 29 | Detect::_getStaticProperty('os') |
7a00 | 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 6f 73 5b 73 74 72 74 6f | ;.........return.isset($os[strto |
7a20 | 6c 6f 77 65 72 28 24 69 6e 5f 6d 61 74 63 68 29 5d 29 20 3f 20 24 6f 73 5b 73 74 72 74 6f 6c 6f | lower($in_match)]).?.$os[strtolo |
7a40 | 77 65 72 28 24 69 6e 5f 6d 61 74 63 68 29 5d 20 3a 20 66 61 6c 73 65 3b 0a 20 20 20 20 7d 0a 0a | wer($in_match)].:.false;.....}.. |
7a60 | 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 67 65 74 4f 53 28 29 0a 0a 20 | ....//.}}}.....//.{{{.getOS()... |
7a80 | 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 69 6e 63 65 20 73 69 6d 70 6c 79 20 72 65 74 75 72 | .../**......*.Since.simply.retur |
7aa0 | 6e 69 6e 67 20 74 68 65 20 22 6f 73 22 20 69 73 20 73 6f 6d 65 77 68 61 74 20 61 6d 62 69 67 75 | ning.the."os".is.somewhat.ambigu |
7ac0 | 6f 75 73 20 73 69 6e 63 65 20 74 68 65 72 65 0a 20 20 20 20 20 2a 20 61 72 65 20 64 69 66 66 65 | ous.since.there......*.are.diffe |
7ae0 | 72 65 6e 74 20 77 61 79 73 20 74 6f 20 63 6c 61 73 73 69 66 79 20 74 68 65 20 62 72 6f 77 73 65 | rent.ways.to.classify.the.browse |
7b00 | 72 2c 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 77 6f 72 6b 73 20 62 79 20 74 61 6b 69 6e 67 | r,.this.function.works.by.taking |
7b20 | 0a 20 20 20 20 20 2a 20 61 6e 20 65 78 70 65 63 74 20 6c 69 73 74 20 61 6e 64 20 72 65 74 75 72 | ......*.an.expect.list.and.retur |
7b40 | 6e 69 6e 67 20 74 68 65 20 73 74 72 69 6e 67 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 6d 61 74 | ning.the.string.of.the.first.mat |
7b60 | 63 68 2c 20 73 6f 20 70 75 74 20 74 68 65 20 69 6d 70 6f 72 74 61 6e 74 0a 20 20 20 20 20 2a 20 | ch,.so.put.the.important......*. |
7b80 | 6f 6e 65 73 20 66 69 72 73 74 20 69 6e 20 74 68 65 20 61 72 72 61 79 2e 0a 20 20 20 20 20 2a 0a | ones.first.in.the.array.......*. |
7ba0 | 20 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a 20 40 72 65 | .....*.@access.public......*.@re |
7bc0 | 74 75 72 6e 20 73 74 72 69 6e 67 20 66 69 72 73 74 20 66 6c 61 67 20 74 68 61 74 20 6d 61 74 63 | turn.string.first.flag.that.matc |
7be0 | 68 65 73 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 53 28 24 | hes......*/.....function.getOS($ |
7c00 | 69 6e 5f 65 78 70 65 63 74 4c 69 73 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 4e 65 74 | in_expectList).....{.........Net |
7c20 | 5f 55 73 65 72 41 67 65 6e 74 5f 44 65 74 65 63 74 3a 3a 64 65 74 65 63 74 28 29 3b 0a 20 20 20 | _UserAgent_Detect::detect();.... |
7c40 | 20 20 20 20 20 24 6f 73 20 3d 20 26 4e 65 74 5f 55 73 65 72 41 67 65 6e 74 5f 44 65 74 65 63 74 | .....$os.=.&Net_UserAgent_Detect |
7c60 | 3a 3a 5f 67 65 74 53 74 61 74 69 63 50 72 6f 70 65 72 74 79 28 27 6f 73 27 29 3b 0a 20 20 20 20 | ::_getStaticProperty('os');..... |
7c80 | 20 20 20 20 66 6f 72 65 61 63 68 28 28 61 72 72 61 79 29 20 24 69 6e 5f 65 78 70 65 63 74 4c 69 | ....foreach((array).$in_expectLi |
7ca0 | 73 74 20 61 73 20 24 65 78 70 65 63 74 4f 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 | st.as.$expectOs).{.............i |
7cc0 | 66 20 28 21 65 6d 70 74 79 28 24 6f 73 5b 73 74 72 74 6f 6c 6f 77 65 72 28 24 65 78 70 65 63 74 | f.(!empty($os[strtolower($expect |
7ce0 | 4f 73 29 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 | Os)])).{.................return. |
7d00 | 24 65 78 70 65 63 74 4f 73 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 | $expectOs;.............}........ |
7d20 | 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 | .}.....}......//.}}}.....//.{{{. |
7d40 | 67 65 74 4f 53 53 74 72 69 6e 67 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 54 68 | getOSString()....../**......*.Th |
7d60 | 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 6f 73 20 73 74 72 69 6e | is.function.returns.the.os.strin |
7d80 | 67 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 66 6c 61 67 2e 0a 20 20 20 | g.corresponding.to.the.flag..... |
7da0 | 20 20 2a 0a 20 20 20 20 20 2a 20 45 69 74 68 65 72 20 75 73 65 20 74 68 65 20 64 65 66 61 75 6c | ..*......*.Either.use.the.defaul |
7dc0 | 74 20 6d 61 74 63 68 65 73 20 6f 72 20 70 61 73 73 20 69 6e 20 61 6e 20 61 73 73 6f 63 69 61 74 | t.matches.or.pass.in.an.associat |
7de0 | 69 76 65 20 61 72 72 61 79 20 6f 66 0a 20 20 20 20 20 2a 20 66 6c 61 67 73 20 61 6e 64 20 63 6f | ive.array.of......*.flags.and.co |
7e00 | 72 72 65 73 70 6f 6e 64 69 6e 67 20 6f 73 20 73 74 72 69 6e 67 73 2e 20 20 54 68 69 73 20 66 75 | rresponding.os.strings...This.fu |
7e20 | 6e 63 74 69 6f 6e 20 77 69 6c 6c 20 66 69 6e 64 0a 20 20 20 20 20 2a 20 74 68 65 20 68 69 67 68 | nction.will.find......*.the.high |
7e40 | 65 73 74 20 76 65 72 73 69 6f 6e 20 66 6c 61 67 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 20 | est.version.flag.and.return.the. |
7e60 | 6f 73 20 73 74 72 69 6e 67 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 0a 20 20 20 20 20 2a 20 74 | os.string.corresponding......*.t |
7e80 | 6f 20 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 66 6c 61 67 2e 20 20 42 65 20 73 75 72 65 | o.the.appropriate.flag...Be.sure |
7ea0 | 20 74 6f 20 70 61 73 73 20 69 6e 20 74 68 65 20 66 6c 61 67 73 20 69 6e 20 61 73 63 65 6e 64 69 | .to.pass.in.the.flags.in.ascendi |
7ec0 | 6e 67 20 6f 72 64 65 72 0a 20 20 20 20 20 2a 20 69 66 20 79 6f 75 20 77 61 6e 74 20 61 20 62 61 | ng.order......*.if.you.want.a.ba |
7ee0 | 73 69 63 20 6d 61 74 63 68 65 73 20 66 69 72 73 74 2c 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 6d | sic.matches.first,.followed.by.m |
7f00 | 6f 72 65 20 64 65 74 61 69 6c 65 64 20 6d 61 74 63 68 65 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 | ore.detailed.matches.......*.... |
7f20 | 20 20 2a 20 40 70 61 72 61 6d 20 20 61 72 72 61 79 20 24 69 6e 5f 6f 73 53 74 72 69 6e 67 73 20 | ..*.@param..array.$in_osStrings. |
7f40 | 28 6f 70 74 69 6f 6e 61 6c 29 20 61 72 72 61 79 20 6f 66 20 66 6c 61 67 73 20 6d 61 74 63 68 65 | (optional).array.of.flags.matche |
7f60 | 64 20 77 69 74 68 20 6f 73 20 73 74 72 69 6e 67 73 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 | d.with.os.strings......*......*. |
7f80 | 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 | @access.public......*.@return.st |
7fa0 | 72 69 6e 67 20 6f 73 20 73 74 72 69 6e 67 20 6d 61 74 63 68 65 73 20 61 70 70 72 6f 70 72 69 61 | ring.os.string.matches.appropria |
7fc0 | 74 65 20 66 6c 61 67 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 | te.flag......*/.....function.get |
7fe0 | 4f 53 53 74 72 69 6e 67 28 24 69 6e 5f 6f 73 53 74 72 69 6e 67 73 20 3d 20 61 72 72 61 79 28 0a | OSString($in_osStrings.=.array(. |
8000 | 20 20 20 20 20 20 20 27 77 69 6e 27 20 20 20 3d 3e 20 27 4d 69 63 72 6f 73 6f 66 74 20 57 69 6e | .......'win'...=>.'Microsoft.Win |
8020 | 64 6f 77 73 27 2c 0a 20 20 20 20 20 20 20 27 77 69 6e 39 78 27 20 3d 3e 20 27 4d 69 63 72 6f 73 | dows',........'win9x'.=>.'Micros |
8040 | 6f 66 74 20 57 69 6e 64 6f 77 73 20 39 78 27 2c 0a 20 20 20 20 20 20 20 27 77 69 6e 6d 65 27 20 | oft.Windows.9x',........'winme'. |
8060 | 3d 3e 20 27 4d 69 63 72 6f 73 6f 66 74 20 57 69 6e 64 6f 77 73 20 4d 69 6c 6c 65 6e 69 75 6d 27 | =>.'Microsoft.Windows.Millenium' |
8080 | 2c 0a 20 20 20 20 20 20 20 27 77 69 6e 32 6b 27 20 3d 3e 20 27 4d 69 63 72 6f 73 6f 66 74 20 57 | ,........'win2k'.=>.'Microsoft.W |
80a0 | 69 6e 64 6f 77 73 20 32 30 30 30 27 2c 0a 20 20 20 20 20 20 20 27 77 69 6e 6e 74 27 20 3d 3e 20 | indows.2000',........'winnt'.=>. |
80c0 | 27 4d 69 63 72 6f 73 6f 66 74 20 57 69 6e 64 6f 77 73 20 4e 54 27 2c 0a 20 20 20 20 20 20 20 27 | 'Microsoft.Windows.NT',........' |
80e0 | 77 69 6e 78 70 27 20 3d 3e 20 27 4d 69 63 72 6f 73 6f 66 74 20 57 69 6e 64 6f 77 73 20 58 50 27 | winxp'.=>.'Microsoft.Windows.XP' |
8100 | 2c 0a 20 20 20 20 20 20 20 27 6d 61 63 27 20 20 20 3d 3e 20 27 4d 61 63 69 6e 74 6f 73 68 27 2c | ,........'mac'...=>.'Macintosh', |
8120 | 0a 20 20 20 20 20 20 20 27 75 6e 69 78 27 20 20 3d 3e 20 27 4c 69 6e 75 78 2f 55 6e 69 78 27 2c | ........'unix'..=>.'Linux/Unix', |
8140 | 0a 20 20 20 20 29 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 4e 65 74 5f 55 73 65 72 41 67 | .....)).....{.........Net_UserAg |
8160 | 65 6e 74 5f 44 65 74 65 63 74 3a 3a 64 65 74 65 63 74 28 29 3b 0a 20 20 20 20 20 20 20 20 24 6f | ent_Detect::detect();.........$o |
8180 | 73 53 74 72 69 6e 67 20 3d 20 27 55 6e 6b 6e 6f 77 6e 27 3b 0a 0a 20 20 20 20 20 20 20 20 24 6f | sString.=.'Unknown';..........$o |
81a0 | 73 20 3d 20 26 4e 65 74 5f 55 73 65 72 41 67 65 6e 74 5f 44 65 74 65 63 74 3a 3a 5f 67 65 74 53 | s.=.&Net_UserAgent_Detect::_getS |
81c0 | 74 61 74 69 63 50 72 6f 70 65 72 74 79 28 27 6f 73 27 29 3b 0a 20 20 20 20 20 20 20 20 66 6f 72 | taticProperty('os');.........for |
81e0 | 65 61 63 68 28 28 61 72 72 61 79 29 20 24 69 6e 5f 6f 73 53 74 72 69 6e 67 73 20 61 73 20 24 66 | each((array).$in_osStrings.as.$f |
8200 | 6c 61 67 20 3d 3e 20 24 73 74 72 69 6e 67 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 | lag.=>.$string).{.............if |
8220 | 20 28 21 65 6d 70 74 79 28 24 6f 73 5b 24 66 6c 61 67 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 | .(!empty($os[$flag])).{......... |
8240 | 20 20 20 20 20 20 20 20 24 6f 73 53 74 72 69 6e 67 20 3d 20 24 73 74 72 69 6e 67 3b 0a 20 20 20 | ........$osString.=.$string;.... |
8260 | 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 | .........}.........}..........re |
8280 | 74 75 72 6e 20 24 6f 73 53 74 72 69 6e 67 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d | turn.$osString;.....}......//.}} |
82a0 | 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 73 65 74 51 75 69 72 6b 28 29 0a 0a 20 20 20 20 2f 2a 2a | }.....//.{{{.setQuirk()....../** |
82c0 | 0a 20 20 20 20 20 2a 20 53 65 74 20 61 20 75 6e 69 71 75 65 20 62 65 68 61 76 69 6f 72 20 66 6f | ......*.Set.a.unique.behavior.fo |
82e0 | 72 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 72 6f 77 73 65 72 2e 0a 20 20 20 20 20 2a 0a 20 20 | r.the.current.browser.......*... |
8300 | 20 20 20 2a 20 4d 61 6e 79 20 63 6c 69 65 6e 74 20 62 72 6f 77 73 65 72 73 20 64 6f 20 73 6f 6d | ...*.Many.client.browsers.do.som |
8320 | 65 20 72 65 61 6c 6c 79 20 66 75 6e 6b 79 20 74 68 69 6e 67 73 2c 20 61 6e 64 20 74 68 69 73 0a | e.really.funky.things,.and.this. |
8340 | 20 20 20 20 20 2a 20 6d 65 63 68 61 6e 69 73 6d 20 61 6c 6c 6f 77 73 20 74 68 65 20 63 6f 64 65 | .....*.mechanism.allows.the.code |
8360 | 72 20 74 6f 20 64 65 74 65 72 6d 69 6e 65 20 69 66 20 61 6e 20 65 78 63 65 70 65 74 69 6f 6e 20 | r.to.determine.if.an.excepetion. |
8380 | 6d 75 73 74 0a 20 20 20 20 20 2a 20 62 65 20 6d 61 64 65 20 77 69 74 68 20 74 68 65 20 63 75 72 | must......*.be.made.with.the.cur |
83a0 | 72 65 6e 74 20 63 6c 69 65 6e 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 61 63 63 65 | rent.client.......*......*.@acce |
83c0 | 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 76 6f 69 64 0a 20 20 | ss.public......*.@return.void... |
83e0 | 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 51 75 69 72 6b 28 24 69 6e 5f | ...*/.....function.setQuirk($in_ |
8400 | 71 75 69 72 6b 2c 20 24 69 6e 5f 68 61 73 51 75 69 72 6b 20 3d 20 74 72 75 65 29 0a 20 20 20 20 | quirk,.$in_hasQuirk.=.true)..... |
8420 | 7b 0a 20 20 20 20 20 20 20 20 24 71 75 69 72 6b 73 20 3d 20 26 4e 65 74 5f 55 73 65 72 41 67 65 | {.........$quirks.=.&Net_UserAge |
8440 | 6e 74 5f 44 65 74 65 63 74 3a 3a 5f 67 65 74 53 74 61 74 69 63 50 72 6f 70 65 72 74 79 28 27 71 | nt_Detect::_getStaticProperty('q |
8460 | 75 69 72 6b 73 27 29 3b 0a 20 20 20 20 20 20 20 20 24 68 61 73 51 75 69 72 6b 20 3d 20 21 65 6d | uirks');.........$hasQuirk.=.!em |
8480 | 70 74 79 28 24 69 6e 5f 68 61 73 51 75 69 72 6b 29 3b 20 0a 20 20 20 20 20 20 20 20 24 71 75 69 | pty($in_hasQuirk);..........$qui |
84a0 | 72 6b 73 5b 73 74 72 74 6f 6c 6f 77 65 72 28 24 69 6e 5f 71 75 69 72 6b 29 5d 20 3d 20 24 68 61 | rks[strtolower($in_quirk)].=.$ha |
84c0 | 73 51 75 69 72 6b 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f | sQuirk;.....}......//.}}}.....// |
84e0 | 20 7b 7b 7b 20 68 61 73 51 75 69 72 6b 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 | .{{{.hasQuirk()....../**......*. |
8500 | 43 68 65 63 6b 20 61 20 75 6e 69 71 75 65 20 62 65 68 61 76 69 6f 72 20 66 6f 72 20 74 68 65 20 | Check.a.unique.behavior.for.the. |
8520 | 63 75 72 72 65 6e 74 20 62 72 6f 77 73 65 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 4d | current.browser.......*......*.M |
8540 | 61 6e 79 20 63 6c 69 65 6e 74 20 62 72 6f 77 73 65 72 73 20 64 6f 20 73 6f 6d 65 20 72 65 61 6c | any.client.browsers.do.some.real |
8560 | 6c 79 20 66 75 6e 6b 79 20 74 68 69 6e 67 73 2c 20 61 6e 64 20 74 68 69 73 0a 20 20 20 20 20 2a | ly.funky.things,.and.this......* |
8580 | 20 6d 65 63 68 61 6e 69 73 6d 20 61 6c 6c 6f 77 73 20 74 68 65 20 63 6f 64 65 72 20 74 6f 20 64 | .mechanism.allows.the.coder.to.d |
85a0 | 65 74 65 72 6d 69 6e 65 20 69 66 20 61 6e 20 65 78 63 65 70 65 74 69 6f 6e 20 6d 75 73 74 0a 20 | etermine.if.an.excepetion.must.. |
85c0 | 20 20 20 20 2a 20 62 65 20 6d 61 64 65 20 77 69 74 68 20 74 68 65 20 63 75 72 72 65 6e 74 20 63 | ....*.be.made.with.the.current.c |
85e0 | 6c 69 65 6e 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 | lient.......*......*.@access.pub |
8600 | 6c 69 63 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 20 77 68 65 74 68 65 72 20 | lic......*.@return.bool.whether. |
8620 | 6f 72 20 6e 6f 74 20 62 72 6f 77 73 65 72 20 68 61 73 20 74 68 69 73 20 71 75 69 72 6b 0a 20 20 | or.not.browser.has.this.quirk... |
8640 | 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 51 75 69 72 6b 28 24 69 6e 5f | ...*/.....function.hasQuirk($in_ |
8660 | 71 75 69 72 6b 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 4e 65 74 5f 55 73 65 72 41 67 65 | quirk).....{.........Net_UserAge |
8680 | 6e 74 5f 44 65 74 65 63 74 3a 3a 64 65 74 65 63 74 28 29 3b 0a 20 20 20 20 20 20 20 20 24 71 75 | nt_Detect::detect();.........$qu |
86a0 | 69 72 6b 73 20 3d 20 26 4e 65 74 5f 55 73 65 72 41 67 65 6e 74 5f 44 65 74 65 63 74 3a 3a 5f 67 | irks.=.&Net_UserAgent_Detect::_g |
86c0 | 65 74 53 74 61 74 69 63 50 72 6f 70 65 72 74 79 28 27 71 75 69 72 6b 73 27 29 3b 0a 20 20 20 20 | etStaticProperty('quirks');..... |
86e0 | 20 20 20 20 72 65 74 75 72 6e 20 21 65 6d 70 74 79 28 24 71 75 69 72 6b 73 5b 73 74 72 74 6f 6c | ....return.!empty($quirks[strtol |
8700 | 6f 77 65 72 28 24 69 6e 5f 71 75 69 72 6b 29 5d 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 0a 20 20 | ower($in_quirk)]);.....}........ |
8720 | 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 67 65 74 51 75 69 72 6b 28 29 0a 0a | ..//.}}}.....//.{{{.getQuirk().. |
8740 | 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 20 74 68 65 20 75 6e 69 71 75 65 20 62 65 | ..../**......*.Get.the.unique.be |
8760 | 68 61 76 69 6f 72 20 66 6f 72 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 72 6f 77 73 65 72 2e 0a | havior.for.the.current.browser.. |
8780 | 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 4d 61 6e 79 20 63 6c 69 65 6e 74 20 62 72 6f 77 73 65 | .....*......*.Many.client.browse |
87a0 | 72 73 20 64 6f 20 73 6f 6d 65 20 72 65 61 6c 6c 79 20 66 75 6e 6b 79 20 74 68 69 6e 67 73 2c 20 | rs.do.some.really.funky.things,. |
87c0 | 61 6e 64 20 74 68 69 73 0a 20 20 20 20 20 2a 20 6d 65 63 68 61 6e 69 73 6d 20 61 6c 6c 6f 77 73 | and.this......*.mechanism.allows |
87e0 | 20 74 68 65 20 63 6f 64 65 72 20 74 6f 20 64 65 74 65 72 6d 69 6e 65 20 69 66 20 61 6e 20 65 78 | .the.coder.to.determine.if.an.ex |
8800 | 63 65 70 65 74 69 6f 6e 20 6d 75 73 74 0a 20 20 20 20 20 2a 20 62 65 20 6d 61 64 65 20 77 69 74 | cepetion.must......*.be.made.wit |
8820 | 68 20 74 68 65 20 63 75 72 72 65 6e 74 20 63 6c 69 65 6e 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 | h.the.current.client.......*.... |
8840 | 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 | ..*.@access.public......*.@retur |
8860 | 6e 20 73 74 72 69 6e 67 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 71 75 69 72 6b 2c 20 69 6e 20 | n.string.value.of.the.quirk,.in. |
8880 | 74 68 69 73 20 63 61 73 65 20 75 73 75 61 6c 6c 79 20 61 20 62 6f 6f 6c 65 61 6e 0a 20 20 20 20 | this.case.usually.a.boolean..... |
88a0 | 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 51 75 69 72 6b 28 29 0a 20 20 20 20 | .*/.....function.getQuirk()..... |
88c0 | 7b 0a 20 20 20 20 20 20 20 20 4e 65 74 5f 55 73 65 72 41 67 65 6e 74 5f 44 65 74 65 63 74 3a 3a | {.........Net_UserAgent_Detect:: |
88e0 | 64 65 74 65 63 74 28 29 3b 0a 20 20 20 20 20 20 20 20 24 71 75 69 72 6b 73 20 3d 20 26 4e 65 74 | detect();.........$quirks.=.&Net |
8900 | 5f 55 73 65 72 41 67 65 6e 74 5f 44 65 74 65 63 74 3a 3a 5f 67 65 74 53 74 61 74 69 63 50 72 6f | _UserAgent_Detect::_getStaticPro |
8920 | 70 65 72 74 79 28 27 71 75 69 72 6b 73 27 29 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 | perty('quirks');.........return. |
8940 | 69 73 73 65 74 28 24 71 75 69 72 6b 73 5b 73 74 72 74 6f 6c 6f 77 65 72 28 24 69 6e 5f 71 75 69 | isset($quirks[strtolower($in_qui |
8960 | 72 6b 73 29 5d 29 20 3f 20 24 71 75 69 72 6b 73 5b 73 74 72 74 6f 6c 6f 77 65 72 28 24 69 6e 5f | rks)]).?.$quirks[strtolower($in_ |
8980 | 71 75 69 72 6b 73 29 5d 20 3a 20 6e 75 6c 6c 3b 20 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 | quirks)].:.null;......}......//. |
89a0 | 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 73 65 74 46 65 61 74 75 72 65 28 29 0a 0a 20 20 20 | }}}.....//.{{{.setFeature()..... |
89c0 | 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 20 63 61 70 61 62 69 6c 69 74 69 65 73 20 66 6f 72 | ./**......*.Set.capabilities.for |
89e0 | 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 72 6f 77 73 65 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 | .the.current.browser.......*.... |
8a00 | 20 20 2a 20 53 69 6e 63 65 20 74 68 65 20 63 61 70 61 62 69 6c 69 74 69 65 73 20 6f 66 20 63 6c | ..*.Since.the.capabilities.of.cl |
8a20 | 69 65 6e 74 20 62 72 6f 77 73 65 72 73 20 76 61 72 79 20 77 69 64 6c 79 2c 20 74 68 69 73 20 69 | ient.browsers.vary.widly,.this.i |
8a40 | 6e 74 65 72 66 61 63 65 0a 20 20 20 20 20 2a 20 68 65 6c 70 73 20 6b 65 65 70 20 74 72 61 63 6b | nterface......*.helps.keep.track |
8a60 | 20 6f 66 20 74 68 65 20 63 6f 72 65 20 66 65 61 74 75 72 65 73 20 6f 66 20 61 20 63 6c 69 65 6e | .of.the.core.features.of.a.clien |
8a80 | 74 2c 20 73 75 63 68 20 61 73 20 69 66 20 74 68 65 20 63 6c 69 65 6e 74 0a 20 20 20 20 20 2a 20 | t,.such.as.if.the.client......*. |
8aa0 | 73 75 70 70 6f 72 74 73 20 64 68 74 6d 6c 2c 20 64 6f 6d 2c 20 6a 61 76 61 73 63 72 69 70 74 2c | supports.dhtml,.dom,.javascript, |
8ac0 | 20 65 74 63 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c | .etc.......*......*.@access.publ |
8ae0 | 69 63 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 76 6f 69 64 0a 20 20 20 20 20 2a 2f 0a 20 | ic......*.@return.void......*/.. |
8b00 | 20 20 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 46 65 61 74 75 72 65 28 24 69 6e 5f 66 65 61 74 75 | ...function.setFeature($in_featu |
8b20 | 72 65 2c 20 24 69 6e 5f 68 61 73 46 65 61 74 75 72 65 20 3d 20 74 72 75 65 29 0a 20 20 20 20 7b | re,.$in_hasFeature.=.true).....{ |
8b40 | 0a 20 20 20 20 20 20 20 20 24 66 65 61 74 75 72 65 73 20 3d 20 26 4e 65 74 5f 55 73 65 72 41 67 | .........$features.=.&Net_UserAg |
8b60 | 65 6e 74 5f 44 65 74 65 63 74 3a 3a 5f 67 65 74 53 74 61 74 69 63 50 72 6f 70 65 72 74 79 28 27 | ent_Detect::_getStaticProperty(' |
8b80 | 66 65 61 74 75 72 65 73 27 29 3b 0a 20 20 20 20 20 20 20 20 24 66 65 61 74 75 72 65 73 5b 73 74 | features');.........$features[st |
8ba0 | 72 74 6f 6c 6f 77 65 72 28 24 69 6e 5f 66 65 61 74 75 72 65 29 5d 20 3d 20 24 69 6e 5f 68 61 73 | rtolower($in_feature)].=.$in_has |
8bc0 | 46 65 61 74 75 72 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f | Feature;.....}......//.}}}...../ |
8be0 | 2f 20 7b 7b 7b 20 68 61 73 46 65 61 74 75 72 65 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 | /.{{{.hasFeature()....../**..... |
8c00 | 20 2a 20 43 68 65 63 6b 20 74 68 65 20 63 61 70 61 62 69 6c 69 74 69 65 73 20 66 6f 72 20 74 68 | .*.Check.the.capabilities.for.th |
8c20 | 65 20 63 75 72 72 65 6e 74 20 62 72 6f 77 73 65 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a | e.current.browser.......*......* |
8c40 | 20 53 69 6e 63 65 20 74 68 65 20 63 61 70 61 62 69 6c 69 74 69 65 73 20 6f 66 20 63 6c 69 65 6e | .Since.the.capabilities.of.clien |
8c60 | 74 20 62 72 6f 77 73 65 72 73 20 76 61 72 79 20 77 69 64 6c 79 2c 20 74 68 69 73 20 69 6e 74 65 | t.browsers.vary.widly,.this.inte |
8c80 | 72 66 61 63 65 0a 20 20 20 20 20 2a 20 68 65 6c 70 73 20 6b 65 65 70 20 74 72 61 63 6b 20 6f 66 | rface......*.helps.keep.track.of |
8ca0 | 20 74 68 65 20 63 6f 72 65 20 66 65 61 74 75 72 65 73 20 6f 66 20 61 20 63 6c 69 65 6e 74 2c 20 | .the.core.features.of.a.client,. |
8cc0 | 73 75 63 68 20 61 73 20 69 66 20 74 68 65 20 63 6c 69 65 6e 74 0a 20 20 20 20 20 2a 20 73 75 70 | such.as.if.the.client......*.sup |
8ce0 | 70 6f 72 74 73 20 64 68 74 6d 6c 2c 20 64 6f 6d 2c 20 6a 61 76 61 73 63 72 69 70 74 2c 20 65 74 | ports.dhtml,.dom,.javascript,.et |
8d00 | 63 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a | c.......*......*.@access.public. |
8d20 | 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 20 77 68 65 74 68 65 72 20 6f 72 20 6e | .....*.@return.bool.whether.or.n |
8d40 | 6f 74 20 74 68 65 20 63 75 72 72 65 6e 74 20 63 6c 69 65 6e 74 20 68 61 73 20 74 68 69 73 20 66 | ot.the.current.client.has.this.f |
8d60 | 65 61 74 75 72 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 46 | eature......*/.....function.hasF |
8d80 | 65 61 74 75 72 65 28 24 69 6e 5f 66 65 61 74 75 72 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 | eature($in_feature).....{....... |
8da0 | 20 20 4e 65 74 5f 55 73 65 72 41 67 65 6e 74 5f 44 65 74 65 63 74 3a 3a 64 65 74 65 63 74 28 29 | ..Net_UserAgent_Detect::detect() |
8dc0 | 3b 0a 20 20 20 20 20 20 20 20 24 66 65 61 74 75 72 65 73 20 3d 20 26 4e 65 74 5f 55 73 65 72 41 | ;.........$features.=.&Net_UserA |
8de0 | 67 65 6e 74 5f 44 65 74 65 63 74 3a 3a 5f 67 65 74 53 74 61 74 69 63 50 72 6f 70 65 72 74 79 28 | gent_Detect::_getStaticProperty( |
8e00 | 27 66 65 61 74 75 72 65 73 27 29 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 21 65 6d 70 | 'features');.........return.!emp |
8e20 | 74 79 28 24 66 65 61 74 75 72 65 73 5b 73 74 72 74 6f 6c 6f 77 65 72 28 24 69 6e 5f 66 65 61 74 | ty($features[strtolower($in_feat |
8e40 | 75 72 65 29 5d 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 | ure)]);.....}..........//.}}}... |
8e60 | 20 20 2f 2f 20 7b 7b 7b 20 67 65 74 46 65 61 74 75 72 65 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 | ..//.{{{.getFeature()....../**.. |
8e80 | 20 20 20 20 2a 20 47 65 74 20 74 68 65 20 63 61 70 61 62 69 6c 69 74 69 65 73 20 66 6f 72 20 74 | ....*.Get.the.capabilities.for.t |
8ea0 | 68 65 20 63 75 72 72 65 6e 74 20 62 72 6f 77 73 65 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 | he.current.browser.......*...... |
8ec0 | 2a 20 53 69 6e 63 65 20 74 68 65 20 63 61 70 61 62 69 6c 69 74 69 65 73 20 6f 66 20 63 6c 69 65 | *.Since.the.capabilities.of.clie |
8ee0 | 6e 74 20 62 72 6f 77 73 65 72 73 20 76 61 72 79 20 77 69 64 6c 79 2c 20 74 68 69 73 20 69 6e 74 | nt.browsers.vary.widly,.this.int |
8f00 | 65 72 66 61 63 65 0a 20 20 20 20 20 2a 20 68 65 6c 70 73 20 6b 65 65 70 20 74 72 61 63 6b 20 6f | erface......*.helps.keep.track.o |
8f20 | 66 20 74 68 65 20 63 6f 72 65 20 66 65 61 74 75 72 65 73 20 6f 66 20 61 20 63 6c 69 65 6e 74 2c | f.the.core.features.of.a.client, |
8f40 | 20 73 75 63 68 20 61 73 20 69 66 20 74 68 65 20 63 6c 69 65 6e 74 0a 20 20 20 20 20 2a 20 73 75 | .such.as.if.the.client......*.su |
8f60 | 70 70 6f 72 74 73 20 64 68 74 6d 6c 2c 20 64 6f 6d 2c 20 6a 61 76 61 73 63 72 69 70 74 2c 20 65 | pports.dhtml,.dom,.javascript,.e |
8f80 | 74 63 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 | tc.......*......*.@access.public |
8fa0 | 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 76 61 6c 75 65 20 6f 66 20 | ......*.@return.string.value.of. |
8fc0 | 74 68 65 20 66 65 61 74 75 72 65 20 72 65 71 75 65 73 74 65 64 0a 20 20 20 20 20 2a 2f 0a 20 20 | the.feature.requested......*/... |
8fe0 | 20 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 65 61 74 75 72 65 28 24 69 6e 5f 66 65 61 74 75 72 | ..function.getFeature($in_featur |
9000 | 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 4e 65 74 5f 55 73 65 72 41 67 65 6e 74 5f 44 | e).....{.........Net_UserAgent_D |
9020 | 65 74 65 63 74 3a 3a 64 65 74 65 63 74 28 29 3b 0a 20 20 20 20 20 20 20 20 24 66 65 61 74 75 72 | etect::detect();.........$featur |
9040 | 65 73 20 3d 20 26 4e 65 74 5f 55 73 65 72 41 67 65 6e 74 5f 44 65 74 65 63 74 3a 3a 5f 67 65 74 | es.=.&Net_UserAgent_Detect::_get |
9060 | 53 74 61 74 69 63 50 72 6f 70 65 72 74 79 28 27 66 65 61 74 75 72 65 73 27 29 3b 0a 20 20 20 20 | StaticProperty('features');..... |
9080 | 20 20 20 20 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 66 65 61 74 75 72 65 73 5b 73 74 72 74 6f | ....return.isset($features[strto |
90a0 | 6c 6f 77 65 72 28 24 69 6e 5f 66 65 61 74 75 72 65 29 5d 29 20 3f 20 24 66 65 61 74 75 72 65 73 | lower($in_feature)]).?.$features |
90c0 | 5b 73 74 72 74 6f 6c 6f 77 65 72 28 24 69 6e 5f 66 65 61 74 75 72 65 29 5d 20 3a 20 6e 75 6c 6c | [strtolower($in_feature)].:.null |
90e0 | 3b 20 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 | ;......}......//.}}}.....//.{{{. |
9100 | 67 65 74 41 63 63 65 70 74 54 79 70 65 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 | getAcceptType()....../**......*. |
9120 | 52 65 74 72 69 76 65 20 74 68 65 20 61 63 63 65 70 74 20 74 79 70 65 20 66 6f 72 20 74 68 65 20 | Retrive.the.accept.type.for.the. |
9140 | 63 75 72 72 65 6e 74 20 62 72 6f 77 73 65 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 54 | current.browser.......*......*.T |
9160 | 6f 20 6b 65 65 70 20 74 72 61 63 6b 20 6f 66 20 74 68 65 20 6d 69 6d 65 2d 74 79 70 65 73 2c 20 | o.keep.track.of.the.mime-types,. |
9180 | 6c 61 6e 67 75 61 67 65 73 2c 20 63 68 61 72 73 65 74 73 20 61 6e 64 20 65 6e 63 6f 64 69 6e 67 | languages,.charsets.and.encoding |
91a0 | 73 0a 20 20 20 20 20 2a 20 74 68 61 74 20 65 61 63 68 20 62 72 6f 77 73 65 72 20 61 63 63 65 70 | s......*.that.each.browser.accep |
91c0 | 74 73 20 77 65 20 75 73 65 20 61 73 73 6f 63 69 61 74 69 76 65 20 61 72 72 61 79 73 20 66 6f 72 | ts.we.use.associative.arrays.for |
91e0 | 20 65 61 63 68 20 74 79 70 65 2e 0a 20 20 20 20 20 2a 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e | .each.type.......*.This.function |
9200 | 20 77 6f 72 6b 73 20 6c 69 6b 65 20 67 65 74 42 72 6f 77 73 65 72 28 29 20 61 73 20 69 74 20 74 | .works.like.getBrowser().as.it.t |
9220 | 61 6b 65 73 20 61 6e 20 65 78 70 65 63 74 20 6c 69 73 74 0a 20 20 20 20 20 2a 20 61 6e 64 20 72 | akes.an.expect.list......*.and.r |
9240 | 65 74 75 72 6e 73 20 74 68 65 20 66 69 72 73 74 20 6d 61 74 63 68 2e 20 20 46 6f 72 20 69 6e 73 | eturns.the.first.match...For.ins |
9260 | 74 61 6e 63 65 2c 20 74 6f 20 66 69 6e 64 20 74 68 65 20 6c 61 6e 67 75 61 67 65 0a 20 20 20 20 | tance,.to.find.the.language..... |
9280 | 20 2a 20 79 6f 75 20 77 6f 75 6c 64 20 70 61 73 73 20 69 6e 20 79 6f 75 72 20 61 6c 6c 6f 77 65 | .*.you.would.pass.in.your.allowe |
92a0 | 64 20 6c 61 6e 67 75 61 67 65 73 20 61 6e 64 20 73 65 65 20 69 66 20 61 6e 79 20 6f 66 20 74 68 | d.languages.and.see.if.any.of.th |
92c0 | 65 0a 20 20 20 20 20 2a 20 6c 61 6e 67 75 61 67 65 73 20 73 65 74 20 69 6e 20 74 68 65 20 62 72 | e......*.languages.set.in.the.br |
92e0 | 6f 77 73 65 72 20 6d 61 74 63 68 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 | owser.match.......*......*.@para |
9300 | 6d 20 20 73 74 72 69 6e 67 20 24 69 6e 5f 65 78 70 65 63 74 4c 69 73 74 20 76 61 6c 75 65 73 20 | m..string.$in_expectList.values. |
9320 | 74 6f 20 63 68 65 63 6b 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 20 73 74 72 69 6e 67 20 24 | to.check......*.@param..string.$ |
9340 | 69 6e 5f 74 79 70 65 20 74 79 70 65 20 6f 66 20 61 63 63 65 70 74 0a 20 20 20 20 20 2a 0a 20 20 | in_type.type.of.accept......*... |
9360 | 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a 20 40 72 65 74 75 | ...*.@access.public......*.@retu |
9380 | 72 6e 20 73 74 72 69 6e 67 20 74 68 65 20 66 69 72 73 74 20 6d 61 74 63 68 65 64 20 76 61 6c 75 | rn.string.the.first.matched.valu |
93a0 | 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 63 63 65 70 74 | e......*/.....function.getAccept |
93c0 | 54 79 70 65 28 24 69 6e 5f 65 78 70 65 63 74 4c 69 73 74 2c 20 24 69 6e 5f 74 79 70 65 29 0a 20 | Type($in_expectList,.$in_type).. |
93e0 | 20 20 20 7b 0a 20 20 20 20 20 20 20 20 4e 65 74 5f 55 73 65 72 41 67 65 6e 74 5f 44 65 74 65 63 | ...{.........Net_UserAgent_Detec |
9400 | 74 3a 3a 64 65 74 65 63 74 28 29 3b 0a 20 20 20 20 20 20 20 20 24 74 79 70 65 20 3d 20 73 74 72 | t::detect();.........$type.=.str |
9420 | 74 6f 6c 6f 77 65 72 28 24 69 6e 5f 74 79 70 65 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 | tolower($in_type);..........if.( |
9440 | 24 74 79 70 65 20 3d 3d 20 27 6d 69 6d 65 74 79 70 65 27 20 7c 7c 20 24 74 79 70 65 20 3d 3d 20 | $type.==.'mimetype'.||.$type.==. |
9460 | 27 6c 61 6e 67 75 61 67 65 27 20 7c 7c 20 24 74 79 70 65 20 3d 3d 20 27 63 68 61 72 73 65 74 27 | 'language'.||.$type.==.'charset' |
9480 | 20 7c 7c 20 24 74 79 70 65 20 3d 3d 20 27 65 6e 63 6f 64 69 6e 67 27 29 20 7b 0a 20 20 20 20 20 | .||.$type.==.'encoding').{...... |
94a0 | 20 20 20 20 20 20 20 24 74 79 70 65 41 72 72 61 79 20 3d 20 26 4e 65 74 5f 55 73 65 72 41 67 65 | .......$typeArray.=.&Net_UserAge |
94c0 | 6e 74 5f 44 65 74 65 63 74 3a 3a 5f 67 65 74 53 74 61 74 69 63 50 72 6f 70 65 72 74 79 28 24 74 | nt_Detect::_getStaticProperty($t |
94e0 | 79 70 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 28 28 61 72 72 61 79 | ype);.............foreach((array |
9500 | 29 20 24 69 6e 5f 65 78 70 65 63 74 4c 69 73 74 20 61 73 20 24 6d 61 74 63 68 29 20 7b 0a 20 20 | ).$in_expectList.as.$match).{... |
9520 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 65 6d 70 74 79 28 24 74 79 70 65 41 72 | ..............if.(!empty($typeAr |
9540 | 72 61 79 5b 24 6d 61 74 63 68 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ray[$match])).{................. |
9560 | 20 20 20 20 72 65 74 75 72 6e 20 24 6d 61 74 63 68 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ....return.$match;.............. |
9580 | 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 | ...}.............}.........}.... |
95a0 | 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f | ......return.null;.....}......// |
95c0 | 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 73 65 74 41 63 63 65 70 74 54 79 70 65 28 29 0a | .}}}.....//.{{{.setAcceptType(). |
95e0 | 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 20 74 68 65 20 61 63 63 65 70 74 20 74 | ...../**......*.Set.the.accept.t |
9600 | 79 70 65 73 20 66 6f 72 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 72 6f 77 73 65 72 2e 0a 20 20 | ypes.for.the.current.browser.... |
9620 | 20 20 20 2a 0a 20 20 20 20 20 2a 20 54 6f 20 6b 65 65 70 20 74 72 61 63 6b 20 6f 66 20 74 68 65 | ...*......*.To.keep.track.of.the |
9640 | 20 6d 69 6d 65 2d 74 79 70 65 73 2c 20 6c 61 6e 67 75 61 67 65 73 2c 20 63 68 61 72 73 65 74 73 | .mime-types,.languages,.charsets |
9660 | 20 61 6e 64 20 65 6e 63 6f 64 69 6e 67 73 0a 20 20 20 20 20 2a 20 74 68 61 74 20 65 61 63 68 20 | .and.encodings......*.that.each. |
9680 | 62 72 6f 77 73 65 72 20 61 63 63 65 70 74 73 20 77 65 20 75 73 65 20 61 73 73 6f 63 69 61 74 69 | browser.accepts.we.use.associati |
96a0 | 76 65 20 61 72 72 61 79 73 20 66 6f 72 20 65 61 63 68 20 74 79 70 65 2e 0a 20 20 20 20 20 2a 20 | ve.arrays.for.each.type.......*. |
96c0 | 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 61 6e 64 20 61 72 72 61 79 20 6f 66 | This.function.takes.and.array.of |
96e0 | 20 61 63 63 65 70 74 65 64 20 76 61 6c 75 65 73 20 66 6f 72 20 74 68 65 20 74 79 70 65 20 61 6e | .accepted.values.for.the.type.an |
9700 | 64 0a 20 20 20 20 20 2a 20 72 65 63 6f 72 64 73 20 74 68 65 6d 20 66 6f 72 20 72 65 74 72 69 65 | d......*.records.them.for.retrie |
9720 | 76 61 6c 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 20 61 72 72 61 79 | val.......*......*.@param..array |
9740 | 20 24 69 6e 5f 76 61 6c 75 65 73 20 76 61 6c 75 65 73 20 6f 66 20 74 68 65 20 61 63 63 65 70 74 | .$in_values.values.of.the.accept |
9760 | 20 74 79 70 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 20 73 74 72 69 6e 67 20 24 69 6e 5f | .type......*.@param..string.$in_ |
9780 | 74 79 70 65 20 74 79 70 65 20 6f 66 20 61 63 63 65 70 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 | type.type.of.accept......*...... |
97a0 | 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 | *.@access.public......*.@return. |
97c0 | 76 6f 69 64 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 63 63 | void......*/.....function.setAcc |
97e0 | 65 70 74 54 79 70 65 28 24 69 6e 5f 76 61 6c 75 65 73 2c 20 24 69 6e 5f 74 79 70 65 29 0a 20 20 | eptType($in_values,.$in_type)... |
9800 | 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 79 70 65 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 | ..{.........$type.=.strtolower($ |
9820 | 69 6e 5f 74 79 70 65 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 79 70 65 20 3d 3d 20 | in_type);..........if.($type.==. |
9840 | 27 6d 69 6d 65 74 79 70 65 27 20 7c 7c 20 24 74 79 70 65 20 3d 3d 20 27 6c 61 6e 67 75 61 67 65 | 'mimetype'.||.$type.==.'language |
9860 | 27 20 7c 7c 20 24 74 79 70 65 20 3d 3d 20 27 63 68 61 72 73 65 74 27 20 7c 7c 20 24 74 79 70 65 | '.||.$type.==.'charset'.||.$type |
9880 | 20 3d 3d 20 27 65 6e 63 6f 64 69 6e 67 27 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 | .==.'encoding').{.............$t |
98a0 | 79 70 65 41 72 72 61 79 20 3d 20 26 4e 65 74 5f 55 73 65 72 41 67 65 6e 74 5f 44 65 74 65 63 74 | ypeArray.=.&Net_UserAgent_Detect |
98c0 | 3a 3a 5f 67 65 74 53 74 61 74 69 63 50 72 6f 70 65 72 74 79 28 24 74 79 70 65 29 3b 0a 20 20 20 | ::_getStaticProperty($type);.... |
98e0 | 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 28 28 61 72 72 61 79 29 20 24 69 6e 5f 76 61 6c | .........foreach((array).$in_val |
9900 | 75 65 73 20 61 73 20 24 76 61 6c 75 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ues.as.$value).{................ |
9920 | 20 24 74 79 70 65 41 72 72 61 79 5b 24 76 61 6c 75 65 5d 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 | .$typeArray[$value].=.true;..... |
9940 | 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f | ........}.........}.....}....../ |
9960 | 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 68 61 73 41 63 63 65 70 74 54 79 70 65 28 29 | /.}}}.....//.{{{.hasAcceptType() |
9980 | 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 68 65 63 6b 20 74 68 65 20 61 63 63 65 70 | ....../**......*.Check.the.accep |
99a0 | 74 20 74 79 70 65 73 20 66 6f 72 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 72 6f 77 73 65 72 2e | t.types.for.the.current.browser. |
99c0 | 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 54 6f 20 6b 65 65 70 20 74 72 61 63 6b 20 6f 66 20 | ......*......*.To.keep.track.of. |
99e0 | 74 68 65 20 6d 69 6d 65 2d 74 79 70 65 73 2c 20 6c 61 6e 67 75 61 67 65 73 2c 20 63 68 61 72 73 | the.mime-types,.languages,.chars |
9a00 | 65 74 73 20 61 6e 64 20 65 6e 63 6f 64 69 6e 67 73 0a 20 20 20 20 20 2a 20 74 68 61 74 20 65 61 | ets.and.encodings......*.that.ea |
9a20 | 63 68 20 62 72 6f 77 73 65 72 20 61 63 63 65 70 74 73 20 77 65 20 75 73 65 20 61 73 73 6f 63 69 | ch.browser.accepts.we.use.associ |
9a40 | 61 74 69 76 65 20 61 72 72 61 79 73 20 66 6f 72 20 65 61 63 68 20 74 79 70 65 2e 0a 20 20 20 20 | ative.arrays.for.each.type...... |
9a60 | 20 2a 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 73 20 74 68 65 20 61 72 72 61 | .*.This.function.checks.the.arra |
9a80 | 79 20 66 6f 72 20 74 68 65 20 67 69 76 65 6e 20 74 79 70 65 20 61 6e 64 20 64 65 74 65 72 6d 69 | y.for.the.given.type.and.determi |
9aa0 | 6e 65 73 20 69 66 0a 20 20 20 20 20 2a 20 74 68 65 20 62 72 6f 77 73 65 72 20 61 63 63 65 70 74 | nes.if......*.the.browser.accept |
9ac0 | 73 20 69 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 20 73 74 72 69 | s.it.......*......*.@param..stri |
9ae0 | 6e 67 20 24 69 6e 5f 76 61 6c 75 65 20 76 61 6c 75 65 73 20 74 6f 20 63 68 65 63 6b 0a 20 20 20 | ng.$in_value.values.to.check.... |
9b00 | 20 20 2a 20 40 70 61 72 61 6d 20 20 73 74 72 69 6e 67 20 24 69 6e 5f 74 79 70 65 20 74 79 70 65 | ..*.@param..string.$in_type.type |
9b20 | 20 6f 66 20 61 63 63 65 70 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 73 | .of.accept......*......*.@access |
9b40 | 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 20 77 68 65 74 | .public......*.@return.bool.whet |
9b60 | 68 65 72 20 6f 72 20 6e 6f 74 20 74 68 65 20 76 61 6c 75 65 20 69 73 20 61 63 63 65 70 74 20 66 | her.or.not.the.value.is.accept.f |
9b80 | 6f 72 20 74 68 69 73 20 74 79 70 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f | or.this.type......*/.....functio |
9ba0 | 6e 20 68 61 73 41 63 63 65 70 74 54 79 70 65 28 24 69 6e 5f 76 61 6c 75 65 2c 20 24 69 6e 5f 74 | n.hasAcceptType($in_value,.$in_t |
9bc0 | 79 70 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 4e 65 74 5f 55 73 65 72 41 67 65 6e 74 | ype).....{.........Net_UserAgent |
9be0 | 5f 44 65 74 65 63 74 3a 3a 64 65 74 65 63 74 28 29 3b 0a 20 20 20 20 20 20 20 20 24 74 79 70 65 | _Detect::detect();.........$type |
9c00 | 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 69 6e 5f 74 79 70 65 29 3b 0a 0a 20 20 20 20 20 20 | .=.strtolower($in_type);........ |
9c20 | 20 20 69 66 20 28 24 74 79 70 65 20 3d 3d 20 27 6d 69 6d 65 74 79 70 65 27 20 7c 7c 20 24 74 79 | ..if.($type.==.'mimetype'.||.$ty |
9c40 | 70 65 20 3d 3d 20 27 6c 61 6e 67 75 61 67 65 27 20 7c 7c 20 24 74 79 70 65 20 3d 3d 20 27 63 68 | pe.==.'language'.||.$type.==.'ch |
9c60 | 61 72 73 65 74 27 20 7c 7c 20 24 74 79 70 65 20 3d 3d 20 27 65 6e 63 6f 64 69 6e 67 27 29 20 7b | arset'.||.$type.==.'encoding').{ |
9c80 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 79 70 65 41 72 72 61 79 20 3d 20 26 4e 65 74 5f 55 | .............$typeArray.=.&Net_U |
9ca0 | 73 65 72 41 67 65 6e 74 5f 44 65 74 65 63 74 3a 3a 5f 67 65 74 53 74 61 74 69 63 50 72 6f 70 65 | serAgent_Detect::_getStaticPrope |
9cc0 | 72 74 79 28 24 74 79 70 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 21 | rty($type);.............return.! |
9ce0 | 65 6d 70 74 79 28 24 74 79 70 65 41 72 72 61 79 5b 24 69 6e 5f 76 61 6c 75 65 5d 29 3b 0a 20 20 | empty($typeArray[$in_value]);... |
9d00 | 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 | ......}.........else.{.......... |
9d20 | 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d | ...return.false;.........}.....} |
9d40 | 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 67 65 74 55 73 65 72 41 | ......//.}}}.....//.{{{.getUserA |
9d60 | 67 65 6e 74 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 74 75 72 6e 20 74 68 | gent()....../**......*.Return.th |
9d80 | 65 20 75 73 65 72 20 61 67 65 6e 74 20 73 74 72 69 6e 67 20 74 68 61 74 20 69 73 20 62 65 69 6e | e.user.agent.string.that.is.bein |
9da0 | 67 20 77 6f 72 6b 65 64 20 6f 6e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 | g.worked.on......*......*.@acces |
9dc0 | 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 75 | s.public......*.@return.string.u |
9de0 | 73 65 72 20 61 67 65 6e 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 67 | ser.agent......*/.....function.g |
9e00 | 65 74 55 73 65 72 41 67 65 6e 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 4e 65 74 5f | etUserAgent().....{.........Net_ |
9e20 | 55 73 65 72 41 67 65 6e 74 5f 44 65 74 65 63 74 3a 3a 64 65 74 65 63 74 28 29 3b 0a 20 20 20 20 | UserAgent_Detect::detect();..... |
9e40 | 20 20 20 20 24 75 73 65 72 41 67 65 6e 74 20 3d 20 26 4e 65 74 5f 55 73 65 72 41 67 65 6e 74 5f | ....$userAgent.=.&Net_UserAgent_ |
9e60 | 44 65 74 65 63 74 3a 3a 5f 67 65 74 53 74 61 74 69 63 50 72 6f 70 65 72 74 79 28 27 75 73 65 72 | Detect::_getStaticProperty('user |
9e80 | 41 67 65 6e 74 27 29 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 75 73 65 72 41 67 65 | Agent');.........return.$userAge |
9ea0 | 6e 74 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b | nt;.....}......//.}}}.....//.{{{ |
9ec0 | 20 5f 67 65 74 53 74 61 74 69 63 50 72 6f 70 65 72 74 79 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 | ._getStaticProperty()....../**.. |
9ee0 | 20 20 20 20 2a 20 43 6f 70 79 20 6f 66 20 67 65 74 53 74 61 74 69 63 50 72 6f 70 65 72 74 79 28 | ....*.Copy.of.getStaticProperty( |
9f00 | 29 20 66 72 6f 6d 20 50 45 41 52 2e 70 68 70 20 74 6f 20 61 76 6f 69 64 20 68 61 76 69 6e 67 20 | ).from.PEAR.php.to.avoid.having. |
9f20 | 74 6f 0a 20 20 20 20 20 2a 20 69 6e 63 6c 75 64 65 20 50 45 41 52 2e 70 68 70 0a 20 20 20 20 20 | to......*.include.PEAR.php...... |
9f40 | 2a 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 72 69 76 61 74 65 0a 20 20 20 20 20 2a 20 | *......*.@access.private......*. |
9f60 | 40 70 61 72 61 6d 20 20 73 74 72 69 6e 67 20 24 76 61 72 20 20 20 20 54 68 65 20 76 61 72 69 61 | @param..string.$var....The.varia |
9f80 | 62 6c 65 20 74 6f 20 72 65 74 72 69 65 76 65 2e 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 | ble.to.retrieve.......*.@return. |
9fa0 | 6d 69 78 65 64 20 20 20 41 20 72 65 66 65 72 65 6e 63 65 20 74 6f 20 74 68 65 20 76 61 72 69 61 | mixed...A.reference.to.the.varia |
9fc0 | 62 6c 65 2e 20 49 66 20 6e 6f 74 20 73 65 74 20 69 74 20 77 69 6c 6c 20 62 65 0a 20 20 20 20 20 | ble..If.not.set.it.will.be...... |
9fe0 | 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 75 74 6f 20 69 6e 69 74 69 61 6c 69 73 | *.................auto.initialis |
a000 | 65 64 20 74 6f 20 4e 55 4c 4c 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e | ed.to.NULL.......*/.....function |
a020 | 20 26 5f 67 65 74 53 74 61 74 69 63 50 72 6f 70 65 72 74 79 28 24 76 61 72 29 0a 20 20 20 20 7b | .&_getStaticProperty($var).....{ |
a040 | 0a 20 20 20 20 20 20 20 20 73 74 61 74 69 63 20 24 70 72 6f 70 65 72 74 69 65 73 3b 0a 20 20 20 | .........static.$properties;.... |
a060 | 20 20 20 20 20 72 65 74 75 72 6e 20 24 70 72 6f 70 65 72 74 69 65 73 5b 24 76 61 72 5d 3b 0a 20 | .....return.$properties[$var];.. |
a080 | 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 7d 0a 3f 3e 0a 00 00 00 00 00 00 00 00 00 00 | ...}......//.}}}.}.?>........... |
a0a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
a0c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
a0e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
a100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
a120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
a140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
a160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
a180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
a1a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
a1c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
a1e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
a200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
a220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
a240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
a260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
a280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
a2a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
a2c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
a2e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
a300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
a320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
a340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
a360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
a380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
a3a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
a3c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
a3e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |