- Модуль: intranet
- Путь к файлу: ~/bitrix/modules/intranet/classes/general/utils.php
- Класс: CIntranetUtils
- Вызов: CIntranetUtils::IsExternalMailAvailable
static function IsExternalMailAvailable()
{
global $USER;
if (!is_object($USER) || !$USER->IsAuthorized())
return false;
if (!IsModuleInstalled('mail'))
return false;
if (COption::GetOptionString('intranet', 'allow_external_mail', 'Y') != 'Y')
return false;
if (CModule::IncludeModule('extranet') && CExtranet::IsExtranetSite())
return false;
if (isset(BitrixMainApplication::getInstance()->getKernelSession()['aExtranetUser_'.$USER->GetID()][SITE_ID]))
{
if (!BitrixMainApplication::getInstance()->getKernelSession()['aExtranetUser_'.$USER->GetID()][SITE_ID])
return false;
}
else if (CModule::IncludeModule('extranet') && !CExtranet::IsIntranetUser())
return false;
if (!IsModuleInstalled('dav'))
return true;
if (COption::GetOptionString('dav', 'exchange_server', '') == '')
return true;
if (COption::GetOptionString('dav', 'agent_mail', 'N') != 'Y')
return true;
if (COption::GetOptionString('dav', 'exchange_use_login', 'Y') == 'Y')
return false;
if (!CUserOptions::GetOption('global', 'davex_mailbox'))
{
$arUser = CUser::GetList(
'ID', 'ASC',
array('ID_EQUAL_EXACT' => $USER->GetID()),
array('SELECT' => array('UF_BXDAVEX_MAILBOX'), 'FIELDS' => array('ID'))
)->Fetch();
CUserOptions::SetOption('global', 'davex_mailbox', empty($arUser['UF_BXDAVEX_MAILBOX']) ? 'N' : 'Y');
}
if (CUserOptions::GetOption('global', 'davex_mailbox') == 'Y')
return false;
return true;
}