Code

Added branches container for old stuff
[gosa.git] / gosa-core / include / utils / layer-menu / lib / layersmenu-browser_detection.php
1 <?php
3 function inAgent($string)
4 {
5         if (isset($_SERVER['HTTP_USER_AGENT'])) {
6                 $http_user_agent = $_SERVER['HTTP_USER_AGENT'];
7         } else {
8                 $http_user_agent = '';
9         }
10         return !(strpos($http_user_agent, $string) === false);
11 }
13 if (inAgent('Gecko')) {
14         $browser = 'Mozilla';
15 } elseif (
16         inAgent('Lynx') || inAgent('lynx')
17         || inAgent('Links') || inAgent('links')
18         || inAgent('w3m')
19         ) {
20         $browser = 'TEXT';
21 // I detect Konqueror and Opera before than the others,
22 // as they often qualify themselves as Mozilla/Netscape/MSIE
23 } elseif (inAgent('Konqueror')) {
24         if (inAgent('Konqueror 1') || inAgent('Konqueror/1')) {
25                 $browser = 'Konqueror1';
26                 // On KDE 1.1.2, kfm qualifies itself as "Konqueror/1.1.2"
27                 // (tested on Red Hat Linux 6.2)
28         } elseif (inAgent('Konqueror 2.0') || inAgent('Konqueror/2.0')
29                   || inAgent('Konqueror 2;') || inAgent('Konqueror/2;')
30                   || inAgent('Konqueror 2)') || inAgent('Konqueror/2)')
31         ) {
32                 $browser = 'Konqueror20';
33         } elseif (inAgent('Konqueror 2.1') || inAgent('Konqueror/2.1')) {
34                 $browser = 'Konqueror21';
35         } else {
36                 $browser = 'Konqueror';
37         }
38 } elseif (inAgent('Opera')) {
39         if (inAgent('Opera 4') || inAgent('Opera/4')) {
40                 $browser = 'Opera4';
41                 // I hope that Opera 4 users can be satisfied by the Plain menu version;
42                 // sorry, but I have never used Opera 4 and I do not have a copy of it
43                 // to perform tests.  If you are using Opera < 4, it's your problem :-P
44         } elseif ((inAgent('Opera 6') || inAgent('Opera/6')) && inAgent('Linux')) {
45                 $browser = 'Opera6forLinux';
46         } elseif (
47                 inAgent('Opera 5') || inAgent('Opera/5')
48                 || inAgent('Opera 6') || inAgent('Opera/6')
49         ) {
50                 $browser = 'Opera56';
51         } else {
52                 $browser = 'Opera';
53         }
54 } elseif (inAgent('Safari')) {
55         $browser = 'Safari';
56 } elseif (inAgent('MSIE 4') || inAgent('MSIE/4')) {
57         $browser = 'IE4';
58 } elseif (inAgent('MSIE')) {
59         $browser = 'IE5';
60         // msie != 4 is handled like msie 5+; if you are using msie 3-, it's your problem :-P
61 } elseif (inAgent('Mozilla 4') || inAgent('Mozilla/4')) {
62         $browser = 'NS4';
63 } else {
64         $browser = 'Unknown';
65 }
67 if (
68         $browser == 'TEXT'
69         || $browser == 'Konqueror1' || $browser == 'Konqueror20' || $browser == 'Konqueror21'
70         // IMO, on Konqueror 2.1, the Plain version is more usable than the "OLD" one
71         || $browser == 'Opera4'
72 ) {
73         $menuType = 'PLAIN';
74 } elseif ($browser == 'NS4' || $browser == 'Opera56' || $browser == 'IE4') {
75         $menuType = 'OLD';
76 } else {
77         $menuType = 'DOM';
78 }
80 ?>