PHP Classes

File: js/session_count.js

Recommend this page to a friend!
  Classes of Mehmet Kidiman   Developbat PHP CRUD   js/session_count.js   Download  
File: js/session_count.js
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: Developbat PHP CRUD
Show pages to manage table records using Bootstrap
Author: By
Last change:
Date: 2 years ago
Size: 2,870 bytes
 

Contents

Class file image Download
(function( $ ){ jQuery.sessionTimeout = function( options ) { var defaults = { message : 'Your session is about to expire.', keepAliveUrl : 'message/activate.php?sess=1', redirUrl : 'message/time_out.php', logoutUrl : 'logout.php?sess=over', warnAfter : 900000, // 15 minutes redirAfter : 1200000 // 20 minutes }; // Extend user-set options over defaults var o = defaults, dialogTimer, redirTimer; if ( options ) { o = $.extend( defaults, options ); } // Create timeout warning dialog $('body').append('<div title="Session Timeout" id="sessionTimeout-dialog">'+ o.message +'</div>'); $('#sessionTimeout-dialog').dialog({ autoOpen: false, width: 400, modal: true, closeOnEscape: false, open: function() { $(".ui-dialog-titlebar-close").hide(); }, buttons: { // Button one - takes user to logout URL "Log Out Now": function() { window.location = o.logoutUrl; }, // Button two - closes dialog and makes call to keep-alive URL "Stay Connected": function() { $(this).dialog('close'); $.ajax({ type: 'POST', url: o.keepAliveUrl }); // Stop redirect timer and restart warning timer controlRedirTimer('stop'); controlDialogTimer('start'); } } }); function controlDialogTimer(action){ switch(action) { case 'start': // After warning period, show dialog and start redirect timer dialogTimer = setTimeout(function(){ $('#sessionTimeout-dialog').dialog('open'); controlRedirTimer('start'); }, o.warnAfter); break; case 'stop': clearTimeout(dialogTimer); break; } } function controlRedirTimer(action){ switch(action) { case 'start': // Dialog has been shown, if no action taken during redir period, redirect redirTimer = setTimeout(function(){ window.location = o.redirUrl; }, o.redirAfter - o.warnAfter); break; case 'stop': clearTimeout(redirTimer); break; } } // Begin warning period controlDialogTimer('start'); }; })( jQuery );