Select Git revision
-
Tim Steiner authored
DB_Table_Row_DataType added Support for Linking Tables in DB_Table_Relation_HasMany
Tim Steiner authoredDB_Table_Row_DataType added Support for Linking Tables in DB_Table_Relation_HasMany
User.php 2.64 KiB
<?php
/**
* NMC User
*
* LICENSE: Some license information
*
* @copyright 2006 New Media Center - University of Nebraska-Lincoln
* @license http://www.gnu.org/licenses/gpl.txt GPL
* @version 0.0.1
* @link http://nmc.unl.edu/
* @since File available since Release 0.0.1
*/
require_once 'Nmc/Model/UserInterface.php';
/**
* Nmc_User - General user class, use to get info about current user
*
* @copyright 2006 New Media Center - University of Nebraska Lincoln
* @license http://www.gnu.org/gpl.txt GPL
* @version Release: 0.0.1
* @link http://nmc.unl.edu/
* @since Class available since Release 0.0.1
*/
class Nmc_User {
/**
* the single instance of this class
*
* @var Nmc_User
*/
static protected $_instance;
/**
* whether a user is logged in or not
*
* @var bool
*/
protected $_loggedIn = false;
/**
* The currently logged in user
*
* @var Nmc_Model_UserInterface
*/
protected $_user;
/**
* Stores the primary key of the user for session survival
*
* @var mixed
*/
protected $_userId;
/**
* Stores the class type of the user for session survival
*
* @var string
*/
protected $_userModel;
protected function __construct()
{
$user = Nmc_Registry_Session::getInstance('Nmc_User')->user;
if($user) {
$this->login($user);
}
}
/**
* Returns the single instance of this class
*
* @return Nmc_User
*/
static public function getInstance()
{
if(!self::$_instance) {
self::$_instance = new Nmc_User();
}
return self::$_instance;
}
/**
* Register a user object as the current logged in user
*
* @param Nmc_Model_UserInterface $user
* @return void
*/
public function login(Nmc_Model_UserInterface $user)
{
$this->_user = $user;
Nmc_Registry_Session::getInstance('Nmc_User')->user = $user;
$this->_loggedIn = true;
}
/**
* Log out the current user
*
* @return void
*/
public function logout()
{
unset($this->_user);
Nmc_Registry_Session::getInstance('Nmc_User')->erase('user');
Nmc_Registry_Session::getInstance()->destroy();
$this->_loggedIn = false;
}
/**
* Returns true if a user is registered as logged in.
*
* @return bool
*/
public function isLoggedIn() {
return $this->_loggedIn;
}
/**
* Returns the currently logged in user
* Note: may return null if no user logged in
*
* @return Nmc_Model_UserInterface
*/
public function getUser() {
return $this->_user;
}
}
?>