ModuleUser_MapperUser

Package modules.user
Inheritance class ModuleUser_MapperUser » Mapper » LsObject
Since 1.0
Source Code /classes/modules/user/mapper/User.mapper.class.php
Маппер для работы с БД

Protected Properties

Hide inherited properties

PropertyTypeDescriptionDefined By
oDb DbSimple_Generic_Database Объект подключения к базе данных Mapper

Public Methods

Hide inherited methods

MethodDescriptionDefined By
Add() Добавляет юзера ModuleUser_MapperUser
AddFriend() Добавляет друга ModuleUser_MapperUser
AddInvite() Добавляет новый инвайт ModuleUser_MapperUser
AddReminder() Добавляем воспоминание(восстановление) пароля ModuleUser_MapperUser
AddUserChangemail() Добавляет запись о смене емайла ModuleUser_MapperUser
AddUserNote() Добавляет заметку ModuleUser_MapperUser
CreateSession() Создание пользовательской сессии ModuleUser_MapperUser
DeleteUserFieldValues() Удаляет у пользователя значения полей ModuleUser_MapperUser
DeleteUserNoteById() Удаляет заметку по ID ModuleUser_MapperUser
EraseFriend() Удаляет информацию о дружбе из базы данных ModuleUser_MapperUser
GetCountInviteUsed() Получает полное число использованных приглашений юзера ModuleUser_MapperUser
GetCountInviteUsedByDate() Получает число использованых приглашений юзером за определенную дату ModuleUser_MapperUser
GetCountUserNotesByUserId() Возвращает количество заметок у пользователя ModuleUser_MapperUser
GetCountUsers() Возвращает количество пользователй ModuleUser_MapperUser
GetCountUsersActive() Возвращает количество активных пользователей ModuleUser_MapperUser
GetCountUsersFriend() Получает количество друзей ModuleUser_MapperUser
GetCountUsersSex() Возвращает количество пользователей в разрезе полов ModuleUser_MapperUser
GetFriendsByArrayId() Получить список отношений друзей ModuleUser_MapperUser
GetGroupPrefixUser() Возвращает список префиксов логинов пользователей (для алфавитного указателя) ModuleUser_MapperUser
GetInviteByCode() Получает инвайт по его коду ModuleUser_MapperUser
GetReminderByCode() Получаем запись восстановления пароля по коду ModuleUser_MapperUser
GetSessionsByArrayId() Список сессий юзеров по ID ModuleUser_MapperUser
GetUserByActivateKey() Получить юзера по ключу активации ModuleUser_MapperUser
GetUserByLogin() Получить юзера по логину ModuleUser_MapperUser
GetUserByMail() Получить юзера по мылу ModuleUser_MapperUser
GetUserBySessionKey() Получить юзера по ключу сессии ModuleUser_MapperUser
GetUserChangemailByCodeFrom() Возвращает объект смены емайла по коду подтверждения ModuleUser_MapperUser
GetUserChangemailByCodeTo() Возвращает объект смены емайла по коду подтверждения ModuleUser_MapperUser
GetUserInviteFrom() Получает юзера который пригласил ModuleUser_MapperUser
GetUserNote() Возвращет заметку по автору и пользователю ModuleUser_MapperUser
GetUserNoteById() Возвращает заметку по ID ModuleUser_MapperUser
GetUserNotesByArrayUserId() Возвращает список заметок пользователя по ID целевых юзеров ModuleUser_MapperUser
GetUserNotesByUserId() Возвращает список заметок пользователя ModuleUser_MapperUser
GetUserSelfFriendOffer() Получить список заявок на добавление в друзья от указанного пользователя ModuleUser_MapperUser
GetUsersByArrayId() Список юзеров по ID ModuleUser_MapperUser
GetUsersByDateLast() Получить список юзеров по дате последнего визита ModuleUser_MapperUser
GetUsersByDateRegister() Получить список юзеров по дате регистрации ModuleUser_MapperUser
GetUsersByFilter() Возвращает список пользователей по фильтру ModuleUser_MapperUser
GetUsersByLoginLike() Получить список юзеров по первым буквам логина ModuleUser_MapperUser
GetUsersFriend() Получает список друзей ModuleUser_MapperUser
GetUsersFriendOffer() Получить список заявок на добавление в друзья от указанного пользователя ModuleUser_MapperUser
GetUsersInvite() Получает список приглашенных юзеров ModuleUser_MapperUser
Update() Обновляет юзера ModuleUser_MapperUser
UpdateFriend() Обновляет информацию о друге ModuleUser_MapperUser
UpdateInvite() Обновляет инвайт ModuleUser_MapperUser
UpdateReminder() Сохраняем воспомнинание(восстановление) пароля ModuleUser_MapperUser
UpdateSession() Обновление данных сессии ModuleUser_MapperUser
UpdateUserChangemail() Обновляет запись о смене емайла ModuleUser_MapperUser
UpdateUserNote() Обновляет заметку ModuleUser_MapperUser
__construct() Передаем коннект к БД Mapper
addUserField() Добавить поле ModuleUser_MapperUser
deleteUserField() Удалить поле ModuleUser_MapperUser
getUserFieldValueByName() Получить по имени поля его значение дял определённого пользователя ModuleUser_MapperUser
getUserFields() Получить дополнительные поля профиля пользователя ModuleUser_MapperUser
getUserFieldsValues() Получить значения дополнительных полей профиля пользователя ModuleUser_MapperUser
setUserFieldsValues() Установить значения дополнительных полей профиля пользователя ModuleUser_MapperUser
updateUserField() Изменить поле ModuleUser_MapperUser
userFieldExistsById() Проверяет существует ли поле с таким ID ModuleUser_MapperUser
userFieldExistsByName() Проверяет существует ли поле с таким именем ModuleUser_MapperUser

Method Details

Add() method
public int|bool Add(ModuleUser_EntityUser $oUser)
$oUser ModuleUser_EntityUser Объект пользователя
{return} int|bool
Source Code: /classes/modules/user/mapper/User.mapper.class.php#31 (show)
public function Add(ModuleUser_EntityUser $oUser) {
    
$sql "INSERT INTO ".Config::Get('db.table.user')."
        (user_login,
        user_password,
        user_mail,
        user_date_register,
        user_ip_register,
        user_activate,
        user_activate_key
        )
        VALUES(?,  ?,    ?,    ?,    ?,    ?,    ?)
    "
;
    if (
$iId=$this->oDb->query($sql,$oUser->getLogin(),$oUser->getPassword(),$oUser->getMail(),$oUser->getDateRegister(),$oUser->getIpRegister(),$oUser->getActivate(),$oUser->getActivateKey())) {
        return 
$iId;
    }
    return 
false;
}

Добавляет юзера

