kenken999/php
0
1<?php2@ini_set("display_errors","1");3 4require_once("include/dbcommon.php");5add_nocache_headers();6 7if( !Security::hasLogin() ) {8 exit();9}10 11$sessionControl = getSecurityOption('sessionControl');12if( $sessionControl["keepAlive"] && postvalue("sessionControl") == "keepAlive" ) {13 echo printJSON( array("success" => true ) );14 exit();15}16 17if( $sessionControl["forceExpire"] && postvalue("sessionControl") == "forceExpire" ) {18 $response = array("success" => true );19 $lastUserActivity = postvalue("lastUserActivity");20 21 if( isset( $_SESSION["lastUserActivity"] ) && $_SESSION["lastUserActivity"] > $lastUserActivity ) {22 // update current23 $lastUserActivity = $_SESSION["lastUserActivity"];24 } 25 $_SESSION["lastUserActivity"] = $lastUserActivity;26 27 /*// client request delay delta28 $invactivityDelta = 15;*/29 $lifeTimeSeconds = $sessionControl["lifeTime"] * 60;30 31 // warn user before n seconds32 $warnBeforeSeconds = postvalue("warnBeforeSeconds");33 $secondsOfInvactivity = time() - $lastUserActivity;34 /*$requestInterval = 60; */35 36 if ( $secondsOfInvactivity >= $lifeTimeSeconds ) {37 //Security::processLogoutRequest();38 $response["logout"] = true;39 unset( $_SESSION["lastUserActivity"] );40 } else if( $sessionControl["warnExpire"] 41 && $secondsOfInvactivity >= $lifeTimeSeconds - $warnBeforeSeconds ) {42 // is about to expire43 $response["showExpirePopup"] = true;44 45 // adjust $_SESSION["lastUserActivity"] so that exactly warnBeforeSeconds left46 $_SESSION["lastUserActivity"] = time() - $lifeTimeSeconds * 60 + $warnBeforeSeconds;47 $response["secondsLeft"] = $warnBeforeSeconds;48 }49 50 echo printJSON( $response );51 exit(); 52}53?>