- Модуль: intranet
- Путь к файлу: ~/bitrix/modules/intranet/lib/contactcenter.php
- Класс: BitrixIntranetContactCenter
- Вызов: ContactCenter::voximplantGetItems
public function voximplantGetItems($filter = [])
{
$result = new Result();
$module = "voximplant";
$itemsList = [];
if (!Loader::includeModule($module))
{
$result->addError(new Error(Loc::getMessage("CONTACT_CENTER_ERROR_MODULE_NOT_LOADED", array("#MODULE_ID" => $module)), self::CC_MODULE_NOT_LOADED));
}
else
{
$canCall = true;
if (!isset($filter["CHECK_REGION"]) || $filter["CHECK_REGION"] !== "N")
{
if (Loader::includeModule("bitrix24"))
{
$licensePrefix = CBitrix24::getLicensePrefix();
$canCall = $licensePrefix !== "by";
}
}
if ($canCall)
{
$lines = CVoxImplantConfig::GetLines(true, true);
$selected = count($lines) > 0;
$isAddItemToList = $this->isAddItemToList($filter["ACTIVE"] ?? null, $selected);
if ($isAddItemToList)
{
$itemsList["voximplant"] = [
"NAME" => Loc::getMessage("CONTACT_CENTER_TELEPHONY"),
"LINK" => CUtil::JSEscape(SITE_DIR . "telephony/index.php"),
"SELECTED" => $selected,
"LOGO_CLASS" => "ui-icon ui-icon-service-call"
];
$permissions = BitrixVoximplantSecurityPermissions::createWithCurrentUser();
if(Limits::canRentMultiple() && $permissions->canModifyLines())
{
Extension::load(["voximplant.numberrent"]);
$canManageTelephony = (
!method_exists(BitrixVoximplantLimits::class,"canManageTelephony")
|| Limits::canManageTelephony()
);
$itemsList["voximplant_rent5"] = [
"NAME" => Loc::getMessage("CONTACT_CENTER_RENT_5_NUMBERS"),
"ONCLICK" => $canManageTelephony ?
"BX.Voximplant.NumberRent.create({packetSize: 5}).show();"
: "BX.Voximplant.openLimitSlider('limit_contact_center_telephony_number_rent');",
"SELECTED" => CVoxImplantPhone::hasRentedNumberPacket(5),
"LOGO_CLASS" => "ui-icon ui-icon-package-numbers-five"
];
$itemsList["voximplant_rent10"] = [
"NAME" => Loc::getMessage("CONTACT_CENTER_RENT_10_NUMBERS"),
"ONCLICK" => $canManageTelephony ?
"BX.Voximplant.NumberRent.create({packetSize: 10}).show();"
: "BX.Voximplant.openLimitSlider('limit_contact_center_telephony_number_rent');",
"SELECTED" => CVoxImplantPhone::hasRentedNumberPacket(10),
"LOGO_CLASS" => "ui-icon ui-icon-package-numbers-ten"
];
}
}
}
}
$result->setData($itemsList);
return $result;
}