예제 #1
0
	static function reloginAndLogoutProcess($permission)
	{
		global $strTableName;
				
		include_once(getabspath('classes/loginpage.php'));
		$loginXt = new Xtempl();
		
		$loginParams = array("pageType" => PAGE_LOGIN);
		$loginParams['xt'] = &$loginXt;
		$loginParams["tName"]= NOT_TABLE_BASED_TNAME;
		$loginParams['needSearchClauseObj'] = false;
		$loginPageObject = new LoginPage($loginParams); 
		$loginPageObject->init();

		// login automatically, if username and password are in cookies.
		if( !isLogged() || isLoggedAsGuest() ) 
		{
			$username = $_COOKIE["username"];
			$password = $_COOKIE["password"];
			if( $username != "" && $password != "" ) 
			{
				$loginPageObject->LogIn($username, $password);
			}
		}
		
		$url = $_SERVER["SCRIPT_NAME"].(!empty($_SERVER["QUERY_STRING"]) ? "?".$_SERVER["QUERY_STRING"] : '');
		if (!postvalue("onFly")) 
		{
			$_SESSION["MyURL"] = $url;
		}
		
		if (postvalue("a")=="logout") 
		{
			$_SESSION["MyURL"] = $_SERVER["SCRIPT_NAME"];
			if (!CheckTablePermissions($strTableName, $permission) || !isLogged()) 
			{
				HeaderRedirect("login", "", "");
				exit();
			}
			if (isLogged() && !isLoggedAsGuest()) 
			{
				$loginPageObject->LogoutAndRedirect($url);
			}
		}
	}