AddFriend() method
public bool AddFriend(ModuleUser_EntityFriend $oFriend)
$oFriend ModuleUser_EntityFriend Объект дружбы(связи пользователей)
{return} bool
Source Code: /classes/modules/user/mapper/User.mapper.class.php#382 (show)
public function AddFriend(ModuleUser_EntityFriend $oFriend) {
    
$sql "INSERT INTO ".Config::Get('db.table.friend')."
        (user_from,
        user_to,
        status_from,
        status_to
        )
        VALUES(?d, ?d, ?d, ?d)
    "
;
    if (
        
$this->oDb->query(
            
$sql,
            
$oFriend->getUserFrom(),
            
$oFriend->getUserTo(),
            
$oFriend->getStatusFrom(),
            
$oFriend->getStatusTo()
        )===
0
    
) {
        return 
true;
    }
    return 
false;
}

Добавляет друга

AddInvite() method
public int|bool AddInvite(ModuleUser_EntityInvite $oInvite)
$oInvite ModuleUser_EntityInvite Объект инвайта
{return} int|bool
Source Code: /classes/modules/user/mapper/User.mapper.class.php#653 (show)
public function AddInvite(ModuleUser_EntityInvite $oInvite) {
    
$sql "INSERT INTO ".Config::Get('db.table.invite')."
        (invite_code,
        user_from_id,
        invite_date_add
        )
        VALUES(?,  ?,    ?)
    "
;
    if (
$iId=$this->oDb->query($sql,$oInvite->getCode(),$oInvite->getUserFromId(),$oInvite->getDateAdd())) {
        return 
$iId;
    }
    return 
false;
}

Добавляет новый инвайт

AddReminder() method
public bool AddReminder(ModuleUser_EntityReminder $oReminder)
$oReminder ModuleUser_EntityReminder Объект восстановления пароля
{return} bool
Source Code: /classes/modules/user/mapper/User.mapper.class.php#759 (show)
public function AddReminder(ModuleUser_EntityReminder $oReminder) {
    
$sql "REPLACE ".Config::Get('db.table.reminder')."
        SET
            reminder_code = ? ,
            user_id = ? ,
            reminder_date_add = ? ,
            reminder_date_used = ? ,
            reminder_date_expire = ? ,
            reminde_is_used = ?
    "
;
    return 
$this->oDb->query($sql,$oReminder->getCode(),$oReminder->getUserId(),$oReminder->getDateAdd(),$oReminder->getDateUsed(),$oReminder->getDateExpire(),$oReminder->getIsUsed());
}

Добавляем воспоминание(восстановление) пароля

AddUserChangemail() method
public int|null AddUserChangemail(ModuleUser_EntityChangemail $oChangemail)
$oChangemail ModuleUser_EntityChangemail Объект смены емайла
{return} int|null
Source Code: /classes/modules/user/mapper/User.mapper.class.php#1112 (show)
public function AddUserChangemail($oChangemail) {
    
$sql "INSERT INTO ".Config::Get('db.table.user_changemail')." SET ?a ";
    if (
$iId=$this->oDb->query($sql,$oChangemail->_getData())) {
        return 
$iId;
    }
    return 
false;
}

Добавляет запись о смене емайла

AddUserNote() method
public int|null AddUserNote(ModuleUser_EntityNote $oNote)
$oNote ModuleUser_EntityNote Объект заметки
{return} int|null
Source Code: /classes/modules/user/mapper/User.mapper.class.php#1084 (show)
public function AddUserNote($oNote) {
    
$sql "INSERT INTO ".Config::Get('db.table.user_note')." SET ?a ";
    if (
$iId=$this->oDb->query($sql,$oNote->_getData())) {
        return 
$iId;
    }
    return 
false;
}

Добавляет заметку

CreateSession() method
public bool CreateSession(ModuleUser_EntitySession $oSession)
$oSession ModuleUser_EntitySession
{return} bool
Source Code: /classes/modules/user/mapper/User.mapper.class.php#139 (show)
public function CreateSession(ModuleUser_EntitySession $oSession) {
    
$sql "REPLACE INTO ".Config::Get('db.table.session')."
        SET
            session_key = ? ,
            user_id = ? ,
            session_ip_create = ? ,
            session_ip_last = ? ,
            session_date_create = ? ,
            session_date_last = ?
    "
;
    return 
$this->oDb->query($sql,$oSession->getKey(), $oSession->getUserId(), $oSession->getIpCreate(), $oSession->getIpLast(), $oSession->getDateCreate(), $oSession->getDateLast());
}

Создание пользовательской сессии

DeleteUserFieldValues() method
public bool DeleteUserFieldValues(int $iUserId, array|null $aType)
$iUserId int ID пользователя
$aType array|null Список типов для удаления
{return} bool
Source Code: /classes/modules/user/mapper/User.mapper.class.php#959 (show)
public function DeleteUserFieldValues($iUserId,$aType) {
    if (!
is_null($aType) and !is_array($aType)) {
        
$aType=array($aType);
    }
    
$sql 'DELETE FROM '.Config::Get('db.table.user_field_value').'
        WHERE user_id = ?d AND field_id IN (
            SELECT id FROM '
.Config::Get('db.table.user_field').' WHERE 1=1 { and type IN (?a) }
        )'
;
    return 
$this->oDb->query($sql,$iUserId,(is_null($aType) or !count($aType)) ? DBSIMPLE_SKIP $aType);
}

Удаляет у пользователя значения полей

DeleteUserNoteById() method
public bool DeleteUserNoteById(int $iId)
$iId int ID заметки
{return} bool
Source Code: /classes/modules/user/mapper/User.mapper.class.php#1074 (show)
public function DeleteUserNoteById($iId) {
    
$sql "DELETE FROM ".Config::Get('db.table.user_note')." WHERE id = ?d ";
    return 
$this->oDb->query($sql,$iId);
}

Удаляет заметку по ID

EraseFriend() method
public bool EraseFriend(ModuleUser_EntityFriend $oFriend)
$oFriend ModuleUser_EntityFriend Объект дружбы(связи пользователей)
{return} bool
Source Code: /classes/modules/user/mapper/User.mapper.class.php#410 (show)
public function EraseFriend(ModuleUser_EntityFriend $oFriend) {
    
$sql "DELETE FROM ".Config::Get('db.table.friend')."
        WHERE
            user_from = ?d
            AND
            user_to = ?d
    "
;
    if (
$this->oDb->query($sql,$oFriend->getUserFrom(),$oFriend->getUserTo()))
    {
        return 
true;
    }
    return 
false;
}

Удаляет информацию о дружбе из базы данных

GetCountInviteUsed() method
public int GetCountInviteUsed(int $sUserIdFrom)
$sUserIdFrom int ID пользователя
{return} int
Source Code: /classes/modules/user/mapper/User.mapper.class.php#705 (show)
public function GetCountInviteUsed($sUserIdFrom) {
    
$sql "SELECT count(invite_id) as count FROM ".Config::Get('db.table.invite')." WHERE user_from_id = ?d";
    if (
$aRow=$this->oDb->selectRow($sql,$sUserIdFrom)) {
        return 
$aRow['count'];
    }
    return 
0;
}

Получает полное число использованных приглашений юзера

