class User extends DynamicFieldsObjectPredefined implements UserInterface

Пользователь

Traits

Используется в классах, которым необходимо работать с БД.

Constants

TYPE

TABLE

Properties

static $plugins Плагины from Base
int $id идентификатор объекта from Base
array $fields Значения полей объекта from DynamicFieldsObject
array $raw_fields Значения полей объекта? считанные из БД from DynamicFieldsObject
array $_objectDefinition Описание объекта from DynamicFieldsObject
static array $predefinedObjectDefinition Описание объекта from DynamicFieldsObjectPredefined
static $extension from Extendable
static $social

Methods

__toString()

No description

array
asArray()

Возвращает объект в виде массива с указанными полями

from Base
mixed
__get(string $name)

Перегрузка чтения свойств класса.

void
__set(string $name, mixed $value)

Перегрузка записи свойств класса.

static void
addPlugin(ObjectPlugin $class)

Расширяет функциональность класса с помощью методов другого класса.

from Base
__call($name, $arguments)

No description

from Base
decodeLocaleString($str)

No description

from Base
static Connection
getDbConnection()

Возвращает активное соединение с БД в рамках приложения

static void
configSet(string $key, miced $value)

Сохраняет пару ключ/значение в БД

static mixed
configGet(string $key)

Возвращает значение связанное с ключем из БД

static mixed
configGetAll()

Возвращает все ключи/значения из БД

static void
configUnset(string $key)

Удаляет пару ключ/значение из БД

factory($type, $table = null, $fields = null)

No description

fetch(array $data, $type, $table = null)

No description

setFields(array $fields)

Устанавливает поля объекта

getByIdType($id, $type)

Возвращает объект по ID и "Типу материалов".

__isset($name)

No description

static 
clearLocks()

No description

lock($uid)

No description

unlock()

No description

int
getType()

Возвращает "Тип материалов" объекта

string
getTable()

Возвращает таблицу БД, в которой хранятся поля объекта

array
getFieldsDef()

Возвращает описание полей объекта

mixed
getDynamicField(string $name)

Возвращает прочитанное из БД поле объекта в соответствии с типом поля

offsetExists($offset)

No description

offsetGet($offset)

No description

offsetSet($offset, $value)

No description

offsetUnset($offset)

No description

Object
getLinkedObjects($od, $fieldName)

Чтение из БД объектов, которые связаны полем $field с данным объектом.

Object
selectLinks(string $fieldname, string $fields = 'A.*', string $where = '', string $order = 'B.tag', string $group = '', string $limit = '') deprecated

DEPRECATED

Object
selectLinksIn(int|string $from, string $field, string $fields = '*', string $where = '', string $order = '', string $group = '', string $limit = '')

DEPRECATED Чтение из БД объектов, которые связаны полем $field с объектом.

void
delete()

Удаляет пользователя

void
save($hidden = true)

Сохранение объекта

setObjectDefinition($od)

No description

static 
getObjectDefinition()

No description

static User
getById($uid)

Возвращает пользователя по ID

static 
extend($class)

No description

static 
create()

No description

static 
callStatic($method)

No description

static 
enum()

No description

static User
getExternal(mixed $network, string $id)

Возвращает пользователя по ID внешней сети

static User
getByLogin(string $username)

Возвращает пользователя по его логину

static User
getByEmail(string $email)

Возвращает пользователя по его e-mail

static User
getAuthorized($identity)

Возвращает авторизованного в данный момент пользователя. Или false, если нет авторизации

addExternal(mixed $network, string $id)

Привязывает пользователя к аккаунту внешней сети

string
getExternalId(mixed $network)

Возвращает ID пользователя, если он привязан к внешней сети

getExternals()

No description

allowBackOffice()

Имеет ли право пользователь на доступ в back office

allowAdmin()

Имеет ли пользователь привелегии администратора

bool
isAdmin()

Имеет ли пользователь привелегии администратора

isSuperUser()

Имеет ли пользователь привелегии суперпользователя

allowCat($permission, $catalog)

Имеет ли пользователь разрешение на раздел

allowFilesystem($path)

Имеет ли пользователь право на доступ к физическому каталогу

isEnabled()

Пользователь не заблокирован

bool
isDisabled()

Пользователь заблокирован

isInGroup($group_id)

Является ли пользователь членом группы

hasRight($group_id)

No description

array
getGroups()

Список групп, в которых состоит пользователь

setGroups($value)

No description

addGroup($gid)

No description

getName()

No description

static void
logout($id = null)

Снимает авторизацию пользователя

void
authorize(bool $remember)

Авторизует пользователя

setPassword($value)

No description

checkPassword($value)

No description

boArray()

No description

static 
generatePassword($length = 5)

No description

static 
register($params, $unique_email = false)

No description

recoverPassword($mailFrom = 'no-reply@cetera.ru', $fromName = false)

No description

Details

in DynamicFieldsObject at line 192
__toString()

in Base at line 73
array asArray()

