1
2
3
4
5
6
7
8 package com.atlassian.core.util;
9
10 import org.apache.commons.lang.StringUtils;
11 import webwork.action.ActionContext;
12
13 import javax.servlet.http.HttpServletRequest;
14
15 public class WebRequestUtils
16 {
17 public static final int OTHER = 0;
18
19 public static boolean isGoodBrowser(HttpServletRequest request)
20 {
21 String userAgent = request.getHeader("USER-AGENT");
22
23 if (userAgent == null || (userAgent.indexOf("MSIE") == -1 && userAgent.indexOf("Mozilla/5") == -1 && userAgent.indexOf("Opera") == -1))
24 {
25 return false;
26 }
27 else
28 {
29 return true;
30 }
31 }
32
33 public static final int OPERA = 10;
34
35 public static int getBrowser(HttpServletRequest request)
36 {
37 String userAgent = request.getHeader("USER-AGENT");
38
39 if (userAgent == null)
40 {
41 return OTHER;
42 }
43 else if (userAgent.indexOf("Opera") != -1)
44 {
45 return OPERA;
46 }
47 else
48 {
49 return OTHER;
50 }
51 }
52
53 public static final int WINDOWS = 10;
54 public static final int MACOSX = 20;
55
56 public static int getBrowserOperationSystem(HttpServletRequest request)
57 {
58 String userAgent = null;
59
60 if (request != null)
61 userAgent = request.getHeader("USER-AGENT");
62
63 if (userAgent != null)
64 {
65 if ((userAgent.toLowerCase().indexOf("windows") != -1))
66 return WINDOWS;
67 else if (userAgent.toLowerCase().indexOf("mac os x") != -1)
68 return MACOSX;
69 else
70 return OTHER;
71 }
72 else
73 return OTHER;
74 }
75
76
77
78
79
80
81 public static String getModifierKey()
82 {
83 HttpServletRequest request = ActionContext.getRequest();
84 if (request != null)
85 {
86 String userAgent = org.apache.commons.lang.StringUtils.lowerCase(request.getHeader("USER-AGENT"));
87 if (StringUtils.contains(userAgent, "safari") || StringUtils.contains(userAgent, "mac"))
88 {
89 return "Ctrl";
90 }
91 else if (StringUtils.contains(userAgent, "opera"))
92 {
93 return "Shift + Esc";
94 }
95 }
96
97 return "Alt";
98 }
99
100 }