GetCountInviteUsedByDate() method
public int GetCountInviteUsedByDate(int $sUserIdFrom, string $sDate)
$sUserIdFrom int ID пользователя
$sDate string Дата
{return} int
Source Code: /classes/modules/user/mapper/User.mapper.class.php#692 (show)
public function GetCountInviteUsedByDate($sUserIdFrom,$sDate) {
    
$sql "SELECT count(invite_id) as count FROM ".Config::Get('db.table.invite')." WHERE user_from_id = ?d and invite_date_add >= ? ";
    if (
$aRow=$this->oDb->selectRow($sql,$sUserIdFrom,$sDate)) {
        return 
$aRow['count'];
    }
    return 
0;
}

Получает число использованых приглашений юзером за определенную дату

GetCountUserNotesByUserId() method
public int GetCountUserNotesByUserId(int $iUserId)
$iUserId int ID пользователя
{return} int
Source Code: /classes/modules/user/mapper/User.mapper.class.php#1001 (show)
public function GetCountUserNotesByUserId($iUserId) {
    
$sql "
        SELECT count(*) as c
        FROM
            "
.Config::Get('db.table.user_note')."
        WHERE
            user_id = ?d
        "
;
    if (
$aRow=$this->oDb->selectRow($sql,$iUserId)) {
        return 
$aRow['c'];
    }
    return 
0;
}

Возвращает количество заметок у пользователя

GetCountUsers() method
public int GetCountUsers()
{return} int
Source Code: /classes/modules/user/mapper/User.mapper.class.php#324 (show)
public function GetCountUsers() {
    
$sql "SELECT count(*) as count FROM ".Config::Get('db.table.user')."  WHERE user_activate = 1";
    
$result=$this->oDb->selectRow($sql);
    return 
$result['count'];
}

Возвращает количество пользователй

GetCountUsersActive() method
public mixed GetCountUsersActive(string $sDateActive)
$sDateActive string Дата
{return} mixed
Source Code: /classes/modules/user/mapper/User.mapper.class.php#335 (show)
public function GetCountUsersActive($sDateActive) {
    
$sql "SELECT count(*) as count FROM ".Config::Get('db.table.session')." WHERE session_date_last >= ? ";
    
$result=$this->oDb->selectRow($sql,$sDateActive);
    return 
$result['count'];
}

Возвращает количество активных пользователей

GetCountUsersFriend() method
public int GetCountUsersFriend(int $sUserId)
$sUserId int ID пользователя
{return} int
Source Code: /classes/modules/user/mapper/User.mapper.class.php#540 (show)
public function GetCountUsersFriend($sUserId) {
    
$sql "SELECT
                count(*) as c
            FROM
                "
.Config::Get('db.table.friend')." as uf
            WHERE
                ( uf.user_from = ?d
                OR
                uf.user_to = ?d )
                AND
                (     uf.status_from + uf.status_to = ?d
                OR
                    (uf.status_from = ?d AND uf.status_to = ?d )
                )"
;
    if (
$aRow=$this->oDb->selectRow(
        
$sql,
        
$sUserId,
        
$sUserId,
        
ModuleUser::USER_FRIEND_ACCEPT+ModuleUser::USER_FRIEND_OFFER,
        
ModuleUser::USER_FRIEND_ACCEPT,
        
ModuleUser::USER_FRIEND_ACCEPT
    
)
    ) {
        return 
$aRow['c'];
    }
    return 
0;
}

Получает количество друзей

GetCountUsersSex() method
public array GetCountUsersSex()
{return} array
Source Code: /classes/modules/user/mapper/User.mapper.class.php#345 (show)
public function GetCountUsersSex() {
    
$sql "SELECT user_profile_sex  AS ARRAY_KEY, count(*) as count FROM ".Config::Get('db.table.user')." WHERE user_activate = 1 GROUP BY user_profile_sex ";
    
$result=$this->oDb->select($sql);
    return 
$result;
}

Возвращает количество пользователей в разрезе полов

GetFriendsByArrayId() method
public array GetFriendsByArrayId(array $aArrayId, int $sUserId)
$aArrayId array Список ID пользователей проверяемых на дружбу
$sUserId int ID пользователя у которого проверяем друзей
{return} array
Source Code: /classes/modules/user/mapper/User.mapper.class.php#460 (show)
public function GetFriendsByArrayId($aArrayId,$sUserId) {
    if (!
is_array($aArrayId) or count($aArrayId)==0) {
        return array();
    }

    
$sql "SELECT
                *
            FROM
                "
.Config::Get('db.table.friend')."
            WHERE
                ( `user_from`=?d AND `user_to` IN(?a) )
                OR
                ( `user_from` IN(?a) AND `user_to`=?d )
            "
;
    
$aRows=$this->oDb->select(
        
$sql,
        
$sUserId,$aArrayId,
        
$aArrayId,$sUserId
    
);
    
$aRes=array();
    if (
$aRows) {
        foreach (
$aRows as $aRow) {
            
$aRow['user']=$sUserId;
            
$aRes[]=Engine::GetEntity('User_Friend',$aRow);
        }
    }
    return 
$aRes;
}

Получить список отношений друзей

GetGroupPrefixUser() method
public array GetGroupPrefixUser(int $iPrefixLength=1)
$iPrefixLength int Длина префикса
{return} array
Source Code: /classes/modules/user/mapper/User.mapper.class.php#1229 (show)
public function GetGroupPrefixUser($iPrefixLength=1) {
    
$sql "
        SELECT SUBSTRING(`user_login` FROM 1 FOR ?d ) as prefix
        FROM
            "
.Config::Get('db.table.user')."
        WHERE
            user_activate = 1
        GROUP BY prefix
        ORDER BY prefix "
;
    
$aReturn=array();
    if (
$aRows=$this->oDb->select($sql,$iPrefixLength)) {
        foreach (
$aRows as $aRow) {
            
$aReturn[]=mb_strtoupper($aRow['prefix'],'utf-8');
        }
    }
    return 
$aReturn;
}

Возвращает список префиксов логинов пользователей (для алфавитного указателя)

GetInviteByCode() method
public ModuleUser_EntityInvite|null GetInviteByCode(string $sCode, int $iUsed=0)
$sCode string Код инвайта
$iUsed int Флаг испольщования инвайта
{return} ModuleUser_EntityInvite|null
Source Code: /classes/modules/user/mapper/User.mapper.class.php#640 (show)
public function GetInviteByCode($sCode,$iUsed=0) {
    
$sql "SELECT * FROM ".Config::Get('db.table.invite')." WHERE invite_code = ? and invite_used = ?d ";
    if (
$aRow=$this->oDb->selectRow($sql,$sCode,$iUsed)) {
        return 
Engine::GetEntity('User_Invite',$aRow);
    }
    return 
null;
}

Получает инвайт по его коду

