/** * affiche une bo”te de dialogue d'information sur l'expiration imminente de la session utilisateur : * si l'utilisateur clique sur OK, la page est rechargŽe pour rŽinitialiser le chronomŹtre de session * @param int minutes dŽlai avant l'expiration de la session */ function rappelSession(minutes) { var msg='La sesi—n finalizar‡ en : '+minutes+' minutos'; if(minutes>1) msg+='s'; msg+='.'+"\n"+'Ă€ Te recargar la p‡gina para evitar la desconexi—n autom‡tica?'; if(confirm(msg)) location.reload(); } /** * affiche une alerte sur l'expiration de la session et redirige vers une autre page * @param string url URL de redirection en cas de dŽconnexion */ function expirationSession(url) { alert("Su sesi—n ha caducado!\nAhora est‡ desconectado."); location.href=url; } /** * affiche des avertissements sur le dŽlai d'expiration de la session : * - un premier au bout de (expiration-rappel) minutes (par ex. : 20-3 = 17 minutes) * - un second au bout de (expiration) minutes (par ex. : 20 minutes) * @param int expiration dŽlai en minutes d'expiration de la session * @param int rappel dŽlai en minutes avant l'expiration de la session pour l'affichage du rappel * @param string redirection URL de redirection en cas de dŽconnexion */ function session(expiration, rappel, redirection) { // affichage du rappel var chronoRappel=setTimeout('rappelSession('+rappel+')', (expiration-rappel)*60*1000); // une fois le rappel affichŽ, on avertit uniquement de l'expiration var chronoExpiration=setTimeout('expirationSession(\''+redirection+'\')', expiration*60*1000); }