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