GetReminderByCode() method
public ModuleUser_EntityReminder|null GetReminderByCode(string $sCode)
$sCode string Код восстановления пароля
{return} ModuleUser_EntityReminder|null
Source Code: /classes/modules/user/mapper/User.mapper.class.php#786 (show)
public function GetReminderByCode($sCode) {
    
$sql "SELECT
                *
            FROM
                "
.Config::Get('db.table.reminder')."
            WHERE
                reminder_code = ?"
;
    if (
$aRow=$this->oDb->selectRow($sql,$sCode)) {
        return 
Engine::GetEntity('User_Reminder',$aRow);
    }
    return 
null;
}

Получаем запись восстановления пароля по коду

GetSessionsByArrayId() method
public array GetSessionsByArrayId(array $aArrayId)
$aArrayId array Список ID пользователей
{return} array
Source Code: /classes/modules/user/mapper/User.mapper.class.php#172 (show)
public function GetSessionsByArrayId($aArrayId) {
    if (!
is_array($aArrayId) or count($aArrayId)==0) {
        return array();
    }

    
$sql "SELECT
                s.*
            FROM
                "
.Config::Get('db.table.session')." as s
            WHERE
                s.user_id IN(?a) "
;
    
$aRes=array();
    if (
$aRows=$this->oDb->select($sql,$aArrayId)) {
        foreach (
$aRows as $aRow) {
            
$aRes[]=Engine::GetEntity('User_Session',$aRow);
        }
    }
    return 
$aRes;
}

Список сессий юзеров по ID

GetUserByActivateKey() method
public int|null GetUserByActivateKey(string $sKey)
$sKey string Ключ активации
{return} int|null
Source Code: /classes/modules/user/mapper/User.mapper.class.php#225 (show)
public function GetUserByActivateKey($sKey) {
    
$sql "SELECT
            u.user_id
        FROM
            "
.Config::Get('db.table.user')." as u
        WHERE u.user_activate_key = ? "
;
    if (
$aRow=$this->oDb->selectRow($sql,$sKey)) {
        return 
$aRow['user_id'];
    }
    return 
null;
}

Получить юзера по ключу активации

GetUserByLogin() method
public int|null GetUserByLogin(string $sLogin)
$sLogin string Логин пользователя
{return} int|null
Source Code: /classes/modules/user/mapper/User.mapper.class.php#259 (show)
public function GetUserByLogin($sLogin) {
    
$sql "SELECT
            u.user_id
        FROM
            "
.Config::Get('db.table.user')." as u
        WHERE
            u.user_login = ? "
;
    if (
$aRow=$this->oDb->selectRow($sql,$sLogin)) {
        return 
$aRow['user_id'];
    }
    return 
null;
}

Получить юзера по логину

GetUserByMail() method
public int|null GetUserByMail(string $sMail)
$sMail string Емайл
{return} int|null
Source Code: /classes/modules/user/mapper/User.mapper.class.php#242 (show)
public function GetUserByMail($sMail) {
    
$sql "SELECT
            u.user_id
        FROM
            "
.Config::Get('db.table.user')." as u
        WHERE u.user_mail = ? "
;
    if (
$aRow=$this->oDb->selectRow($sql,$sMail)) {
        return 
$aRow['user_id'];
    }
    return 
null;
}

Получить юзера по мылу

GetUserBySessionKey() method
public int|null GetUserBySessionKey(string $sKey)
$sKey string Сессионный ключ
{return} int|null
Source Code: /classes/modules/user/mapper/User.mapper.class.php#120 (show)
public function GetUserBySessionKey($sKey) {
    
$sql "SELECT
                s.user_id
            FROM
                "
.Config::Get('db.table.session')." as s
            WHERE
                s.session_key = ?
            "
;
    if (
$aRow=$this->oDb->selectRow($sql,$sKey)) {
        return 
$aRow['user_id'];
    }
    return 
null;
}

Получить юзера по ключу сессии

GetUserChangemailByCodeFrom() method
public ModuleUser_EntityChangemail|null GetUserChangemailByCodeFrom(string $sCode)
$sCode string Код подтверждения
{return} ModuleUser_EntityChangemail|null
Source Code: /classes/modules/user/mapper/User.mapper.class.php#1141 (show)
public function GetUserChangemailByCodeFrom($sCode) {
    
$sql "SELECT * FROM ".Config::Get('db.table.user_changemail')." WHERE code_from = ? ";
    if (
$aRow=$this->oDb->selectRow($sql,$sCode)) {
        return 
Engine::GetEntity('ModuleUser_EntityChangemail',$aRow);
    }
    return 
null;
}

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

GetUserChangemailByCodeTo() method
public ModuleUser_EntityChangemail|null GetUserChangemailByCodeTo(string $sCode)
$sCode string Код подтверждения
{return} ModuleUser_EntityChangemail|null
Source Code: /classes/modules/user/mapper/User.mapper.class.php#1154 (show)
public function GetUserChangemailByCodeTo($sCode) {
    
$sql "SELECT * FROM ".Config::Get('db.table.user_changemail')." WHERE code_to = ? ";
    if (
$aRow=$this->oDb->selectRow($sql,$sCode)) {
        return 
Engine::GetEntity('ModuleUser_EntityChangemail',$aRow);
    }
    return 
null;
}

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

GetUserInviteFrom() method
public int|null GetUserInviteFrom(int $sUserIdTo)
$sUserIdTo int ID пользователя
{return} int|null
Source Code: /classes/modules/user/mapper/User.mapper.class.php#739 (show)
public function GetUserInviteFrom($sUserIdTo) {
    
$sql "SELECT
                i.user_from_id
            FROM
                "
.Config::Get('db.table.invite')." as i
            WHERE
                i.user_to_id = ?d
            LIMIT 0,1;
                "
;
    if (
$aRow=$this->oDb->selectRow($sql,$sUserIdTo)) {
        return 
$aRow['user_from_id'];
    }
    return 
null;
}

Получает юзера который пригласил

GetUserNote() method
public ModuleUser_EntityNote|null GetUserNote(int $iTargetUserId, int $iUserId)
$iTargetUserId int ID пользователя о ком заметка
$iUserId int ID пользователя автора заметки
{return} ModuleUser_EntityNote|null
Source Code: /classes/modules/user/mapper/User.mapper.class.php#1021 (show)
public function GetUserNote($iTargetUserId,$iUserId) {
    
$sql "SELECT * FROM ".Config::Get('db.table.user_note')." WHERE target_user_id = ?d and user_id = ?d ";
    if (
$aRow=$this->oDb->selectRow($sql,$iTargetUserId,$iUserId)) {
        return 
Engine::GetEntity('ModuleUser_EntityNote',$aRow);
    }
    return 
null;
}

Возвращет заметку по автору и пользователю

GetUserNoteById() method
public ModuleUser_EntityNote|null GetUserNoteById(int $iId)
$iId int ID заметки
{return} ModuleUser_EntityNote|null
Source Code: /classes/modules/user/mapper/User.mapper.class.php#1034 (show)
public function GetUserNoteById($iId) {
    
$sql "SELECT * FROM ".Config::Get('db.table.user_note')." WHERE id = ?d ";
    if (
$aRow=$this->oDb->selectRow($sql,$iId)) {
        return 
Engine::GetEntity('ModuleUser_EntityNote',$aRow);
    }
    return 
null;
}