Возвращает объект в виде массива с указанными полями

Return Value

array

in DynamicFieldsObject at line 211
mixed __get(string $name)

Перегрузка чтения свойств класса.

Организуется доступ к полям объекта, созданным в конструкторе "Типы материалов" FastsiteCMS, как к свойствам объекта

Parameters

string $name свойство класса

Return Value

mixed

Exceptions

LogicException

in DynamicFieldsObject at line 245
void __set(string $name, mixed $value)

Перегрузка записи свойств класса.

Организуется доступ к полям объекта, созданным в конструкторе "Типы материалов" FastsiteCMS, как к свойствам объекта

Parameters

string $name свойство класса
mixed $value значение свойства

Return Value

void

Exceptions

LogicException

in Base at line 180
static void addPlugin(ObjectPlugin $class)

Расширяет функциональность класса с помощью методов другого класса.

Например, необходимо добавить в клас \Cetera\User метод, возвращающий кол-во дней, которые прошли с момента регистрации пользователя. Создадим класс-плагин:

class MyUser extends \Cetera\ObjectPlugin {
    public function getRegisteredDays() {
        // экземпляр класса, к каторому будет добавлен плагин находится в свойстве object
        $date_reg = new DateTime($this->object->date_reg);
        $date_now = new DateTime('now');
        $diff = $date_now->getTimestamp() - $date_reg->getTimestamp();
        return ceil($diff / (60*60*24));
    }
}

Добавим плагин к классу \Cetera\User:

\Cetera\User::addPlugin( 'MyUser' );

Теперь можем использовать метод \Cetera\User::getRegisteredDays():

$user = \Cetera\Application::getInstance()->getUser();
echo 'Я с вами '.$user->getRegisteredDays().' дней!';

Parameters

ObjectPlugin $class класс, методы которого добавить к данному

Return Value

void

in Base at line 192
__call($name, $arguments)

Parameters

$name
$arguments

in Base at line 216
decodeLocaleString($str)

Parameters

$str

in DbConnection at line 22
final static Connection getDbConnection()

Возвращает активное соединение с БД в рамках приложения

Return Value

Connection

in DbConnection at line 35
static void configSet(string $key, miced $value)

Сохраняет пару ключ/значение в БД

Parameters

string $key ключ
miced $value значение

Return Value

void

in DbConnection at line 47
static mixed configGet(string $key)

Возвращает значение связанное с ключем из БД

Parameters

string $key ключ

Return Value

mixed

in DbConnection at line 60
static mixed configGetAll()

Возвращает все ключи/значения из БД

Return Value

mixed

in DbConnection at line 78
static void configUnset(string $key)

Удаляет пару ключ/значение из БД

Parameters

string $key ключ

Return Value

void

static DynamicFieldsObject factory($type, $table = null, $fields = null)

Parameters

$type
$table
$fields

Return Value

DynamicFieldsObject

at line 91
static DynamicFieldsObject fetch(array $data, $type, $table = null)

Parameters

array $data поля объекта
$type
$table

Return Value

DynamicFieldsObject

at line 454
setFields(array $fields)

Устанавливает поля объекта

Parameters

array $fields поля объекта

in DynamicFieldsObject at line 182
static DynamicFieldsObject getByIdType($id, $type)

Возвращает объект по ID и "Типу материалов".

Parameters

$id
$type

Return Value

DynamicFieldsObject

in DynamicFieldsObject at line 226
__isset($name)

Parameters

$name

in DynamicFieldsObject at line 268
static clearLocks()

in DynamicFieldsObject at line 276
lock($uid)

Parameters

$uid

in DynamicFieldsObject at line 285
unlock()

in DynamicFieldsObject at line 295
int getType()

Возвращает "Тип материалов" объекта

Return Value

int

in DynamicFieldsObject at line 305
string getTable()

Возвращает таблицу БД, в которой хранятся поля объекта

Return Value

string

in DynamicFieldsObject at line 315
array getFieldsDef()

Возвращает описание полей объекта

Return Value

array

in DynamicFieldsObject at line 328
mixed getDynamicField(string $name)

Возвращает прочитанное из БД поле объекта в соответствии с типом поля

Parameters

string $name имя поля

Return Value

mixed

in DynamicFieldsObject at line 366
offsetExists($offset)

Parameters

$offset

in DynamicFieldsObject at line 374
offsetGet($offset)

Parameters

$offset

in DynamicFieldsObject at line 382
offsetSet($offset, $value)

Parameters

$offset
$value

in DynamicFieldsObject at line 385
offsetUnset($offset)

Parameters

$offset

in DynamicFieldsObject at line 557
Object getLinkedObjects($od, $fieldName)

Чтение из БД объектов, которые связаны полем $field с данным объектом.

Parameters

$od
$fieldName

Return Value

Object

deprecated

DEPRECATED

Чтение из БД объектов, на которые ссылается поле

