mirror of
https://github.com/Oreolek/ifhub.club.git
synced 2024-05-19 09:18:18 +03:00
Merge branch 'master' of https://github.com/livestreet/livestreet
This commit is contained in:
commit
bbb04d44eb
|
@ -873,6 +873,8 @@ class ModuleBlog extends Module {
|
|||
* @return bool
|
||||
*/
|
||||
public function RecalculateCountTopic() {
|
||||
//чистим зависимые кеши
|
||||
$this->Cache_Clean(Zend_Cache::CLEANING_MODE_MATCHING_TAG,array('blog_update'));
|
||||
return $this->oMapperBlog->RecalculateCountTopic();
|
||||
}
|
||||
/**
|
||||
|
@ -882,6 +884,9 @@ class ModuleBlog extends Module {
|
|||
* @return bool
|
||||
*/
|
||||
public function RecalculateCountTopicByBlogId($iBlogId) {
|
||||
//чистим зависимые кеши
|
||||
$this->Cache_Clean(Zend_Cache::CLEANING_MODE_MATCHING_TAG,array('blog_update',"blog_update_{$iBlogId}"));
|
||||
$this->Cache_Delete("blog_{$iBlogId}");
|
||||
return $this->oMapperBlog->RecalculateCountTopic($iBlogId);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,6 +18,8 @@
|
|||
/**
|
||||
* Модуль для работы с пользователями
|
||||
*
|
||||
* @package modules.user
|
||||
* @since 1.0
|
||||
*/
|
||||
class ModuleUser extends Module {
|
||||
/**
|
||||
|
@ -28,11 +30,24 @@ class ModuleUser extends Module {
|
|||
const USER_FRIEND_DELETE = 4;
|
||||
const USER_FRIEND_REJECT = 8;
|
||||
const USER_FRIEND_NULL = 16;
|
||||
|
||||
/**
|
||||
* Объект маппера
|
||||
*
|
||||
* @var ModuleUser_MapperUser
|
||||
*/
|
||||
protected $oMapper;
|
||||
/**
|
||||
* Объект текущего пользователя
|
||||
*
|
||||
* @var ModuleUser_EntityUser|null
|
||||
*/
|
||||
protected $oUserCurrent=null;
|
||||
/**
|
||||
* Объект сессии текущего пользователя
|
||||
*
|
||||
* @var ModuleUser_EntitySession|null
|
||||
*/
|
||||
protected $oSession=null;
|
||||
|
||||
/**
|
||||
* Список типов пользовательских полей
|
||||
*
|
||||
|
@ -74,17 +89,19 @@ class ModuleUser extends Module {
|
|||
$this->UpdateSession();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Возвращает список типов полей
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function GetUserFieldTypes() {
|
||||
return $this->aUserFieldTypes;
|
||||
}
|
||||
|
||||
/**
|
||||
* Добавляет новый тип с пользовательские поля
|
||||
* @param string $sType
|
||||
*
|
||||
* @param string $sType Тип
|
||||
* @return bool
|
||||
*/
|
||||
public function AddUserFieldTypes($sType) {
|
||||
if (!in_array($sType,$this->aUserFieldTypes)) {
|
||||
|
@ -96,6 +113,9 @@ class ModuleUser extends Module {
|
|||
/**
|
||||
* Получает дополнительные данные(объекты) для юзеров по их ID
|
||||
*
|
||||
* @param array $aUserId Список ID пользователей
|
||||
* @param array|null $aAllowData Список типод дополнительных данных для подгрузки у пользователей
|
||||
* @return array
|
||||
*/
|
||||
public function GetUsersAdditionalData($aUserId,$aAllowData=null) {
|
||||
if (is_null($aAllowData)) {
|
||||
|
@ -162,7 +182,8 @@ class ModuleUser extends Module {
|
|||
/**
|
||||
* Список юзеров по ID
|
||||
*
|
||||
* @param array $aUserId
|
||||
* @param array $aUserId Список ID пользователей
|
||||
* @return array
|
||||
*/
|
||||
public function GetUsersByArrayId($aUserId) {
|
||||
if (!$aUserId) {
|
||||
|
@ -223,17 +244,21 @@ class ModuleUser extends Module {
|
|||
$aUsers=func_array_sort_by_keys($aUsers,$aUserId);
|
||||
return $aUsers;
|
||||
}
|
||||
|
||||
/**
|
||||
* Алиас для корректной работы ORM
|
||||
*
|
||||
* @param unknown_type $aUserId
|
||||
* @return unknown
|
||||
* @param array $aUserId Список ID пользователей
|
||||
* @return array
|
||||
*/
|
||||
public function GetUserItemsByArrayId($aUserId) {
|
||||
return $this->GetUsersByArrayId($aUserId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Получение пользователей по списку ID используя общий кеш
|
||||
*
|
||||
* @param array $aUserId Список ID пользователей
|
||||
* @return array
|
||||
*/
|
||||
public function GetUsersByArrayIdSolid($aUserId) {
|
||||
if (!is_array($aUserId)) {
|
||||
$aUserId=array($aUserId);
|
||||
|
@ -254,7 +279,8 @@ class ModuleUser extends Module {
|
|||
/**
|
||||
* Список сессий юзеров по ID
|
||||
*
|
||||
* @param array $aUserId
|
||||
* @param array $aUserId Список ID пользователей
|
||||
* @return array
|
||||
*/
|
||||
public function GetSessionsByArrayId($aUserId) {
|
||||
if (!$aUserId) {
|
||||
|
@ -318,8 +344,8 @@ class ModuleUser extends Module {
|
|||
/**
|
||||
* Получить список сессий по списку айдишников, но используя единый кеш
|
||||
*
|
||||
* @param unknown_type $aUserId
|
||||
* @return unknown
|
||||
* @param array $aUserId Список ID пользователей
|
||||
* @return array
|
||||
*/
|
||||
public function GetSessionsByArrayIdSolid($aUserId) {
|
||||
if (!is_array($aUserId)) {
|
||||
|
@ -341,8 +367,8 @@ class ModuleUser extends Module {
|
|||
/**
|
||||
* Получает сессию юзера
|
||||
*
|
||||
* @param unknown_type $sUserId
|
||||
* @return unknown
|
||||
* @param int $sUserId ID пользователя
|
||||
* @return ModuleUser_EntitySession|null
|
||||
*/
|
||||
public function GetSessionByUserId($sUserId) {
|
||||
$aSessions=$this->GetSessionsByArrayId($sUserId);
|
||||
|
@ -365,8 +391,8 @@ class ModuleUser extends Module {
|
|||
/**
|
||||
* Добавляет юзера
|
||||
*
|
||||
* @param ModuleUser_EntityUser $oUser
|
||||
* @return unknown
|
||||
* @param ModuleUser_EntityUser $oUser Объект пользователя
|
||||
* @return ModuleUser_EntityUser|bool
|
||||
*/
|
||||
public function Add(ModuleUser_EntityUser $oUser) {
|
||||
if ($sId=$this->oMapper->Add($oUser)) {
|
||||
|
@ -384,8 +410,8 @@ class ModuleUser extends Module {
|
|||
/**
|
||||
* Получить юзера по ключу активации
|
||||
*
|
||||
* @param unknown_type $sKey
|
||||
* @return unknown
|
||||
* @param string $sKey Ключ активации
|
||||
* @return ModuleUser_EntityUser|null
|
||||
*/
|
||||
public function GetUserByActivateKey($sKey) {
|
||||
$id=$this->oMapper->GetUserByActivateKey($sKey);
|
||||
|
@ -394,8 +420,8 @@ class ModuleUser extends Module {
|
|||
/**
|
||||
* Получить юзера по ключу сессии
|
||||
*
|
||||
* @param unknown_type $sKey
|
||||
* @return unknown
|
||||
* @param string $sKey Сессионный ключ
|
||||
* @return ModuleUser_EntityUser|null
|
||||
*/
|
||||
public function GetUserBySessionKey($sKey) {
|
||||
$id=$this->oMapper->GetUserBySessionKey($sKey);
|
||||
|
@ -404,8 +430,8 @@ class ModuleUser extends Module {
|
|||
/**
|
||||
* Получить юзера по мылу
|
||||
*
|
||||
* @param unknown_type $sMail
|
||||
* @return unknown
|
||||
* @param string $sMail Емайл
|
||||
* @return ModuleUser_EntityUser|null
|
||||
*/
|
||||
public function GetUserByMail($sMail) {
|
||||
$id=$this->oMapper->GetUserByMail($sMail);
|
||||
|
@ -414,8 +440,8 @@ class ModuleUser extends Module {
|
|||
/**
|
||||
* Получить юзера по логину
|
||||
*
|
||||
* @param unknown_type $sLogin
|
||||
* @return unknown
|
||||
* @param string $sLogin Логин пользователя
|
||||
* @return ModuleUser_EntityUser|null
|
||||
*/
|
||||
public function GetUserByLogin($sLogin) {
|
||||
$s=strtolower($sLogin);
|
||||
|
@ -429,8 +455,8 @@ class ModuleUser extends Module {
|
|||
/**
|
||||
* Получить юзера по айдишнику
|
||||
*
|
||||
* @param unknown_type $sId
|
||||
* @return unknown
|
||||
* @param int $sId ID пользователя
|
||||
* @return ModuleUser_EntityUser|null
|
||||
*/
|
||||
public function GetUserById($sId) {
|
||||
$aUsers=$this->GetUsersAdditionalData($sId);
|
||||
|
@ -442,8 +468,8 @@ class ModuleUser extends Module {
|
|||
/**
|
||||
* Обновляет юзера
|
||||
*
|
||||
* @param ModuleUser_EntityUser $oUser
|
||||
* @return unknown
|
||||
* @param ModuleUser_EntityUser $oUser Объект пользователя
|
||||
* @return bool
|
||||
*/
|
||||
public function Update(ModuleUser_EntityUser $oUser) {
|
||||
//чистим зависимые кеши
|
||||
|
@ -454,8 +480,10 @@ class ModuleUser extends Module {
|
|||
/**
|
||||
* Авторизовывает юзера
|
||||
*
|
||||
* @param ModuleUser_EntityUser $oUser
|
||||
* @return unknown
|
||||
* @param ModuleUser_EntityUser $oUser Объект пользователя
|
||||
* @param bool $bRemember Запоминать пользователя или нет
|
||||
* @param string $sKey Ключ авторизации для куков
|
||||
* @return bool
|
||||
*/
|
||||
public function Authorization(ModuleUser_EntityUser $oUser,$bRemember=true,$sKey=null) {
|
||||
if (!$oUser->getId() or !$oUser->getActivate()) {
|
||||
|
@ -484,6 +512,7 @@ class ModuleUser extends Module {
|
|||
if ($bRemember) {
|
||||
setcookie('key',$sKey,time()+Config::Get('sys.cookie.time'),Config::Get('sys.cookie.path'),Config::Get('sys.cookie.host'));
|
||||
}
|
||||
return true;
|
||||
}
|
||||
/**
|
||||
* Автоматическое заллогинивание по ключу из куков
|
||||
|
@ -504,7 +533,7 @@ class ModuleUser extends Module {
|
|||
/**
|
||||
* Авторизован ли юзер
|
||||
*
|
||||
* @return unknown
|
||||
* @return bool
|
||||
*/
|
||||
public function IsAuthorization() {
|
||||
if ($this->oUserCurrent) {
|
||||
|
@ -516,7 +545,7 @@ class ModuleUser extends Module {
|
|||
/**
|
||||
* Получить текущего юзера
|
||||
*
|
||||
* @return unknown
|
||||
* @return ModuleUser_EntityUser|null
|
||||
*/
|
||||
public function GetUserCurrent() {
|
||||
return $this->oUserCurrent;
|
||||
|
@ -559,7 +588,13 @@ class ModuleUser extends Module {
|
|||
}
|
||||
$this->Cache_Set($data, "user_session_{$this->oSession->getUserId()}", array(), 60*60*24*4);
|
||||
}
|
||||
|
||||
/**
|
||||
* Создание пользовательской сессии
|
||||
*
|
||||
* @param ModuleUser_EntityUser $oUser Объект пользователя
|
||||
* @param string $sKey Сессионный ключ
|
||||
* @return bool
|
||||
*/
|
||||
protected function CreateSession(ModuleUser_EntityUser $oUser,$sKey) {
|
||||
$this->Cache_Clean(Zend_Cache::CLEANING_MODE_MATCHING_TAG,array('user_session_update'));
|
||||
$this->Cache_Delete("user_session_{$oUser->getId()}");
|
||||
|
@ -579,8 +614,8 @@ class ModuleUser extends Module {
|
|||
/**
|
||||
* Получить список юзеров по дате последнего визита
|
||||
*
|
||||
* @param unknown_type $iLimit
|
||||
* @return unknown
|
||||
* @param int $iLimit Количество
|
||||
* @return array
|
||||
*/
|
||||
public function GetUsersByDateLast($iLimit=20) {
|
||||
if ($this->IsAuthorization()) {
|
||||
|
@ -595,11 +630,11 @@ class ModuleUser extends Module {
|
|||
/**
|
||||
* Возвращает список пользователей по фильтру
|
||||
*
|
||||
* @param $aFilter
|
||||
* @param $aOrder
|
||||
* @param $iCurrPage
|
||||
* @param $iPerPage
|
||||
* @param array $aAllowData
|
||||
* @param array $aFilter Фильтр
|
||||
* @param array $aOrder Сортировка
|
||||
* @param int $iCurrPage Номер страницы
|
||||
* @param int $iPerPage Количество элментов на страницу
|
||||
* @param array $aAllowData Список типо данных для подгрузки к пользователям
|
||||
* @return array('collection'=>array,'count'=>int)
|
||||
*/
|
||||
public function GetUsersByFilter($aFilter,$aOrder,$iCurrPage,$iPerPage,$aAllowData=null) {
|
||||
|
@ -614,8 +649,8 @@ class ModuleUser extends Module {
|
|||
/**
|
||||
* Получить список юзеров по дате регистрации
|
||||
*
|
||||
* @param unknown_type $iLimit
|
||||
* @return unknown
|
||||
* @param int $iLimit Количество
|
||||
* @return array
|
||||
*/
|
||||
public function GetUsersByDateRegister($iLimit=20) {
|
||||
$aResult=$this->GetUsersByFilter(array('activate'=>1),array('id'=>'desc'),1,$iLimit);
|
||||
|
@ -624,7 +659,7 @@ class ModuleUser extends Module {
|
|||
/**
|
||||
* Получить статистику по юзерам
|
||||
*
|
||||
* @return unknown
|
||||
* @return array
|
||||
*/
|
||||
public function GetStatUsers() {
|
||||
if (false === ($aStat = $this->Cache_Get("user_stats"))) {
|
||||
|
@ -642,11 +677,11 @@ class ModuleUser extends Module {
|
|||
return $aStat;
|
||||
}
|
||||
/**
|
||||
* Получить список логинов по первым буквам
|
||||
* Получить список юзеров по первым буквам логина
|
||||
*
|
||||
* @param unknown_type $sUserLogin
|
||||
* @param unknown_type $iLimit
|
||||
* @return unknown
|
||||
* @param string $sUserLogin Логин
|
||||
* @param int $iLimit Количество
|
||||
* @return array
|
||||
*/
|
||||
public function GetUsersByLoginLike($sUserLogin,$iLimit) {
|
||||
if (false === ($data = $this->Cache_Get("user_like_{$sUserLogin}_{$iLimit}"))) {
|
||||
|
@ -656,13 +691,11 @@ class ModuleUser extends Module {
|
|||
$data=$this->GetUsersAdditionalData($data);
|
||||
return $data;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Получить список отношений друзей
|
||||
*
|
||||
* @param array $aUserId
|
||||
* @param array $aUserId Список ID пользователей проверяемых на дружбу
|
||||
* @param int $sUserId ID пользователя у которого проверяем друзей
|
||||
* @return array
|
||||
*/
|
||||
public function GetFriendsByArray($aUserId,$sUserId) {
|
||||
|
@ -730,10 +763,10 @@ class ModuleUser extends Module {
|
|||
return $aFriends;
|
||||
}
|
||||
/**
|
||||
* Получить список отношений с френдами по списку айдишников, но используя единый кеш
|
||||
* Получить список отношений друзей используя единый кеш
|
||||
*
|
||||
* @param array $aUserId
|
||||
* @param string $sUserId
|
||||
* @param array $aUserId Список ID пользователей проверяемых на дружбу
|
||||
* @param int $sUserId ID пользователя у которого проверяем друзей
|
||||
* @return array
|
||||
*/
|
||||
public function GetFriendsByArraySolid($aUserId,$sUserId) {
|
||||
|
@ -757,9 +790,9 @@ class ModuleUser extends Module {
|
|||
/**
|
||||
* Получаем привязку друга к юзеру(есть ли у юзера данный друг)
|
||||
*
|
||||
* @param string $sFriendId
|
||||
* @param string $sUserId
|
||||
* @return ModuleUser_EntityFriend
|
||||
* @param int $sFriendId ID пользователя друга
|
||||
* @param int $sUserId ID пользователя
|
||||
* @return ModuleUser_EntityFriend|null
|
||||
*/
|
||||
public function GetFriend($sFriendId,$sUserId) {
|
||||
$data=$this->GetFriendsByArray($sFriendId,$sUserId);
|
||||
|
@ -771,7 +804,7 @@ class ModuleUser extends Module {
|
|||
/**
|
||||
* Добавляет друга
|
||||
*
|
||||
* @param ModuleUser_EntityFriend $oFriend
|
||||
* @param ModuleUser_EntityFriend $oFriend Объект дружбы(связи пользователей)
|
||||
* @return bool
|
||||
*/
|
||||
public function AddFriend(ModuleUser_EntityFriend $oFriend) {
|
||||
|
@ -785,7 +818,7 @@ class ModuleUser extends Module {
|
|||
/**
|
||||
* Удаляет друга
|
||||
*
|
||||
* @param ModuleUser_EntityFriend $oFriend
|
||||
* @param ModuleUser_EntityFriend $oFriend Объект дружбы(связи пользователей)
|
||||
* @return bool
|
||||
*/
|
||||
public function DeleteFriend(ModuleUser_EntityFriend $oFriend) {
|
||||
|
@ -801,7 +834,7 @@ class ModuleUser extends Module {
|
|||
/**
|
||||
* Удаляет информацию о дружбе из базы данных
|
||||
*
|
||||
* @param ModuleUser_EntityFriend $oFriend
|
||||
* @param ModuleUser_EntityFriend $oFriend Объект дружбы(связи пользователей)
|
||||
* @return bool
|
||||
*/
|
||||
public function EraseFriend(ModuleUser_EntityFriend $oFriend) {
|
||||
|
@ -811,11 +844,10 @@ class ModuleUser extends Module {
|
|||
$this->Cache_Delete("user_friend_{$oFriend->getUserTo()}_{$oFriend->getUserFrom()}");
|
||||
return $this->oMapper->EraseFriend($oFriend);
|
||||
}
|
||||
|
||||
/**
|
||||
* Обновляет информацию о друге
|
||||
*
|
||||
* @param ModuleUser_EntityFriend $oFriend
|
||||
* @param ModuleUser_EntityFriend $oFriend Объект дружбы(связи пользователей)
|
||||
* @return bool
|
||||
*/
|
||||
public function UpdateFriend(ModuleUser_EntityFriend $oFriend) {
|
||||
|
@ -825,13 +857,12 @@ class ModuleUser extends Module {
|
|||
$this->Cache_Delete("user_friend_{$oFriend->getUserTo()}_{$oFriend->getUserFrom()}");
|
||||
return $this->oMapper->UpdateFriend($oFriend);
|
||||
}
|
||||
|
||||
/**
|
||||
* Получает список друзей
|
||||
*
|
||||
* @param int $sUserId
|
||||
* @param int $iPage
|
||||
* @param int $iPerPage
|
||||
* @param int $sUserId ID пользователя
|
||||
* @param int $iPage Номер страницы
|
||||
* @param int $iPerPage Количество элементов на страницу
|
||||
* @return array
|
||||
*/
|
||||
public function GetUsersFriend($sUserId,$iPage=1,$iPerPage=10) {
|
||||
|
@ -843,12 +874,11 @@ class ModuleUser extends Module {
|
|||
$data['collection']=$this->GetUsersAdditionalData($data['collection']);
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Получает количество друзей
|
||||
*
|
||||
* @param int $sUserId
|
||||
* @return array
|
||||
* @param int $sUserId ID пользователя
|
||||
* @return int
|
||||
*/
|
||||
public function GetCountUsersFriend($sUserId) {
|
||||
$sKey="count_user_friend_{$sUserId}";
|
||||
|
@ -858,13 +888,12 @@ class ModuleUser extends Module {
|
|||
}
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Получает инвайт по его коду
|
||||
*
|
||||
* @param string $sCode
|
||||
* @param int $iUsed
|
||||
* @return string
|
||||
* @param string $sCode Код инвайта
|
||||
* @param int $iUsed Флаг испольщования инвайта
|
||||
* @return ModuleUser_EntityInvite|null
|
||||
*/
|
||||
public function GetInviteByCode($sCode,$iUsed=0) {
|
||||
return $this->oMapper->GetInviteByCode($sCode,$iUsed);
|
||||
|
@ -872,8 +901,8 @@ class ModuleUser extends Module {
|
|||
/**
|
||||
* Добавляет новый инвайт
|
||||
*
|
||||
* @param ModuleUser_EntityInvite $oInvite
|
||||
* @return unknown
|
||||
* @param ModuleUser_EntityInvite $oInvite Объект инвайта
|
||||
* @return ModuleUser_EntityInvite|bool
|
||||
*/
|
||||
public function AddInvite(ModuleUser_EntityInvite $oInvite) {
|
||||
if ($sId=$this->oMapper->AddInvite($oInvite)) {
|
||||
|
@ -885,8 +914,8 @@ class ModuleUser extends Module {
|
|||
/**
|
||||
* Обновляет инвайт
|
||||
*
|
||||
* @param ModuleUser_EntityInvite $oInvite
|
||||
* @return unknown
|
||||
* @param ModuleUser_EntityInvite $oInvite бъект инвайта
|
||||
* @return bool
|
||||
*/
|
||||
public function UpdateInvite(ModuleUser_EntityInvite $oInvite) {
|
||||
//чистим зависимые кеши
|
||||
|
@ -896,8 +925,8 @@ class ModuleUser extends Module {
|
|||
/**
|
||||
* Генерирует новый инвайт
|
||||
*
|
||||
* @param unknown_type $oUser
|
||||
* @return unknown
|
||||
* @param ModuleUser_EntityUser $oUser Объект пользователя
|
||||
* @return ModuleUser_EntityInvite|bool
|
||||
*/
|
||||
public function GenerateInvite($oUser) {
|
||||
$oInvite=Engine::GetEntity('User_Invite');
|
||||
|
@ -909,9 +938,9 @@ class ModuleUser extends Module {
|
|||
/**
|
||||
* Получает число использованых приглашений юзером за определенную дату
|
||||
*
|
||||
* @param unknown_type $sUserIdFrom
|
||||
* @param unknown_type $sDate
|
||||
* @return unknown
|
||||
* @param int $sUserIdFrom ID пользователя
|
||||
* @param string $sDate Дата
|
||||
* @return int
|
||||
*/
|
||||
public function GetCountInviteUsedByDate($sUserIdFrom,$sDate) {
|
||||
return $this->oMapper->GetCountInviteUsedByDate($sUserIdFrom,$sDate);
|
||||
|
@ -919,8 +948,8 @@ class ModuleUser extends Module {
|
|||
/**
|
||||
* Получает полное число использованных приглашений юзера
|
||||
*
|
||||
* @param unknown_type $sUserIdFrom
|
||||
* @return unknown
|
||||
* @param int $sUserIdFrom ID пользователя
|
||||
* @return int
|
||||
*/
|
||||
public function GetCountInviteUsed($sUserIdFrom) {
|
||||
return $this->oMapper->GetCountInviteUsed($sUserIdFrom);
|
||||
|
@ -928,8 +957,8 @@ class ModuleUser extends Module {
|
|||
/**
|
||||
* Получаем число доступных приглашений для юзера
|
||||
*
|
||||
* @param unknown_type $oUserFrom
|
||||
* @return unknown
|
||||
* @param ModuleUser_EntityUser $oUserFrom Объект пользователя
|
||||
* @return int
|
||||
*/
|
||||
public function GetCountInviteAvailable(ModuleUser_EntityUser $oUserFrom) {
|
||||
$sDay=7;
|
||||
|
@ -943,8 +972,8 @@ class ModuleUser extends Module {
|
|||
/**
|
||||
* Получает список приглашенных юзеров
|
||||
*
|
||||
* @param unknown_type $sUserId
|
||||
* @return unknown
|
||||
* @param int $sUserId ID пользователя
|
||||
* @return array
|
||||
*/
|
||||
public function GetUsersInvite($sUserId) {
|
||||
if (false === ($data = $this->Cache_Get("users_invite_{$sUserId}"))) {
|
||||
|
@ -957,8 +986,8 @@ class ModuleUser extends Module {
|
|||
/**
|
||||
* Получает юзера который пригласил
|
||||
*
|
||||
* @param unknown_type $sUserIdTo
|
||||
* @return unknown
|
||||
* @param int $sUserIdTo ID пользователя
|
||||
* @return ModuleUser_EntityUser|null
|
||||
*/
|
||||
public function GetUserInviteFrom($sUserIdTo) {
|
||||
if (false === ($id = $this->Cache_Get("user_invite_from_{$sUserIdTo}"))) {
|
||||
|
@ -970,8 +999,8 @@ class ModuleUser extends Module {
|
|||
/**
|
||||
* Добавляем воспоминание(восстановление) пароля
|
||||
*
|
||||
* @param unknown_type $oReminder
|
||||
* @return unknown
|
||||
* @param ModuleUser_EntityReminder $oReminder Объект восстановления пароля
|
||||
* @return bool
|
||||
*/
|
||||
public function AddReminder(ModuleUser_EntityReminder $oReminder) {
|
||||
return $this->oMapper->AddReminder($oReminder);
|
||||
|
@ -979,8 +1008,8 @@ class ModuleUser extends Module {
|
|||
/**
|
||||
* Сохраняем воспомнинание(восстановление) пароля
|
||||
*
|
||||
* @param unknown_type $oReminder
|
||||
* @return unknown
|
||||
* @param ModuleUser_EntityReminder $oReminder Объект восстановления пароля
|
||||
* @return bool
|
||||
*/
|
||||
public function UpdateReminder(ModuleUser_EntityReminder $oReminder) {
|
||||
return $this->oMapper->UpdateReminder($oReminder);
|
||||
|
@ -988,21 +1017,19 @@ class ModuleUser extends Module {
|
|||
/**
|
||||
* Получаем запись восстановления пароля по коду
|
||||
*
|
||||
* @param unknown_type $sCode
|
||||
* @return unknown
|
||||
* @param string $sCode Код восстановления пароля
|
||||
* @return ModuleUser_EntityReminder|null
|
||||
*/
|
||||
public function GetReminderByCode($sCode) {
|
||||
return $this->oMapper->GetReminderByCode($sCode);
|
||||
}
|
||||
|
||||
/**
|
||||
* Upload user avatar on server
|
||||
* Make resized images
|
||||
* Загрузка аватара пользователя
|
||||
*
|
||||
* @param string $sFileTmp
|
||||
* @param ModuleUser_EntityUser $oUser
|
||||
* @param string $sFileTmp Серверный путь до временного аватара
|
||||
* @param ModuleUser_EntityUser $oUser Объект пользователя
|
||||
* @param array $aSize Размер области из которой нужно вырезать картинку - array('x1'=>0,'y1'=>0,'x2'=>100,'y2'=>100)
|
||||
* @return (string|bool)
|
||||
* @return string|bool
|
||||
*/
|
||||
public function UploadAvatar($sFileTmp,$oUser,$aSize=array()) {
|
||||
if (!file_exists($sFileTmp)) {
|
||||
|
@ -1096,9 +1123,9 @@ class ModuleUser extends Module {
|
|||
return false;
|
||||
}
|
||||
/**
|
||||
* Delete avatar from server
|
||||
* Удаляет аватар пользователя
|
||||
*
|
||||
* @param ModuleUser_EntityUser $oUser
|
||||
* @param ModuleUser_EntityUser $oUser Объект пользователя
|
||||
*/
|
||||
public function DeleteAvatar($oUser) {
|
||||
/**
|
||||
|
@ -1111,14 +1138,13 @@ class ModuleUser extends Module {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Upload user foto
|
||||
* загрузка фотографии пользователя
|
||||
*
|
||||
* @param string $sFileTmp
|
||||
* @param ModuleUser_EntityUser $oUser
|
||||
* @param string $sFileTmp Серверный путь до временной фотографии
|
||||
* @param ModuleUser_EntityUser $oUser Объект пользователя
|
||||
* @param array $aSize Размер области из которой нужно вырезать картинку - array('x1'=>0,'y1'=>0,'x2'=>100,'y2'=>100)
|
||||
* @return string
|
||||
* @return string|bool
|
||||
*/
|
||||
public function UploadFoto($sFileTmp,$oUser,$aSize=array()) {
|
||||
if (!file_exists($sFileTmp)) {
|
||||
|
@ -1193,7 +1219,7 @@ class ModuleUser extends Module {
|
|||
return false;
|
||||
}
|
||||
/**
|
||||
* Delete user foto from server
|
||||
* Удаляет фото пользователя
|
||||
*
|
||||
* @param ModuleUser_EntityUser $oUser
|
||||
*/
|
||||
|
@ -1203,7 +1229,8 @@ class ModuleUser extends Module {
|
|||
/**
|
||||
* Проверяет логин на корректность
|
||||
*
|
||||
* @param unknown_type $sLogin
|
||||
* @param string $sLogin Логин пользователя
|
||||
* @return bool
|
||||
*/
|
||||
public function CheckLogin($sLogin) {
|
||||
if (preg_match("/^[\da-z\_\-]{".Config::Get('module.user.login.min_size').','.Config::Get('module.user.login.max_size')."}$/i",$sLogin)){
|
||||
|
@ -1211,106 +1238,110 @@ class ModuleUser extends Module {
|
|||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Получить дополниетльные поля профиля пользователя
|
||||
* @param array $aType Типы полей, null - все типы
|
||||
* @return type
|
||||
* Получить дополнительные поля профиля пользователя
|
||||
*
|
||||
* @param array|null $aType Типы полей, null - все типы
|
||||
* @return array
|
||||
*/
|
||||
public function getUserFields($aType=null) {
|
||||
return $this->oMapper->getUserFields($aType);
|
||||
}
|
||||
|
||||
/**
|
||||
* Получить значения дополнительных полей профиля пользователя
|
||||
* @param int $iUserId
|
||||
*
|
||||
* @param int $iUserId ID пользователя
|
||||
* @param bool $bOnlyNoEmpty Загружать только непустые поля
|
||||
* @param array $aType Типы полей, null - все типы
|
||||
* @return type
|
||||
* @return array
|
||||
*/
|
||||
public function getUserFieldsValues($iUserId, $bOnlyNoEmpty = true, $aType=array('')) {
|
||||
return $this->oMapper->getUserFieldsValues($iUserId, $bOnlyNoEmpty, $aType);
|
||||
}
|
||||
|
||||
/**
|
||||
* Получить по имени поля его значение дял определённого пользователя
|
||||
* @param type $iUserId
|
||||
* @param type $bOnlyNoEmpty Загружать только непустые поля
|
||||
* @return type
|
||||
*
|
||||
* @param int $iUserId ID пользователя
|
||||
* @param string $sName Имя поля
|
||||
* @return string
|
||||
*/
|
||||
public function getUserFieldValueByName($iUserId, $sName) {
|
||||
return $this->oMapper->getUserFieldValueByName($iUserId, $sName);
|
||||
}
|
||||
|
||||
/**
|
||||
* Установить значения дополнительных полей профиля пользователя
|
||||
* @param type $iUserId
|
||||
* @param type $aFields Ассоциативный массив полей id => value
|
||||
* @return type
|
||||
*
|
||||
* @param int $iUserId ID пользователя
|
||||
* @param array $aFields Ассоциативный массив полей id => value
|
||||
* @param int $iCountMax Максимальное количество одинаковых полей
|
||||
* @return bool
|
||||
*/
|
||||
public function setUserFieldsValues($iUserId, $aFields, $iCountMax=1) {
|
||||
return $this->oMapper->setUserFieldsValues($iUserId, $aFields, $iCountMax);
|
||||
}
|
||||
|
||||
/**
|
||||
* Добавить поле
|
||||
* @param type $sName
|
||||
* @return type
|
||||
*
|
||||
* @param ModuleUser_EntityField $oField Объект пользовательского поля
|
||||
* @return bool
|
||||
*/
|
||||
public function addUserField($oField) {
|
||||
return $this->oMapper->addUserField($oField);
|
||||
}
|
||||
|
||||
/**
|
||||
* Изменить поле
|
||||
* @param type $sName
|
||||
* @return type
|
||||
*
|
||||
* @param ModuleUser_EntityField $oField Объект пользовательского поля
|
||||
* @return bool
|
||||
*/
|
||||
public function updateUserField($oField) {
|
||||
return $this->oMapper->updateUserField($oField);
|
||||
}
|
||||
|
||||
/**
|
||||
* Удалить поле
|
||||
* @param type $iId
|
||||
* @return type
|
||||
*
|
||||
* @param int $iId ID пользовательского поля
|
||||
* @return bool
|
||||
*/
|
||||
public function deleteUserField($iId) {
|
||||
return $this->oMapper->deleteUserField($iId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Проверяет существует ли поле с таким именем
|
||||
*
|
||||
* @param unknown_type $sName
|
||||
* @param unknown_type $iId
|
||||
* @return unknown
|
||||
* @param string $sName Имя поля
|
||||
* @param int|null $iId ID поля
|
||||
* @return bool
|
||||
*/
|
||||
public function userFieldExistsByName($sName, $iId = null) {
|
||||
return $this->oMapper->userFieldExistsByName($sName, $iId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Проверяет существует ли поле с таким ID
|
||||
*
|
||||
* @param unknown_type $iId
|
||||
* @return unknown
|
||||
* @param int $iId ID поля
|
||||
* @return bool
|
||||
*/
|
||||
public function userFieldExistsById($iId) {
|
||||
return $this->oMapper->userFieldExistsById($iId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Удаляет у пользователя значения полей
|
||||
*
|
||||
* @param int $iUserId ID пользователя
|
||||
* @param array|null $aType Список типов для удаления
|
||||
* @return bool
|
||||
*/
|
||||
public function DeleteUserFieldValues($iUserId,$aType=null) {
|
||||
return $this->oMapper->DeleteUserFieldValues($iUserId,$aType);
|
||||
}
|
||||
|
||||
/**
|
||||
* Возвращает список заметок пользователя
|
||||
*
|
||||
* @param $iUserId
|
||||
* @param $iCurrPage
|
||||
* @param $iPerPage
|
||||
* @return array
|
||||
* @param int $iUserId ID пользователя
|
||||
* @param int $iCurrPage Номер страницы
|
||||
* @param int $iPerPage Количество элементов на страницу
|
||||
* @return array('collection'=>array,'count'=>int)
|
||||
*/
|
||||
public function GetUserNotesByUserId($iUserId,$iCurrPage,$iPerPage) {
|
||||
$aResult=$this->oMapper->GetUserNotesByUserId($iUserId,$iCount,$iCurrPage,$iPerPage);
|
||||
|
@ -1331,12 +1362,11 @@ class ModuleUser extends Module {
|
|||
}
|
||||
return array('collection'=>$aResult,'count'=>$iCount);
|
||||
}
|
||||
|
||||
/**
|
||||
* Возвращает количество заметок у пользователя
|
||||
*
|
||||
* @param $iUserId
|
||||
* @return mixed
|
||||
* @param int $iUserId ID пользователя
|
||||
* @return int
|
||||
*/
|
||||
public function GetCountUserNotesByUserId($iUserId) {
|
||||
return $this->oMapper->GetCountUserNotesByUserId($iUserId);
|
||||
|
@ -1345,38 +1375,35 @@ class ModuleUser extends Module {
|
|||
/**
|
||||
* Возвращет заметку по автору и пользователю
|
||||
*
|
||||
* @param $iTargetUserId
|
||||
* @param $iUserId
|
||||
* @param int $iTargetUserId ID пользователя о ком заметка
|
||||
* @param int $iUserId ID пользователя автора заметки
|
||||
* @return ModuleUser_EntityNote
|
||||
*/
|
||||
public function GetUserNote($iTargetUserId,$iUserId) {
|
||||
return $this->oMapper->GetUserNote($iTargetUserId,$iUserId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Врзвращает заметку по ID
|
||||
* Возвращает заметку по ID
|
||||
*
|
||||
* @param $iId
|
||||
* @param int $iId ID заметки
|
||||
* @return ModuleUser_EntityNote
|
||||
*/
|
||||
public function GetUserNoteById($iId) {
|
||||
return $this->oMapper->GetUserNoteById($iId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Удаляет заметку по ID
|
||||
*
|
||||
* @param $iId
|
||||
* @param int $iId ID заметки
|
||||
* @return bool
|
||||
*/
|
||||
public function DeleteUserNoteById($iId) {
|
||||
return $this->oMapper->DeleteUserNoteById($iId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Сохраняет заметку в БД, если ее нет то создает новую
|
||||
*
|
||||
* @param $oNote
|
||||
* @param ModuleUser_EntityNote $oNote Объект заметки
|
||||
* @return bool|ModuleUser_EntityNote
|
||||
*/
|
||||
public function SaveNote($oNote) {
|
||||
|
@ -1396,11 +1423,10 @@ class ModuleUser extends Module {
|
|||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Возвращает список префиксов логинов пользователей (для алфавитного указателя)
|
||||
*
|
||||
* @param int $iPrefixLength
|
||||
* @param int $iPrefixLength Длина префикса
|
||||
* @return array
|
||||
*/
|
||||
public function GetGroupPrefixUser($iPrefixLength=1) {
|
||||
|
|
|
@ -15,22 +15,60 @@
|
|||
---------------------------------------------------------
|
||||
*/
|
||||
|
||||
/**
|
||||
* Сущность пользовательского поля у пользователя
|
||||
*
|
||||
* @package modules.user
|
||||
* @since 1.0
|
||||
*/
|
||||
class ModuleUser_EntityField extends Entity {
|
||||
/**
|
||||
* Возвращает ID поля
|
||||
*
|
||||
* @return int|null
|
||||
*/
|
||||
public function getId() {
|
||||
return $this->_getDataOne('id');
|
||||
}
|
||||
/**
|
||||
* Возвращает имя поля(уникальное)
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getName(){
|
||||
return $this->_getDataOne('name');
|
||||
}
|
||||
/**
|
||||
* Возвращает тип поля
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getType(){
|
||||
return $this->_getDataOne('type');
|
||||
}
|
||||
/**
|
||||
* Возвращает заголовок/описание поля
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getTitle(){
|
||||
return $this->_getDataOne('title');
|
||||
}
|
||||
/**
|
||||
* Возвращает паттерн подстановки поля
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getPattern(){
|
||||
return $this->_getDataOne('pattern');
|
||||
}
|
||||
/**
|
||||
* Возвращает значение поля у пользователя
|
||||
*
|
||||
* @param bool $bEscapeValue Экранировать значение
|
||||
* @param bool $bTransformed Применять паттерн или нет
|
||||
* @return string
|
||||
*/
|
||||
public function getValue($bEscapeValue = false, $bTransformed = false){
|
||||
if (!isset($this->_aData['value']) || !$this->_aData['value']) return '';
|
||||
if ($bEscapeValue) $this->_aData['value'] = htmlspecialchars($this->_aData['value']);
|
||||
|
@ -52,22 +90,51 @@ class ModuleUser_EntityField extends Entity {
|
|||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Устанавливает ID поля
|
||||
*
|
||||
* @param int $iId
|
||||
*/
|
||||
public function setId($iId) {
|
||||
$this->_aData['id']=$iId;
|
||||
}
|
||||
/**
|
||||
* Устанавливает имя поля(уникальное)
|
||||
*
|
||||
* @param string $sName
|
||||
*/
|
||||
public function setName($sName) {
|
||||
$this->_aData['name']=$sName;
|
||||
}
|
||||
/**
|
||||
* Устанавливает тип поля
|
||||
*
|
||||
* @param string $sName
|
||||
*/
|
||||
public function setType($sName) {
|
||||
$this->_aData['type']=$sName;
|
||||
}
|
||||
/**
|
||||
* Устанавливает заголовок/описание поля
|
||||
*
|
||||
* @param string $sTitle
|
||||
*/
|
||||
public function setTitle($sTitle) {
|
||||
$this->_aData['title']=$sTitle;
|
||||
}
|
||||
/**
|
||||
* Устанавливает паттерн подстановки поля
|
||||
*
|
||||
* @param string $sPattern
|
||||
*/
|
||||
public function setPattern($sPattern) {
|
||||
$this->_aData['pattern']=$sPattern;
|
||||
}
|
||||
/**
|
||||
* Устанавливает значение поля у пользователя
|
||||
*
|
||||
* @param string $sValue
|
||||
*/
|
||||
public function setValue($sValue) {
|
||||
$this->_aData['value']=$sValue;
|
||||
}
|
||||
|
|
|
@ -15,87 +15,154 @@
|
|||
---------------------------------------------------------
|
||||
*/
|
||||
|
||||
class ModuleUser_EntityFriend extends Entity
|
||||
{
|
||||
/**
|
||||
* При переданном параметре $sUserId возвращает тот идентификатор,
|
||||
* который не равен переданному
|
||||
*
|
||||
* @param ( string|null )
|
||||
* @return string
|
||||
*/
|
||||
public function getFriendId($sUserId=null) {
|
||||
if(!$sUserId) {
|
||||
$sUserId=$this->getUserId();
|
||||
}
|
||||
if($this->_getDataOne('user_from')==$sUserId) {
|
||||
return $this->_aData['user_to'];
|
||||
}
|
||||
if($this->_getDataOne('user_to')==$sUserId) {
|
||||
return $this->_aData['user_from'];
|
||||
}
|
||||
return false;
|
||||
}
|
||||
/**
|
||||
* Получает идентификатор пользователя,
|
||||
* относительно которого был сделан запрос
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public function getUserId() {
|
||||
/**
|
||||
* Сущность дружбу - связи пользователей друг с другом
|
||||
*
|
||||
* @package modules.user
|
||||
* @since 1.0
|
||||
*/
|
||||
class ModuleUser_EntityFriend extends Entity {
|
||||
/**
|
||||
* При переданном параметре $sUserId возвращает тот идентификатор,
|
||||
* который не равен переданному
|
||||
*
|
||||
* @param string|null $sUserId ID пользователя
|
||||
* @return string
|
||||
*/
|
||||
public function getFriendId($sUserId=null) {
|
||||
if(!$sUserId) {
|
||||
$sUserId=$this->getUserId();
|
||||
}
|
||||
if($this->_getDataOne('user_from')==$sUserId) {
|
||||
return $this->_aData['user_to'];
|
||||
}
|
||||
if($this->_getDataOne('user_to')==$sUserId) {
|
||||
return $this->_aData['user_from'];
|
||||
}
|
||||
return false;
|
||||
}
|
||||
/**
|
||||
* Получает идентификатор пользователя,
|
||||
* относительно которого был сделан запрос
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public function getUserId() {
|
||||
return $this->_getDataOne('user');
|
||||
}
|
||||
|
||||
public function getUserFrom() {
|
||||
return $this->_getDataOne('user_from');
|
||||
}
|
||||
public function getUserTo() {
|
||||
return $this->_getDataOne('user_to');
|
||||
}
|
||||
public function getStatusFrom() {
|
||||
return $this->_getDataOne('status_from');
|
||||
}
|
||||
public function getStatusTo() {
|
||||
}
|
||||
/**
|
||||
* Возвращает ID пользователя, который приглашает в друзья
|
||||
*
|
||||
* @return int|null
|
||||
*/
|
||||
public function getUserFrom() {
|
||||
return $this->_getDataOne('user_from');
|
||||
}
|
||||
/**
|
||||
* Возвращает ID пользователя, которого пришлашаем в друзья
|
||||
*
|
||||
* @return int|null
|
||||
*/
|
||||
public function getUserTo() {
|
||||
return $this->_getDataOne('user_to');
|
||||
}
|
||||
/**
|
||||
* Возвращает статус заявки на добавления в друзья у отправителя
|
||||
*
|
||||
* @return int|null
|
||||
*/
|
||||
public function getStatusFrom() {
|
||||
return $this->_getDataOne('status_from');
|
||||
}
|
||||
/**
|
||||
* Возвращает статус заявки на добавления в друзья у получателя
|
||||
*
|
||||
* @return int|null
|
||||
*/
|
||||
public function getStatusTo() {
|
||||
return $this->_getDataOne('status_to') ? $this->_getDataOne('status_to') : ModuleUser::USER_FRIEND_NULL;
|
||||
}
|
||||
public function getFriendStatus() {
|
||||
return $this->getStatusFrom()+$this->getStatusTo();
|
||||
}
|
||||
public function getStatusByUserId($sUserId) {
|
||||
if($sUserId==$this->getUserFrom()) {
|
||||
return $this->getStatusFrom();
|
||||
}
|
||||
if($sUserId==$this->getUserTo()) {
|
||||
return $this->getStatusTo();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public function setUserFrom($data) {
|
||||
$this->_aData['user_from']=$data;
|
||||
}
|
||||
public function setUserTo($data) {
|
||||
$this->_aData['user_to']=$data;
|
||||
}
|
||||
public function setStatusFrom($data) {
|
||||
$this->_aData['status_from']=$data;
|
||||
}
|
||||
public function setStatusTo($data) {
|
||||
$this->_aData['status_to']=$data;
|
||||
}
|
||||
public function setUserId($data) {
|
||||
$this->_aData['user']=$data;
|
||||
}
|
||||
public function setStatusByUserId($data,$sUserId) {
|
||||
if($sUserId==$this->getUserFrom()) {
|
||||
$this->setStatusFrom($data);
|
||||
return true;
|
||||
}
|
||||
if($sUserId==$this->getUserTo()) {
|
||||
$this->setStatusTo($data);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Возвращает статус дружбы
|
||||
*
|
||||
* @return int|null
|
||||
*/
|
||||
public function getFriendStatus() {
|
||||
return $this->getStatusFrom()+$this->getStatusTo();
|
||||
}
|
||||
/**
|
||||
* Возвращает статус дружбы для конкретного пользователя
|
||||
*
|
||||
* @param int $sUserId ID пользователя
|
||||
* @return bool|int
|
||||
*/
|
||||
public function getStatusByUserId($sUserId) {
|
||||
if($sUserId==$this->getUserFrom()) {
|
||||
return $this->getStatusFrom();
|
||||
}
|
||||
if($sUserId==$this->getUserTo()) {
|
||||
return $this->getStatusTo();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Устанавливает ID пользователя, который приглашает в друзья
|
||||
*
|
||||
* @param int $data
|
||||
*/
|
||||
public function setUserFrom($data) {
|
||||
$this->_aData['user_from']=$data;
|
||||
}
|
||||
/**
|
||||
* Устанавливает ID пользователя, которого пришлашаем в друзья
|
||||
*
|
||||
* @param int $data
|
||||
*/
|
||||
public function setUserTo($data) {
|
||||
$this->_aData['user_to']=$data;
|
||||
}
|
||||
/**
|
||||
* Устанавливает статус заявки на добавления в друзья у отправителя
|
||||
*
|
||||
* @param int $data
|
||||
*/
|
||||
public function setStatusFrom($data) {
|
||||
$this->_aData['status_from']=$data;
|
||||
}
|
||||
/**
|
||||
* Возвращает статус заявки на добавления в друзья у получателя
|
||||
*
|
||||
* @param int $data
|
||||
*/
|
||||
public function setStatusTo($data) {
|
||||
$this->_aData['status_to']=$data;
|
||||
}
|
||||
/**
|
||||
* Устанавливает ID пользователя
|
||||
*
|
||||
* @param int $data
|
||||
*/
|
||||
public function setUserId($data) {
|
||||
$this->_aData['user']=$data;
|
||||
}
|
||||
/**
|
||||
* Возвращает статус дружбы для конкретного пользователя
|
||||
*
|
||||
* @param int $data Статус
|
||||
* @param int $sUserId ID пользователя
|
||||
* @return bool
|
||||
*/
|
||||
public function setStatusByUserId($data,$sUserId) {
|
||||
if($sUserId==$this->getUserFrom()) {
|
||||
$this->setStatusFrom($data);
|
||||
return true;
|
||||
}
|
||||
if($sUserId==$this->getUserTo()) {
|
||||
$this->setStatusTo($data);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
?>
|
|
@ -15,53 +15,126 @@
|
|||
---------------------------------------------------------
|
||||
*/
|
||||
|
||||
class ModuleUser_EntityInvite extends Entity
|
||||
{
|
||||
public function getId() {
|
||||
return $this->_getDataOne('invite_id');
|
||||
}
|
||||
public function getCode() {
|
||||
return $this->_getDataOne('invite_code');
|
||||
}
|
||||
public function getUserFromId() {
|
||||
return $this->_getDataOne('user_from_id');
|
||||
}
|
||||
public function getUserToId() {
|
||||
return $this->_getDataOne('user_to_id');
|
||||
}
|
||||
public function getDateAdd() {
|
||||
return $this->_getDataOne('invite_date_add');
|
||||
}
|
||||
public function getDateUsed() {
|
||||
return $this->_getDataOne('invite_date_used');
|
||||
}
|
||||
public function getUsed() {
|
||||
return $this->_getDataOne('invite_used');
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Сущность инвайта(приглашения)
|
||||
*
|
||||
* @package modules.user
|
||||
* @since 1.0
|
||||
*/
|
||||
class ModuleUser_EntityInvite extends Entity {
|
||||
/**
|
||||
* Возвращает ID инвайта
|
||||
*
|
||||
* @return int|null
|
||||
*/
|
||||
public function getId() {
|
||||
return $this->_getDataOne('invite_id');
|
||||
}
|
||||
/**
|
||||
* Возвращает код инвайта
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getCode() {
|
||||
return $this->_getDataOne('invite_code');
|
||||
}
|
||||
/**
|
||||
* Возвращает ID пользователя, который отправляет инвайт
|
||||
*
|
||||
* @return int|null
|
||||
*/
|
||||
public function getUserFromId() {
|
||||
return $this->_getDataOne('user_from_id');
|
||||
}
|
||||
/**
|
||||
* Возвращает ID пользователя, которому отправляем инвайт
|
||||
*
|
||||
* @return int|null
|
||||
*/
|
||||
public function getUserToId() {
|
||||
return $this->_getDataOne('user_to_id');
|
||||
}
|
||||
/**
|
||||
* Возвращает дату выдачи инвайта
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getDateAdd() {
|
||||
return $this->_getDataOne('invite_date_add');
|
||||
}
|
||||
/**
|
||||
* Возвращает дату использования инвайта
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getDateUsed() {
|
||||
return $this->_getDataOne('invite_date_used');
|
||||
}
|
||||
/**
|
||||
* Возвращает статус использованости инвайта
|
||||
*
|
||||
* @return int|null
|
||||
*/
|
||||
public function getUsed() {
|
||||
return $this->_getDataOne('invite_used');
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Устанавливает ID инвайта
|
||||
*
|
||||
* @param int $data
|
||||
*/
|
||||
public function setId($data) {
|
||||
$this->_aData['invite_id']=$data;
|
||||
}
|
||||
public function setCode($data) {
|
||||
$this->_aData['invite_code']=$data;
|
||||
}
|
||||
public function setUserFromId($data) {
|
||||
$this->_aData['user_from_id']=$data;
|
||||
}
|
||||
public function setUserToId($data) {
|
||||
$this->_aData['user_to_id']=$data;
|
||||
}
|
||||
public function setDateAdd($data) {
|
||||
$this->_aData['invite_date_add']=$data;
|
||||
}
|
||||
public function setDateUsed($data) {
|
||||
$this->_aData['invite_date_used']=$data;
|
||||
}
|
||||
public function setUsed($data) {
|
||||
$this->_aData['invite_used']=$data;
|
||||
}
|
||||
|
||||
$this->_aData['invite_id']=$data;
|
||||
}
|
||||
/**
|
||||
* Устанавливает код инвайта
|
||||
*
|
||||
* @param string $data
|
||||
*/
|
||||
public function setCode($data) {
|
||||
$this->_aData['invite_code']=$data;
|
||||
}
|
||||
/**
|
||||
* Устанавливает ID пользователя, который отправляет инвайт
|
||||
*
|
||||
* @param int $data
|
||||
*/
|
||||
public function setUserFromId($data) {
|
||||
$this->_aData['user_from_id']=$data;
|
||||
}
|
||||
/**
|
||||
* Устанавливает ID пользователя, которому отправляем инвайт
|
||||
*
|
||||
* @param int $data
|
||||
*/
|
||||
public function setUserToId($data) {
|
||||
$this->_aData['user_to_id']=$data;
|
||||
}
|
||||
/**
|
||||
* Устанавливает дату выдачи инвайта
|
||||
*
|
||||
* @param string $data
|
||||
*/
|
||||
public function setDateAdd($data) {
|
||||
$this->_aData['invite_date_add']=$data;
|
||||
}
|
||||
/**
|
||||
* Устанавливает дату использования инвайта
|
||||
*
|
||||
* @param string $data
|
||||
*/
|
||||
public function setDateUsed($data) {
|
||||
$this->_aData['invite_date_used']=$data;
|
||||
}
|
||||
/**
|
||||
* Устанавливает статус использованости инвайта
|
||||
*
|
||||
* @param int $data
|
||||
*/
|
||||
public function setUsed($data) {
|
||||
$this->_aData['invite_used']=$data;
|
||||
}
|
||||
}
|
||||
?>
|
|
@ -15,25 +15,34 @@
|
|||
---------------------------------------------------------
|
||||
*/
|
||||
|
||||
/**
|
||||
* Сущность заметки о пользователе
|
||||
*
|
||||
* @package modules.user
|
||||
* @since 1.0
|
||||
*/
|
||||
class ModuleUser_EntityNote extends Entity {
|
||||
|
||||
/**
|
||||
* Определяем правила валидации
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $aValidateRules=array(
|
||||
array('target_user_id','target'),
|
||||
);
|
||||
|
||||
/**
|
||||
* Инициализация
|
||||
*/
|
||||
public function Init() {
|
||||
parent::Init();
|
||||
$this->aValidateRules[]=array('text','string','max'=>Config::Get('module.user.usernote_text_max'),'min'=>1,'allowEmpty'=>false);
|
||||
}
|
||||
|
||||
/**
|
||||
* Валидация пользователя
|
||||
*
|
||||
* @param $sValue
|
||||
* @param $aParams
|
||||
* @param string $sValue Значение
|
||||
* @param array $aParams Параметры
|
||||
* @return bool
|
||||
*/
|
||||
public function ValidateTarget($sValue,$aParams) {
|
||||
|
|
|
@ -15,45 +15,109 @@
|
|||
---------------------------------------------------------
|
||||
*/
|
||||
|
||||
class ModuleUser_EntityReminder extends Entity
|
||||
{
|
||||
public function getCode() {
|
||||
return $this->_getDataOne('reminder_code');
|
||||
}
|
||||
public function getUserId() {
|
||||
return $this->_getDataOne('user_id');
|
||||
}
|
||||
public function getDateAdd() {
|
||||
return $this->_getDataOne('reminder_date_add');
|
||||
}
|
||||
public function getDateUsed() {
|
||||
return $this->_getDataOne('reminder_date_used');
|
||||
}
|
||||
public function getDateExpire() {
|
||||
return $this->_getDataOne('reminder_date_expire');
|
||||
}
|
||||
public function getIsUsed() {
|
||||
return $this->_getDataOne('reminde_is_used');
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Сущность восстановления пароля
|
||||
*
|
||||
* @package modules.user
|
||||
* @since 1.0
|
||||
*/
|
||||
class ModuleUser_EntityReminder extends Entity {
|
||||
/**
|
||||
* Возвращает код восстановления
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getCode() {
|
||||
return $this->_getDataOne('reminder_code');
|
||||
}
|
||||
/**
|
||||
* Возвращает ID пользователя
|
||||
*
|
||||
* @return int|null
|
||||
*/
|
||||
public function getUserId() {
|
||||
return $this->_getDataOne('user_id');
|
||||
}
|
||||
/**
|
||||
* Возвращает дату создания
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getDateAdd() {
|
||||
return $this->_getDataOne('reminder_date_add');
|
||||
}
|
||||
/**
|
||||
* Возвращает дату использования
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getDateUsed() {
|
||||
return $this->_getDataOne('reminder_date_used');
|
||||
}
|
||||
/**
|
||||
* Возвращает дату завершения срока действия кода
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getDateExpire() {
|
||||
return $this->_getDataOne('reminder_date_expire');
|
||||
}
|
||||
/**
|
||||
* Возвращает статус использованости кода
|
||||
*
|
||||
* @return int|null
|
||||
*/
|
||||
public function getIsUsed() {
|
||||
return $this->_getDataOne('reminde_is_used');
|
||||
}
|
||||
|
||||
/**
|
||||
* Устанавливает код восстановления
|
||||
*
|
||||
* @param string $data
|
||||
*/
|
||||
public function setCode($data) {
|
||||
$this->_aData['reminder_code']=$data;
|
||||
}
|
||||
public function setUserId($data) {
|
||||
$this->_aData['user_id']=$data;
|
||||
}
|
||||
public function setDateAdd($data) {
|
||||
$this->_aData['reminder_date_add']=$data;
|
||||
}
|
||||
public function setDateUsed($data) {
|
||||
$this->_aData['reminder_date_used']=$data;
|
||||
}
|
||||
public function setDateExpire($data) {
|
||||
$this->_aData['reminder_date_expire']=$data;
|
||||
}
|
||||
public function setIsUsed($data) {
|
||||
$this->_aData['reminde_is_used']=$data;
|
||||
}
|
||||
$this->_aData['reminder_code']=$data;
|
||||
}
|
||||
/**
|
||||
* Устанавливает ID пользователя
|
||||
*
|
||||
* @param int $data
|
||||
*/
|
||||
public function setUserId($data) {
|
||||
$this->_aData['user_id']=$data;
|
||||
}
|
||||
/**
|
||||
* Устанавливает дату создания
|
||||
*
|
||||
* @param string $data
|
||||
*/
|
||||
public function setDateAdd($data) {
|
||||
$this->_aData['reminder_date_add']=$data;
|
||||
}
|
||||
/**
|
||||
* Устанавливает дату использования
|
||||
*
|
||||
* @param string $data
|
||||
*/
|
||||
public function setDateUsed($data) {
|
||||
$this->_aData['reminder_date_used']=$data;
|
||||
}
|
||||
/**
|
||||
* Устанавливает дату завершения срока действия кода
|
||||
*
|
||||
* @param string $data
|
||||
*/
|
||||
public function setDateExpire($data) {
|
||||
$this->_aData['reminder_date_expire']=$data;
|
||||
}
|
||||
/**
|
||||
* Устанавливает статус использованости кода
|
||||
*
|
||||
* @param int $data
|
||||
*/
|
||||
public function setIsUsed($data) {
|
||||
$this->_aData['reminde_is_used']=$data;
|
||||
}
|
||||
}
|
||||
?>
|
|
@ -15,45 +15,110 @@
|
|||
---------------------------------------------------------
|
||||
*/
|
||||
|
||||
class ModuleUser_EntitySession extends Entity
|
||||
{
|
||||
public function getKey() {
|
||||
return $this->_getDataOne('session_key');
|
||||
}
|
||||
public function getUserId() {
|
||||
return $this->_getDataOne('user_id');
|
||||
}
|
||||
public function getIpCreate() {
|
||||
return $this->_getDataOne('session_ip_create');
|
||||
}
|
||||
public function getIpLast() {
|
||||
return $this->_getDataOne('session_ip_last');
|
||||
}
|
||||
public function getDateCreate() {
|
||||
return $this->_getDataOne('session_date_create');
|
||||
}
|
||||
public function getDateLast() {
|
||||
return $this->_getDataOne('session_date_last');
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Сущность сессии
|
||||
*
|
||||
* @package modules.user
|
||||
* @since 1.0
|
||||
*/
|
||||
class ModuleUser_EntitySession extends Entity {
|
||||
/**
|
||||
* Возвращает ключ сессии
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getKey() {
|
||||
return $this->_getDataOne('session_key');
|
||||
}
|
||||
/**
|
||||
* Возвращает ID пользователя
|
||||
*
|
||||
* @return int|null
|
||||
*/
|
||||
public function getUserId() {
|
||||
return $this->_getDataOne('user_id');
|
||||
}
|
||||
/**
|
||||
* Возвращает IP создания сессии
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getIpCreate() {
|
||||
return $this->_getDataOne('session_ip_create');
|
||||
}
|
||||
/**
|
||||
* Возвращает последний IP сессии
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getIpLast() {
|
||||
return $this->_getDataOne('session_ip_last');
|
||||
}
|
||||
/**
|
||||
* Возвращает дату создания сессии
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getDateCreate() {
|
||||
return $this->_getDataOne('session_date_create');
|
||||
}
|
||||
/**
|
||||
* Возвращает последную дату сессии
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getDateLast() {
|
||||
return $this->_getDataOne('session_date_last');
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Устанавливает ключ сессии
|
||||
*
|
||||
* @param string $data
|
||||
*/
|
||||
public function setKey($data) {
|
||||
$this->_aData['session_key']=$data;
|
||||
}
|
||||
public function setUserId($data) {
|
||||
$this->_aData['user_id']=$data;
|
||||
}
|
||||
public function setIpCreate($data) {
|
||||
$this->_aData['session_ip_create']=$data;
|
||||
}
|
||||
public function setIpLast($data) {
|
||||
$this->_aData['session_ip_last']=$data;
|
||||
}
|
||||
public function setDateCreate($data) {
|
||||
$this->_aData['session_date_create']=$data;
|
||||
}
|
||||
public function setDateLast($data) {
|
||||
$this->_aData['session_date_last']=$data;
|
||||
}
|
||||
$this->_aData['session_key']=$data;
|
||||
}
|
||||
/**
|
||||
* Устанавливает ID пользователя
|
||||
*
|
||||
* @param int $data
|
||||
*/
|
||||
public function setUserId($data) {
|
||||
$this->_aData['user_id']=$data;
|
||||
}
|
||||
/**
|
||||
* Устанавливает IP создания сессии
|
||||
*
|
||||
* @param string $data
|
||||
*/
|
||||
public function setIpCreate($data) {
|
||||
$this->_aData['session_ip_create']=$data;
|
||||
}
|
||||
/**
|
||||
* Устанавливает последний IP сессии
|
||||
*
|
||||
* @param string $data
|
||||
*/
|
||||
public function setIpLast($data) {
|
||||
$this->_aData['session_ip_last']=$data;
|
||||
}
|
||||
/**
|
||||
* Устанавливает дату создания сессии
|
||||
*
|
||||
* @param string $data
|
||||
*/
|
||||
public function setDateCreate($data) {
|
||||
$this->_aData['session_date_create']=$data;
|
||||
}
|
||||
/**
|
||||
* Устанавливает последную дату сессии
|
||||
*
|
||||
* @param string $data
|
||||
*/
|
||||
public function setDateLast($data) {
|
||||
$this->_aData['session_date_last']=$data;
|
||||
}
|
||||
}
|
||||
?>
|
|
@ -15,10 +15,17 @@
|
|||
---------------------------------------------------------
|
||||
*/
|
||||
|
||||
/**
|
||||
* Сущность пользователя
|
||||
*
|
||||
* @package modules.user
|
||||
* @since 1.0
|
||||
*/
|
||||
class ModuleUser_EntityUser extends Entity {
|
||||
|
||||
/**
|
||||
* Определяем правила валидации
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $aValidateRules=array(
|
||||
array('login','login','on'=>array('registration','')), // '' - означает дефолтный сценарий
|
||||
|
@ -33,8 +40,8 @@ class ModuleUser_EntityUser extends Entity {
|
|||
/**
|
||||
* Валидация пользователя
|
||||
*
|
||||
* @param $sValue
|
||||
* @param $aParams
|
||||
* @param string $sValue Валидируемое значение
|
||||
* @param array $aParams Параметры
|
||||
* @return bool
|
||||
*/
|
||||
public function ValidateLogin($sValue,$aParams) {
|
||||
|
@ -46,8 +53,8 @@ class ModuleUser_EntityUser extends Entity {
|
|||
/**
|
||||
* Проверка логина на существование
|
||||
*
|
||||
* @param $sValue
|
||||
* @param $aParams
|
||||
* @param string $sValue Валидируемое значение
|
||||
* @param array $aParams Параметры
|
||||
* @return bool
|
||||
*/
|
||||
public function ValidateLoginExists($sValue,$aParams) {
|
||||
|
@ -59,8 +66,8 @@ class ModuleUser_EntityUser extends Entity {
|
|||
/**
|
||||
* Проверка емайла на существование
|
||||
*
|
||||
* @param $sValue
|
||||
* @param $aParams
|
||||
* @param string $sValue Валидируемое значение
|
||||
* @param array $aParams Параметры
|
||||
* @return bool
|
||||
*/
|
||||
public function ValidateMailExists($sValue,$aParams) {
|
||||
|
@ -70,106 +77,265 @@ class ModuleUser_EntityUser extends Entity {
|
|||
return $this->Lang_Get('registration_mail_error_used');
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Возвращает ID пользователя
|
||||
*
|
||||
* @return int|null
|
||||
*/
|
||||
public function getId() {
|
||||
return $this->_getDataOne('user_id');
|
||||
}
|
||||
/**
|
||||
* Возвращает логин
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getLogin() {
|
||||
return $this->_getDataOne('user_login');
|
||||
}
|
||||
/**
|
||||
* Возвращает пароль (ввиде хеша)
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getPassword() {
|
||||
return $this->_getDataOne('user_password');
|
||||
}
|
||||
/**
|
||||
* Возвращает емайл
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getMail() {
|
||||
return $this->_getDataOne('user_mail');
|
||||
}
|
||||
/**
|
||||
* Возвращает силу
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getSkill() {
|
||||
return number_format(round($this->_getDataOne('user_skill'),2), 2, '.', '');
|
||||
}
|
||||
/**
|
||||
* Возвращает дату регистрации
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getDateRegister() {
|
||||
return $this->_getDataOne('user_date_register');
|
||||
}
|
||||
/**
|
||||
* Возвращает дату активации
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getDateActivate() {
|
||||
return $this->_getDataOne('user_date_activate');
|
||||
}
|
||||
/**
|
||||
* Возвращает дату последнего комментирования
|
||||
*
|
||||
* @return mixed|null
|
||||
*/
|
||||
public function getDateCommentLast() {
|
||||
return $this->_getDataOne('user_date_comment_last');
|
||||
}
|
||||
/**
|
||||
* Возвращает IP регистрации
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getIpRegister() {
|
||||
return $this->_getDataOne('user_ip_register');
|
||||
}
|
||||
/**
|
||||
* Возвращает рейтинг
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getRating() {
|
||||
return number_format(round($this->_getDataOne('user_rating'),2), 2, '.', '');
|
||||
}
|
||||
/**
|
||||
* Вовзращает количество проголосовавших
|
||||
*
|
||||
* @return int|null
|
||||
*/
|
||||
public function getCountVote() {
|
||||
return $this->_getDataOne('user_count_vote');
|
||||
}
|
||||
/**
|
||||
* Возвращает статус активированности
|
||||
*
|
||||
* @return int|null
|
||||
*/
|
||||
public function getActivate() {
|
||||
return $this->_getDataOne('user_activate');
|
||||
}
|
||||
/**
|
||||
* Возвращает ключ активации
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getActivateKey() {
|
||||
return $this->_getDataOne('user_activate_key');
|
||||
}
|
||||
/**
|
||||
* Возвращает имя
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getProfileName() {
|
||||
return $this->_getDataOne('user_profile_name');
|
||||
}
|
||||
/**
|
||||
* Возвращает пол
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getProfileSex() {
|
||||
return $this->_getDataOne('user_profile_sex');
|
||||
}
|
||||
/**
|
||||
* Возвращает название страны
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getProfileCountry() {
|
||||
return $this->_getDataOne('user_profile_country');
|
||||
}
|
||||
/**
|
||||
* Возвращает название региона
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getProfileRegion() {
|
||||
return $this->_getDataOne('user_profile_region');
|
||||
}
|
||||
/**
|
||||
* Возвращает название города
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getProfileCity() {
|
||||
return $this->_getDataOne('user_profile_city');
|
||||
}
|
||||
/**
|
||||
* Возвращает дату рождения
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getProfileBirthday() {
|
||||
return $this->_getDataOne('user_profile_birthday');
|
||||
}
|
||||
/**
|
||||
* Возвращает информацию о себе
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getProfileAbout() {
|
||||
return $this->_getDataOne('user_profile_about');
|
||||
}
|
||||
/**
|
||||
* Возвращает дату редактирования профиля
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getProfileDate() {
|
||||
return $this->_getDataOne('user_profile_date');
|
||||
}
|
||||
/**
|
||||
* Возвращает полный веб путь до аватра
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getProfileAvatar() {
|
||||
return $this->_getDataOne('user_profile_avatar');
|
||||
}
|
||||
/**
|
||||
* Возвращает расширение автара
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getProfileAvatarType() {
|
||||
return ($sPath=$this->getProfileAvatarPath()) ? pathinfo($sPath,PATHINFO_EXTENSION) : null;
|
||||
}
|
||||
/**
|
||||
* Возвращает полный веб путь до фото
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getProfileFoto() {
|
||||
return $this->_getDataOne('user_profile_foto');
|
||||
}
|
||||
/**
|
||||
* Возвращает статус уведомления о новых топиках
|
||||
*
|
||||
* @return int|null
|
||||
*/
|
||||
public function getSettingsNoticeNewTopic() {
|
||||
return $this->_getDataOne('user_settings_notice_new_topic');
|
||||
}
|
||||
/**
|
||||
* Возвращает статус уведомления о новых комментариях
|
||||
*
|
||||
* @return int|null
|
||||
*/
|
||||
public function getSettingsNoticeNewComment() {
|
||||
return $this->_getDataOne('user_settings_notice_new_comment');
|
||||
}
|
||||
/**
|
||||
* Возвращает статус уведомления о новых письмах
|
||||
*
|
||||
* @return int|null
|
||||
*/
|
||||
public function getSettingsNoticeNewTalk() {
|
||||
return $this->_getDataOne('user_settings_notice_new_talk');
|
||||
}
|
||||
/**
|
||||
* Возвращает статус уведомления о новых ответах в комментариях
|
||||
*
|
||||
* @return int|null
|
||||
*/
|
||||
public function getSettingsNoticeReplyComment() {
|
||||
return $this->_getDataOne('user_settings_notice_reply_comment');
|
||||
}
|
||||
/**
|
||||
* Возвращает статус уведомления о новых друзьях
|
||||
*
|
||||
* @return int|null
|
||||
*/
|
||||
public function getSettingsNoticeNewFriend() {
|
||||
return $this->_getDataOne('user_settings_notice_new_friend');
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Возвращает значения пользовательских полей
|
||||
*
|
||||
* @param bool $bOnlyNoEmpty Возвращать или нет только не пустые
|
||||
* @param string $sType Тип полей
|
||||
* @return array
|
||||
*/
|
||||
public function getUserFieldValues($bOnlyNoEmpty = true, $sType='') {
|
||||
return $this->User_getUserFieldsValues($this->getId(), $bOnlyNoEmpty,$sType);
|
||||
}
|
||||
/**
|
||||
* Возвращает объект сессии
|
||||
*
|
||||
* @return ModuleUser_EntitySession|null
|
||||
*/
|
||||
public function getSession() {
|
||||
if (!$this->_getDataOne('session')) {
|
||||
$this->_aData['session']=$this->User_GetSessionByUserId($this->getId());
|
||||
}
|
||||
return $this->_getDataOne('session');
|
||||
}
|
||||
/**
|
||||
* Возвращает статус онлайн пользователь или нет
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function isOnline() {
|
||||
if ($oSession=$this->getSession()) {
|
||||
if (time()-strtotime($oSession->getDateLast())<60*10) { // 10 минут
|
||||
|
@ -178,38 +344,74 @@ class ModuleUser_EntityUser extends Entity {
|
|||
}
|
||||
return false;
|
||||
}
|
||||
/**
|
||||
* Возвращает полный веб путь до аватара нужного размера
|
||||
*
|
||||
* @param int $iSize Размер
|
||||
* @return string
|
||||
*/
|
||||
public function getProfileAvatarPath($iSize=100) {
|
||||
if ($sPath=$this->getProfileAvatar()) {
|
||||
return str_replace('_100x100',(($iSize==0)?"":"_{$iSize}x{$iSize}"),$sPath."?".date('His',strtotime($this->getProfileDate())));
|
||||
} else {
|
||||
return Config::Get('path.static.skin').'/images/avatar_'.$iSize.'x'.$iSize.'.jpg';
|
||||
return Config::Get('path.static.skin').'/images/avatar_'.($this->getProfileSex()=='woman' ? 'male' : 'female').'_'.$iSize.'x'.$iSize.'.jpg';
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Возвращает полный веб путь до фото
|
||||
*
|
||||
* @return null|string
|
||||
*/
|
||||
public function getProfileFotoPath() {
|
||||
if ($this->getProfileFoto()) {
|
||||
return $this->getProfileFoto();
|
||||
}
|
||||
return $this->getProfileFotoDefault();
|
||||
}
|
||||
/**
|
||||
* Возвращает дефолтную фото
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getProfileFotoDefault() {
|
||||
return Config::Get('path.static.skin').'/images/user_foto_250.png';
|
||||
}
|
||||
/**
|
||||
* Возвращает объект голосования за пользователя текущего пользователя
|
||||
*
|
||||
* @return ModuleVote_EntityVote|null
|
||||
*/
|
||||
public function getVote() {
|
||||
return $this->_getDataOne('vote');
|
||||
}
|
||||
/**
|
||||
* Возвращает статус дружбы
|
||||
*
|
||||
* @return bool|null
|
||||
*/
|
||||
public function getUserIsFriend() {
|
||||
return $this->_getDataOne('user_is_friend');
|
||||
}
|
||||
/**
|
||||
* Возвращает статус администратора сайта
|
||||
*
|
||||
* @return bool|null
|
||||
*/
|
||||
public function isAdministrator() {
|
||||
return $this->_getDataOne('user_is_administrator');
|
||||
}
|
||||
/**
|
||||
* Возвращает веб путь до профиля пользователя
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getUserWebPath() {
|
||||
return Router::GetPath('profile').$this->getLogin().'/';
|
||||
}
|
||||
/**
|
||||
* Возвращает статус дружбы с текущим пользователем
|
||||
* Возвращает объект дружбы с текущим пользователем
|
||||
*
|
||||
* @return int
|
||||
* @return ModuleUser_EntityFriend|null
|
||||
*/
|
||||
public function getUserFriend() {
|
||||
return $this->_getDataOne('user_friend');
|
||||
|
@ -225,98 +427,252 @@ class ModuleUser_EntityUser extends Entity {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Устанавливает ID пользователя
|
||||
*
|
||||
* @param int $data
|
||||
*/
|
||||
public function setId($data) {
|
||||
$this->_aData['user_id']=$data;
|
||||
}
|
||||
/**
|
||||
* Устанавливает логин
|
||||
*
|
||||
* @param string $data
|
||||
*/
|
||||
public function setLogin($data) {
|
||||
$this->_aData['user_login']=$data;
|
||||
}
|
||||
/**
|
||||
* Устанавливает пароль (ввиде хеша)
|
||||
*
|
||||
* @param string $data
|
||||
*/
|
||||
public function setPassword($data) {
|
||||
$this->_aData['user_password']=$data;
|
||||
}
|
||||
/**
|
||||
* Устанавливает емайл
|
||||
*
|
||||
* @param string $data
|
||||
*/
|
||||
public function setMail($data) {
|
||||
$this->_aData['user_mail']=$data;
|
||||
}
|
||||
/**
|
||||
* Устанавливает силу
|
||||
*
|
||||
* @param float $data
|
||||
*/
|
||||
public function setSkill($data) {
|
||||
$this->_aData['user_skill']=$data;
|
||||
}
|
||||
/**
|
||||
* Устанавливает дату регистрации
|
||||
*
|
||||
* @param string $data
|
||||
*/
|
||||
public function setDateRegister($data) {
|
||||
$this->_aData['user_date_register']=$data;
|
||||
}
|
||||
/**
|
||||
* Устанавливает дату активации
|
||||
*
|
||||
* @param string $data
|
||||
*/
|
||||
public function setDateActivate($data) {
|
||||
$this->_aData['user_date_activate']=$data;
|
||||
}
|
||||
/**
|
||||
* Устанавливает дату последнего комментирования
|
||||
*
|
||||
* @param string $data
|
||||
*/
|
||||
public function setDateCommentLast($data) {
|
||||
$this->_aData['user_date_comment_last']=$data;
|
||||
}
|
||||
/**
|
||||
* Устанавливает IP регистрации
|
||||
*
|
||||
* @param string $data
|
||||
*/
|
||||
public function setIpRegister($data) {
|
||||
$this->_aData['user_ip_register']=$data;
|
||||
}
|
||||
/**
|
||||
* Устанавливает рейтинг
|
||||
*
|
||||
* @param float $data
|
||||
*/
|
||||
public function setRating($data) {
|
||||
$this->_aData['user_rating']=$data;
|
||||
}
|
||||
/**
|
||||
* Устанавливает количество проголосовавших
|
||||
*
|
||||
* @param int $data
|
||||
*/
|
||||
public function setCountVote($data) {
|
||||
$this->_aData['user_count_vote']=$data;
|
||||
}
|
||||
/**
|
||||
* Устанавливает статус активированности
|
||||
*
|
||||
* @param int $data
|
||||
*/
|
||||
public function setActivate($data) {
|
||||
$this->_aData['user_activate']=$data;
|
||||
}
|
||||
/**
|
||||
* Устанавливает ключ активации
|
||||
*
|
||||
* @param string $data
|
||||
*/
|
||||
public function setActivateKey($data) {
|
||||
$this->_aData['user_activate_key']=$data;
|
||||
}
|
||||
/**
|
||||
* Устанавливает имя
|
||||
*
|
||||
* @param string $data
|
||||
*/
|
||||
public function setProfileName($data) {
|
||||
$this->_aData['user_profile_name']=$data;
|
||||
}
|
||||
/**
|
||||
* Устанавливает пол
|
||||
*
|
||||
* @param string $data
|
||||
*/
|
||||
public function setProfileSex($data) {
|
||||
$this->_aData['user_profile_sex']=$data;
|
||||
}
|
||||
/**
|
||||
* Устанавливает название страны
|
||||
*
|
||||
* @param string $data
|
||||
*/
|
||||
public function setProfileCountry($data) {
|
||||
$this->_aData['user_profile_country']=$data;
|
||||
}
|
||||
/**
|
||||
* Устанавливает название региона
|
||||
*
|
||||
* @param string $data
|
||||
*/
|
||||
public function setProfileRegion($data) {
|
||||
$this->_aData['user_profile_region']=$data;
|
||||
}
|
||||
/**
|
||||
* Устанавливает название города
|
||||
*
|
||||
* @param string $data
|
||||
*/
|
||||
public function setProfileCity($data) {
|
||||
$this->_aData['user_profile_city']=$data;
|
||||
}
|
||||
/**
|
||||
* Устанавливает дату рождения
|
||||
*
|
||||
* @param string $data
|
||||
*/
|
||||
public function setProfileBirthday($data) {
|
||||
$this->_aData['user_profile_birthday']=$data;
|
||||
}
|
||||
/**
|
||||
* Устанавливает информацию о себе
|
||||
*
|
||||
* @param string $data
|
||||
*/
|
||||
public function setProfileAbout($data) {
|
||||
$this->_aData['user_profile_about']=$data;
|
||||
}
|
||||
/**
|
||||
* Устанавливает дату редактирования профиля
|
||||
*
|
||||
* @param string $data
|
||||
*/
|
||||
public function setProfileDate($data) {
|
||||
$this->_aData['user_profile_date']=$data;
|
||||
}
|
||||
/**
|
||||
* Устанавливает полный веб путь до аватра
|
||||
*
|
||||
* @param string $data
|
||||
*/
|
||||
public function setProfileAvatar($data) {
|
||||
$this->_aData['user_profile_avatar']=$data;
|
||||
}
|
||||
/**
|
||||
* Устанавливает полный веб путь до фото
|
||||
*
|
||||
* @param string $data
|
||||
*/
|
||||
public function setProfileFoto($data) {
|
||||
$this->_aData['user_profile_foto']=$data;
|
||||
}
|
||||
/**
|
||||
* Устанавливает статус уведомления о новых топиках
|
||||
*
|
||||
* @param int $data
|
||||
*/
|
||||
public function setSettingsNoticeNewTopic($data) {
|
||||
$this->_aData['user_settings_notice_new_topic']=$data;
|
||||
}
|
||||
/**
|
||||
* Устанавливает статус уведомления о новых комментариях
|
||||
*
|
||||
* @param int $data
|
||||
*/
|
||||
public function setSettingsNoticeNewComment($data) {
|
||||
$this->_aData['user_settings_notice_new_comment']=$data;
|
||||
}
|
||||
/**
|
||||
* Устанавливает статус уведомления о новых письмах
|
||||
*
|
||||
* @param int $data
|
||||
*/
|
||||
public function setSettingsNoticeNewTalk($data) {
|
||||
$this->_aData['user_settings_notice_new_talk']=$data;
|
||||
}
|
||||
/**
|
||||
* Устанавливает статус уведомления о новых ответах в комментариях
|
||||
*
|
||||
* @param int $data
|
||||
*/
|
||||
public function setSettingsNoticeReplyComment($data) {
|
||||
$this->_aData['user_settings_notice_reply_comment']=$data;
|
||||
}
|
||||
/**
|
||||
* Устанавливает статус уведомления о новых друзьях
|
||||
*
|
||||
* @param int $data
|
||||
*/
|
||||
public function setSettingsNoticeNewFriend($data) {
|
||||
$this->_aData['user_settings_notice_new_friend']=$data;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Устанавливает объект сессии
|
||||
*
|
||||
* @param ModuleUser_EntitySession $data
|
||||
*/
|
||||
public function setSession($data) {
|
||||
$this->_aData['session']=$data;
|
||||
}
|
||||
/**
|
||||
* Устанавливает статус дружбы
|
||||
*
|
||||
* @param int $data
|
||||
*/
|
||||
public function setUserIsFriend($data) {
|
||||
$this->_aData['user_is_friend']=$data;
|
||||
}
|
||||
/**
|
||||
* Устанавливает объект голосования за пользователя текущего пользователя
|
||||
*
|
||||
* @param ModuleVote_EntityVote $data
|
||||
*/
|
||||
public function setVote($data) {
|
||||
$this->_aData['vote']=$data;
|
||||
}
|
||||
|
|
|
@ -6,10 +6,12 @@
|
|||
{strip}
|
||||
<div class="modal-content">
|
||||
<ul class="write-list">
|
||||
{if $iUserCurrentCountTopicDraft}
|
||||
<li class="write-item-type-draft">
|
||||
<a href="{router page='topic'}saved/" class="write-item-image"></a>
|
||||
<a href="{router page='topic'}saved/" class="write-item-link">{if $iUserCurrentCountTopicDraft}{$iUserCurrentCountTopicDraft} {$iUserCurrentCountTopicDraft|declension:$aLang.draft_declension:'russian'} {else} {$aLang.topic_menu_saved} {/if}</a>
|
||||
<a href="{router page='topic'}saved/" class="write-item-link">{$iUserCurrentCountTopicDraft} {$iUserCurrentCountTopicDraft|declension:$aLang.draft_declension:'russian'}</a>
|
||||
</li>
|
||||
{/if}
|
||||
<li class="write-item-type-topic">
|
||||
<a href="{router page='topic'}add" class="write-item-image"></a>
|
||||
<a href="{router page='topic'}add" class="write-item-link">{$aLang.block_create_topic_topic}</a>
|
||||
|
|
Loading…
Reference in a new issue