Возвращает заметку по ID

GetUserNotesByArrayUserId() method
public array GetUserNotesByArrayUserId(array $aArrayId, int $sUserId)
$aArrayId array Список ID целевых пользователей
$sUserId int ID пользователя, кто оставлял заметки
{return} array
Source Code: /classes/modules/user/mapper/User.mapper.class.php#1048 (show)
public function GetUserNotesByArrayUserId($aArrayId,$sUserId) {
    if (!
is_array($aArrayId) or count($aArrayId)==0) {
        return array();
    }

    
$sql "SELECT
                *
            FROM
                "
.Config::Get('db.table.user_note')."
            WHERE target_user_id IN (?a) and user_id = ?d
            "
;
    
$aRows=$this->oDb->select($sql,$aArrayId,$sUserId);
    
$aRes=array();
    if (
$aRows) {
        foreach (
$aRows as $aRow) {
            
$aRes[]=Engine::GetEntity('ModuleUser_EntityNote',$aRow);
        }
    }
    return 
$aRes;
}

Возвращает список заметок пользователя по ID целевых юзеров

GetUserNotesByUserId() method
public array GetUserNotesByUserId(int $iUserId, int &$iCount, int $iCurrPage, int $iPerPage)
$iUserId int ID пользователя
$iCount int Возвращает общее количество элементов
$iCurrPage int Номер страницы
$iPerPage int Количество элементов на страницу
{return} array
Source Code: /classes/modules/user/mapper/User.mapper.class.php#978 (show)
public function GetUserNotesByUserId($iUserId,&$iCount,$iCurrPage,$iPerPage) {
    
$sql "
        SELECT *
        FROM
            "
.Config::Get('db.table.user_note')."
        WHERE
            user_id = ?d
        ORDER BY id DESC
        LIMIT ?d, ?d "
;
    
$aReturn=array();
    if (
$aRows=$this->oDb->selectPage($iCount,$sql,$iUserId,($iCurrPage-1)*$iPerPage$iPerPage)) {
        foreach (
$aRows as $aRow) {
            
$aReturn[]=Engine::GetEntity('ModuleUser_EntityNote',$aRow);
        }
    }
    return 
$aReturn;
}

Возвращает список заметок пользователя

GetUserSelfFriendOffer() method
public array GetUserSelfFriendOffer(string $sUserId, int $iStatus=16)
$sUserId string
$iStatus int Статус запроса со стороны самого пользователя
{return} array
Source Code: /classes/modules/user/mapper/User.mapper.class.php#607 (show)
public function GetUserSelfFriendOffer($sUserId,$iStatus=ModuleUser::USER_FRIEND_NULL) {
    
$sql "SELECT
                uf.user_from
            FROM
                "
.Config::Get('db.table.friend')." as uf
            WHERE
                uf.user_to = ?d
                AND
                uf.status_from = ?d
                AND
                uf.status_to = ?d
            ;"
;
    
$aUsers=array();
    if (
$aRows=$this->oDb->select(
        
$sql,
        
$sUserId,
        
ModuleUser::USER_FRIEND_OFFER,
        
$iStatus
    
)
    ) {
        foreach (
$aRows as $aUser) {
            
$aUsers[]=$aUser['user_from'];
        }
    }
    return 
$aUsers;
}

Получить список заявок на добавление в друзья от указанного пользователя

GetUsersByArrayId() method
public array GetUsersByArrayId(array $aArrayId)
$aArrayId array Список ID пользователей
{return} array
Source Code: /classes/modules/user/mapper/User.mapper.class.php#197 (show)
public function GetUsersByArrayId($aArrayId) {
    if (!
is_array($aArrayId) or count($aArrayId)==0) {
        return array();
    }

    
$sql "SELECT
                u.*    ,
                IF(ua.user_id IS NULL,0,1) as user_is_administrator
            FROM
                "
.Config::Get('db.table.user')." as u
                LEFT JOIN "
.Config::Get('db.table.user_administrator')." AS ua ON u.user_id=ua.user_id
            WHERE
                u.user_id IN(?a)
            ORDER BY FIELD(u.user_id,?a) "
;
    
$aUsers=array();
    if (
$aRows=$this->oDb->select($sql,$aArrayId,$aArrayId)) {
        foreach (
$aRows as $aUser) {
            
$aUsers[]=Engine::GetEntity('User',$aUser);
        }
    }
    return 
$aUsers;
}

Список юзеров по ID

GetUsersByDateLast() method
public array GetUsersByDateLast(int $iLimit)
$iLimit int Количество
{return} array
Source Code: /classes/modules/user/mapper/User.mapper.class.php#277 (show)
public function GetUsersByDateLast($iLimit) {
    
$sql "SELECT
        user_id
        FROM
            "
.Config::Get('db.table.session')."
        ORDER BY
            session_date_last DESC
        LIMIT 0, ?d
            "
;
    
$aReturn=array();
    if (
$aRows=$this->oDb->select($sql,$iLimit)) {
        foreach (
$aRows as $aRow) {
            
$aReturn[]=$aRow['user_id'];
        }
    }
    return 
$aReturn;
}

Получить список юзеров по дате последнего визита

GetUsersByDateRegister() method
public array GetUsersByDateRegister(int $iLimit)
$iLimit int Количество
{return} array
Source Code: /classes/modules/user/mapper/User.mapper.class.php#300 (show)
public function GetUsersByDateRegister($iLimit) {
    
$sql "SELECT
        user_id
        FROM
            "
.Config::Get('db.table.user')."
        WHERE
             user_activate = 1
        ORDER BY
            user_id DESC
        LIMIT 0, ?d
            "
;
    
$aReturn=array();
    if (
$aRows=$this->oDb->select($sql,$iLimit)) {
        foreach (
$aRows as $aRow) {
            
$aReturn[]=$aRow['user_id'];
        }
    }
    return 
$aReturn;
}

Получить список юзеров по дате регистрации

