m2u-upass-admin / WebContent / jsp / common / ibsTimer.jsp @ 134:f492267ed074
History | View | Annotate | Download (4.88 KB)
1 |
<%@taglib uri="/WEB-INF/tld/struts-logic-el.tld" prefix="logicEL"%> |
---|---|
2 |
<%@taglib uri="/WEB-INF/tld/struts-html-el.tld" prefix="htmlEL"%> |
3 |
<%@taglib uri="/WEB-INF/tld/struts-html.tld" prefix="html"%> |
4 |
<%@taglib uri="/WEB-INF/tld/struts-bean.tld" prefix="bean"%> |
5 |
<%@taglib uri="/WEB-INF/tld/struts-logic.tld" prefix="logic"%> |
6 |
<%@taglib uri="/WEB-INF/tld/c.tld" prefix="c"%> |
7 |
<%@ include file="/jsp/common/ibsWebAppContext.jsp" %> |
8 |
<%@page import="com.ib.ibss.common.utils.ResourcesUtils" %> |
9 |
<%@page import="com.ib.ibss.enterprise.services.ss101_access.IBSSPortalLoginServices" %> |
10 |
<%@page import="com.ib.ibss.struts.utils.IBSSSessionObjects;;" %> |
11 |
<% |
12 |
|
13 |
//session timeout get from the appconfig |
14 |
//String sessionTimeout=ResourcesUtils.getAppConfigValue("app.session.timeout"); |
15 |
|
16 |
IBSSSessionObjects m_oSessionObjects = new IBSSSessionObjects (request); |
17 |
|
18 |
IBSSPortalLoginServices m_oServices = new IBSSPortalLoginServices (m_oSessionObjects); |
19 |
|
20 |
String sessionTimeout =m_oServices.setAutologoffValue(); |
21 |
%> |
22 |
<!-- |
23 |
<div id="txt"></div><br/> |
24 |
Start time :<div id="txt2"></div>--> |
25 |
<input type="hidden" name="lastEvent" id="lastEvent" value="" /> |
26 |
<script type="text/javascript"> |
27 |
<!-- |
28 |
var NN4 = (document.layers) ? true : false |
29 |
var IE4 = (document.layers) ? false : true |
30 |
|
31 |
// The timeout remainder should be set 30 seconds |
32 |
// before the real time out (10 minutes). |
33 |
//var timeoutLimit = 9.5; // 9.5 minutes |
34 |
var timeoutLimit = "<%=sessionTimeout%>"; |
35 |
|
36 |
timeoutLimit -= .5; |
37 |
|
38 |
timeoutLimit *= 60 * 1000; // convert to miliseconds |
39 |
|
40 |
var lastEvent; |
41 |
|
42 |
//30000 is 0.5 minute |
43 |
function display_dialog_box() |
44 |
{ |
45 |
var date = new Date(); |
46 |
var date2; |
47 |
var hours = convertTimeDisplay(date.getHours()); |
48 |
var minutes = convertTimeDisplay(date.getMinutes()); |
49 |
var seconds = convertTimeDisplay(date.getSeconds()); |
50 |
var p1='<bean:message key="logout.sessionExpired.starting.p1" />'; |
51 |
var p2='<bean:message key="logout.sessionExpired.starting.p2" />'; |
52 |
var p3='<bean:message key="logout.sessionExpired.starting.p3" />'; |
53 |
|
54 |
var fulltimeMsg= p1+'\n'+p2+hours+':'+minutes+':'+seconds+'.\n'+p3; |
55 |
if( confirm(fulltimeMsg) ) |
56 |
{ |
57 |
date2 = new Date(); |
58 |
var timeAfterResponse = date2.getTime(); |
59 |
if((parseInt(timeAfterResponse) - parseInt(lastEvent)) >= (timeoutLimit+30000)) |
60 |
{ |
61 |
go_to_logout(); |
62 |
} |
63 |
else |
64 |
{ |
65 |
resetBvSessionThruActionUsingAjaxPage(); |
66 |
lastEvent = null; |
67 |
updateLastEvent(); |
68 |
} |
69 |
} |
70 |
else |
71 |
{ |
72 |
go_to_logout(); |
73 |
} |
74 |
} |
75 |
|
76 |
function check_for_timeout() |
77 |
{ |
78 |
var date = new Date(); |
79 |
var currentTime = date.getTime(); |
80 |
if((parseInt(currentTime) - parseInt(lastEvent)) < timeoutLimit) |
81 |
{ |
82 |
setTimeout('check_for_timeout()', 10000); |
83 |
} |
84 |
else |
85 |
{ |
86 |
display_dialog_box(); |
87 |
} |
88 |
} |
89 |
|
90 |
function convertTimeDisplay(num) |
91 |
{ |
92 |
if (num < 10) |
93 |
{ |
94 |
return new String("0"+num); |
95 |
} |
96 |
else |
97 |
{ |
98 |
return new String(num); |
99 |
} |
100 |
} |
101 |
|
102 |
function updateLastEvent() |
103 |
{ |
104 |
|
105 |
var date = new Date(); |
106 |
var time = date.getTime(); |
107 |
lastEvent = time; |
108 |
//document.getElementById('lastEvent').value = time; |
109 |
setTimeout('check_for_timeout()', 10000); |
110 |
} |
111 |
|
112 |
function go_to_logout() |
113 |
{ |
114 |
parent.location.href='<%=serverPath%>/ss101/logout.do'; |
115 |
} |
116 |
|
117 |
|
118 |
|
119 |
function resetBvSessionThruActionUsingAjaxPage() |
120 |
{ |
121 |
loadAjaxReset ('<%=serverPath%>/common/ibResetSession.do'); |
122 |
} |
123 |
|
124 |
//----------------------------------- |
125 |
function resetTimeOut() |
126 |
{ |
127 |
var t; |
128 |
clearTimeout(t); |
129 |
} |
130 |
|
131 |
//-------------------------------- |
132 |
function startTime() |
133 |
{ |
134 |
var today=new Date(); |
135 |
var h=today.getHours(); |
136 |
var m=today.getMinutes(); |
137 |
var s=today.getSeconds(); |
138 |
// add a zero in front of numbers<10 |
139 |
m=checkTime(m); |
140 |
s=checkTime(s); |
141 |
document.getElementById('txt').innerHTML=h+":"+m+":"+s; |
142 |
t=setTimeout('startTime()',500); |
143 |
} |
144 |
|
145 |
function printTime() |
146 |
{ |
147 |
var today=new Date(); |
148 |
var h=today.getHours(); |
149 |
var m=today.getMinutes(); |
150 |
var s=today.getSeconds(); |
151 |
m=checkTime(m); |
152 |
s=checkTime(s); |
153 |
document.getElementById('txt2').innerHTML=h+":"+m+":"+s; |
154 |
} |
155 |
|
156 |
|
157 |
function checkTime(i) |
158 |
{ |
159 |
if (i<10) |
160 |
{ |
161 |
i="0" + i; |
162 |
} |
163 |
return i; |
164 |
} |
165 |
|
166 |
function loadAjaxReset (resetURL) |
167 |
{ |
168 |
|
169 |
var xmlHttp = null; |
170 |
try |
171 |
{ // Firefox, Opera 8.0+, Safari |
172 |
xmlHttp=new XMLHttpRequest(); |
173 |
} |
174 |
catch (e) |
175 |
{ // Internet Explorer |
176 |
try |
177 |
{ |
178 |
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); |
179 |
} |
180 |
catch (e) |
181 |
{ |
182 |
try |
183 |
{ |
184 |
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); |
185 |
} |
186 |
catch (e) |
187 |
{ |
188 |
return false; |
189 |
} |
190 |
} |
191 |
} |
192 |
xmlHttp.onreadystatechange=function() |
193 |
{ |
194 |
if(xmlHttp.readyState==4) |
195 |
{ |
196 |
document.getElementById('lastEvent').value=xmlHttp.responseText; |
197 |
} |
198 |
} |
199 |
xmlHttp.open("GET",resetURL,true); |
200 |
xmlHttp.send(null); |
201 |
} |
202 |
|
203 |
//startTime(); |
204 |
//printTime(); |
205 |
//-------------------------------- |
206 |
updateLastEvent(); |
207 |
|
208 |
//--> |
209 |
</script> |
210 |
|
211 |
|
212 |
|
213 |
|
214 |
|