mirror of
https://github.com/e107inc/e107.git
synced 2025-04-22 13:41:52 +02:00
EONE-62 (New Feature): initial user model
This commit is contained in:
parent
daaf7c5b76
commit
4bad3ba2e4
@ -149,6 +149,7 @@ class e107
|
||||
'e_file' => '{e_HANDLER}file_class.php',
|
||||
'e_form' => '{e_HANDLER}form_handler.php',
|
||||
'e_jshelper' => '{e_HANDLER}js_helper.php',
|
||||
'e_media' => '{e_HANDLER}media_class.php',
|
||||
'e_menu' => '{e_HANDLER}menu_class.php',
|
||||
'e_model' => '{e_HANDLER}model_class.php',
|
||||
'e_news_item' => '{e_HANDLER}news_class.php',
|
||||
@ -157,6 +158,9 @@ class e107
|
||||
'e_parse' => '{e_HANDLER}e_parse_class.php',
|
||||
'e_ranks' => '{e_HANDLER}e_ranks_class.php',
|
||||
'e_upgrade' => '{e_HANDLER}e_upgrade_class.php',
|
||||
'e_user_model' => '{e_HANDLER}user_model.php',
|
||||
'e_user' => '{e_HANDLER}user_model.php',
|
||||
'e_current_user' => '{e_HANDLER}user_model.php',
|
||||
'e_userperms' => '{e_HANDLER}user_handler.php',
|
||||
'e_validator' => '{e_HANDLER}validator_class.php',
|
||||
'e_vars' => '{e_HANDLER}e_parse_class.php',
|
||||
@ -168,7 +172,6 @@ class e107
|
||||
'themeHandler' => '{e_HANDLER}theme_handler.php',
|
||||
'user_class' => '{e_HANDLER}userclass_class.php',
|
||||
'xmlClass' => '{e_HANDLER}xml_class.php',
|
||||
'e_media' => '{e_HANDLER}media_class.php',
|
||||
);
|
||||
|
||||
/**
|
||||
@ -885,7 +888,7 @@ class e107
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve user class singleton object
|
||||
* Retrieve userclass singleton object
|
||||
*
|
||||
* @return user_class
|
||||
*/
|
||||
@ -894,6 +897,45 @@ class e107
|
||||
return self::getSingleton('user_class', true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve [e_current_user] current or [e_user] target (cached) user model object.
|
||||
*
|
||||
* @param boolean $current true - current user; false - target user (previously cached)
|
||||
* @return e_current_user|e_user
|
||||
*/
|
||||
public static function getUser($current = true)
|
||||
{
|
||||
if($current)
|
||||
{
|
||||
return self::getSingleton('e_current_user', true);
|
||||
}
|
||||
return e107::getRegistry('targets/core/user');
|
||||
}
|
||||
|
||||
/**
|
||||
* Load user data
|
||||
*
|
||||
* @param integer|array $user
|
||||
* @return e_user
|
||||
*/
|
||||
public static function loadUser($user = array())
|
||||
{
|
||||
if(is_numeric($user_id))
|
||||
{
|
||||
return $this->getObject('e_user', array(), true)->load($user);
|
||||
}
|
||||
return $this->getObject('e_user', $user, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve user-session singleton object
|
||||
*
|
||||
* @return UserHandler
|
||||
*/
|
||||
public static function getSession()
|
||||
{
|
||||
return self::getSingleton('UserHandler', true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve redirection singleton object
|
||||
@ -905,7 +947,6 @@ class e107
|
||||
return self::getSingleton('redirection', true);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Retrieve sitelinks singleton object
|
||||
*
|
||||
@ -947,16 +988,6 @@ class e107
|
||||
return self::getSingleton('e107_event', true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve user-session singleton object
|
||||
*
|
||||
* @return e107_event
|
||||
*/
|
||||
public static function getSession()
|
||||
{
|
||||
return self::getSingleton('UserHandler', true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve array storage singleton object
|
||||
*
|
||||
|
@ -859,7 +859,7 @@ class e_model
|
||||
/**
|
||||
* Generic load data from DB
|
||||
* @param boolean $force
|
||||
* @return e_admin
|
||||
* @return e_model
|
||||
*/
|
||||
public function load($id, $force = false)
|
||||
{
|
||||
|
111
e107_handlers/user_model.php
Normal file
111
e107_handlers/user_model.php
Normal file
@ -0,0 +1,111 @@
|
||||
<?php
|
||||
/*
|
||||
* e107 website system
|
||||
*
|
||||
* Copyright (C) 2008-2010 e107 Inc (e107.org)
|
||||
* Released under the terms and conditions of the
|
||||
* GNU General Public License (http://www.gnu.org/licenses/gpl.txt)
|
||||
*
|
||||
* User Model
|
||||
*
|
||||
* $URL$
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/**
|
||||
* @package e107
|
||||
* @subpackage user
|
||||
* @version $Id$
|
||||
*
|
||||
* User Model
|
||||
*/
|
||||
|
||||
if (!defined('e107_INIT')) { exit; }
|
||||
|
||||
class e_user_model extends e_model
|
||||
{
|
||||
/**
|
||||
* @see e_model
|
||||
* @var string
|
||||
*/
|
||||
protected $_db_table = 'user';
|
||||
|
||||
/**
|
||||
* @see e_model
|
||||
* @var string
|
||||
*/
|
||||
protected $_field_id = 'user_id';
|
||||
|
||||
/**
|
||||
* @see e_model
|
||||
* @var string
|
||||
*/
|
||||
protected $_message_stack = 'user';
|
||||
|
||||
/**
|
||||
* Get User value
|
||||
*
|
||||
* @param string$field
|
||||
* @param string $default
|
||||
* @return mixed
|
||||
*/
|
||||
public function getValue($field, $default)
|
||||
{
|
||||
$field = 'user_'.$field;
|
||||
return $this->get($field, $default);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set User value
|
||||
* @param string $field
|
||||
* @param mixed $value
|
||||
* @return e_user_model
|
||||
*/
|
||||
public function setValue($field, $value)
|
||||
{
|
||||
$field = 'user_'.$field;
|
||||
$this->set($field, $value, false);
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set current object as a target
|
||||
* @return e_user_model
|
||||
*/
|
||||
public function setAsTarget()
|
||||
{
|
||||
e107::setRegistry('targets/core/user', $this);
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Clear registered target
|
||||
* @return e_user_model
|
||||
*/
|
||||
public function clearTarget()
|
||||
{
|
||||
e107::setRegistry('targets/core/user', null);
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see e_model#load($id, $force)
|
||||
*/
|
||||
public function load($user_id = 0, $force = false)
|
||||
{
|
||||
parent::load($user_id, $force);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// TODO Current user model is under construction
|
||||
class e_current_user extends e_user_model
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
// TODO - add some more useful methods, sc_* methods
|
||||
class e_user extends e_user_model
|
||||
{
|
||||
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user