GetUsersByFilter() method
public array GetUsersByFilter(array $aFilter, array $aOrder, int &$iCount, int $iCurrPage, int $iPerPage)
$aFilter array Фильтр
$aOrder array Сортировка
$iCount int Возвращает общее количество элементов
$iCurrPage int Номер страницы
$iPerPage int Количество элментов на страницу
{return} array
Source Code: /classes/modules/user/mapper/User.mapper.class.php#1171 (show)
public function GetUsersByFilter($aFilter,$aOrder,&$iCount,$iCurrPage,$iPerPage) {
    
$aOrderAllow=array('user_id','user_login','user_date_register','user_rating','user_skill','user_profile_name');
    
$sOrder='';
    foreach (
$aOrder as $key=>$value) {
        if (!
in_array($key,$aOrderAllow)) {
            unset(
$aOrder[$key]);
        } elseif (
in_array($value,array('asc','desc'))) {
            
$sOrder.={$key} {$value},";
        }
    }
    
$sOrder=trim($sOrder,',');
    if (
$sOrder=='') {
        
$sOrder=' user_id desc ';
    }

    
$sql "SELECT
                user_id
            FROM
                "
.Config::Get('db.table.user')."
            WHERE
                1 = 1
                { AND user_id = ?d }
                { AND user_mail = ? }
                { AND user_password = ? }
                { AND user_ip_register = ? }
                { AND user_activate = ?d }
                { AND user_activate_key = ? }
                { AND user_profile_sex = ? }
                { AND user_login LIKE ? }
                { AND user_profile_name LIKE ? }
            ORDER by 
{$sOrder}
            LIMIT ?d, ?d ;
                "
;
    
$aResult=array();
    if (
$aRows=$this->oDb->selectPage($iCount,$sql,
                                      isset(
$aFilter['id']) ? $aFilter['id'] : DBSIMPLE_SKIP,
                                      isset(
$aFilter['mail']) ? $aFilter['mail'] : DBSIMPLE_SKIP,
                                      isset(
$aFilter['password']) ? $aFilter['password'] : DBSIMPLE_SKIP,
                                      isset(
$aFilter['ip_register']) ? $aFilter['ip_register'] : DBSIMPLE_SKIP,
                                      isset(
$aFilter['activate']) ? $aFilter['activate'] : DBSIMPLE_SKIP,
                                      isset(
$aFilter['activate_key']) ? $aFilter['activate_key'] : DBSIMPLE_SKIP,
                                      isset(
$aFilter['profile_sex']) ? $aFilter['profile_sex'] : DBSIMPLE_SKIP,
                                      isset(
$aFilter['login']) ? $aFilter['login'] : DBSIMPLE_SKIP,
                                      isset(
$aFilter['profile_name']) ? $aFilter['profile_name'] : DBSIMPLE_SKIP,
                                      (
$iCurrPage-1)*$iPerPage$iPerPage
    
)) {
        foreach (
$aRows as $aRow) {
            
$aResult[]=$aRow['user_id'];
        }
    }
    return 
$aResult;
}

Возвращает список пользователей по фильтру

GetUsersByLoginLike() method
public array GetUsersByLoginLike(string $sUserLogin, int $iLimit)
$sUserLogin string Логин
$iLimit int Количество
{return} array
Source Code: /classes/modules/user/mapper/User.mapper.class.php#357 (show)
public function GetUsersByLoginLike($sUserLogin,$iLimit) {
    
$sql "SELECT
            user_id
        FROM
            "
.Config::Get('db.table.user')."
        WHERE
            user_activate = 1
            and
            user_login LIKE ?
        LIMIT 0, ?d
            "
;
    
$aReturn=array();
    if (
$aRows=$this->oDb->select($sql,$sUserLogin.'%',$iLimit)) {
        foreach (
$aRows as $aRow) {
            
$aReturn[]=$aRow['user_id'];
        }
    }
    return 
$aReturn;
}

Получить список юзеров по первым буквам логина

GetUsersFriend() method
public array GetUsersFriend(int $sUserId, int &$iCount, int $iCurrPage, int $iPerPage)
$sUserId int ID пользователя
$iCount int Возвращает общее количество элементов
$iCurrPage int Номер страницы
$iPerPage int Количество элементов на страницу
{return} array
Source Code: /classes/modules/user/mapper/User.mapper.class.php#497 (show)
public function GetUsersFriend($sUserId,&$iCount,$iCurrPage,$iPerPage) {
    
$sql "SELECT
                uf.user_from,
                uf.user_to
            FROM
                "
.Config::Get('db.table.friend')." as uf
            WHERE
                ( uf.user_from = ?d
                OR
                uf.user_to = ?d )
                AND
                (     uf.status_from + uf.status_to = ?d
                OR
                    (uf.status_from = ?d AND uf.status_to = ?d )
                )
            LIMIT ?d, ?d ;"
;
    
$aUsers=array();
    if (
$aRows=$this->oDb->selectPage(
        
$iCount,
        
$sql,
        
$sUserId,
        
$sUserId,
        
ModuleUser::USER_FRIEND_ACCEPT+ModuleUser::USER_FRIEND_OFFER,
        
ModuleUser::USER_FRIEND_ACCEPT,
        
ModuleUser::USER_FRIEND_ACCEPT,
        (
$iCurrPage-1)*$iPerPage$iPerPage
    
)
    ) {
        foreach (
$aRows as $aUser) {
            
$aUsers[]=($aUser['user_from']==$sUserId)
                ? 
$aUser['user_to']
                : 
$aUser['user_from'];
        }
    }
    
rsort($aUsers,SORT_NUMERIC);
    return 
array_unique($aUsers);
}

Получает список друзей

GetUsersFriendOffer() method
public array GetUsersFriendOffer(string $sUserId, int $iStatus=16)
$sUserId string
$iStatus int Статус запроса со стороны добавляемого
{return} array
Source Code: /classes/modules/user/mapper/User.mapper.class.php#574 (show)
public function GetUsersFriendOffer($sUserId,$iStatus=ModuleUser::USER_FRIEND_NULL) {
    
$sql "SELECT
                uf.user_to
            FROM
                "
.Config::Get('db.table.friend')." as uf
            WHERE
                uf.user_from = ?d
                AND
                uf.status_from = ?d
                AND
                uf.status_to = ?d
            ;"
;
    
$aUsers=array();
    if (
$aRows=$this->oDb->select(
        
$sql,
        
$sUserId,
        
ModuleUser::USER_FRIEND_OFFER,
        
$iStatus
    
)
    ) {
        foreach (
$aRows as $aUser) {
            
$aUsers[]=$aUser['user_to'];
        }
    }
    return 
$aUsers;
}

Получить список заявок на добавление в друзья от указанного пользователя

GetUsersInvite() method
public array GetUsersInvite(int $sUserId)
$sUserId int ID пользователя
{return} array
Source Code: /classes/modules/user/mapper/User.mapper.class.php#718 (show)
public function GetUsersInvite($sUserId) {
    
$sql "SELECT
                i.user_to_id
            FROM
                "
.Config::Get('db.table.invite')." as i
            WHERE
                i.user_from_id = ?d    "
;
    
$aUsers=array();
    if (
$aRows=$this->oDb->select($sql,$sUserId)) {
        foreach (
$aRows as $aUser) {
            
$aUsers[]=$aUser['user_to_id'];
        }
    }
    return 
$aUsers;
}

Получает список приглашенных юзеров

