Содержит класс UserMan, предназначенный для управления пользователями и группами пользователей.
UserMan (class UserMan extends LogMan)__construct(mysqli $dbLink)
Описание
Устанавливает связь с базой данных.
Принимаемые значения
dbLink - объект mysqli.
int createGroup(string $groupName, string $description, bool $log = TRUE)
Описание
Создает новую группу пользователей.
Принимаемые значения
groupName - имя группы.
description - описание группы.
log - флаг создания записи в журнале событий.
Возвращаемые значения
Идентификатор созданной группы. В случае возникновения ошибки возвращает FALSE.
bool groupStatus(int $groupId, bool $active, bool $log = TRUE)
Описание
Задает статус группы.
Принимаемые значения
groupId - идентификатор группы.
active - флаг статуса группы. Для активации группы TRUE, для диактивации FALSE.
log - флаг создания записи в журнале событий.
Возвращаемые значения
В случае успеха возвращает TRUE, иначе FALSE.
bool groupExists(string $groupName)
Описание
Проверяет существует ли группа с заданным именем.
Принимаемые значения
groupName - имя группы.
Возвращаемые значения
В случае успеха возвращает TRUE, иначе FALSE.
bool moveGroupTo(int $groupId, int $destId, bool $log = TRUE)
Описание
Переносит всех пользователей из одной группы в другую группу.
Принимаемые значения
groupId - идентификатор исходной группы. Должен принимать значение больше 1.
destId - идентификатор группы назначения.
log - флаг создания записи в журнале событий.
Возвращаемые значения
В случае успеха возвращает колличество перемещенных пользователей, иначе FALSE.
DOMDocument aboutGroup(int $groupId)
Описание
Возвращает информацию о группе.
Принимаемые значения
groupId - идентификатор группы.
Возвращаемые значения
В случае успеха возвращает описание группы в виде объекта DOMDocument, либо строки в формате JSON, иначе возвращает FALSE.
Структура JSON описывается следующей схемой JSON Schema:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | |
Структура XML описывается следующей схемой RELAX NG:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | |
Структура массива имеет вид подобный:
array(
'id' => идентификатор_группы,
'name' => имя_группы,
'description' => описание_группы,
'time' => время_создания_группы,
'active' => статус_группы,
'usum' => количество_пользователей_в_группе
)
bool setGroupName(int $groupId, string $groupName, bool $log = TRUE)
Описание
Задает новое имя группы.
Принимаемые значения
groupId - идентификатор группы.
groupName - новое имя группы.
log - флаг создания записи в журнале событий.
Возвращаемые значения
В случае успеха возвращает TRUE, иначе FALSE.
bool setGroupDesc(int $groupId, string $description, bool $log = TRUE)
Описание
Задает новое описание группы.
Принимаемые значения
groupId - идентификатор группы.
description - новое описание группы.
log - флаг создания записи в журнале событий.
Возвращаемые значения
В случае успеха возвращает TRUE, иначе FALSE.
bool delGroup(int $groupId, bool $log = TRUE)
Описание
Удаляет группу пользователей вместе со всеми политиками доступа к компонентам плагинов.
Принимаемые значения
groupId - идентификатор группы. Должен принимать значение больше 1.
log - флаг создания записи в журнале событий.
Возвращаемые значения
В случае успеха возвращает TRUE, иначе FALSE.
array sumGroups(int $rpp = 20)
Описание
Возвращает обобщенные данные о списке групп пользователей для вывода данных постранично.
Принимаемые значения
rpp - желаемое максимальное количество записей на странице. Число от 1 и выше. Если значение меньше 1, то оно приравнивается к 1.
Возвращаемые значения
Массив вида array('records' => int $totalGroups, 'pages' => int $totalPages), где totalGroups - общее количество групп totalPages - общее количество страниц, рассчитанное из соотношения totalGroups/gpp. В случае неудачи возвращает FALSE.
DOMDocument getGroups(int $pageNumber, int $totalGroups, int $rpp = 20, array $orderBy = array('id'), bool $ascent = FALSE)
Описание
Возвращает страницу со списком групп пользователей.
Принимаемые значения
pageNumber - номер страницы, число от 1 и выше.
totalGroups - общее количество групп.
rpp - желаемое максимальное количество записей на странице.
orderBy - параметры сортировки вывода записей. Допустимые значения параметров: 'id', 'name' , 'time' и 'active'. Последовательность параметров задаётся как массив, например, array('name', 'time'). Некорректно заданная последовательность параметров приравнивается к array('id').
ascent - направление сортировки. При значении FALSE, применяется сортировка по убывающей. При значении TRUE применяется сортировка по возрастающей.
Возвращаемые значения
В случае успеха возвращает список групп в виде объекта DOMDocument, либо строки в формате JSON, иначе возвращает FALSE.
Структура JSON описывается следующей схемой JSON Schema:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | |
Структура XML описывается следующей схемой RELAX NG:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | |
Структура массива имеет вид подобный:
array(
array(
'id' => идентификатор_группы,
'name' => имя_группы,
'time' => время_создания_группы,
'active' => статус_группы
),
array(...),
...
)
DOMDocument getAllGroups(array $orderBy = array('id'), bool $ascent = FALSE)
Описание
Возвращает список со всеми группами пользователей.
Принимаемые значения
orderBy - параметры сортировки вывода записей. Допустимые значения параметров: 'id', 'name', 'time' и 'active'. Последовательность параметров задаётся как массив, например, array('name', 'time'). Некорректно заданная последовательность параметров приравнивается к array('id').
ascent - направление сортировки. При значении FALSE, применяется сортировка по убывающей. При значении TRUE применяется сортировка по возрастающей.
Возвращаемые значения
В случае успеха возвращает список со всеми группами в виде объекта DOMDocument, либо строки в формате JSON, иначе возвращает FALSE.
Структура JSON описывается следующей схемой JSON Schema:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | |
Структура XML описывается следующей схемой RELAX NG:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | |
Структура массива имеет вид подобный:
array(
array(
'id' => идентификатор_группы,
'name' => имя_группы,
'time' => время_создания_группы,
'active' => статус_группы
),
array(...),
...
)
int createUser(string $username, string $password, string $email, int $groupId, bool $active = TRUE, bool $log = TRUE)
Описание
Создает нового пользователя.
Принимаемые значения
username - желаемое имя пользователя.
password - пароль.
email - адрес электронной почты.
groupId - идентификатор группы, к которой будет относится новый пользователь.
active - флаг статуса пользователя. Для активации пользователя TRUE, для диактивации FALSE.
log - флаг создания записи в журнале событий.
Возвращаемые значения
Идентификатор созданного пользователя. В случае возникновения ошибки возвращает FALSE.
int userExists(string $username)
Описание
Проверяет существует ли пользователь с заданным именем.
Принимаемые значения
username - проверяемое имя пользователей.
Возвращаемые значения
При положытельном результате возвращает идентификатор пользователя. Иначе возвращает FALSE.
int mailExists(string $email)
Описание
Проверяет существует ли пользователь с заданным адресом электронной почты.
Принимаемые значения
email - проверяемый адрес электронной почты.
Возвращаемые значения
При положытельном результате возвращает идентификатор пользователя. Иначе возвращает FALSE.
bool userStatus(int $userId, bool $active, bool $log = TRUE)
Описание
Задает статус пользователя.
Принимаемые значения
groupId - идентификатор пользователя.
active - флаг статуса пользователя. Для активации пользователя TRUE, для диактивации FALSE.
log - флаг создания записи в журнале событий.
Возвращаемые значения
В случае успеха возвращает TRUE, иначе FALSE.
bool moveUserTo(int $userId, int $destId, bool $log = TRUE)
Описание
Переносит пользователя из одной группы в другую группу.
Принимаемые значения
userId - идентификатор пользователя. Не может принимать значение 1, так как это значение соответствует системному пользователю.
destId - идентификатор группы назначения.
log - флаг создания записи в журнале событий.
Возвращаемые значения
В случае успеха возвращает TRUE, иначе FALSE.
bool delUser(int $userId, bool $log = TRUE)
Описание
Удаляет заданного пользователя.
Принимаемые значения
userId - идентификатор пользователя. Не может принимать значение 1, так как это значение соответствует системному пользователю.
log - флаг создания записи в журнале событий.
Возвращаемые значения
В случае успеха возвращает TRUE, иначе FALSE.
DOMDocument aboutUser(int $userId)
Описание
Возвращает информацию о пользователе.
Принимаемые значения
userId - идентификатор пользователя.
Возвращаемые значения
В случае успеха возвращает информацию о пользователе в виде объекта DOMDocument, либо строки в формате JSON, иначе возвращает FALSE.
Структура JSON описывается следующей схемой JSON Schema:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | |
Структура XML описывается следующей схемой RELAX NG:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | |
Структура массива имеет вид подобный:
array(
'id' => идентификатор_пользователя,
'username' => имя_пользователя,
'fullname' => полное_имя_пользователя,
'email' => адрес_электронной_почты,
'time' => время_создания_пользователя,
'active' => статус_пользователя,
'gid' => идентификатор_группы_пользователя,
'group' => имя_группы_пользователя
)
DOMDocument userPasswords(int $userId)
Описание
Возвращает список с информацией о паролях пользователя.
Принимаемые значения
userId - идентификатор пользователя.
Возвращаемые значения
В случае успеха возвращает список с информацией о паролях пользователя в виде объекта DOMDocument, либо строки в формате JSON, иначе возвращает FALSE.
Структура JSON описывается следующей схемой JSON Schema:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | |
Структура XML описывается следующей схемой RELAX NG:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | |
Структура массива имеет вид подобный:
array(
'uid' => идентификатор_пользователя,
'passwords' => array(
array(
'id' => идентификатор_пароля,
'description' => описание_пароля,
'limited' => тип_пароля
),
array(...),
...
)
)
string createPassword(int $userId, string $description, int $length = 8, bool $underline = TRUE, bool $minus = FALSE, bool $special = FALSE, bool $log = TRUE)
Описание
Автоматически создает вторичные пароли пользователя.
Принимаемые значения
userId - идентификатор пользователя.
description - краткое описание пароля.
length - желаемое количество символов в пароле. Минимальное значение - 8, максимальное - 50.
underline - флаг использования в пароле символа нижней черты. Если TRUE - использовать, если FALSE - не использовать.
minus - флаг использования в пароле знака "минус". Если TRUE - использовать, если FALSE - не использовать.
special - флаг использования в пароле специальных символов. Если TRUE - использовать, если FALSE - не использовать.
log - флаг создания записи в журнале событий.
Возвращаемые значения
Строка с созданным паролем. При возникновении ошибки возвращает FALSE.
int addPassword(int $userId, string $password, string $description='', bool $log = TRUE)
Описание
Создает вторичные пароли пользователя (пароли с ограниченными правами).
Принимаемые значения
userId - идентификатор пользователя.
password - добавляемый пароль.
description - краткое описание пароля.
log - флаг создания записи в журнале событий.
Возвращаемые значения
Идентификатор созданного пароля. В случае возникновения ошибки возвращает FALSE.
bool delPassword(string $passwId, int $userId, bool $log = TRUE)
Описание
Удаляет вторичный пароль пользователя.
Принимаемые значения
passwId - идентификатор пароля.
userId - идентификатор пользователя.
log - флаг создания записи в журнале событий.
Возвращаемые значения
В случае успеха возвращает TRUE, иначе FALSE.
bool setPassword(string $passwId, int $userId, string $password, bool $log = TRUE)
Описание
Задает новое значение пароля пользователя.
Принимаемые значения
passwId - идентификатор пароля.
userId - идентификатор пользователя.
password - новый пароль.
log - флаг создания записи в журнале событий.
Возвращаемые значения
В случае успеха возвращает TRUE, иначе FALSE.
bool setUserName(int $userId, string $username, bool $log = TRUE)
Описание
Задает новое значение имени пользователя.
Принимаемые значения
userId - идентификатор пользователя.
username - новое имя пользователя.
log - флаг создания записи в журнале событий.
Возвращаемые значения
В случае успеха возвращает TRUE, иначе FALSE.
bool setUserMail(int $userId, string $email, bool $log = TRUE)
Описание
Задает новое значение адреса электронной почты пользователя.
Принимаемые значения
userId - идентификатор пользователя.
email - новый адрес электронной почты.
log - флаг создания записи в журнале событий.
Возвращаемые значения
В случае успеха возвращает TRUE, иначе FALSE.
bool setFullName(int $userId, string $name, bool $log = TRUE)
Описание
Задает новое значение полного имени пользователя.
Принимаемые значения
userId - идентификатор пользователя.
name - новое полное имя пользователя.
log - флаг создания записи в журнале событий.
Возвращаемые значения
В случае успеха возвращает TRUE, иначе FALSE.
bool changePassword(string $passwId, int $userId, int $oldPassw, int $newPassw, bool $log = TRUE)
Описание
Меняет старый пароль пользователя на новый.
Принимаемые значения
passwId - идентификатор пароля.
userId - идентификатор пользователя.
oldPassw - старый пароль.
newPassw - новый пароль.
log - флаг создания записи в журнале событий.
Возвращаемые значения
В случае успеха возвращает TRUE, иначе FALSE.
array sumUsers(int $rpp = 20)
Описание
Возвращает обобщенные данные о списке пользователей для вывода данных постранично.
Принимаемые значения
rpp - желаемое максимальное количество записей на странице. Число от 1 и выше. Если значение меньше 1, то оно приравнивается к 1.
Возвращаемые значения
Массив вида array('records' => $totalUsers, 'pages' => $totalPages), где totalUsers - общее количество пользователей, totalPages - общее количество страниц, рассчитанное из соотношения totalUsers/rpp. В случае неудачи возвращает FALSE.
DOMDocument getUsers(int $pageNumber, int $totalUsers, int $rpp = 20, array $orderBy = array('id'), bool $ascent = FALSE)
Описание
Возвращает страницу со списком пользователей.
Принимаемые значения
pageNumber - номер страницы, число от 1 и выше.
totalUsers - общее количество пользователей.
rpp - желаемое максимальное количество записей на странице.
orderBy - параметры сортировки вывода записей. Допустимые значения параметров: 'id', 'username', 'time', 'fullname', 'email', 'group', 'gid' и 'active'. Последовательность параметров задаётся как массив, например, array('group', 'time'). Некорректно заданная последовательность параметров приравнивается к array('id').
ascent - направление сортировки. При значении FALSE, применяется сортировка по убывающей. При значении TRUE применяется сортировка по возрастающей.
Возвращаемые значения
В случае успеха возвращает страницу со списком пользователей в виде объекта DOMDocument, либо строки в формате JSON, иначе возвращает FALSE.
Структура JSON описывается следующей схемой JSON Schema:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | |
Структура XML описывается следующей схемой RELAX NG:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | |
Структура массива имеет вид подобный:
array(
array(
id' => идентификатор_пользователя,
'username' => имя_пользователя,
'fullname' => полное_имя_пользователя,
'email' => адрес_электронной_почты,
'group' => имя_группы_пользователя,
'gid' => идентификатор_группы_пользователя,
'time' => время_создания_пользователя,
'active' => статус_пользователя
),
array(...),
...
)
DOMDocument getAllUsers(array $orderBy = array('id'), bool $ascent = FALSE)
Описание
Возвращает список со всеми пользователями.
Принимаемые значения
orderBy - параметры сортировки вывода записей. Допустимые значения параметров: 'id', 'username', 'time', 'fullname', 'email', 'group', 'gid' и 'active'. Последовательность параметров задаётся как массив, например, array('group', 'time'). Некорректно заданная последовательность параметров приравнивается к array('id').
ascent - направление сортировки. При значении FALSE, применяется сортировка по убывающей. При значении TRUE применяется сортировка по возрастающей.
Возвращаемые значения
В случае успеха возвращает список со всеми пользователями в виде объекта DOMDocument, либо строки в формате JSON, иначе возвращает FALSE.
Структура JSON описывается следующей схемой JSON Schema:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | |
Структура XML описывается следующей схемой RELAX NG:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | |
Структура массива имеет вид подобный:
array(
array(
id' => идентификатор_пользователя,
'username' => имя_пользователя,
'fullname' => полное_имя_пользователя,
'email' => адрес_электронной_почты,
'group' => имя_группы_пользователя,
'gid' => идентификатор_группы_пользователя,
'time' => время_создания_пользователя,
'active' => статус_пользователя
),
array(...),
...
)
bool setUserLang(int $userId, string $code = MECCANO_DEF_LANG)
Описание
Задает предпочитаемый язык для пользователя.
Принимаемые значения
userId - идентификатор пользователя.
code - код задаваемого языка, соответствующий шаблону [a-z]{2}-[A-Z]{2}.
Возвращаемые значения
В случае успеха возвращает TRUE, иначе FALSE.
bool enable2FA(string $passwId, int $userId)
Описание
Включает двухфакторную аутентификацию для указанного пароля пользователя.
Принимаемые значения
passwId - идентификатор пароля.
userId - идентификатор пользователя.
Возвращаемые значения
В случае успеха возвращает TRUE, иначе FALSE.
bool disable2FA(string $passwId, int $userId)
Описание
Выключает двухфакторную аутентификацию для указанного пароля пользователя.
Принимаемые значения
passwId - идентификатор пароля.
userId - идентификатор пользователя.
Возвращаемые значения
В случае успеха возвращает TRUE, иначе FALSE.
void outputFormat(string $output = 'xml')
Описание
Устанавливает формат выводимых данных.
Принимаемые значения
output - может принимать значения json, или xml.