- Модуль: intranet
- Путь к файлу: ~/bitrix/modules/intranet/lib/component/userprofile.php
- Класс: BitrixIntranetComponentUserProfile
- Вызов: UserProfile::getPermissions
protected function getPermissions()
{
global $USER;
static $cache = false;
if (
$cache === false
&& Loader::includeModule('socialnetwork')
)
{
global $USER;
$currentUserPerms = CSocNetUserPerms::initUserPerms(
$USER->getId(),
$this->arParams["ID"],
CSocNetUser::isCurrentUserModuleAdmin(SITE_ID, false)
);
$result = [
'view' => (
$currentUserPerms['IsCurrentUser']
|| CSocNetUser::canProfileView($USER->getId(), $this->getUserData(), SITE_ID, ComponentHelper::getUrlContext())
),
'edit' => (
$currentUserPerms["IsCurrentUser"]
|| (
$currentUserPerms["Operations"]["modifyuser"]
&& $currentUserPerms["Operations"]["modifyuser_main"]
)
)
];
if (
!ModuleManager::isModuleInstalled("bitrix24")
&& $USER->isAdmin()
&& !$currentUserPerms["IsCurrentUser"]
)
{
$result['edit'] = (
$result['edit']
&& CSocNetUser::isCurrentUserModuleAdmin(SITE_ID, false)
);
}
//check for integrator
if (
Loader::includeModule("bitrix24")
&& $this->arParams["ID"] != $USER->GetID()
&& BitrixBitrix24Integrator::isIntegrator($USER->GetID())
&& CBitrix24::IsPortalAdmin($this->arParams["ID"])
&& !BitrixBitrix24Integrator::isIntegrator($this->arParams["ID"])
)
{
$result['edit'] = false;
}
$cache = $result;
}
else
{
$result = $cache;
}
return $result;
}