Update() method
public bool Update(ModuleUser_EntityUser $oUser)
$oUser ModuleUser_EntityUser Объект пользователя
{return} bool
Source Code: /classes/modules/user/mapper/User.mapper.class.php#54 (show)
public function Update(ModuleUser_EntityUser $oUser) {
    
$sql "UPDATE ".Config::Get('db.table.user')."
        SET
            user_password = ? ,
            user_mail = ? ,
            user_skill = ? ,
            user_date_activate = ? ,
            user_date_comment_last = ? ,
            user_rating = ? ,
            user_count_vote = ? ,
            user_activate = ? ,
            user_activate_key = ? ,
            user_profile_name = ? ,
            user_profile_sex = ? ,
            user_profile_country = ? ,
            user_profile_region = ? ,
            user_profile_city = ? ,
            user_profile_birthday = ? ,
            user_profile_about = ? ,
            user_profile_date = ? ,
            user_profile_avatar = ?    ,
            user_profile_foto = ? ,
            user_settings_notice_new_topic = ?    ,
            user_settings_notice_new_comment = ? ,
            user_settings_notice_new_talk = ?    ,
            user_settings_notice_reply_comment = ? ,
            user_settings_notice_new_friend = ? ,
            user_settings_timezone = ?
        WHERE user_id = ?
    "
;
    if (
$this->oDb->query($sql,$oUser->getPassword(),
                          
$oUser->getMail(),
                          
$oUser->getSkill(),
                          
$oUser->getDateActivate(),
                          
$oUser->getDateCommentLast(),
                          
$oUser->getRating(),
                          
$oUser->getCountVote(),
                          
$oUser->getActivate(),
                          
$oUser->getActivateKey(),
                          
$oUser->getProfileName(),
                          
$oUser->getProfileSex(),
                          
$oUser->getProfileCountry(),
                          
$oUser->getProfileRegion(),
                          
$oUser->getProfileCity(),
                          
$oUser->getProfileBirthday(),
                          
$oUser->getProfileAbout(),
                          
$oUser->getProfileDate(),
                          
$oUser->getProfileAvatar(),
                          
$oUser->getProfileFoto(),
                          
$oUser->getSettingsNoticeNewTopic(),
                          
$oUser->getSettingsNoticeNewComment(),
                          
$oUser->getSettingsNoticeNewTalk(),
                          
$oUser->getSettingsNoticeReplyComment(),
                          
$oUser->getSettingsNoticeNewFriend(),
                          
$oUser->getSettingsTimezone(),
                          
$oUser->getId())) {
        return 
true;
    }
    return 
false;
}

Обновляет юзера

UpdateFriend() method
public bool UpdateFriend(ModuleUser_EntityFriend $oFriend)
$oFriend ModuleUser_EntityFriend Объект дружбы(связи пользователей)
{return} bool
Source Code: /classes/modules/user/mapper/User.mapper.class.php#429 (show)
public function UpdateFriend(ModuleUser_EntityFriend $oFriend) {
    
$sql "
        UPDATE "
.Config::Get('db.table.friend')."
        SET
            status_from = ?d,
            status_to   = ?d
        WHERE
            user_from = ?d
            AND
            user_to = ?d
    "
;
    if(
        
$this->oDb->query(
            
$sql,
            
$oFriend->getStatusFrom(),
            
$oFriend->getStatusTo(),
            
$oFriend->getUserFrom(),
            
$oFriend->getUserTo()
        )
    ) {
        return 
true;
    }
    return 
false;
}

Обновляет информацию о друге

UpdateInvite() method
public bool UpdateInvite(ModuleUser_EntityInvite $oInvite)
$oInvite ModuleUser_EntityInvite бъект инвайта
{return} bool
Source Code: /classes/modules/user/mapper/User.mapper.class.php#672 (show)
public function UpdateInvite(ModuleUser_EntityInvite $oInvite) {
    
$sql "UPDATE ".Config::Get('db.table.invite')."
        SET
            user_to_id = ? ,
            invite_date_used = ? ,
            invite_used =?
        WHERE invite_id = ?
    "
;
    if (
$this->oDb->query($sql,$oInvite->getUserToId(), $oInvite->getDateUsed(), $oInvite->getUsed(), $oInvite->getId())) {
        return 
true;
    }
    return 
false;
}

Обновляет инвайт

UpdateReminder() method
public bool UpdateReminder(ModuleUser_EntityReminder $oReminder)
$oReminder ModuleUser_EntityReminder Объект восстановления пароля
{return} bool
Source Code: /classes/modules/user/mapper/User.mapper.class.php#777 (show)
public function UpdateReminder(ModuleUser_EntityReminder $oReminder) {
    return 
$this->AddReminder($oReminder);
}

Сохраняем воспомнинание(восстановление) пароля

UpdateSession() method
public int|bool UpdateSession(ModuleUser_EntitySession $oSession)
$oSession ModuleUser_EntitySession
{return} int|bool
Source Code: /classes/modules/user/mapper/User.mapper.class.php#157 (show)
public function UpdateSession(ModuleUser_EntitySession $oSession) {
    
$sql "UPDATE ".Config::Get('db.table.session')."
        SET
            session_ip_last = ? ,
            session_date_last = ?
        WHERE user_id = ?
    "
;
    return 
$this->oDb->query($sql,$oSession->getIpLast(), $oSession->getDateLast(), $oSession->getUserId());
}

Обновление данных сессии

UpdateUserChangemail() method
public int UpdateUserChangemail(ModuleUser_EntityChangemail $oChangemail)
$oChangemail ModuleUser_EntityChangemail Объект смены емайла
{return} int
Source Code: /classes/modules/user/mapper/User.mapper.class.php#1125 (show)
public function UpdateUserChangemail($oChangemail) {
    
$sql "UPDATE ".Config::Get('db.table.user_changemail')."
        SET
             date_used = ?,
             confirm_from = ?d,
             confirm_to = ?d
        WHERE id = ?d
    "
;
    return 
$this->oDb->query($sql,$oChangemail->getDateUsed(),$oChangemail->getConfirmFrom(),$oChangemail->getConfirmTo(),$oChangemail->getId());
}

Обновляет запись о смене емайла

UpdateUserNote() method
public int UpdateUserNote(ModuleUser_EntityNote $oNote)
$oNote ModuleUser_EntityNote Объект заметки
{return} int
Source Code: /classes/modules/user/mapper/User.mapper.class.php#1097 (show)
public function UpdateUserNote($oNote) {
    
$sql "UPDATE ".Config::Get('db.table.user_note')."
        SET
             text = ?
        WHERE id = ?d
    "
;
    return 
$this->oDb->query($sql,$oNote->getText(),
                             
$oNote->getId());
}

Обновляет заметку

addUserField() method
public bool addUserField(ModuleUser_EntityField $oField)
$oField ModuleUser_EntityField Объект пользовательского поля
{return} bool
Source Code: /classes/modules/user/mapper/User.mapper.class.php#899 (show)
public function addUserField($oField) {
    
$sql =  'INSERT INTO '.Config::Get('db.table.user_field').' SET
                name = ?, title = ?, pattern = ?, type = ?'
;
    return 
$this->oDb->query($sql$oField->getName(), $oField->getTitle(), $oField->getPattern(), $oField->getType());
}

Добавить поле

