Statistics
| Branch: | Revision:

m2u-upass-admin / WebContent / jsp / common / ibsTimer.jsp @ 124:4a2b001a3331

History | View | Annotate | Download (4.88 KB)

1 0:ea666cc7880e hadi
<%@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