File: /www/exchange0old/exchange/Bin/Auth.php
<?php
class Bin_Auth
{
public static function loginUser(array $userData,$organisation = null){
$_SESSION['user'] = $userData;
if($organisation!==null){
static::loginOrganisation($organisation);
}
}
public static function loginOrganisation($organisation){
$_SESSION['org_id'] = $organisation;
}
public static function loginAdmin(array $userData){
$defaults = array(
'session' => null,
'username' => null,
'id' => null,
'type' => null
);
$adminData = array_merge($defaults,$userData);
$_SESSION['admin'] = $adminData['id'];
$_SESSION['admin_session'] = array("aid"=>$adminData['session']);
$_SESSION['username'] = $adminData['username'];
$_SESSION['admin_type'] = $adminData['type'];
}
public static function isUserLoggedIn(){
return (bool) self::getUser();
}
public static function getUser(){
return Bin_Array::get($_SESSION,'user');
}
public static function isOrganisationLoggedIn(){
return isset($_SESSION['user']);
}
public static function isAdminLoggedIn(){
return isset($_SESSION['admin']);
}
public static function logoutOrganisation(){
unset($_SESSION['org_id']);
}
public static function logoutUser(){
unset($_SESSION['user']);
static::logoutOrganisation();
}
public static function logoutAdmin(){
unset($_SESSION['username']);
unset($_SESSION['admin']);
unset($_SESSION['login_date']);
unset($_SESSION['admin_type']);
}
public static function logoutAll($force = false){
static::logoutUser();
static::logoutAdmin();
if($force===true){
session_destroy();
}
}
}