2014-09-05 19:18:49 +02:00
|
|
|
<?php
|
|
|
|
namespace Szurubooru\Controllers\ViewProxies;
|
|
|
|
|
|
|
|
class UserViewProxy extends AbstractViewProxy
|
|
|
|
{
|
2014-09-06 10:00:26 +02:00
|
|
|
private $privilegeService;
|
|
|
|
|
|
|
|
public function __construct(\Szurubooru\Services\PrivilegeService $privilegeService)
|
|
|
|
{
|
|
|
|
$this->privilegeService = $privilegeService;
|
|
|
|
}
|
|
|
|
|
2014-09-05 19:18:49 +02:00
|
|
|
public function fromEntity($user)
|
|
|
|
{
|
|
|
|
$result = new \StdClass;
|
|
|
|
if ($user)
|
|
|
|
{
|
2014-09-13 23:58:13 +02:00
|
|
|
$result->id = $user->getId();
|
|
|
|
$result->name = $user->getName();
|
|
|
|
$result->accessRank = \Szurubooru\Helpers\EnumHelper::accessRankToString($user->getAccessRank());
|
|
|
|
$result->registrationTime = $user->getRegistrationTime();
|
|
|
|
$result->lastLoginTime = $user->getLastLoginTime();
|
2014-09-14 17:11:21 +02:00
|
|
|
$result->avatarStyle = \Szurubooru\Helpers\EnumHelper::avatarStyleToString($user->getAvatarStyle());
|
2014-09-06 10:00:26 +02:00
|
|
|
|
2014-09-07 14:50:16 +02:00
|
|
|
if ($this->privilegeService->isLoggedIn($user))
|
|
|
|
{
|
2014-09-13 23:58:13 +02:00
|
|
|
$result->browsingSettings = $user->getBrowsingSettings();
|
2014-09-07 14:50:16 +02:00
|
|
|
}
|
|
|
|
|
2014-09-07 00:33:46 +02:00
|
|
|
if ($this->privilegeService->hasPrivilege(\Szurubooru\Privilege::VIEW_ALL_EMAIL_ADDRESSES) or
|
2014-09-06 10:00:26 +02:00
|
|
|
$this->privilegeService->isLoggedIn($user))
|
|
|
|
{
|
2014-09-13 23:58:13 +02:00
|
|
|
$result->email = $user->getEmail();
|
|
|
|
$result->emailUnconfirmed = $user->getEmailUnconfirmed();
|
2014-09-06 10:00:26 +02:00
|
|
|
}
|
2014-09-10 18:06:49 +02:00
|
|
|
|
2014-09-14 16:44:57 +02:00
|
|
|
$result->confirmed = $user->isAccountConfirmed();
|
2014-09-05 19:18:49 +02:00
|
|
|
}
|
|
|
|
return $result;
|
|
|
|
}
|
|
|
|
}
|