2009-05-10 10:50:39 +03:00
|
|
|
|
<?php
|
2008-09-21 09:36:57 +03:00
|
|
|
|
/*-------------------------------------------------------
|
|
|
|
|
*
|
|
|
|
|
* LiveStreet Engine Social Networking
|
|
|
|
|
* Copyright © 2008 Mzhelskiy Maxim
|
|
|
|
|
*
|
|
|
|
|
*--------------------------------------------------------
|
|
|
|
|
*
|
|
|
|
|
* Official site: www.livestreet.ru
|
|
|
|
|
* Contact e-mail: rus.engine@gmail.com
|
|
|
|
|
*
|
|
|
|
|
* GNU General Public License, version 2:
|
|
|
|
|
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
|
|
|
|
*
|
|
|
|
|
---------------------------------------------------------
|
|
|
|
|
*/
|
|
|
|
|
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Сущность пользователя
|
|
|
|
|
*
|
|
|
|
|
* @package modules.user
|
|
|
|
|
* @since 1.0
|
|
|
|
|
*/
|
2010-05-27 18:16:20 +03:00
|
|
|
|
class ModuleUser_EntityUser extends Entity {
|
2012-10-31 11:04:46 +02:00
|
|
|
|
/**
|
|
|
|
|
* Определяем дополнительные правила валидации
|
|
|
|
|
*
|
|
|
|
|
* @param array
|
|
|
|
|
*/
|
|
|
|
|
public function __construct($aParam = false) {
|
|
|
|
|
if (Config::Get('module.user.captcha_use_registration')) {
|
2014-01-25 15:20:02 +02:00
|
|
|
|
$this->aValidateRules[] = array('captcha', 'captcha', 'name'=>'user_signup', 'on' => array('registration'));
|
2012-10-31 11:04:46 +02:00
|
|
|
|
}
|
|
|
|
|
|
2013-10-30 11:17:01 +02:00
|
|
|
|
if (Config::Get('general.login.captcha')){
|
2014-01-25 15:20:02 +02:00
|
|
|
|
$this->aValidateRules[] = array('captcha', 'captcha', 'name'=>'user_auth', 'on' => array('signIn'));
|
2013-10-23 08:18:24 +03:00
|
|
|
|
}
|
2013-09-28 13:55:40 +03:00
|
|
|
|
|
2012-10-31 11:04:46 +02:00
|
|
|
|
parent::__construct($aParam);
|
|
|
|
|
}
|
|
|
|
|
|
2012-03-21 20:44:58 +02:00
|
|
|
|
/**
|
|
|
|
|
* Определяем правила валидации
|
2012-06-26 20:11:23 +03:00
|
|
|
|
*
|
|
|
|
|
* @var array
|
2012-03-21 20:44:58 +02:00
|
|
|
|
*/
|
|
|
|
|
protected $aValidateRules=array(
|
|
|
|
|
array('login','login','on'=>array('registration','')), // '' - означает дефолтный сценарий
|
|
|
|
|
array('login','login_exists','on'=>array('registration')),
|
|
|
|
|
array('mail','email','allowEmpty'=>false,'on'=>array('registration','')),
|
|
|
|
|
array('mail','mail_exists','on'=>array('registration')),
|
|
|
|
|
array('password','string','allowEmpty'=>false,'min'=>5,'on'=>array('registration')),
|
|
|
|
|
array('password_confirm','compare','compareField'=>'password','on'=>array('registration')),
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Валидация пользователя
|
|
|
|
|
*
|
2012-06-26 20:11:23 +03:00
|
|
|
|
* @param string $sValue Валидируемое значение
|
|
|
|
|
* @param array $aParams Параметры
|
2012-03-21 20:44:58 +02:00
|
|
|
|
* @return bool
|
|
|
|
|
*/
|
|
|
|
|
public function ValidateLogin($sValue,$aParams) {
|
|
|
|
|
if ($this->User_CheckLogin($sValue)) {
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
return $this->Lang_Get('registration_login_error');
|
|
|
|
|
}
|
|
|
|
|
/**
|
|
|
|
|
* Проверка логина на существование
|
|
|
|
|
*
|
2012-06-26 20:11:23 +03:00
|
|
|
|
* @param string $sValue Валидируемое значение
|
|
|
|
|
* @param array $aParams Параметры
|
2012-03-21 20:44:58 +02:00
|
|
|
|
* @return bool
|
|
|
|
|
*/
|
|
|
|
|
public function ValidateLoginExists($sValue,$aParams) {
|
|
|
|
|
if (!$this->User_GetUserByLogin($sValue)) {
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
return $this->Lang_Get('registration_login_error_used');
|
|
|
|
|
}
|
|
|
|
|
/**
|
|
|
|
|
* Проверка емайла на существование
|
|
|
|
|
*
|
2012-06-26 20:11:23 +03:00
|
|
|
|
* @param string $sValue Валидируемое значение
|
|
|
|
|
* @param array $aParams Параметры
|
2012-03-21 20:44:58 +02:00
|
|
|
|
* @return bool
|
|
|
|
|
*/
|
|
|
|
|
public function ValidateMailExists($sValue,$aParams) {
|
|
|
|
|
if (!$this->User_GetUserByMail($sValue)) {
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
return $this->Lang_Get('registration_mail_error_used');
|
|
|
|
|
}
|
|
|
|
|
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Возвращает ID пользователя
|
|
|
|
|
*
|
|
|
|
|
* @return int|null
|
|
|
|
|
*/
|
2008-09-21 09:36:57 +03:00
|
|
|
|
public function getId() {
|
2012-04-21 11:00:15 +03:00
|
|
|
|
return $this->_getDataOne('user_id');
|
2012-04-15 13:10:59 +03:00
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Возвращает логин
|
|
|
|
|
*
|
|
|
|
|
* @return string|null
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function getLogin() {
|
2012-04-21 11:00:15 +03:00
|
|
|
|
return $this->_getDataOne('user_login');
|
2012-04-15 13:10:59 +03:00
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Возвращает пароль (ввиде хеша)
|
|
|
|
|
*
|
|
|
|
|
* @return string|null
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function getPassword() {
|
2012-04-21 11:00:15 +03:00
|
|
|
|
return $this->_getDataOne('user_password');
|
2012-04-15 13:10:59 +03:00
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Возвращает емайл
|
|
|
|
|
*
|
|
|
|
|
* @return string|null
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function getMail() {
|
2012-04-21 11:00:15 +03:00
|
|
|
|
return $this->_getDataOne('user_mail');
|
2012-04-15 13:10:59 +03:00
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Возвращает силу
|
|
|
|
|
*
|
|
|
|
|
* @return string
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function getSkill() {
|
2012-04-21 11:00:15 +03:00
|
|
|
|
return number_format(round($this->_getDataOne('user_skill'),2), 2, '.', '');
|
2012-04-15 13:10:59 +03:00
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Возвращает дату регистрации
|
|
|
|
|
*
|
|
|
|
|
* @return string|null
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function getDateRegister() {
|
2012-04-21 11:00:15 +03:00
|
|
|
|
return $this->_getDataOne('user_date_register');
|
2012-04-15 13:10:59 +03:00
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Возвращает дату активации
|
|
|
|
|
*
|
|
|
|
|
* @return string|null
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function getDateActivate() {
|
2012-04-21 11:00:15 +03:00
|
|
|
|
return $this->_getDataOne('user_date_activate');
|
2012-04-15 13:10:59 +03:00
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Возвращает дату последнего комментирования
|
|
|
|
|
*
|
|
|
|
|
* @return mixed|null
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function getDateCommentLast() {
|
2012-04-21 11:00:15 +03:00
|
|
|
|
return $this->_getDataOne('user_date_comment_last');
|
2012-04-15 13:10:59 +03:00
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Возвращает IP регистрации
|
|
|
|
|
*
|
|
|
|
|
* @return string|null
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function getIpRegister() {
|
2012-04-21 11:00:15 +03:00
|
|
|
|
return $this->_getDataOne('user_ip_register');
|
2012-04-15 13:10:59 +03:00
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Возвращает рейтинг
|
|
|
|
|
*
|
|
|
|
|
* @return string
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function getRating() {
|
2012-04-21 11:00:15 +03:00
|
|
|
|
return number_format(round($this->_getDataOne('user_rating'),2), 2, '.', '');
|
2012-04-15 13:10:59 +03:00
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Вовзращает количество проголосовавших
|
|
|
|
|
*
|
|
|
|
|
* @return int|null
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function getCountVote() {
|
2012-04-21 11:00:15 +03:00
|
|
|
|
return $this->_getDataOne('user_count_vote');
|
2012-04-15 13:10:59 +03:00
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Возвращает статус активированности
|
|
|
|
|
*
|
|
|
|
|
* @return int|null
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function getActivate() {
|
2012-04-21 11:00:15 +03:00
|
|
|
|
return $this->_getDataOne('user_activate');
|
2012-04-15 13:10:59 +03:00
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Возвращает ключ активации
|
|
|
|
|
*
|
|
|
|
|
* @return string|null
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function getActivateKey() {
|
2012-04-21 11:00:15 +03:00
|
|
|
|
return $this->_getDataOne('user_activate_key');
|
2012-04-15 13:10:59 +03:00
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Возвращает имя
|
|
|
|
|
*
|
|
|
|
|
* @return string|null
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function getProfileName() {
|
2012-04-21 11:00:15 +03:00
|
|
|
|
return $this->_getDataOne('user_profile_name');
|
2012-04-15 13:10:59 +03:00
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Возвращает пол
|
|
|
|
|
*
|
|
|
|
|
* @return string|null
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function getProfileSex() {
|
2012-04-21 11:00:15 +03:00
|
|
|
|
return $this->_getDataOne('user_profile_sex');
|
2012-04-15 13:10:59 +03:00
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Возвращает название страны
|
|
|
|
|
*
|
|
|
|
|
* @return string|null
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function getProfileCountry() {
|
2012-04-21 11:00:15 +03:00
|
|
|
|
return $this->_getDataOne('user_profile_country');
|
2012-04-15 13:10:59 +03:00
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Возвращает название региона
|
|
|
|
|
*
|
|
|
|
|
* @return string|null
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function getProfileRegion() {
|
2012-04-21 11:00:15 +03:00
|
|
|
|
return $this->_getDataOne('user_profile_region');
|
2012-04-15 13:10:59 +03:00
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Возвращает название города
|
|
|
|
|
*
|
|
|
|
|
* @return string|null
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function getProfileCity() {
|
2012-04-21 11:00:15 +03:00
|
|
|
|
return $this->_getDataOne('user_profile_city');
|
2012-04-15 13:10:59 +03:00
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Возвращает дату рождения
|
|
|
|
|
*
|
|
|
|
|
* @return string|null
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function getProfileBirthday() {
|
2012-04-21 11:00:15 +03:00
|
|
|
|
return $this->_getDataOne('user_profile_birthday');
|
2012-04-15 13:10:59 +03:00
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Возвращает информацию о себе
|
|
|
|
|
*
|
|
|
|
|
* @return string|null
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function getProfileAbout() {
|
2012-04-21 11:00:15 +03:00
|
|
|
|
return $this->_getDataOne('user_profile_about');
|
2012-04-15 13:10:59 +03:00
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Возвращает дату редактирования профиля
|
|
|
|
|
*
|
|
|
|
|
* @return string|null
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function getProfileDate() {
|
2012-04-21 11:00:15 +03:00
|
|
|
|
return $this->_getDataOne('user_profile_date');
|
2012-04-15 13:10:59 +03:00
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Возвращает полный веб путь до аватра
|
|
|
|
|
*
|
|
|
|
|
* @return string|null
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function getProfileAvatar() {
|
2012-04-21 11:00:15 +03:00
|
|
|
|
return $this->_getDataOne('user_profile_avatar');
|
2012-04-15 13:10:59 +03:00
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Возвращает расширение автара
|
|
|
|
|
*
|
|
|
|
|
* @return string|null
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function getProfileAvatarType() {
|
|
|
|
|
return ($sPath=$this->getProfileAvatarPath()) ? pathinfo($sPath,PATHINFO_EXTENSION) : null;
|
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Возвращает полный веб путь до фото
|
|
|
|
|
*
|
|
|
|
|
* @return string|null
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function getProfileFoto() {
|
2012-04-21 11:00:15 +03:00
|
|
|
|
return $this->_getDataOne('user_profile_foto');
|
2012-04-15 13:10:59 +03:00
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Возвращает статус уведомления о новых топиках
|
|
|
|
|
*
|
|
|
|
|
* @return int|null
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function getSettingsNoticeNewTopic() {
|
2012-04-21 11:00:15 +03:00
|
|
|
|
return $this->_getDataOne('user_settings_notice_new_topic');
|
2012-04-15 13:10:59 +03:00
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Возвращает статус уведомления о новых комментариях
|
|
|
|
|
*
|
|
|
|
|
* @return int|null
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function getSettingsNoticeNewComment() {
|
2012-04-21 11:00:15 +03:00
|
|
|
|
return $this->_getDataOne('user_settings_notice_new_comment');
|
2012-04-15 13:10:59 +03:00
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Возвращает статус уведомления о новых письмах
|
|
|
|
|
*
|
|
|
|
|
* @return int|null
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function getSettingsNoticeNewTalk() {
|
2012-04-21 11:00:15 +03:00
|
|
|
|
return $this->_getDataOne('user_settings_notice_new_talk');
|
2012-04-15 13:10:59 +03:00
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Возвращает статус уведомления о новых ответах в комментариях
|
|
|
|
|
*
|
|
|
|
|
* @return int|null
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function getSettingsNoticeReplyComment() {
|
2012-04-21 11:00:15 +03:00
|
|
|
|
return $this->_getDataOne('user_settings_notice_reply_comment');
|
2012-04-15 13:10:59 +03:00
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Возвращает статус уведомления о новых друзьях
|
|
|
|
|
*
|
|
|
|
|
* @return int|null
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function getSettingsNoticeNewFriend() {
|
2012-04-21 11:00:15 +03:00
|
|
|
|
return $this->_getDataOne('user_settings_notice_new_friend');
|
2012-04-15 13:10:59 +03:00
|
|
|
|
}
|
|
|
|
|
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Возвращает значения пользовательских полей
|
|
|
|
|
*
|
|
|
|
|
* @param bool $bOnlyNoEmpty Возвращать или нет только не пустые
|
|
|
|
|
* @param string $sType Тип полей
|
|
|
|
|
* @return array
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function getUserFieldValues($bOnlyNoEmpty = true, $sType='') {
|
2012-03-15 11:05:27 +02:00
|
|
|
|
return $this->User_getUserFieldsValues($this->getId(), $bOnlyNoEmpty,$sType);
|
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Возвращает объект сессии
|
|
|
|
|
*
|
|
|
|
|
* @return ModuleUser_EntitySession|null
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function getSession() {
|
2012-04-21 11:00:15 +03:00
|
|
|
|
if (!$this->_getDataOne('session')) {
|
2012-04-13 17:38:07 +03:00
|
|
|
|
$this->_aData['session']=$this->User_GetSessionByUserId($this->getId());
|
|
|
|
|
}
|
2012-04-21 11:00:15 +03:00
|
|
|
|
return $this->_getDataOne('session');
|
2012-04-15 13:10:59 +03:00
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Возвращает статус онлайн пользователь или нет
|
|
|
|
|
*
|
|
|
|
|
* @return bool
|
|
|
|
|
*/
|
2012-04-13 17:38:07 +03:00
|
|
|
|
public function isOnline() {
|
|
|
|
|
if ($oSession=$this->getSession()) {
|
|
|
|
|
if (time()-strtotime($oSession->getDateLast())<60*10) { // 10 минут
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Возвращает полный веб путь до аватара нужного размера
|
|
|
|
|
*
|
|
|
|
|
* @param int $iSize Размер
|
|
|
|
|
* @return string
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function getProfileAvatarPath($iSize=100) {
|
|
|
|
|
if ($sPath=$this->getProfileAvatar()) {
|
|
|
|
|
return str_replace('_100x100',(($iSize==0)?"":"_{$iSize}x{$iSize}"),$sPath."?".date('His',strtotime($this->getProfileDate())));
|
|
|
|
|
} else {
|
2013-08-08 14:00:37 +03:00
|
|
|
|
return Config::Get('path.skin.assets.web').'/images/avatars/avatar_'.($this->getProfileSex()=='woman' ? 'female' : 'male').'_'.$iSize.'x'.$iSize.'.png';
|
2012-04-15 13:10:59 +03:00
|
|
|
|
}
|
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Возвращает полный веб путь до фото
|
|
|
|
|
*
|
|
|
|
|
* @return null|string
|
|
|
|
|
*/
|
2012-04-09 17:55:13 +03:00
|
|
|
|
public function getProfileFotoPath() {
|
|
|
|
|
if ($this->getProfileFoto()) {
|
|
|
|
|
return $this->getProfileFoto();
|
|
|
|
|
}
|
|
|
|
|
return $this->getProfileFotoDefault();
|
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Возвращает дефолтную фото
|
|
|
|
|
*
|
|
|
|
|
* @return string
|
|
|
|
|
*/
|
2012-03-17 16:53:37 +02:00
|
|
|
|
public function getProfileFotoDefault() {
|
2013-08-08 14:00:37 +03:00
|
|
|
|
return Config::Get('path.skin.assets.web').'/images/avatars/user_photo_'.($this->getProfileSex()=='woman' ? 'female' : 'male').'.png';
|
2012-03-17 16:53:37 +02:00
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Возвращает объект голосования за пользователя текущего пользователя
|
|
|
|
|
*
|
|
|
|
|
* @return ModuleVote_EntityVote|null
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function getVote() {
|
2012-04-21 11:00:15 +03:00
|
|
|
|
return $this->_getDataOne('vote');
|
2012-04-15 13:10:59 +03:00
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Возвращает статус дружбы
|
|
|
|
|
*
|
|
|
|
|
* @return bool|null
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function getUserIsFriend() {
|
2012-04-21 11:00:15 +03:00
|
|
|
|
return $this->_getDataOne('user_is_friend');
|
2012-04-15 13:10:59 +03:00
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Возвращает статус администратора сайта
|
|
|
|
|
*
|
|
|
|
|
* @return bool|null
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function isAdministrator() {
|
2012-04-21 11:00:15 +03:00
|
|
|
|
return $this->_getDataOne('user_is_administrator');
|
2012-04-15 13:10:59 +03:00
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Возвращает веб путь до профиля пользователя
|
|
|
|
|
*
|
|
|
|
|
* @return string
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function getUserWebPath() {
|
|
|
|
|
return Router::GetPath('profile').$this->getLogin().'/';
|
|
|
|
|
}
|
|
|
|
|
/**
|
2012-06-26 20:11:23 +03:00
|
|
|
|
* Возвращает объект дружбы с текущим пользователем
|
2012-04-15 13:10:59 +03:00
|
|
|
|
*
|
2012-06-26 20:11:23 +03:00
|
|
|
|
* @return ModuleUser_EntityFriend|null
|
2012-04-15 13:10:59 +03:00
|
|
|
|
*/
|
|
|
|
|
public function getUserFriend() {
|
2012-04-21 11:00:15 +03:00
|
|
|
|
return $this->_getDataOne('user_friend');
|
2012-04-15 13:10:59 +03:00
|
|
|
|
}
|
|
|
|
|
/**
|
|
|
|
|
* Проверяет подписан ли текущий пользователь на этого
|
|
|
|
|
*
|
|
|
|
|
* @return bool
|
|
|
|
|
*/
|
|
|
|
|
public function isFollow() {
|
|
|
|
|
if ($oUserCurrent=$this->User_GetUserCurrent()) {
|
|
|
|
|
return $this->Stream_IsSubscribe($oUserCurrent->getId(),$this->getId());
|
|
|
|
|
}
|
|
|
|
|
}
|
2012-08-05 14:54:48 +03:00
|
|
|
|
/**
|
|
|
|
|
* Возвращает объект заметки о подльзователе, которую оставил текущий пользователй
|
|
|
|
|
*
|
|
|
|
|
* @return ModuleUser_EntityNote|null
|
|
|
|
|
*/
|
|
|
|
|
public function getUserNote() {
|
|
|
|
|
$oUserCurrent=$this->User_GetUserCurrent();
|
|
|
|
|
if ($this->_getDataOne('user_note')===null and $oUserCurrent) {
|
|
|
|
|
$this->_aData['user_note']=$this->User_GetUserNote($this->getId(),$oUserCurrent->getId());
|
|
|
|
|
}
|
|
|
|
|
return $this->_getDataOne('user_note');
|
|
|
|
|
}
|
2013-10-23 10:02:40 +03:00
|
|
|
|
/**
|
|
|
|
|
* Возвращает имя пользователя для отображения на сайте
|
|
|
|
|
* В дефолте логин пользователя
|
|
|
|
|
*
|
|
|
|
|
* @return null|string
|
|
|
|
|
*/
|
|
|
|
|
public function getDisplayName() {
|
|
|
|
|
return $this->getLogin();
|
|
|
|
|
}
|
2012-08-05 14:54:48 +03:00
|
|
|
|
|
2012-04-15 13:10:59 +03:00
|
|
|
|
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Устанавливает ID пользователя
|
|
|
|
|
*
|
|
|
|
|
* @param int $data
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function setId($data) {
|
|
|
|
|
$this->_aData['user_id']=$data;
|
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Устанавливает логин
|
|
|
|
|
*
|
|
|
|
|
* @param string $data
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function setLogin($data) {
|
|
|
|
|
$this->_aData['user_login']=$data;
|
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Устанавливает пароль (ввиде хеша)
|
|
|
|
|
*
|
|
|
|
|
* @param string $data
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function setPassword($data) {
|
|
|
|
|
$this->_aData['user_password']=$data;
|
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Устанавливает емайл
|
|
|
|
|
*
|
|
|
|
|
* @param string $data
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function setMail($data) {
|
|
|
|
|
$this->_aData['user_mail']=$data;
|
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Устанавливает силу
|
|
|
|
|
*
|
|
|
|
|
* @param float $data
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function setSkill($data) {
|
|
|
|
|
$this->_aData['user_skill']=$data;
|
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Устанавливает дату регистрации
|
|
|
|
|
*
|
|
|
|
|
* @param string $data
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function setDateRegister($data) {
|
|
|
|
|
$this->_aData['user_date_register']=$data;
|
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Устанавливает дату активации
|
|
|
|
|
*
|
|
|
|
|
* @param string $data
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function setDateActivate($data) {
|
|
|
|
|
$this->_aData['user_date_activate']=$data;
|
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Устанавливает дату последнего комментирования
|
|
|
|
|
*
|
|
|
|
|
* @param string $data
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function setDateCommentLast($data) {
|
|
|
|
|
$this->_aData['user_date_comment_last']=$data;
|
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Устанавливает IP регистрации
|
|
|
|
|
*
|
|
|
|
|
* @param string $data
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function setIpRegister($data) {
|
|
|
|
|
$this->_aData['user_ip_register']=$data;
|
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Устанавливает рейтинг
|
|
|
|
|
*
|
|
|
|
|
* @param float $data
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function setRating($data) {
|
|
|
|
|
$this->_aData['user_rating']=$data;
|
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Устанавливает количество проголосовавших
|
|
|
|
|
*
|
|
|
|
|
* @param int $data
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function setCountVote($data) {
|
|
|
|
|
$this->_aData['user_count_vote']=$data;
|
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Устанавливает статус активированности
|
|
|
|
|
*
|
|
|
|
|
* @param int $data
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function setActivate($data) {
|
|
|
|
|
$this->_aData['user_activate']=$data;
|
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Устанавливает ключ активации
|
|
|
|
|
*
|
|
|
|
|
* @param string $data
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function setActivateKey($data) {
|
|
|
|
|
$this->_aData['user_activate_key']=$data;
|
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Устанавливает имя
|
|
|
|
|
*
|
|
|
|
|
* @param string $data
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function setProfileName($data) {
|
|
|
|
|
$this->_aData['user_profile_name']=$data;
|
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Устанавливает пол
|
|
|
|
|
*
|
|
|
|
|
* @param string $data
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function setProfileSex($data) {
|
|
|
|
|
$this->_aData['user_profile_sex']=$data;
|
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Устанавливает название страны
|
|
|
|
|
*
|
|
|
|
|
* @param string $data
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function setProfileCountry($data) {
|
|
|
|
|
$this->_aData['user_profile_country']=$data;
|
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Устанавливает название региона
|
|
|
|
|
*
|
|
|
|
|
* @param string $data
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function setProfileRegion($data) {
|
|
|
|
|
$this->_aData['user_profile_region']=$data;
|
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Устанавливает название города
|
|
|
|
|
*
|
|
|
|
|
* @param string $data
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function setProfileCity($data) {
|
|
|
|
|
$this->_aData['user_profile_city']=$data;
|
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Устанавливает дату рождения
|
|
|
|
|
*
|
|
|
|
|
* @param string $data
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function setProfileBirthday($data) {
|
|
|
|
|
$this->_aData['user_profile_birthday']=$data;
|
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Устанавливает информацию о себе
|
|
|
|
|
*
|
|
|
|
|
* @param string $data
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function setProfileAbout($data) {
|
|
|
|
|
$this->_aData['user_profile_about']=$data;
|
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Устанавливает дату редактирования профиля
|
|
|
|
|
*
|
|
|
|
|
* @param string $data
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function setProfileDate($data) {
|
|
|
|
|
$this->_aData['user_profile_date']=$data;
|
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Устанавливает полный веб путь до аватра
|
|
|
|
|
*
|
|
|
|
|
* @param string $data
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function setProfileAvatar($data) {
|
|
|
|
|
$this->_aData['user_profile_avatar']=$data;
|
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Устанавливает полный веб путь до фото
|
|
|
|
|
*
|
|
|
|
|
* @param string $data
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function setProfileFoto($data) {
|
|
|
|
|
$this->_aData['user_profile_foto']=$data;
|
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Устанавливает статус уведомления о новых топиках
|
|
|
|
|
*
|
|
|
|
|
* @param int $data
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function setSettingsNoticeNewTopic($data) {
|
|
|
|
|
$this->_aData['user_settings_notice_new_topic']=$data;
|
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Устанавливает статус уведомления о новых комментариях
|
|
|
|
|
*
|
|
|
|
|
* @param int $data
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function setSettingsNoticeNewComment($data) {
|
|
|
|
|
$this->_aData['user_settings_notice_new_comment']=$data;
|
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Устанавливает статус уведомления о новых письмах
|
|
|
|
|
*
|
|
|
|
|
* @param int $data
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function setSettingsNoticeNewTalk($data) {
|
|
|
|
|
$this->_aData['user_settings_notice_new_talk']=$data;
|
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Устанавливает статус уведомления о новых ответах в комментариях
|
|
|
|
|
*
|
|
|
|
|
* @param int $data
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function setSettingsNoticeReplyComment($data) {
|
|
|
|
|
$this->_aData['user_settings_notice_reply_comment']=$data;
|
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Устанавливает статус уведомления о новых друзьях
|
|
|
|
|
*
|
|
|
|
|
* @param int $data
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function setSettingsNoticeNewFriend($data) {
|
|
|
|
|
$this->_aData['user_settings_notice_new_friend']=$data;
|
|
|
|
|
}
|
|
|
|
|
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Устанавливает объект сессии
|
|
|
|
|
*
|
|
|
|
|
* @param ModuleUser_EntitySession $data
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function setSession($data) {
|
|
|
|
|
$this->_aData['session']=$data;
|
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Устанавливает статус дружбы
|
|
|
|
|
*
|
|
|
|
|
* @param int $data
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function setUserIsFriend($data) {
|
|
|
|
|
$this->_aData['user_is_friend']=$data;
|
|
|
|
|
}
|
2012-06-26 20:11:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* Устанавливает объект голосования за пользователя текущего пользователя
|
|
|
|
|
*
|
|
|
|
|
* @param ModuleVote_EntityVote $data
|
|
|
|
|
*/
|
2012-04-15 13:10:59 +03:00
|
|
|
|
public function setVote($data) {
|
|
|
|
|
$this->_aData['vote']=$data;
|
|
|
|
|
}
|
|
|
|
|
/**
|
|
|
|
|
* Устанавливаем статус дружбы с текущим пользователем
|
|
|
|
|
*
|
|
|
|
|
* @param int $data
|
|
|
|
|
*/
|
|
|
|
|
public function setUserFriend($data) {
|
|
|
|
|
$this->_aData['user_friend']=$data;
|
|
|
|
|
}
|
2008-09-21 09:36:57 +03:00
|
|
|
|
}
|
|
|
|
|
?>
|