diff --git a/classes/modules/user/User.class.php b/classes/modules/user/User.class.php index ba1d1a55..112becde 100644 --- a/classes/modules/user/User.class.php +++ b/classes/modules/user/User.class.php @@ -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) { diff --git a/classes/modules/user/entity/Field.entity.class.php b/classes/modules/user/entity/Field.entity.class.php index 4f7e4ac3..26053b8c 100644 --- a/classes/modules/user/entity/Field.entity.class.php +++ b/classes/modules/user/entity/Field.entity.class.php @@ -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; } diff --git a/classes/modules/user/entity/Friend.entity.class.php b/classes/modules/user/entity/Friend.entity.class.php index 41ef5beb..11256a65 100644 --- a/classes/modules/user/entity/Friend.entity.class.php +++ b/classes/modules/user/entity/Friend.entity.class.php @@ -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; + } } ?> \ No newline at end of file diff --git a/classes/modules/user/entity/Invite.entity.class.php b/classes/modules/user/entity/Invite.entity.class.php index 9d9ebd9c..4c810524 100644 --- a/classes/modules/user/entity/Invite.entity.class.php +++ b/classes/modules/user/entity/Invite.entity.class.php @@ -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; + } } ?> \ No newline at end of file diff --git a/classes/modules/user/entity/Note.entity.class.php b/classes/modules/user/entity/Note.entity.class.php index abab293b..92a80182 100644 --- a/classes/modules/user/entity/Note.entity.class.php +++ b/classes/modules/user/entity/Note.entity.class.php @@ -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) { diff --git a/classes/modules/user/entity/Reminder.entity.class.php b/classes/modules/user/entity/Reminder.entity.class.php index 3975b94e..d86eea4d 100644 --- a/classes/modules/user/entity/Reminder.entity.class.php +++ b/classes/modules/user/entity/Reminder.entity.class.php @@ -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; + } } ?> \ No newline at end of file diff --git a/classes/modules/user/entity/Session.entity.class.php b/classes/modules/user/entity/Session.entity.class.php index af1c7bb4..55b17c69 100644 --- a/classes/modules/user/entity/Session.entity.class.php +++ b/classes/modules/user/entity/Session.entity.class.php @@ -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; + } } ?> \ No newline at end of file diff --git a/classes/modules/user/entity/User.entity.class.php b/classes/modules/user/entity/User.entity.class.php index 3169b5cd..e35d3853 100644 --- a/classes/modules/user/entity/User.entity.class.php +++ b/classes/modules/user/entity/User.entity.class.php @@ -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,6 +344,12 @@ 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()))); @@ -185,31 +357,61 @@ class ModuleUser_EntityUser extends Entity { return Config::Get('path.static.skin').'/images/avatar_'.$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; }