CoolFace
Apppublic

kenken999/php

sourceHugging Faceupdated 2y agoView on Hugging Face
0likes
sessioncontrol.php53 linesDownload Raw Back to public
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?>