- Модуль: voximplant
- Путь к файлу: ~/bitrix/modules/voximplant/classes/general/vi_phone.php
- Класс: CVoxImplantPhone
- Вызов: CVoxImplantPhone::GetPhoneCategories
static function GetPhoneCategories()
{
$arResult = Array();
$viAccount = new CVoxImplantAccount();
$currency = $viAccount->GetAccountCurrency();
$viHttp = new CVoxImplantHttp();
$result = $viHttp->GetPhoneNumberCategories();
if ($result && !empty($result->result))
{
foreach ($result->result as $value)
{
$categories = Array();
$countryName = GetMessage('VI_PHONE_CODE_'.$value->country_code);
if ($countryName == '')
$countryName = $value->country_code.' (+'.$value->phone_prefix.')';
foreach ($value->phone_categories as $category)
{
if ($category->phone_category_name === "TOLLFREE" && $value->country_code != "RU")
{
$title = Loc::getMessage("VI_PHONE_CATEGORY_TOLLFREE_OTHER");
}
else if (!($title = Loc::getMessage("VI_PHONE_CATEGORY_" . $category->phone_category_name)))
{
$title = $category->phone_category_name;
}
$categories[$category->phone_category_name] = Array(
'PHONE_TYPE' => $category->phone_category_name,
'HAS_STATES' => $category->country_has_states,
'FULL_PRICE' => floatval($category->phone_price)+floatval($category->phone_installation_price),
'INSTALLATION_PRICE' => $category->phone_installation_price,
'MONTH_PRICE' => $category->phone_price,
'CURRENCY' => $currency,
'TITLE' => $title
);
}
$arResult[$value->country_code] = Array(
'CAN_LIST_PHONES' => $value->can_list_phone_numbers,
'NAME' => $countryName,
'CODE' => $value->country_code,
'CATEGORIES' => $categories
);
$accountLang = ToUpper($viAccount->GetAccountLang());
uasort($arResult, function($a, $b) use ($accountLang)
{
if($a['CODE'] == $accountLang)
return -1;
else if($b['CODE'] == $accountLang)
return 1;
else
return strcmp($a['NAME'], $b['NAME']);
});
}
}
return $arResult;
}