deleteUserField() method
public bool deleteUserField(int $iId)
$iId int ID пользовательского поля
{return} bool
Source Code: /classes/modules/user/mapper/User.mapper.class.php#910 (show)
public function deleteUserField($iId) {
    
$sql 'DELETE FROM '.Config::Get('db.table.user_field_value').' WHERE field_id = ?d';
    
$this->oDb->query($sql$iId);
    
$sql =  'DELETE FROM '.Config::Get('db.table.user_field').' WHERE
                id = ?d'
;
    
$this->oDb->query($sql$iId);
    return 
true;
}

Удалить поле

getUserFieldValueByName() method
public string getUserFieldValueByName(int $iUserId, string $sName)
$iUserId int ID пользователя
$sName string Имя поля
{return} string
Source Code: /classes/modules/user/mapper/User.mapper.class.php#826 (show)
public function getUserFieldValueByName($iUserId$sName) {
    
$sql 'SELECT value FROM '.Config::Get('db.table.user_field_value').'  WHERE
                    user_id = ?d
                    AND
                    field_id = (SELECT id FROM '
.Config::Get('db.table.user_field').' WHERE name =?)';
    
$ret $this->oDb->selectCol($sql$iUserId$sName);
    return 
$ret[0];
}

Получить по имени поля его значение дял определённого пользователя

getUserFields() method
public array getUserFields(array|null $aType)
$aType array|null Типы полей, null - все типы
{return} array
Source Code: /classes/modules/user/mapper/User.mapper.class.php#804 (show)
public function getUserFields($aType) {
    if (!
is_null($aType) and !is_array($aType)) {
        
$aType=array($aType);
    }
    
$sql 'SELECT * FROM '.Config::Get('db.table.user_field').' WHERE 1=1 { and type IN (?a) }';
    
$aFields $this->oDb->select($sql,(is_null($aType) or !count($aType)) ? DBSIMPLE_SKIP $aType);
    if (!
count($aFields)) {
        return array();
    }
    
$aResult = array();
    foreach(
$aFields as $aField) {
        
$aResult[$aField['id']] = Engine::GetEntity('User_Field'$aField);
    }
    return 
$aResult;
}

Получить дополнительные поля профиля пользователя

getUserFieldsValues() method
public array getUserFieldsValues(int $iUserId, bool $bOnlyNoEmpty, array $aType)
$iUserId int ID пользователя
$bOnlyNoEmpty bool Загружать только непустые поля
$aType array Типы полей, null - все типы
{return} array
Source Code: /classes/modules/user/mapper/User.mapper.class.php#842 (show)
public function getUserFieldsValues($iUserId$bOnlyNoEmpty$aType) {
    if (!
is_null($aType) and !is_array($aType)) {
        
$aType=array($aType);
    }

    
/**
     * Если запрашиваем без типа, то необходимо вернуть ВСЕ возможные поля с этим типом в не звависимости указал ли их пользователь у себя в профили или нет
     * Выглядит костыльно
     */
    
if (is_array($aType) and count($aType)==and $aType[0]=='') {
        
$sql='SELECT f.*, v.value FROM '.Config::Get('db.table.user_field').' as f LEFT JOIN '.Config::Get('db.table.user_field_value').' as v ON f.id = v.field_id WHERE v.user_id = ?d and f.type IN (?a)';

    } else {
        
$sql 'SELECT v.value, f.* FROM '.Config::Get('db.table.user_field_value').' as v, '.Config::Get('db.table.user_field').' as f
        WHERE v.user_id = ?d AND v.field_id = f.id { and f.type IN (?a) }'
;
    }
    
$aResult=array();
    if (
$aRows=$this->oDb->select($sql$iUserId,(is_null($aType) or !count($aType)) ? DBSIMPLE_SKIP $aType)) {
        foreach(
$aRows as $aRow) {
            if (
$bOnlyNoEmpty and !$aRow['value']) {
                continue;
            }
            
$aResult[]=Engine::GetEntity('User_Field'$aRow);
        }
    }
    return 
$aResult;
}

Получить значения дополнительных полей профиля пользователя

setUserFieldsValues() method
public bool setUserFieldsValues(int $iUserId, array $aFields, int $iCountMax)
$iUserId int ID пользователя
$aFields array Ассоциативный массив полей id => value
$iCountMax int Максимальное количество одинаковых полей
{return} bool
Source Code: /classes/modules/user/mapper/User.mapper.class.php#877 (show)
public function setUserFieldsValues($iUserId$aFields$iCountMax) {
    if (!
count($aFields)) return;
    foreach (
$aFields as $iId =>$sValue) {
        
$sql 'SELECT count(*) as c FROM '.Config::Get('db.table.user_field_value').' WHERE user_id = ?d AND field_id = ?';
        
$aRow=$this->oDb->selectRow($sql$iUserId$iId);
        
$iCount=isset($aRow['c']) ? $aRow['c'] : 0;
        if (
$iCount<$iCountMax) {
            
$sql 'INSERT INTO '.Config::Get('db.table.user_field_value').' SET value = ?, user_id = ?d, field_id = ?';
        } elseif (
$iCount==$iCountMax and $iCount==1) {
            
$sql 'UPDATE '.Config::Get('db.table.user_field_value').' SET value = ? WHERE user_id = ?d AND field_id = ?';
        } else {
            continue;
        }
        
$this->oDb->query($sql$sValue$iUserId$iId);
    }
}

Установить значения дополнительных полей профиля пользователя

updateUserField() method
public bool updateUserField(ModuleUser_EntityField $oField)
$oField ModuleUser_EntityField Объект пользовательского поля
{return} bool
Source Code: /classes/modules/user/mapper/User.mapper.class.php#924 (show)
public function updateUserField($oField) {
    
$sql =  'UPDATE '.Config::Get('db.table.user_field').' SET
                name = ?, title = ?, pattern = ?, type = ?
                WHERE id = ?d'
;
    
$this->oDb->query($sql$oField->getName(), $oField->getTitle(), $oField->getPattern(), $oField->getType(), $oField->getId());
    return 
true;
}

Изменить поле

userFieldExistsById() method
public bool userFieldExistsById(int $iId)
$iId int ID поля
{return} bool
Source Code: /classes/modules/user/mapper/User.mapper.class.php#948 (show)
public function userFieldExistsById($iId) {
    
$sql 'SELECT id FROM  '.Config::Get('db.table.user_field').' WHERE id = ?d';
    return 
$this->oDb->select($sql$iId);
}

Проверяет существует ли поле с таким ID

userFieldExistsByName() method
public bool userFieldExistsByName(string $sName, int|null $iId)
$sName string Имя поля
$iId int|null ID поля
{return} bool
Source Code: /classes/modules/user/mapper/User.mapper.class.php#938 (show)
public function userFieldExistsByName($sName$iId) {
    
$sql 'SELECT id FROM  '.Config::Get('db.table.user_field').' WHERE name = ? {AND id != ?d}';
    return 
$this->oDb->select($sql$sName$iId $iId DBSIMPLE_SKIP);
}

Проверяет существует ли поле с таким именем