function check_login() { if (!User::is_login()) { EClassApi::check_uri(); Url::redirect_url('?page=signin&href=' . base64_encode(CGlobal::$query_string)); } }
static function access_denied() { //TuanNK edit on 2012.12.18 if(User::is_login()) { Url::redirect(); } else { EClassApi::check_uri(); Url::redirect('signin',array('href' => base64_encode(CGlobal::$query_string))); } //header("Location: ".WEB_ROOT."err/error.html"); //die(); }
static function redirect_login($query = ''){ if(!User::is_login()){ EClassApi::check_uri(); if ($query == '') $query = CGlobal::$query_string; Url::redirect_url('?page=signin&href='.base64_encode($query)); } }
function update_user_online(){ $user_id = isset($_SESSION['user_id'])?(int)$_SESSION['user_id']:0; if($user_id) { $session_id = session_id(); $page =''; $page_id =0; $user_name = isset($_SESSION['user_name'])?$_SESSION['user_name']:0; $login_type = (isset($_SESSION['openid_url']) && $_SESSION['openid_url']!='')?1:0; $open_id = (isset($_SESSION['openid_url']) && $_SESSION['openid_url']!='')?$_SESSION['openid_url']:''; if(class_exists('EClass')){ $page =EClass::$page['name']; $page_id =(int)EClass::$page['id']; } if(($page=='ItemDetail' || $page=='item_detail') && isset($_GET['id']) && $_GET['id']){ $item_id=(int)$_GET['id']; } else{ $item_id=0; } if(in_array(basename($_SERVER['PHP_SELF']),array('ebxml.php','ajax.php','captcha.php'))){ $ref_url=''; } else{ EClassApi::check_uri(); $ref_url=CGlobal::$query_string; } $sql = "SELECT session_referer, page, page_id, item_id FROM "._SESS_TABLE." WHERE session_id = '$session_id'"; $result = DB::query($sql,__LINE__.__FILE__); if (mysql_num_rows($result)) { $s_row = mysql_fetch_assoc($result); } else{ $s_row = array(); } if($s_row){ if($ref_url=='' || in_array(basename($_SERVER['PHP_SELF']),array('ebxml.php','ajax.php','captcha.php'))){ $ref_url=stripslashes($s_row['session_referer']); } if(!$page) $page = $s_row['page'] ; if(!$page_id) $page_id = (int)$s_row['page_id'] ; if(!$item_id) $item_id = (int)$s_row['item_id'] ; $sql = "UPDATE "._SESS_TABLE." SET session_expires = ".time().", session_referer = '".addslashes($ref_url)."', session_ip = '".$_SERVER['SERVER_ADDR'].'::'.$_SERVER['REMOTE_ADDR']."', page = '$page', page_id = $page_id, category_id = ".CGlobal::$curCategory.", item_id = $item_id, user_id = '$user_id', user_name = '$user_name', login_type = '$login_type', open_id = '$open_id' WHERE session_id = '$session_id'"; } else{ $sql = "INSERT INTO "._SESS_TABLE." ( session_id, session_expires, session_referer, session_ip, page, page_id, category_id, item_id, user_id, user_name, login_type, open_id ) VALUES ( '$session_id', ".time().", '".addslashes($ref_url)."', '".$_SERVER['SERVER_ADDR'].'::'.$_SERVER['REMOTE_ADDR']."', '$page', $page_id, ".CGlobal::$curCategory.", $item_id, $user_id , '$user_name' , $login_type , '$open_id')"; } DB::query($sql,__LINE__.__FILE__); if(User::is_login() && MEMCACHE_ON){//Nếu đã đăng nhập $user = User::$current->data; if($user && !isset($user['last_login']) || (isset($user['last_login']) && $user['last_login']<(TIME_NOW-300))){ DB::query("UPDATE account SET last_login="******" WHERE id={$user['id']}"); $user_memcache = eb_memcache::do_get("user:{$user['id']}"); if($user_memcache){ $user_memcache['last_login'] = TIME_NOW; eb_memcache::do_put("user:{$user['id']}", $user_memcache); } } } } }