сlass User (Пользователь)

Используется для идентификации текущего пользователя системы.

class User
{
   
   /**
    * Инстанцировать объект
    * @return User
    */
    static public function getInstance()

   /**
    * Установить насильно идентификатор пользователя (вызывает сброс данных в объекте)
    * @param integer $id
    * @return void
    */
    public function setId($id)

   /**
    * Установить данные пользователя
    * @param array $data
    */
    public function setInfo(array $data)

   /**
    * Получить данные пользователя
    * @return array
    */
    public function getInfo()

   /**
    * Для объекта определен геттер, к данным можно обращаться по ключу
    * например: $user->name или $user->email
    * @throws Exception
    * @return mixed
    */
    public function __get($val)

   /**
    * Проверить авторизирован ли пользователь
    * при первом запуске (во время отработки скрипта) дополнительно, при помощи
    * модели проверяет были ли переданы данные авторизации методом пост и если
    * да пытается авторизовать пользователя подробнее можно узнать изучив метод
    * Model_User::checkLogin
    * @return mixed - user_id or false
    */
    public function isAuthorized()

   /**
    * Проверить, является ли пользователь администратором системы
    * @return boolean
    */
    public function isAdmin()

   /**
    * Форсировать авторизацию текущего пользователя (авторизовать насильно)
    * @param boolean $admin - optional
    * @return void
    */
    public function setAuthorised($admin = false)

   /**
    * Удалить авторизационные данные пользователя (сессия остается)
    */
    public function logout()
                  
   /**
    * Авторизовать пользователя, при успешной авторизации возвращает ссылку на объект, при неудаче - false (DVelum 0.9 и выше)
    * @param string $user
    * @param string $password
    * @return User|boolean
    */
    static public function login($user , $password)


    /* == Медоты административной учетной записи == */
   
   /**
    * Получить список модулей доступных для текущего пользователя (DVelum 0.9 и выше)
    * @return array
    */
    public function getAvailableModules()

   /**
    * Проверить наличие прав на просмотр данных модуля (DVelum 0.9 и выше)
    * @param string $module
    * @return boolean
    */
    public function canView($module)

   /**
    * Проверить наличие прав на редактирование данных модуля (DVelum 0.9 и выше)
    * @param string $module
    * @return boolean
    */
    public function canEdit($module)

   /**
    * Проверить наличие прав на удаление данных модуля (DVelum 0.9 и выше)
    * @param string $module
    * @return boolean
    */
    public function canDelete($module)

   /**
    * Проверить наличие прав на публикацию данных модуля (DVelum 0.9 и выше)
    * @param string $module
    * @return boolean
    */
    public function canPublish($module)
}

Добавление и редактирование пользователей производится при помощи ORM. Получение информации о пользователях осуществляется при помощи модели User.

Пример:

$user = new Db_Object('user');
$date = date('Y-m-d H:i:s');
$user->setValues(
array
(
		'name' =>'User Name',
		'email' => 'user@gmail.com',
		'login' => 'userlogin',
		'pass' => Utils::hash('userpassword'),
		'enabled' => true,
		'admin' => false,
		'registration_date' => $date ,
		'confirmation_code' => '' ,
		'group_id' => 0,
		'confirmed' => true,
		'avatar' => '',
		'registration_ip' => $_SERVER['REMOTE_ADDR'],
		'last_ip' => $_SERVER['REMOTE_ADDR'],
		'confirmation_date' =>$date
	)
);
$userId = $user->save();

comments powered by Disqus