При построении SQL запроса к базе данных, таблице, из которой производится чтение полей объектов присваивается псевдоним "A", а таблице, в которой хранятся связи между объектами - "B". Рекомендуется использовать эти псевдонимы, если вы используете параметры $fields, $where, $order, $group, $limit

Parameters

string $fieldname имя поля
string $fields поля, которые запрашивать из таблицы БД при выборке
string $where параметр WHERE запроса
string $order параметр ORDER BY запроса
string $group параметр GROUP BY запроса
string $limit параметр LIMIT запроса

Return Value

Object

in DynamicFieldsObject at line 663
Object selectLinksIn(int|string $from, string $field, string $fields = '*', string $where = '', string $order = '', string $group = '', string $limit = '')

DEPRECATED Чтение из БД объектов, которые связаны полем $field с объектом.

При построении SQL запроса к базе данных, таблице, из которой производится чтение полей объектов присваивается псевдоним "A", а таблице, в которой хранятся связи между объектами - "B". Рекомендуется использовать эти псевдонимы, если вы используете параметры $fields, $where, $order, $group, $limit

Parameters

int|string $from ID "Типа материалов" или имя таблицы БД, в которой хранятся объекты
string $field имя поля по которому объекты связаны с текущим
string $fields поля, которые запрашивать из таблицы БД при выборке
string $where параметр WHERE запроса
string $order параметр ORDER BY запроса
string $group параметр GROUP BY запроса
string $limit параметр LIMIT запроса

Return Value

Object

at line 442
void delete()

Удаляет пользователя

Return Value

void

at line 489
void save($hidden = true)

Сохранение объекта

Parameters

$hidden

Return Value

void

in DynamicFieldsObject at line 1106
setObjectDefinition($od)

Parameters

$od

static getObjectDefinition()

at line 105
static User getById($uid)

Возвращает пользователя по ID

Parameters

$uid

Return Value

User

in Extendable at line 8
final static extend($class)

Parameters

$class

in Extendable at line 13
static create()

in Extendable at line 21
final static callStatic($method)

Parameters

$method

at line 36
static enum()

at line 48
static User getExternal(mixed $network, string $id)

Возвращает пользователя по ID внешней сети

Parameters

mixed $network код внешней сети
string $id идентификатор пользователя во внешней сети

Return Value

User

at line 119
static User getByLogin(string $username)

Возвращает пользователя по его логину

Parameters

string $username логин

Return Value

User

at line 132
static User getByEmail(string $email)

Возвращает пользователя по его e-mail

Parameters

string $email логин

Return Value

User

at line 144
static User getAuthorized($identity)

Возвращает авторизованного в данный момент пользователя. Или false, если нет авторизации

Parameters

$identity

Return Value

User

at line 164
User addExternal(mixed $network, string $id)

Привязывает пользователя к аккаунту внешней сети

Parameters

mixed $network код внешней сети
string $id идентификатор пользователя во внешней сети

Return Value

User

at line 196
string getExternalId(mixed $network)

Возвращает ID пользователя, если он привязан к внешней сети

Parameters

mixed $network код внешней сети

Return Value

string $id

at line 211
getExternals()

at line 251
allowBackOffice()

Имеет ли право пользователь на доступ в back office

at line 262
allowAdmin()

Имеет ли пользователь привелегии администратора

at line 273
bool isAdmin()

Имеет ли пользователь привелегии администратора

Return Value

bool

at line 285
isSuperUser()

Имеет ли пользователь привелегии суперпользователя

Суперпользовател может создавать защищенные разделы, материалы, типы материалов, группы пользователей

at line 297
allowCat($permission, $catalog)

Имеет ли пользователь разрешение на раздел

Parameters

$permission
$catalog

at line 322
allowFilesystem($path)

Имеет ли пользователь право на доступ к физическому каталогу

Parameters

$path

at line 335
isEnabled()

Пользователь не заблокирован

at line 345
bool isDisabled()

Пользователь заблокирован

Return Value

bool

at line 356
isInGroup($group_id)

Является ли пользователь членом группы

Parameters

$group_id

at line 361
hasRight($group_id)

Parameters

$group_id

at line 373
array getGroups()

Список групп, в которых состоит пользователь

Return Value

array

at line 384
setGroups($value)

Parameters

$value

at line 391
addGroup($gid)

Parameters

$gid

at line 397
getName()

at line 408
static void logout($id = null)

Снимает авторизацию пользователя

Parameters

$id

Return Value

void

at line 425
void authorize(bool $remember)

Авторизует пользователя

Parameters

bool $remember долговременная авторизация

Return Value

void

at line 477
setPassword($value)

Parameters

$value

at line 484
checkPassword($value)

Parameters

$value

at line 547
boArray()

at line 559
static generatePassword($length = 5)

Parameters

$length

at line 568
static register($params, $unique_email = false)

Parameters

$params
$unique_email

at line 588
recoverPassword($mailFrom = 'no-reply@cetera.ru', $fromName = false)

Parameters

$mailFrom
$fromName