// redirect to login page header('Location: login.php?t=login&msg=1'); break; /** * * User Session Expired (Forced Logout) * */ /** * * User Session Expired (Forced Logout) * */ case 'exp': // define variable for existing session id $frm_sdk_act_ses = sdk_ses_decode($_SESSION['sdk_ses_usr']); // sdk_log() // update user session in database $sql_update_key = $frm_sdk_act_ses; $sql_update_table = 'sdk_act_ses'; // set status to 3 (session expired) $sql_update_values = array("sdk_act_ses_status" => "3"); // execute sql query $sql_sdk_act_usr_update = sql_update($sql_update_table, $sql_update_values, $sql_update_key); // destroy browser session session_destroy(); // redirect to login page header('Location: login.php?t=login&msg=5'); break; } // switch()
* * User Account Selection based on SESSION Variable * * Use the session variable created during login to lookup * user account information that will be used for creating * a personalized experience in the UI. * */ if(isset($_SESSION['sdk_ses_usr'])) { // define variables from SESSION values $sdk_ses_usr = $_SESSION['sdk_ses_usr']; // decode session variable $ses_sdk_act_ses = sdk_ses_decode($sdk_ses_usr); // select user session from database $ses_sdk_act_ses_first = sql_first($model_sdk_act_ses,array("sdk_act_ses"=>$ses_sdk_act_ses)); // define variables from database values $ses_sdk_act_usr = $ses_sdk_act_ses_first['sdk_act_usr']; $ses_sdk_act_ses_created_at = $ses_sdk_act_ses_first['sdk_act_ses_created_at']; $ses_sdk_act_ses_updated_at = $ses_sdk_act_ses_first['sdk_act_ses_updated_at']; $ses_sdk_act_ses_status = $ses_sdk_act_ses_first['sdk_act_ses_status']; // select user account from database $ses_sdk_act_usr_first = sql_first($model_sdk_act_usr,array("sdk_act_usr"=>$ses_sdk_act_usr)); // define variables from database values $ses_sdk_act_uid = $ses_sdk_act_usr_first['sdk_act_uid'];
/** * * Session Check * * Check if Existing User Session is Valid * */ function sdk_ses_check() { // Define global variables global $ses_sdk_act_ses_updated_at; global $model_sdk_act_ses; global $sdk_enviro_timeout; // if user session does not exist if(!isset($_SESSION['sdk_ses_usr'])) { // redirect to login page header('Location: login.php?pag=lgn&msg=X'); } // if user session exists if(isset($_SESSION['sdk_ses_usr'])) { // reference variables from app/includes/session.php // $ses_sdk_act_usr_updated_at // $ses_sdk_act_usr_status // define variable for existing session id $frm_sdk_act_ses = sdk_ses_decode($_SESSION['sdk_ses_usr']); // count # of sessions that exist in the database // note: even if a user logs in multiple times, each will have a unique session # $ses_sdk_act_ses_count = sql_count($model_sdk_act_ses,array("sdk_act_ses"=>$frm_sdk_act_ses)); // if session # cannot be found if($ses_sdk_act_ses_count!='1') { // redirect to login form post (no session exists) // header('Location: login.php?msg=A'); } // calculate time difference since last activity to now (in minutes) $ses_time_diff = sdk_timediff($ses_sdk_act_ses_updated_at); /* // if time difference is greater than environment timeout (session expired) if($ses_time_diff>=$sdk_enviro['timeout']) { // redirect to login form post to expire the session header('Location: login.php?p=login&t=exp&f=post'); } // if($ses_time_diff>=$sdk_enviro['timeout']) */ // if time difference is less than environment timeout (session active) if($ses_time_diff<$sdk_enviro_timeout) { // sdk_log() // update user session in database $sql_update_key = $frm_sdk_act_ses; $sql_update_table = 'sdk_act_ses'; // set status to 1 (session active) // the sql query will automatically update the "updated_at" value $sql_update_values = array( "sdk_act_ses_status" => "1" ); // execute sql query $sql_sdk_act_usr_update = sql_update($sql_update_table,$sql_update_values,$sql_update_key); } // if($ses_time_diff<$sdk_enviro['timeout']) } // if(isset($_SESSION['sdk_ses_usr'])) }