Exemple #1
0
 function check_login()
 {
     if (!User::is_login()) {
         EClassApi::check_uri();
         Url::redirect_url('?page=signin&href=' . base64_encode(CGlobal::$query_string));
     }
 }
Exemple #2
0
	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();
	}
Exemple #3
0
 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));
     }
 }
Exemple #4
0
	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);
					}
				}
			}
		}
	}