1
0
Fork 0
mirror of https://github.com/Oreolek/ifhub.club.git synced 2024-06-30 21:45:01 +03:00
This commit is contained in:
Denis Shakhov 2012-06-27 01:31:47 +07:00
commit bbb04d44eb
10 changed files with 1122 additions and 388 deletions

View file

@ -873,6 +873,8 @@ class ModuleBlog extends Module {
* @return bool * @return bool
*/ */
public function RecalculateCountTopic() { public function RecalculateCountTopic() {
//чистим зависимые кеши
$this->Cache_Clean(Zend_Cache::CLEANING_MODE_MATCHING_TAG,array('blog_update'));
return $this->oMapperBlog->RecalculateCountTopic(); return $this->oMapperBlog->RecalculateCountTopic();
} }
/** /**
@ -882,6 +884,9 @@ class ModuleBlog extends Module {
* @return bool * @return bool
*/ */
public function RecalculateCountTopicByBlogId($iBlogId) { 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); return $this->oMapperBlog->RecalculateCountTopic($iBlogId);
} }
} }

View file

@ -18,6 +18,8 @@
/** /**
* Модуль для работы с пользователями * Модуль для работы с пользователями
* *
* @package modules.user
* @since 1.0
*/ */
class ModuleUser extends Module { class ModuleUser extends Module {
/** /**
@ -28,11 +30,24 @@ class ModuleUser extends Module {
const USER_FRIEND_DELETE = 4; const USER_FRIEND_DELETE = 4;
const USER_FRIEND_REJECT = 8; const USER_FRIEND_REJECT = 8;
const USER_FRIEND_NULL = 16; const USER_FRIEND_NULL = 16;
/**
* Объект маппера
*
* @var ModuleUser_MapperUser
*/
protected $oMapper; protected $oMapper;
/**
* Объект текущего пользователя
*
* @var ModuleUser_EntityUser|null
*/
protected $oUserCurrent=null; protected $oUserCurrent=null;
/**
* Объект сессии текущего пользователя
*
* @var ModuleUser_EntitySession|null
*/
protected $oSession=null; protected $oSession=null;
/** /**
* Список типов пользовательских полей * Список типов пользовательских полей
* *
@ -74,17 +89,19 @@ class ModuleUser extends Module {
$this->UpdateSession(); $this->UpdateSession();
} }
} }
/** /**
* Возвращает список типов полей * Возвращает список типов полей
*
* @return array
*/ */
public function GetUserFieldTypes() { public function GetUserFieldTypes() {
return $this->aUserFieldTypes; return $this->aUserFieldTypes;
} }
/** /**
* Добавляет новый тип с пользовательские поля * Добавляет новый тип с пользовательские поля
* @param string $sType *
* @param string $sType Тип
* @return bool
*/ */
public function AddUserFieldTypes($sType) { public function AddUserFieldTypes($sType) {
if (!in_array($sType,$this->aUserFieldTypes)) { if (!in_array($sType,$this->aUserFieldTypes)) {
@ -96,6 +113,9 @@ class ModuleUser extends Module {
/** /**
* Получает дополнительные данные(объекты) для юзеров по их ID * Получает дополнительные данные(объекты) для юзеров по их ID
* *
* @param array $aUserId Список ID пользователей
* @param array|null $aAllowData Список типод дополнительных данных для подгрузки у пользователей
* @return array
*/ */
public function GetUsersAdditionalData($aUserId,$aAllowData=null) { public function GetUsersAdditionalData($aUserId,$aAllowData=null) {
if (is_null($aAllowData)) { if (is_null($aAllowData)) {
@ -162,7 +182,8 @@ class ModuleUser extends Module {
/** /**
* Список юзеров по ID * Список юзеров по ID
* *
* @param array $aUserId * @param array $aUserId Список ID пользователей
* @return array
*/ */
public function GetUsersByArrayId($aUserId) { public function GetUsersByArrayId($aUserId) {
if (!$aUserId) { if (!$aUserId) {
@ -223,17 +244,21 @@ class ModuleUser extends Module {
$aUsers=func_array_sort_by_keys($aUsers,$aUserId); $aUsers=func_array_sort_by_keys($aUsers,$aUserId);
return $aUsers; return $aUsers;
} }
/** /**
* Алиас для корректной работы ORM * Алиас для корректной работы ORM
* *
* @param unknown_type $aUserId * @param array $aUserId Список ID пользователей
* @return unknown * @return array
*/ */
public function GetUserItemsByArrayId($aUserId) { public function GetUserItemsByArrayId($aUserId) {
return $this->GetUsersByArrayId($aUserId); return $this->GetUsersByArrayId($aUserId);
} }
/**
* Получение пользователей по списку ID используя общий кеш
*
* @param array $aUserId Список ID пользователей
* @return array
*/
public function GetUsersByArrayIdSolid($aUserId) { public function GetUsersByArrayIdSolid($aUserId) {
if (!is_array($aUserId)) { if (!is_array($aUserId)) {
$aUserId=array($aUserId); $aUserId=array($aUserId);
@ -254,7 +279,8 @@ class ModuleUser extends Module {
/** /**
* Список сессий юзеров по ID * Список сессий юзеров по ID
* *
* @param array $aUserId * @param array $aUserId Список ID пользователей
* @return array
*/ */
public function GetSessionsByArrayId($aUserId) { public function GetSessionsByArrayId($aUserId) {
if (!$aUserId) { if (!$aUserId) {
@ -318,8 +344,8 @@ class ModuleUser extends Module {
/** /**
* Получить список сессий по списку айдишников, но используя единый кеш * Получить список сессий по списку айдишников, но используя единый кеш
* *
* @param unknown_type $aUserId * @param array $aUserId Список ID пользователей
* @return unknown * @return array
*/ */
public function GetSessionsByArrayIdSolid($aUserId) { public function GetSessionsByArrayIdSolid($aUserId) {
if (!is_array($aUserId)) { if (!is_array($aUserId)) {
@ -341,8 +367,8 @@ class ModuleUser extends Module {
/** /**
* Получает сессию юзера * Получает сессию юзера
* *
* @param unknown_type $sUserId * @param int $sUserId ID пользователя
* @return unknown * @return ModuleUser_EntitySession|null
*/ */
public function GetSessionByUserId($sUserId) { public function GetSessionByUserId($sUserId) {
$aSessions=$this->GetSessionsByArrayId($sUserId); $aSessions=$this->GetSessionsByArrayId($sUserId);
@ -365,8 +391,8 @@ class ModuleUser extends Module {
/** /**
* Добавляет юзера * Добавляет юзера
* *
* @param ModuleUser_EntityUser $oUser * @param ModuleUser_EntityUser $oUser Объект пользователя
* @return unknown * @return ModuleUser_EntityUser|bool
*/ */
public function Add(ModuleUser_EntityUser $oUser) { public function Add(ModuleUser_EntityUser $oUser) {
if ($sId=$this->oMapper->Add($oUser)) { if ($sId=$this->oMapper->Add($oUser)) {
@ -384,8 +410,8 @@ class ModuleUser extends Module {
/** /**
* Получить юзера по ключу активации * Получить юзера по ключу активации
* *
* @param unknown_type $sKey * @param string $sKey Ключ активации
* @return unknown * @return ModuleUser_EntityUser|null
*/ */
public function GetUserByActivateKey($sKey) { public function GetUserByActivateKey($sKey) {
$id=$this->oMapper->GetUserByActivateKey($sKey); $id=$this->oMapper->GetUserByActivateKey($sKey);
@ -394,8 +420,8 @@ class ModuleUser extends Module {
/** /**
* Получить юзера по ключу сессии * Получить юзера по ключу сессии
* *
* @param unknown_type $sKey * @param string $sKey Сессионный ключ
* @return unknown * @return ModuleUser_EntityUser|null
*/ */
public function GetUserBySessionKey($sKey) { public function GetUserBySessionKey($sKey) {
$id=$this->oMapper->GetUserBySessionKey($sKey); $id=$this->oMapper->GetUserBySessionKey($sKey);
@ -404,8 +430,8 @@ class ModuleUser extends Module {
/** /**
* Получить юзера по мылу * Получить юзера по мылу
* *
* @param unknown_type $sMail * @param string $sMail Емайл
* @return unknown * @return ModuleUser_EntityUser|null
*/ */
public function GetUserByMail($sMail) { public function GetUserByMail($sMail) {
$id=$this->oMapper->GetUserByMail($sMail); $id=$this->oMapper->GetUserByMail($sMail);
@ -414,8 +440,8 @@ class ModuleUser extends Module {
/** /**
* Получить юзера по логину * Получить юзера по логину
* *
* @param unknown_type $sLogin * @param string $sLogin Логин пользователя
* @return unknown * @return ModuleUser_EntityUser|null
*/ */
public function GetUserByLogin($sLogin) { public function GetUserByLogin($sLogin) {
$s=strtolower($sLogin); $s=strtolower($sLogin);
@ -429,8 +455,8 @@ class ModuleUser extends Module {
/** /**
* Получить юзера по айдишнику * Получить юзера по айдишнику
* *
* @param unknown_type $sId * @param int $sId ID пользователя
* @return unknown * @return ModuleUser_EntityUser|null
*/ */
public function GetUserById($sId) { public function GetUserById($sId) {
$aUsers=$this->GetUsersAdditionalData($sId); $aUsers=$this->GetUsersAdditionalData($sId);
@ -442,8 +468,8 @@ class ModuleUser extends Module {
/** /**
* Обновляет юзера * Обновляет юзера
* *
* @param ModuleUser_EntityUser $oUser * @param ModuleUser_EntityUser $oUser Объект пользователя
* @return unknown * @return bool
*/ */
public function Update(ModuleUser_EntityUser $oUser) { public function Update(ModuleUser_EntityUser $oUser) {
//чистим зависимые кеши //чистим зависимые кеши
@ -454,8 +480,10 @@ class ModuleUser extends Module {
/** /**
* Авторизовывает юзера * Авторизовывает юзера
* *
* @param ModuleUser_EntityUser $oUser * @param ModuleUser_EntityUser $oUser Объект пользователя
* @return unknown * @param bool $bRemember Запоминать пользователя или нет
* @param string $sKey Ключ авторизации для куков
* @return bool
*/ */
public function Authorization(ModuleUser_EntityUser $oUser,$bRemember=true,$sKey=null) { public function Authorization(ModuleUser_EntityUser $oUser,$bRemember=true,$sKey=null) {
if (!$oUser->getId() or !$oUser->getActivate()) { if (!$oUser->getId() or !$oUser->getActivate()) {
@ -484,6 +512,7 @@ class ModuleUser extends Module {
if ($bRemember) { if ($bRemember) {
setcookie('key',$sKey,time()+Config::Get('sys.cookie.time'),Config::Get('sys.cookie.path'),Config::Get('sys.cookie.host')); 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() { public function IsAuthorization() {
if ($this->oUserCurrent) { if ($this->oUserCurrent) {
@ -516,7 +545,7 @@ class ModuleUser extends Module {
/** /**
* Получить текущего юзера * Получить текущего юзера
* *
* @return unknown * @return ModuleUser_EntityUser|null
*/ */
public function GetUserCurrent() { public function GetUserCurrent() {
return $this->oUserCurrent; 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); $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) { protected function CreateSession(ModuleUser_EntityUser $oUser,$sKey) {
$this->Cache_Clean(Zend_Cache::CLEANING_MODE_MATCHING_TAG,array('user_session_update')); $this->Cache_Clean(Zend_Cache::CLEANING_MODE_MATCHING_TAG,array('user_session_update'));
$this->Cache_Delete("user_session_{$oUser->getId()}"); $this->Cache_Delete("user_session_{$oUser->getId()}");
@ -579,8 +614,8 @@ class ModuleUser extends Module {
/** /**
* Получить список юзеров по дате последнего визита * Получить список юзеров по дате последнего визита
* *
* @param unknown_type $iLimit * @param int $iLimit Количество
* @return unknown * @return array
*/ */
public function GetUsersByDateLast($iLimit=20) { public function GetUsersByDateLast($iLimit=20) {
if ($this->IsAuthorization()) { if ($this->IsAuthorization()) {
@ -595,11 +630,11 @@ class ModuleUser extends Module {
/** /**
* Возвращает список пользователей по фильтру * Возвращает список пользователей по фильтру
* *
* @param $aFilter * @param array $aFilter Фильтр
* @param $aOrder * @param array $aOrder Сортировка
* @param $iCurrPage * @param int $iCurrPage Номер страницы
* @param $iPerPage * @param int $iPerPage Количество элментов на страницу
* @param array $aAllowData * @param array $aAllowData Список типо данных для подгрузки к пользователям
* @return array('collection'=>array,'count'=>int) * @return array('collection'=>array,'count'=>int)
*/ */
public function GetUsersByFilter($aFilter,$aOrder,$iCurrPage,$iPerPage,$aAllowData=null) { public function GetUsersByFilter($aFilter,$aOrder,$iCurrPage,$iPerPage,$aAllowData=null) {
@ -614,8 +649,8 @@ class ModuleUser extends Module {
/** /**
* Получить список юзеров по дате регистрации * Получить список юзеров по дате регистрации
* *
* @param unknown_type $iLimit * @param int $iLimit Количество
* @return unknown * @return array
*/ */
public function GetUsersByDateRegister($iLimit=20) { public function GetUsersByDateRegister($iLimit=20) {
$aResult=$this->GetUsersByFilter(array('activate'=>1),array('id'=>'desc'),1,$iLimit); $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() { public function GetStatUsers() {
if (false === ($aStat = $this->Cache_Get("user_stats"))) { if (false === ($aStat = $this->Cache_Get("user_stats"))) {
@ -642,11 +677,11 @@ class ModuleUser extends Module {
return $aStat; return $aStat;
} }
/** /**
* Получить список логинов по первым буквам * Получить список юзеров по первым буквам логина
* *
* @param unknown_type $sUserLogin * @param string $sUserLogin Логин
* @param unknown_type $iLimit * @param int $iLimit Количество
* @return unknown * @return array
*/ */
public function GetUsersByLoginLike($sUserLogin,$iLimit) { public function GetUsersByLoginLike($sUserLogin,$iLimit) {
if (false === ($data = $this->Cache_Get("user_like_{$sUserLogin}_{$iLimit}"))) { if (false === ($data = $this->Cache_Get("user_like_{$sUserLogin}_{$iLimit}"))) {
@ -656,13 +691,11 @@ class ModuleUser extends Module {
$data=$this->GetUsersAdditionalData($data); $data=$this->GetUsersAdditionalData($data);
return $data; return $data;
} }
/** /**
* Получить список отношений друзей * Получить список отношений друзей
* *
* @param array $aUserId * @param array $aUserId Список ID пользователей проверяемых на дружбу
* @param int $sUserId ID пользователя у которого проверяем друзей
* @return array * @return array
*/ */
public function GetFriendsByArray($aUserId,$sUserId) { public function GetFriendsByArray($aUserId,$sUserId) {
@ -730,10 +763,10 @@ class ModuleUser extends Module {
return $aFriends; return $aFriends;
} }
/** /**
* Получить список отношений с френдами по списку айдишников, но используя единый кеш * Получить список отношений друзей используя единый кеш
* *
* @param array $aUserId * @param array $aUserId Список ID пользователей проверяемых на дружбу
* @param string $sUserId * @param int $sUserId ID пользователя у которого проверяем друзей
* @return array * @return array
*/ */
public function GetFriendsByArraySolid($aUserId,$sUserId) { public function GetFriendsByArraySolid($aUserId,$sUserId) {
@ -757,9 +790,9 @@ class ModuleUser extends Module {
/** /**
* Получаем привязку друга к юзеру(есть ли у юзера данный друг) * Получаем привязку друга к юзеру(есть ли у юзера данный друг)
* *
* @param string $sFriendId * @param int $sFriendId ID пользователя друга
* @param string $sUserId * @param int $sUserId ID пользователя
* @return ModuleUser_EntityFriend * @return ModuleUser_EntityFriend|null
*/ */
public function GetFriend($sFriendId,$sUserId) { public function GetFriend($sFriendId,$sUserId) {
$data=$this->GetFriendsByArray($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 * @return bool
*/ */
public function AddFriend(ModuleUser_EntityFriend $oFriend) { public function AddFriend(ModuleUser_EntityFriend $oFriend) {
@ -785,7 +818,7 @@ class ModuleUser extends Module {
/** /**
* Удаляет друга * Удаляет друга
* *
* @param ModuleUser_EntityFriend $oFriend * @param ModuleUser_EntityFriend $oFriend Объект дружбы(связи пользователей)
* @return bool * @return bool
*/ */
public function DeleteFriend(ModuleUser_EntityFriend $oFriend) { public function DeleteFriend(ModuleUser_EntityFriend $oFriend) {
@ -801,7 +834,7 @@ class ModuleUser extends Module {
/** /**
* Удаляет информацию о дружбе из базы данных * Удаляет информацию о дружбе из базы данных
* *
* @param ModuleUser_EntityFriend $oFriend * @param ModuleUser_EntityFriend $oFriend Объект дружбы(связи пользователей)
* @return bool * @return bool
*/ */
public function EraseFriend(ModuleUser_EntityFriend $oFriend) { public function EraseFriend(ModuleUser_EntityFriend $oFriend) {
@ -811,11 +844,10 @@ class ModuleUser extends Module {
$this->Cache_Delete("user_friend_{$oFriend->getUserTo()}_{$oFriend->getUserFrom()}"); $this->Cache_Delete("user_friend_{$oFriend->getUserTo()}_{$oFriend->getUserFrom()}");
return $this->oMapper->EraseFriend($oFriend); return $this->oMapper->EraseFriend($oFriend);
} }
/** /**
* Обновляет информацию о друге * Обновляет информацию о друге
* *
* @param ModuleUser_EntityFriend $oFriend * @param ModuleUser_EntityFriend $oFriend Объект дружбы(связи пользователей)
* @return bool * @return bool
*/ */
public function UpdateFriend(ModuleUser_EntityFriend $oFriend) { public function UpdateFriend(ModuleUser_EntityFriend $oFriend) {
@ -825,13 +857,12 @@ class ModuleUser extends Module {
$this->Cache_Delete("user_friend_{$oFriend->getUserTo()}_{$oFriend->getUserFrom()}"); $this->Cache_Delete("user_friend_{$oFriend->getUserTo()}_{$oFriend->getUserFrom()}");
return $this->oMapper->UpdateFriend($oFriend); return $this->oMapper->UpdateFriend($oFriend);
} }
/** /**
* Получает список друзей * Получает список друзей
* *
* @param int $sUserId * @param int $sUserId ID пользователя
* @param int $iPage * @param int $iPage Номер страницы
* @param int $iPerPage * @param int $iPerPage Количество элементов на страницу
* @return array * @return array
*/ */
public function GetUsersFriend($sUserId,$iPage=1,$iPerPage=10) { public function GetUsersFriend($sUserId,$iPage=1,$iPerPage=10) {
@ -843,12 +874,11 @@ class ModuleUser extends Module {
$data['collection']=$this->GetUsersAdditionalData($data['collection']); $data['collection']=$this->GetUsersAdditionalData($data['collection']);
return $data; return $data;
} }
/** /**
* Получает количество друзей * Получает количество друзей
* *
* @param int $sUserId * @param int $sUserId ID пользователя
* @return array * @return int
*/ */
public function GetCountUsersFriend($sUserId) { public function GetCountUsersFriend($sUserId) {
$sKey="count_user_friend_{$sUserId}"; $sKey="count_user_friend_{$sUserId}";
@ -858,13 +888,12 @@ class ModuleUser extends Module {
} }
return $data; return $data;
} }
/** /**
* Получает инвайт по его коду * Получает инвайт по его коду
* *
* @param string $sCode * @param string $sCode Код инвайта
* @param int $iUsed * @param int $iUsed Флаг испольщования инвайта
* @return string * @return ModuleUser_EntityInvite|null
*/ */
public function GetInviteByCode($sCode,$iUsed=0) { public function GetInviteByCode($sCode,$iUsed=0) {
return $this->oMapper->GetInviteByCode($sCode,$iUsed); return $this->oMapper->GetInviteByCode($sCode,$iUsed);
@ -872,8 +901,8 @@ class ModuleUser extends Module {
/** /**
* Добавляет новый инвайт * Добавляет новый инвайт
* *
* @param ModuleUser_EntityInvite $oInvite * @param ModuleUser_EntityInvite $oInvite Объект инвайта
* @return unknown * @return ModuleUser_EntityInvite|bool
*/ */
public function AddInvite(ModuleUser_EntityInvite $oInvite) { public function AddInvite(ModuleUser_EntityInvite $oInvite) {
if ($sId=$this->oMapper->AddInvite($oInvite)) { if ($sId=$this->oMapper->AddInvite($oInvite)) {
@ -885,8 +914,8 @@ class ModuleUser extends Module {
/** /**
* Обновляет инвайт * Обновляет инвайт
* *
* @param ModuleUser_EntityInvite $oInvite * @param ModuleUser_EntityInvite $oInvite бъект инвайта
* @return unknown * @return bool
*/ */
public function UpdateInvite(ModuleUser_EntityInvite $oInvite) { public function UpdateInvite(ModuleUser_EntityInvite $oInvite) {
//чистим зависимые кеши //чистим зависимые кеши
@ -896,8 +925,8 @@ class ModuleUser extends Module {
/** /**
* Генерирует новый инвайт * Генерирует новый инвайт
* *
* @param unknown_type $oUser * @param ModuleUser_EntityUser $oUser Объект пользователя
* @return unknown * @return ModuleUser_EntityInvite|bool
*/ */
public function GenerateInvite($oUser) { public function GenerateInvite($oUser) {
$oInvite=Engine::GetEntity('User_Invite'); $oInvite=Engine::GetEntity('User_Invite');
@ -909,9 +938,9 @@ class ModuleUser extends Module {
/** /**
* Получает число использованых приглашений юзером за определенную дату * Получает число использованых приглашений юзером за определенную дату
* *
* @param unknown_type $sUserIdFrom * @param int $sUserIdFrom ID пользователя
* @param unknown_type $sDate * @param string $sDate Дата
* @return unknown * @return int
*/ */
public function GetCountInviteUsedByDate($sUserIdFrom,$sDate) { public function GetCountInviteUsedByDate($sUserIdFrom,$sDate) {
return $this->oMapper->GetCountInviteUsedByDate($sUserIdFrom,$sDate); return $this->oMapper->GetCountInviteUsedByDate($sUserIdFrom,$sDate);
@ -919,8 +948,8 @@ class ModuleUser extends Module {
/** /**
* Получает полное число использованных приглашений юзера * Получает полное число использованных приглашений юзера
* *
* @param unknown_type $sUserIdFrom * @param int $sUserIdFrom ID пользователя
* @return unknown * @return int
*/ */
public function GetCountInviteUsed($sUserIdFrom) { public function GetCountInviteUsed($sUserIdFrom) {
return $this->oMapper->GetCountInviteUsed($sUserIdFrom); return $this->oMapper->GetCountInviteUsed($sUserIdFrom);
@ -928,8 +957,8 @@ class ModuleUser extends Module {
/** /**
* Получаем число доступных приглашений для юзера * Получаем число доступных приглашений для юзера
* *
* @param unknown_type $oUserFrom * @param ModuleUser_EntityUser $oUserFrom Объект пользователя
* @return unknown * @return int
*/ */
public function GetCountInviteAvailable(ModuleUser_EntityUser $oUserFrom) { public function GetCountInviteAvailable(ModuleUser_EntityUser $oUserFrom) {
$sDay=7; $sDay=7;
@ -943,8 +972,8 @@ class ModuleUser extends Module {
/** /**
* Получает список приглашенных юзеров * Получает список приглашенных юзеров
* *
* @param unknown_type $sUserId * @param int $sUserId ID пользователя
* @return unknown * @return array
*/ */
public function GetUsersInvite($sUserId) { public function GetUsersInvite($sUserId) {
if (false === ($data = $this->Cache_Get("users_invite_{$sUserId}"))) { if (false === ($data = $this->Cache_Get("users_invite_{$sUserId}"))) {
@ -957,8 +986,8 @@ class ModuleUser extends Module {
/** /**
* Получает юзера который пригласил * Получает юзера который пригласил
* *
* @param unknown_type $sUserIdTo * @param int $sUserIdTo ID пользователя
* @return unknown * @return ModuleUser_EntityUser|null
*/ */
public function GetUserInviteFrom($sUserIdTo) { public function GetUserInviteFrom($sUserIdTo) {
if (false === ($id = $this->Cache_Get("user_invite_from_{$sUserIdTo}"))) { if (false === ($id = $this->Cache_Get("user_invite_from_{$sUserIdTo}"))) {
@ -970,8 +999,8 @@ class ModuleUser extends Module {
/** /**
* Добавляем воспоминание(восстановление) пароля * Добавляем воспоминание(восстановление) пароля
* *
* @param unknown_type $oReminder * @param ModuleUser_EntityReminder $oReminder Объект восстановления пароля
* @return unknown * @return bool
*/ */
public function AddReminder(ModuleUser_EntityReminder $oReminder) { public function AddReminder(ModuleUser_EntityReminder $oReminder) {
return $this->oMapper->AddReminder($oReminder); return $this->oMapper->AddReminder($oReminder);
@ -979,8 +1008,8 @@ class ModuleUser extends Module {
/** /**
* Сохраняем воспомнинание(восстановление) пароля * Сохраняем воспомнинание(восстановление) пароля
* *
* @param unknown_type $oReminder * @param ModuleUser_EntityReminder $oReminder Объект восстановления пароля
* @return unknown * @return bool
*/ */
public function UpdateReminder(ModuleUser_EntityReminder $oReminder) { public function UpdateReminder(ModuleUser_EntityReminder $oReminder) {
return $this->oMapper->UpdateReminder($oReminder); return $this->oMapper->UpdateReminder($oReminder);
@ -988,21 +1017,19 @@ class ModuleUser extends Module {
/** /**
* Получаем запись восстановления пароля по коду * Получаем запись восстановления пароля по коду
* *
* @param unknown_type $sCode * @param string $sCode Код восстановления пароля
* @return unknown * @return ModuleUser_EntityReminder|null
*/ */
public function GetReminderByCode($sCode) { public function GetReminderByCode($sCode) {
return $this->oMapper->GetReminderByCode($sCode); return $this->oMapper->GetReminderByCode($sCode);
} }
/** /**
* Upload user avatar on server * Загрузка аватара пользователя
* Make resized images
* *
* @param string $sFileTmp * @param string $sFileTmp Серверный путь до временного аватара
* @param ModuleUser_EntityUser $oUser * @param ModuleUser_EntityUser $oUser Объект пользователя
* @param array $aSize Размер области из которой нужно вырезать картинку - array('x1'=>0,'y1'=>0,'x2'=>100,'y2'=>100) * @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()) { public function UploadAvatar($sFileTmp,$oUser,$aSize=array()) {
if (!file_exists($sFileTmp)) { if (!file_exists($sFileTmp)) {
@ -1096,9 +1123,9 @@ class ModuleUser extends Module {
return false; return false;
} }
/** /**
* Delete avatar from server * Удаляет аватар пользователя
* *
* @param ModuleUser_EntityUser $oUser * @param ModuleUser_EntityUser $oUser Объект пользователя
*/ */
public function DeleteAvatar($oUser) { public function DeleteAvatar($oUser) {
/** /**
@ -1111,14 +1138,13 @@ class ModuleUser extends Module {
} }
} }
} }
/** /**
* Upload user foto * загрузка фотографии пользователя
* *
* @param string $sFileTmp * @param string $sFileTmp Серверный путь до временной фотографии
* @param ModuleUser_EntityUser $oUser * @param ModuleUser_EntityUser $oUser Объект пользователя
* @param array $aSize Размер области из которой нужно вырезать картинку - array('x1'=>0,'y1'=>0,'x2'=>100,'y2'=>100) * @param array $aSize Размер области из которой нужно вырезать картинку - array('x1'=>0,'y1'=>0,'x2'=>100,'y2'=>100)
* @return string * @return string|bool
*/ */
public function UploadFoto($sFileTmp,$oUser,$aSize=array()) { public function UploadFoto($sFileTmp,$oUser,$aSize=array()) {
if (!file_exists($sFileTmp)) { if (!file_exists($sFileTmp)) {
@ -1193,7 +1219,7 @@ class ModuleUser extends Module {
return false; return false;
} }
/** /**
* Delete user foto from server * Удаляет фото пользователя
* *
* @param ModuleUser_EntityUser $oUser * @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) { 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)){ 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; return false;
} }
/** /**
* Получить дополниетльные поля профиля пользователя * Получить дополнительные поля профиля пользователя
* @param array $aType Типы полей, null - все типы *
* @return type * @param array|null $aType Типы полей, null - все типы
* @return array
*/ */
public function getUserFields($aType=null) { public function getUserFields($aType=null) {
return $this->oMapper->getUserFields($aType); return $this->oMapper->getUserFields($aType);
} }
/** /**
* Получить значения дополнительных полей профиля пользователя * Получить значения дополнительных полей профиля пользователя
* @param int $iUserId *
* @param int $iUserId ID пользователя
* @param bool $bOnlyNoEmpty Загружать только непустые поля * @param bool $bOnlyNoEmpty Загружать только непустые поля
* @param array $aType Типы полей, null - все типы * @param array $aType Типы полей, null - все типы
* @return type * @return array
*/ */
public function getUserFieldsValues($iUserId, $bOnlyNoEmpty = true, $aType=array('')) { public function getUserFieldsValues($iUserId, $bOnlyNoEmpty = true, $aType=array('')) {
return $this->oMapper->getUserFieldsValues($iUserId, $bOnlyNoEmpty, $aType); return $this->oMapper->getUserFieldsValues($iUserId, $bOnlyNoEmpty, $aType);
} }
/** /**
* Получить по имени поля его значение дял определённого пользователя * Получить по имени поля его значение дял определённого пользователя
* @param type $iUserId *
* @param type $bOnlyNoEmpty Загружать только непустые поля * @param int $iUserId ID пользователя
* @return type * @param string $sName Имя поля
* @return string
*/ */
public function getUserFieldValueByName($iUserId, $sName) { public function getUserFieldValueByName($iUserId, $sName) {
return $this->oMapper->getUserFieldValueByName($iUserId, $sName); return $this->oMapper->getUserFieldValueByName($iUserId, $sName);
} }
/** /**
* Установить значения дополнительных полей профиля пользователя * Установить значения дополнительных полей профиля пользователя
* @param type $iUserId *
* @param type $aFields Ассоциативный массив полей id => value * @param int $iUserId ID пользователя
* @return type * @param array $aFields Ассоциативный массив полей id => value
* @param int $iCountMax Максимальное количество одинаковых полей
* @return bool
*/ */
public function setUserFieldsValues($iUserId, $aFields, $iCountMax=1) { public function setUserFieldsValues($iUserId, $aFields, $iCountMax=1) {
return $this->oMapper->setUserFieldsValues($iUserId, $aFields, $iCountMax); return $this->oMapper->setUserFieldsValues($iUserId, $aFields, $iCountMax);
} }
/** /**
* Добавить поле * Добавить поле
* @param type $sName *
* @return type * @param ModuleUser_EntityField $oField Объект пользовательского поля
* @return bool
*/ */
public function addUserField($oField) { public function addUserField($oField) {
return $this->oMapper->addUserField($oField); return $this->oMapper->addUserField($oField);
} }
/** /**
* Изменить поле * Изменить поле
* @param type $sName *
* @return type * @param ModuleUser_EntityField $oField Объект пользовательского поля
* @return bool
*/ */
public function updateUserField($oField) { public function updateUserField($oField) {
return $this->oMapper->updateUserField($oField); return $this->oMapper->updateUserField($oField);
} }
/** /**
* Удалить поле * Удалить поле
* @param type $iId *
* @return type * @param int $iId ID пользовательского поля
* @return bool
*/ */
public function deleteUserField($iId) { public function deleteUserField($iId) {
return $this->oMapper->deleteUserField($iId); return $this->oMapper->deleteUserField($iId);
} }
/** /**
* Проверяет существует ли поле с таким именем * Проверяет существует ли поле с таким именем
* *
* @param unknown_type $sName * @param string $sName Имя поля
* @param unknown_type $iId * @param int|null $iId ID поля
* @return unknown * @return bool
*/ */
public function userFieldExistsByName($sName, $iId = null) { public function userFieldExistsByName($sName, $iId = null) {
return $this->oMapper->userFieldExistsByName($sName, $iId); return $this->oMapper->userFieldExistsByName($sName, $iId);
} }
/** /**
* Проверяет существует ли поле с таким ID * Проверяет существует ли поле с таким ID
* *
* @param unknown_type $iId * @param int $iId ID поля
* @return unknown * @return bool
*/ */
public function userFieldExistsById($iId) { public function userFieldExistsById($iId) {
return $this->oMapper->userFieldExistsById($iId); return $this->oMapper->userFieldExistsById($iId);
} }
/**
* Удаляет у пользователя значения полей
*
* @param int $iUserId ID пользователя
* @param array|null $aType Список типов для удаления
* @return bool
*/
public function DeleteUserFieldValues($iUserId,$aType=null) { public function DeleteUserFieldValues($iUserId,$aType=null) {
return $this->oMapper->DeleteUserFieldValues($iUserId,$aType); return $this->oMapper->DeleteUserFieldValues($iUserId,$aType);
} }
/** /**
* Возвращает список заметок пользователя * Возвращает список заметок пользователя
* *
* @param $iUserId * @param int $iUserId ID пользователя
* @param $iCurrPage * @param int $iCurrPage Номер страницы
* @param $iPerPage * @param int $iPerPage Количество элементов на страницу
* @return array * @return array('collection'=>array,'count'=>int)
*/ */
public function GetUserNotesByUserId($iUserId,$iCurrPage,$iPerPage) { public function GetUserNotesByUserId($iUserId,$iCurrPage,$iPerPage) {
$aResult=$this->oMapper->GetUserNotesByUserId($iUserId,$iCount,$iCurrPage,$iPerPage); $aResult=$this->oMapper->GetUserNotesByUserId($iUserId,$iCount,$iCurrPage,$iPerPage);
@ -1331,12 +1362,11 @@ class ModuleUser extends Module {
} }
return array('collection'=>$aResult,'count'=>$iCount); return array('collection'=>$aResult,'count'=>$iCount);
} }
/** /**
* Возвращает количество заметок у пользователя * Возвращает количество заметок у пользователя
* *
* @param $iUserId * @param int $iUserId ID пользователя
* @return mixed * @return int
*/ */
public function GetCountUserNotesByUserId($iUserId) { public function GetCountUserNotesByUserId($iUserId) {
return $this->oMapper->GetCountUserNotesByUserId($iUserId); return $this->oMapper->GetCountUserNotesByUserId($iUserId);
@ -1345,38 +1375,35 @@ class ModuleUser extends Module {
/** /**
* Возвращет заметку по автору и пользователю * Возвращет заметку по автору и пользователю
* *
* @param $iTargetUserId * @param int $iTargetUserId ID пользователя о ком заметка
* @param $iUserId * @param int $iUserId ID пользователя автора заметки
* @return ModuleUser_EntityNote * @return ModuleUser_EntityNote
*/ */
public function GetUserNote($iTargetUserId,$iUserId) { public function GetUserNote($iTargetUserId,$iUserId) {
return $this->oMapper->GetUserNote($iTargetUserId,$iUserId); return $this->oMapper->GetUserNote($iTargetUserId,$iUserId);
} }
/** /**
* Врзвращает заметку по ID * Возвращает заметку по ID
* *
* @param $iId * @param int $iId ID заметки
* @return ModuleUser_EntityNote * @return ModuleUser_EntityNote
*/ */
public function GetUserNoteById($iId) { public function GetUserNoteById($iId) {
return $this->oMapper->GetUserNoteById($iId); return $this->oMapper->GetUserNoteById($iId);
} }
/** /**
* Удаляет заметку по ID * Удаляет заметку по ID
* *
* @param $iId * @param int $iId ID заметки
* @return bool * @return bool
*/ */
public function DeleteUserNoteById($iId) { public function DeleteUserNoteById($iId) {
return $this->oMapper->DeleteUserNoteById($iId); return $this->oMapper->DeleteUserNoteById($iId);
} }
/** /**
* Сохраняет заметку в БД, если ее нет то создает новую * Сохраняет заметку в БД, если ее нет то создает новую
* *
* @param $oNote * @param ModuleUser_EntityNote $oNote Объект заметки
* @return bool|ModuleUser_EntityNote * @return bool|ModuleUser_EntityNote
*/ */
public function SaveNote($oNote) { public function SaveNote($oNote) {
@ -1396,11 +1423,10 @@ class ModuleUser extends Module {
} }
return false; return false;
} }
/** /**
* Возвращает список префиксов логинов пользователей (для алфавитного указателя) * Возвращает список префиксов логинов пользователей (для алфавитного указателя)
* *
* @param int $iPrefixLength * @param int $iPrefixLength Длина префикса
* @return array * @return array
*/ */
public function GetGroupPrefixUser($iPrefixLength=1) { public function GetGroupPrefixUser($iPrefixLength=1) {

View file

@ -15,22 +15,60 @@
--------------------------------------------------------- ---------------------------------------------------------
*/ */
/**
* Сущность пользовательского поля у пользователя
*
* @package modules.user
* @since 1.0
*/
class ModuleUser_EntityField extends Entity { class ModuleUser_EntityField extends Entity {
/**
* Возвращает ID поля
*
* @return int|null
*/
public function getId() { public function getId() {
return $this->_getDataOne('id'); return $this->_getDataOne('id');
} }
/**
* Возвращает имя поля(уникальное)
*
* @return string|null
*/
public function getName(){ public function getName(){
return $this->_getDataOne('name'); return $this->_getDataOne('name');
} }
/**
* Возвращает тип поля
*
* @return string|null
*/
public function getType(){ public function getType(){
return $this->_getDataOne('type'); return $this->_getDataOne('type');
} }
/**
* Возвращает заголовок/описание поля
*
* @return string|null
*/
public function getTitle(){ public function getTitle(){
return $this->_getDataOne('title'); return $this->_getDataOne('title');
} }
/**
* Возвращает паттерн подстановки поля
*
* @return string|null
*/
public function getPattern(){ public function getPattern(){
return $this->_getDataOne('pattern'); return $this->_getDataOne('pattern');
} }
/**
* Возвращает значение поля у пользователя
*
* @param bool $bEscapeValue Экранировать значение
* @param bool $bTransformed Применять паттерн или нет
* @return string
*/
public function getValue($bEscapeValue = false, $bTransformed = false){ public function getValue($bEscapeValue = false, $bTransformed = false){
if (!isset($this->_aData['value']) || !$this->_aData['value']) return ''; if (!isset($this->_aData['value']) || !$this->_aData['value']) return '';
if ($bEscapeValue) $this->_aData['value'] = htmlspecialchars($this->_aData['value']); 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) { public function setId($iId) {
$this->_aData['id']=$iId; $this->_aData['id']=$iId;
} }
/**
* Устанавливает имя поля(уникальное)
*
* @param string $sName
*/
public function setName($sName) { public function setName($sName) {
$this->_aData['name']=$sName; $this->_aData['name']=$sName;
} }
/**
* Устанавливает тип поля
*
* @param string $sName
*/
public function setType($sName) { public function setType($sName) {
$this->_aData['type']=$sName; $this->_aData['type']=$sName;
} }
/**
* Устанавливает заголовок/описание поля
*
* @param string $sTitle
*/
public function setTitle($sTitle) { public function setTitle($sTitle) {
$this->_aData['title']=$sTitle; $this->_aData['title']=$sTitle;
} }
/**
* Устанавливает паттерн подстановки поля
*
* @param string $sPattern
*/
public function setPattern($sPattern) { public function setPattern($sPattern) {
$this->_aData['pattern']=$sPattern; $this->_aData['pattern']=$sPattern;
} }
/**
* Устанавливает значение поля у пользователя
*
* @param string $sValue
*/
public function setValue($sValue) { public function setValue($sValue) {
$this->_aData['value']=$sValue; $this->_aData['value']=$sValue;
} }

View file

@ -15,87 +15,154 @@
--------------------------------------------------------- ---------------------------------------------------------
*/ */
class ModuleUser_EntityFriend extends Entity /**
{ * Сущность дружбу - связи пользователей друг с другом
/** *
* При переданном параметре $sUserId возвращает тот идентификатор, * @package modules.user
* который не равен переданному * @since 1.0
* */
* @param ( string|null ) class ModuleUser_EntityFriend extends Entity {
* @return string /**
*/ * При переданном параметре $sUserId возвращает тот идентификатор,
public function getFriendId($sUserId=null) { * который не равен переданному
if(!$sUserId) { *
$sUserId=$this->getUserId(); * @param string|null $sUserId ID пользователя
} * @return string
if($this->_getDataOne('user_from')==$sUserId) { */
return $this->_aData['user_to']; public function getFriendId($sUserId=null) {
} if(!$sUserId) {
if($this->_getDataOne('user_to')==$sUserId) { $sUserId=$this->getUserId();
return $this->_aData['user_from']; }
} if($this->_getDataOne('user_from')==$sUserId) {
return false; return $this->_aData['user_to'];
} }
/** if($this->_getDataOne('user_to')==$sUserId) {
* Получает идентификатор пользователя, return $this->_aData['user_from'];
* относительно которого был сделан запрос }
* return false;
* @return int }
*/ /**
public function getUserId() { * Получает идентификатор пользователя,
* относительно которого был сделан запрос
*
* @return int
*/
public function getUserId() {
return $this->_getDataOne('user'); return $this->_getDataOne('user');
} }
/**
public function getUserFrom() { * Возвращает ID пользователя, который приглашает в друзья
return $this->_getDataOne('user_from'); *
} * @return int|null
public function getUserTo() { */
return $this->_getDataOne('user_to'); public function getUserFrom() {
} return $this->_getDataOne('user_from');
public function getStatusFrom() { }
return $this->_getDataOne('status_from'); /**
} * Возвращает ID пользователя, которого пришлашаем в друзья
public function getStatusTo() { *
* @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; 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) { * @return int|null
if($sUserId==$this->getUserFrom()) { */
return $this->getStatusFrom(); public function getFriendStatus() {
} return $this->getStatusFrom()+$this->getStatusTo();
if($sUserId==$this->getUserTo()) { }
return $this->getStatusTo(); /**
} * Возвращает статус дружбы для конкретного пользователя
return false; *
} * @param int $sUserId ID пользователя
* @return bool|int
public function setUserFrom($data) { */
$this->_aData['user_from']=$data; public function getStatusByUserId($sUserId) {
} if($sUserId==$this->getUserFrom()) {
public function setUserTo($data) { return $this->getStatusFrom();
$this->_aData['user_to']=$data; }
} if($sUserId==$this->getUserTo()) {
public function setStatusFrom($data) { return $this->getStatusTo();
$this->_aData['status_from']=$data; }
} return false;
public function setStatusTo($data) { }
$this->_aData['status_to']=$data;
} /**
public function setUserId($data) { * Устанавливает ID пользователя, который приглашает в друзья
$this->_aData['user']=$data; *
} * @param int $data
public function setStatusByUserId($data,$sUserId) { */
if($sUserId==$this->getUserFrom()) { public function setUserFrom($data) {
$this->setStatusFrom($data); $this->_aData['user_from']=$data;
return true; }
} /**
if($sUserId==$this->getUserTo()) { * Устанавливает ID пользователя, которого пришлашаем в друзья
$this->setStatusTo($data); *
return true; * @param int $data
} */
return false; 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;
}
} }
?> ?>

View file

@ -15,53 +15,126 @@
--------------------------------------------------------- ---------------------------------------------------------
*/ */
class ModuleUser_EntityInvite extends Entity /**
{ * Сущность инвайта(приглашения)
public function getId() { *
return $this->_getDataOne('invite_id'); * @package modules.user
} * @since 1.0
public function getCode() { */
return $this->_getDataOne('invite_code'); class ModuleUser_EntityInvite extends Entity {
} /**
public function getUserFromId() { * Возвращает ID инвайта
return $this->_getDataOne('user_from_id'); *
} * @return int|null
public function getUserToId() { */
return $this->_getDataOne('user_to_id'); public function getId() {
} return $this->_getDataOne('invite_id');
public function getDateAdd() { }
return $this->_getDataOne('invite_date_add'); /**
} * Возвращает код инвайта
public function getDateUsed() { *
return $this->_getDataOne('invite_date_used'); * @return string|null
} */
public function getUsed() { public function getCode() {
return $this->_getDataOne('invite_used'); 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) { public function setId($data) {
$this->_aData['invite_id']=$data; $this->_aData['invite_id']=$data;
} }
public function setCode($data) { /**
$this->_aData['invite_code']=$data; * Устанавливает код инвайта
} *
public function setUserFromId($data) { * @param string $data
$this->_aData['user_from_id']=$data; */
} public function setCode($data) {
public function setUserToId($data) { $this->_aData['invite_code']=$data;
$this->_aData['user_to_id']=$data; }
} /**
public function setDateAdd($data) { * Устанавливает ID пользователя, который отправляет инвайт
$this->_aData['invite_date_add']=$data; *
} * @param int $data
public function setDateUsed($data) { */
$this->_aData['invite_date_used']=$data; public function setUserFromId($data) {
} $this->_aData['user_from_id']=$data;
public function setUsed($data) { }
$this->_aData['invite_used']=$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;
}
} }
?> ?>

View file

@ -15,25 +15,34 @@
--------------------------------------------------------- ---------------------------------------------------------
*/ */
/**
* Сущность заметки о пользователе
*
* @package modules.user
* @since 1.0
*/
class ModuleUser_EntityNote extends Entity { class ModuleUser_EntityNote extends Entity {
/** /**
* Определяем правила валидации * Определяем правила валидации
*
* @var array
*/ */
protected $aValidateRules=array( protected $aValidateRules=array(
array('target_user_id','target'), array('target_user_id','target'),
); );
/**
* Инициализация
*/
public function Init() { public function Init() {
parent::Init(); parent::Init();
$this->aValidateRules[]=array('text','string','max'=>Config::Get('module.user.usernote_text_max'),'min'=>1,'allowEmpty'=>false); $this->aValidateRules[]=array('text','string','max'=>Config::Get('module.user.usernote_text_max'),'min'=>1,'allowEmpty'=>false);
} }
/** /**
* Валидация пользователя * Валидация пользователя
* *
* @param $sValue * @param string $sValue Значение
* @param $aParams * @param array $aParams Параметры
* @return bool * @return bool
*/ */
public function ValidateTarget($sValue,$aParams) { public function ValidateTarget($sValue,$aParams) {

View file

@ -15,45 +15,109 @@
--------------------------------------------------------- ---------------------------------------------------------
*/ */
class ModuleUser_EntityReminder extends Entity /**
{ * Сущность восстановления пароля
public function getCode() { *
return $this->_getDataOne('reminder_code'); * @package modules.user
} * @since 1.0
public function getUserId() { */
return $this->_getDataOne('user_id'); class ModuleUser_EntityReminder extends Entity {
} /**
public function getDateAdd() { * Возвращает код восстановления
return $this->_getDataOne('reminder_date_add'); *
} * @return string|null
public function getDateUsed() { */
return $this->_getDataOne('reminder_date_used'); public function getCode() {
} return $this->_getDataOne('reminder_code');
public function getDateExpire() { }
return $this->_getDataOne('reminder_date_expire'); /**
} * Возвращает ID пользователя
public function getIsUsed() { *
return $this->_getDataOne('reminde_is_used'); * @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) { public function setCode($data) {
$this->_aData['reminder_code']=$data; $this->_aData['reminder_code']=$data;
} }
public function setUserId($data) { /**
$this->_aData['user_id']=$data; * Устанавливает ID пользователя
} *
public function setDateAdd($data) { * @param int $data
$this->_aData['reminder_date_add']=$data; */
} public function setUserId($data) {
public function setDateUsed($data) { $this->_aData['user_id']=$data;
$this->_aData['reminder_date_used']=$data; }
} /**
public function setDateExpire($data) { * Устанавливает дату создания
$this->_aData['reminder_date_expire']=$data; *
} * @param string $data
public function setIsUsed($data) { */
$this->_aData['reminde_is_used']=$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;
}
} }
?> ?>

View file

@ -15,45 +15,110 @@
--------------------------------------------------------- ---------------------------------------------------------
*/ */
class ModuleUser_EntitySession extends Entity /**
{ * Сущность сессии
public function getKey() { *
return $this->_getDataOne('session_key'); * @package modules.user
} * @since 1.0
public function getUserId() { */
return $this->_getDataOne('user_id'); class ModuleUser_EntitySession extends Entity {
} /**
public function getIpCreate() { * Возвращает ключ сессии
return $this->_getDataOne('session_ip_create'); *
} * @return string|null
public function getIpLast() { */
return $this->_getDataOne('session_ip_last'); public function getKey() {
} return $this->_getDataOne('session_key');
public function getDateCreate() { }
return $this->_getDataOne('session_date_create'); /**
} * Возвращает ID пользователя
public function getDateLast() { *
return $this->_getDataOne('session_date_last'); * @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) { public function setKey($data) {
$this->_aData['session_key']=$data; $this->_aData['session_key']=$data;
} }
public function setUserId($data) { /**
$this->_aData['user_id']=$data; * Устанавливает ID пользователя
} *
public function setIpCreate($data) { * @param int $data
$this->_aData['session_ip_create']=$data; */
} public function setUserId($data) {
public function setIpLast($data) { $this->_aData['user_id']=$data;
$this->_aData['session_ip_last']=$data; }
} /**
public function setDateCreate($data) { * Устанавливает IP создания сессии
$this->_aData['session_date_create']=$data; *
} * @param string $data
public function setDateLast($data) { */
$this->_aData['session_date_last']=$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;
}
} }
?> ?>

View file

@ -15,10 +15,17 @@
--------------------------------------------------------- ---------------------------------------------------------
*/ */
/**
* Сущность пользователя
*
* @package modules.user
* @since 1.0
*/
class ModuleUser_EntityUser extends Entity { class ModuleUser_EntityUser extends Entity {
/** /**
* Определяем правила валидации * Определяем правила валидации
*
* @var array
*/ */
protected $aValidateRules=array( protected $aValidateRules=array(
array('login','login','on'=>array('registration','')), // '' - означает дефолтный сценарий array('login','login','on'=>array('registration','')), // '' - означает дефолтный сценарий
@ -33,8 +40,8 @@ class ModuleUser_EntityUser extends Entity {
/** /**
* Валидация пользователя * Валидация пользователя
* *
* @param $sValue * @param string $sValue Валидируемое значение
* @param $aParams * @param array $aParams Параметры
* @return bool * @return bool
*/ */
public function ValidateLogin($sValue,$aParams) { public function ValidateLogin($sValue,$aParams) {
@ -46,8 +53,8 @@ class ModuleUser_EntityUser extends Entity {
/** /**
* Проверка логина на существование * Проверка логина на существование
* *
* @param $sValue * @param string $sValue Валидируемое значение
* @param $aParams * @param array $aParams Параметры
* @return bool * @return bool
*/ */
public function ValidateLoginExists($sValue,$aParams) { public function ValidateLoginExists($sValue,$aParams) {
@ -59,8 +66,8 @@ class ModuleUser_EntityUser extends Entity {
/** /**
* Проверка емайла на существование * Проверка емайла на существование
* *
* @param $sValue * @param string $sValue Валидируемое значение
* @param $aParams * @param array $aParams Параметры
* @return bool * @return bool
*/ */
public function ValidateMailExists($sValue,$aParams) { public function ValidateMailExists($sValue,$aParams) {
@ -70,106 +77,265 @@ class ModuleUser_EntityUser extends Entity {
return $this->Lang_Get('registration_mail_error_used'); return $this->Lang_Get('registration_mail_error_used');
} }
/**
* Возвращает ID пользователя
*
* @return int|null
*/
public function getId() { public function getId() {
return $this->_getDataOne('user_id'); return $this->_getDataOne('user_id');
} }
/**
* Возвращает логин
*
* @return string|null
*/
public function getLogin() { public function getLogin() {
return $this->_getDataOne('user_login'); return $this->_getDataOne('user_login');
} }
/**
* Возвращает пароль (ввиде хеша)
*
* @return string|null
*/
public function getPassword() { public function getPassword() {
return $this->_getDataOne('user_password'); return $this->_getDataOne('user_password');
} }
/**
* Возвращает емайл
*
* @return string|null
*/
public function getMail() { public function getMail() {
return $this->_getDataOne('user_mail'); return $this->_getDataOne('user_mail');
} }
/**
* Возвращает силу
*
* @return string
*/
public function getSkill() { public function getSkill() {
return number_format(round($this->_getDataOne('user_skill'),2), 2, '.', ''); return number_format(round($this->_getDataOne('user_skill'),2), 2, '.', '');
} }
/**
* Возвращает дату регистрации
*
* @return string|null
*/
public function getDateRegister() { public function getDateRegister() {
return $this->_getDataOne('user_date_register'); return $this->_getDataOne('user_date_register');
} }
/**
* Возвращает дату активации
*
* @return string|null
*/
public function getDateActivate() { public function getDateActivate() {
return $this->_getDataOne('user_date_activate'); return $this->_getDataOne('user_date_activate');
} }
/**
* Возвращает дату последнего комментирования
*
* @return mixed|null
*/
public function getDateCommentLast() { public function getDateCommentLast() {
return $this->_getDataOne('user_date_comment_last'); return $this->_getDataOne('user_date_comment_last');
} }
/**
* Возвращает IP регистрации
*
* @return string|null
*/
public function getIpRegister() { public function getIpRegister() {
return $this->_getDataOne('user_ip_register'); return $this->_getDataOne('user_ip_register');
} }
/**
* Возвращает рейтинг
*
* @return string
*/
public function getRating() { public function getRating() {
return number_format(round($this->_getDataOne('user_rating'),2), 2, '.', ''); return number_format(round($this->_getDataOne('user_rating'),2), 2, '.', '');
} }
/**
* Вовзращает количество проголосовавших
*
* @return int|null
*/
public function getCountVote() { public function getCountVote() {
return $this->_getDataOne('user_count_vote'); return $this->_getDataOne('user_count_vote');
} }
/**
* Возвращает статус активированности
*
* @return int|null
*/
public function getActivate() { public function getActivate() {
return $this->_getDataOne('user_activate'); return $this->_getDataOne('user_activate');
} }
/**
* Возвращает ключ активации
*
* @return string|null
*/
public function getActivateKey() { public function getActivateKey() {
return $this->_getDataOne('user_activate_key'); return $this->_getDataOne('user_activate_key');
} }
/**
* Возвращает имя
*
* @return string|null
*/
public function getProfileName() { public function getProfileName() {
return $this->_getDataOne('user_profile_name'); return $this->_getDataOne('user_profile_name');
} }
/**
* Возвращает пол
*
* @return string|null
*/
public function getProfileSex() { public function getProfileSex() {
return $this->_getDataOne('user_profile_sex'); return $this->_getDataOne('user_profile_sex');
} }
/**
* Возвращает название страны
*
* @return string|null
*/
public function getProfileCountry() { public function getProfileCountry() {
return $this->_getDataOne('user_profile_country'); return $this->_getDataOne('user_profile_country');
} }
/**
* Возвращает название региона
*
* @return string|null
*/
public function getProfileRegion() { public function getProfileRegion() {
return $this->_getDataOne('user_profile_region'); return $this->_getDataOne('user_profile_region');
} }
/**
* Возвращает название города
*
* @return string|null
*/
public function getProfileCity() { public function getProfileCity() {
return $this->_getDataOne('user_profile_city'); return $this->_getDataOne('user_profile_city');
} }
/**
* Возвращает дату рождения
*
* @return string|null
*/
public function getProfileBirthday() { public function getProfileBirthday() {
return $this->_getDataOne('user_profile_birthday'); return $this->_getDataOne('user_profile_birthday');
} }
/**
* Возвращает информацию о себе
*
* @return string|null
*/
public function getProfileAbout() { public function getProfileAbout() {
return $this->_getDataOne('user_profile_about'); return $this->_getDataOne('user_profile_about');
} }
/**
* Возвращает дату редактирования профиля
*
* @return string|null
*/
public function getProfileDate() { public function getProfileDate() {
return $this->_getDataOne('user_profile_date'); return $this->_getDataOne('user_profile_date');
} }
/**
* Возвращает полный веб путь до аватра
*
* @return string|null
*/
public function getProfileAvatar() { public function getProfileAvatar() {
return $this->_getDataOne('user_profile_avatar'); return $this->_getDataOne('user_profile_avatar');
} }
/**
* Возвращает расширение автара
*
* @return string|null
*/
public function getProfileAvatarType() { public function getProfileAvatarType() {
return ($sPath=$this->getProfileAvatarPath()) ? pathinfo($sPath,PATHINFO_EXTENSION) : null; return ($sPath=$this->getProfileAvatarPath()) ? pathinfo($sPath,PATHINFO_EXTENSION) : null;
} }
/**
* Возвращает полный веб путь до фото
*
* @return string|null
*/
public function getProfileFoto() { public function getProfileFoto() {
return $this->_getDataOne('user_profile_foto'); return $this->_getDataOne('user_profile_foto');
} }
/**
* Возвращает статус уведомления о новых топиках
*
* @return int|null
*/
public function getSettingsNoticeNewTopic() { public function getSettingsNoticeNewTopic() {
return $this->_getDataOne('user_settings_notice_new_topic'); return $this->_getDataOne('user_settings_notice_new_topic');
} }
/**
* Возвращает статус уведомления о новых комментариях
*
* @return int|null
*/
public function getSettingsNoticeNewComment() { public function getSettingsNoticeNewComment() {
return $this->_getDataOne('user_settings_notice_new_comment'); return $this->_getDataOne('user_settings_notice_new_comment');
} }
/**
* Возвращает статус уведомления о новых письмах
*
* @return int|null
*/
public function getSettingsNoticeNewTalk() { public function getSettingsNoticeNewTalk() {
return $this->_getDataOne('user_settings_notice_new_talk'); return $this->_getDataOne('user_settings_notice_new_talk');
} }
/**
* Возвращает статус уведомления о новых ответах в комментариях
*
* @return int|null
*/
public function getSettingsNoticeReplyComment() { public function getSettingsNoticeReplyComment() {
return $this->_getDataOne('user_settings_notice_reply_comment'); return $this->_getDataOne('user_settings_notice_reply_comment');
} }
/**
* Возвращает статус уведомления о новых друзьях
*
* @return int|null
*/
public function getSettingsNoticeNewFriend() { public function getSettingsNoticeNewFriend() {
return $this->_getDataOne('user_settings_notice_new_friend'); return $this->_getDataOne('user_settings_notice_new_friend');
} }
/**
* Возвращает значения пользовательских полей
*
* @param bool $bOnlyNoEmpty Возвращать или нет только не пустые
* @param string $sType Тип полей
* @return array
*/
public function getUserFieldValues($bOnlyNoEmpty = true, $sType='') { public function getUserFieldValues($bOnlyNoEmpty = true, $sType='') {
return $this->User_getUserFieldsValues($this->getId(), $bOnlyNoEmpty,$sType); return $this->User_getUserFieldsValues($this->getId(), $bOnlyNoEmpty,$sType);
} }
/**
* Возвращает объект сессии
*
* @return ModuleUser_EntitySession|null
*/
public function getSession() { public function getSession() {
if (!$this->_getDataOne('session')) { if (!$this->_getDataOne('session')) {
$this->_aData['session']=$this->User_GetSessionByUserId($this->getId()); $this->_aData['session']=$this->User_GetSessionByUserId($this->getId());
} }
return $this->_getDataOne('session'); return $this->_getDataOne('session');
} }
/**
* Возвращает статус онлайн пользователь или нет
*
* @return bool
*/
public function isOnline() { public function isOnline() {
if ($oSession=$this->getSession()) { if ($oSession=$this->getSession()) {
if (time()-strtotime($oSession->getDateLast())<60*10) { // 10 минут if (time()-strtotime($oSession->getDateLast())<60*10) { // 10 минут
@ -178,38 +344,74 @@ class ModuleUser_EntityUser extends Entity {
} }
return false; return false;
} }
/**
* Возвращает полный веб путь до аватара нужного размера
*
* @param int $iSize Размер
* @return string
*/
public function getProfileAvatarPath($iSize=100) { public function getProfileAvatarPath($iSize=100) {
if ($sPath=$this->getProfileAvatar()) { if ($sPath=$this->getProfileAvatar()) {
return str_replace('_100x100',(($iSize==0)?"":"_{$iSize}x{$iSize}"),$sPath."?".date('His',strtotime($this->getProfileDate()))); return str_replace('_100x100',(($iSize==0)?"":"_{$iSize}x{$iSize}"),$sPath."?".date('His',strtotime($this->getProfileDate())));
} else { } 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() { public function getProfileFotoPath() {
if ($this->getProfileFoto()) { if ($this->getProfileFoto()) {
return $this->getProfileFoto(); return $this->getProfileFoto();
} }
return $this->getProfileFotoDefault(); return $this->getProfileFotoDefault();
} }
/**
* Возвращает дефолтную фото
*
* @return string
*/
public function getProfileFotoDefault() { public function getProfileFotoDefault() {
return Config::Get('path.static.skin').'/images/user_foto_250.png'; return Config::Get('path.static.skin').'/images/user_foto_250.png';
} }
/**
* Возвращает объект голосования за пользователя текущего пользователя
*
* @return ModuleVote_EntityVote|null
*/
public function getVote() { public function getVote() {
return $this->_getDataOne('vote'); return $this->_getDataOne('vote');
} }
/**
* Возвращает статус дружбы
*
* @return bool|null
*/
public function getUserIsFriend() { public function getUserIsFriend() {
return $this->_getDataOne('user_is_friend'); return $this->_getDataOne('user_is_friend');
} }
/**
* Возвращает статус администратора сайта
*
* @return bool|null
*/
public function isAdministrator() { public function isAdministrator() {
return $this->_getDataOne('user_is_administrator'); return $this->_getDataOne('user_is_administrator');
} }
/**
* Возвращает веб путь до профиля пользователя
*
* @return string
*/
public function getUserWebPath() { public function getUserWebPath() {
return Router::GetPath('profile').$this->getLogin().'/'; return Router::GetPath('profile').$this->getLogin().'/';
} }
/** /**
* Возвращает статус дружбы с текущим пользователем * Возвращает объект дружбы с текущим пользователем
* *
* @return int * @return ModuleUser_EntityFriend|null
*/ */
public function getUserFriend() { public function getUserFriend() {
return $this->_getDataOne('user_friend'); return $this->_getDataOne('user_friend');
@ -225,98 +427,252 @@ class ModuleUser_EntityUser extends Entity {
} }
} }
/**
* Устанавливает ID пользователя
*
* @param int $data
*/
public function setId($data) { public function setId($data) {
$this->_aData['user_id']=$data; $this->_aData['user_id']=$data;
} }
/**
* Устанавливает логин
*
* @param string $data
*/
public function setLogin($data) { public function setLogin($data) {
$this->_aData['user_login']=$data; $this->_aData['user_login']=$data;
} }
/**
* Устанавливает пароль (ввиде хеша)
*
* @param string $data
*/
public function setPassword($data) { public function setPassword($data) {
$this->_aData['user_password']=$data; $this->_aData['user_password']=$data;
} }
/**
* Устанавливает емайл
*
* @param string $data
*/
public function setMail($data) { public function setMail($data) {
$this->_aData['user_mail']=$data; $this->_aData['user_mail']=$data;
} }
/**
* Устанавливает силу
*
* @param float $data
*/
public function setSkill($data) { public function setSkill($data) {
$this->_aData['user_skill']=$data; $this->_aData['user_skill']=$data;
} }
/**
* Устанавливает дату регистрации
*
* @param string $data
*/
public function setDateRegister($data) { public function setDateRegister($data) {
$this->_aData['user_date_register']=$data; $this->_aData['user_date_register']=$data;
} }
/**
* Устанавливает дату активации
*
* @param string $data
*/
public function setDateActivate($data) { public function setDateActivate($data) {
$this->_aData['user_date_activate']=$data; $this->_aData['user_date_activate']=$data;
} }
/**
* Устанавливает дату последнего комментирования
*
* @param string $data
*/
public function setDateCommentLast($data) { public function setDateCommentLast($data) {
$this->_aData['user_date_comment_last']=$data; $this->_aData['user_date_comment_last']=$data;
} }
/**
* Устанавливает IP регистрации
*
* @param string $data
*/
public function setIpRegister($data) { public function setIpRegister($data) {
$this->_aData['user_ip_register']=$data; $this->_aData['user_ip_register']=$data;
} }
/**
* Устанавливает рейтинг
*
* @param float $data
*/
public function setRating($data) { public function setRating($data) {
$this->_aData['user_rating']=$data; $this->_aData['user_rating']=$data;
} }
/**
* Устанавливает количество проголосовавших
*
* @param int $data
*/
public function setCountVote($data) { public function setCountVote($data) {
$this->_aData['user_count_vote']=$data; $this->_aData['user_count_vote']=$data;
} }
/**
* Устанавливает статус активированности
*
* @param int $data
*/
public function setActivate($data) { public function setActivate($data) {
$this->_aData['user_activate']=$data; $this->_aData['user_activate']=$data;
} }
/**
* Устанавливает ключ активации
*
* @param string $data
*/
public function setActivateKey($data) { public function setActivateKey($data) {
$this->_aData['user_activate_key']=$data; $this->_aData['user_activate_key']=$data;
} }
/**
* Устанавливает имя
*
* @param string $data
*/
public function setProfileName($data) { public function setProfileName($data) {
$this->_aData['user_profile_name']=$data; $this->_aData['user_profile_name']=$data;
} }
/**
* Устанавливает пол
*
* @param string $data
*/
public function setProfileSex($data) { public function setProfileSex($data) {
$this->_aData['user_profile_sex']=$data; $this->_aData['user_profile_sex']=$data;
} }
/**
* Устанавливает название страны
*
* @param string $data
*/
public function setProfileCountry($data) { public function setProfileCountry($data) {
$this->_aData['user_profile_country']=$data; $this->_aData['user_profile_country']=$data;
} }
/**
* Устанавливает название региона
*
* @param string $data
*/
public function setProfileRegion($data) { public function setProfileRegion($data) {
$this->_aData['user_profile_region']=$data; $this->_aData['user_profile_region']=$data;
} }
/**
* Устанавливает название города
*
* @param string $data
*/
public function setProfileCity($data) { public function setProfileCity($data) {
$this->_aData['user_profile_city']=$data; $this->_aData['user_profile_city']=$data;
} }
/**
* Устанавливает дату рождения
*
* @param string $data
*/
public function setProfileBirthday($data) { public function setProfileBirthday($data) {
$this->_aData['user_profile_birthday']=$data; $this->_aData['user_profile_birthday']=$data;
} }
/**
* Устанавливает информацию о себе
*
* @param string $data
*/
public function setProfileAbout($data) { public function setProfileAbout($data) {
$this->_aData['user_profile_about']=$data; $this->_aData['user_profile_about']=$data;
} }
/**
* Устанавливает дату редактирования профиля
*
* @param string $data
*/
public function setProfileDate($data) { public function setProfileDate($data) {
$this->_aData['user_profile_date']=$data; $this->_aData['user_profile_date']=$data;
} }
/**
* Устанавливает полный веб путь до аватра
*
* @param string $data
*/
public function setProfileAvatar($data) { public function setProfileAvatar($data) {
$this->_aData['user_profile_avatar']=$data; $this->_aData['user_profile_avatar']=$data;
} }
/**
* Устанавливает полный веб путь до фото
*
* @param string $data
*/
public function setProfileFoto($data) { public function setProfileFoto($data) {
$this->_aData['user_profile_foto']=$data; $this->_aData['user_profile_foto']=$data;
} }
/**
* Устанавливает статус уведомления о новых топиках
*
* @param int $data
*/
public function setSettingsNoticeNewTopic($data) { public function setSettingsNoticeNewTopic($data) {
$this->_aData['user_settings_notice_new_topic']=$data; $this->_aData['user_settings_notice_new_topic']=$data;
} }
/**
* Устанавливает статус уведомления о новых комментариях
*
* @param int $data
*/
public function setSettingsNoticeNewComment($data) { public function setSettingsNoticeNewComment($data) {
$this->_aData['user_settings_notice_new_comment']=$data; $this->_aData['user_settings_notice_new_comment']=$data;
} }
/**
* Устанавливает статус уведомления о новых письмах
*
* @param int $data
*/
public function setSettingsNoticeNewTalk($data) { public function setSettingsNoticeNewTalk($data) {
$this->_aData['user_settings_notice_new_talk']=$data; $this->_aData['user_settings_notice_new_talk']=$data;
} }
/**
* Устанавливает статус уведомления о новых ответах в комментариях
*
* @param int $data
*/
public function setSettingsNoticeReplyComment($data) { public function setSettingsNoticeReplyComment($data) {
$this->_aData['user_settings_notice_reply_comment']=$data; $this->_aData['user_settings_notice_reply_comment']=$data;
} }
/**
* Устанавливает статус уведомления о новых друзьях
*
* @param int $data
*/
public function setSettingsNoticeNewFriend($data) { public function setSettingsNoticeNewFriend($data) {
$this->_aData['user_settings_notice_new_friend']=$data; $this->_aData['user_settings_notice_new_friend']=$data;
} }
/**
* Устанавливает объект сессии
*
* @param ModuleUser_EntitySession $data
*/
public function setSession($data) { public function setSession($data) {
$this->_aData['session']=$data; $this->_aData['session']=$data;
} }
/**
* Устанавливает статус дружбы
*
* @param int $data
*/
public function setUserIsFriend($data) { public function setUserIsFriend($data) {
$this->_aData['user_is_friend']=$data; $this->_aData['user_is_friend']=$data;
} }
/**
* Устанавливает объект голосования за пользователя текущего пользователя
*
* @param ModuleVote_EntityVote $data
*/
public function setVote($data) { public function setVote($data) {
$this->_aData['vote']=$data; $this->_aData['vote']=$data;
} }

View file

@ -6,10 +6,12 @@
{strip} {strip}
<div class="modal-content"> <div class="modal-content">
<ul class="write-list"> <ul class="write-list">
{if $iUserCurrentCountTopicDraft}
<li class="write-item-type-draft"> <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-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> </li>
{/if}
<li class="write-item-type-topic"> <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-image"></a>
<a href="{router page='topic'}add" class="write-item-link">{$aLang.block_create_topic_topic}</a> <a href="{router page='topic'}add" class="write-item-link">{$aLang.block_create_topic_topic}</a>