if (!CModule::IncludeModule('voximplant')) { return; } $arResult['NUMBERS'] = CVoxImplantPhone::GetRentNumbers(); $arResult['PAID_BEFORE'] = array('TS' => 0, 'DATE' => '', 'PRICE' => 0, 'NOTICE' => false); foreach ($arResult['NUMBERS'] as $value) { if ($arResult['PAID_BEFORE']['TS'] > $value['PAID_BEFORE_TS'] || $arResult['PAID_BEFORE']['TS'] == 0) { $arResult['PAID_BEFORE']['TS'] = $value['PAID_BEFORE_TS']; $arResult['PAID_BEFORE']['DATE'] = $value['PAID_BEFORE']; $arResult['PAID_BEFORE']['PRICE'] = $value['PRICE']; } else { if ($arResult['PAID_BEFORE']['TS'] == $value['PAID_BEFORE_TS']) { $arResult['PAID_BEFORE']['PRICE'] += $value['PRICE']; } } } $ViAccount = new CVoxImplantAccount(); $arResult['BALANCE_CURRENCY'] = $ViAccount->GetAccountCurrency(); if ($arResult['PAID_BEFORE']['TS'] > 0) { $data = new Bitrix\Main\Type\DateTime(); if ($arResult['PAID_BEFORE']['TS'] <= $data->getTimestamp() + 604800) { $arResult['BALANCE'] = $ViAccount->GetAccountBalance(true); if ($arResult['BALANCE'] < $arResult['PAID_BEFORE']['PRICE']) { $arResult['PAID_BEFORE']['NOTICE'] = 'Y'; } } } if (count($arResult['NUMBERS']) > 0 && !(isset($arParams['TEMPLATE_HIDE']) && $arParams['TEMPLATE_HIDE'] == 'Y')) { $this->IncludeComponentTemplate(); } return $arResult;
CModule::IncludeModule('voximplant'); $aTabs = array(array("DIV" => "edit1", "TAB" => GetMessage("VI_TAB_SETTINGS"), "ICON" => "voximplant_config", "TITLE" => GetMessage("VI_TAB_TITLE_SETTINGS_2"))); $tabControl = new CAdminTabControl("tabControl", $aTabs); $ViAccount = new CVoxImplantAccount(); $ViAccount->UpdateAccountInfo(); if ($ViAccount->GetError()->error) { $accountName = '-'; $accountBalance = '-'; if ($ViAccount->GetError()->code == 'LICENCE_ERROR') { $errorMessage = GetMessage('VI_ACCOUNT_ERROR_LICENSE'); } else { $errorMessage = GetMessage('VI_ACCOUNT_ERROR'); } } else { $accountName = $ViAccount->GetAccountName(); $accountBalance = $ViAccount->GetAccountBalance() . ' ' . $ViAccount->GetAccountCurrency(); $errorMessage = ''; } if (strlen($_POST['Update']) > 0 && check_bitrix_sessid()) { if (strlen($_POST['PUBLIC_URL']) > 0 && strlen($_POST['PUBLIC_URL']) < 12) { $errorMessage = GetMessage('VI_ACCOUNT_ERROR_PUBLIC'); } else { if (strlen($_POST['Update']) > 0) { COption::SetOptionString("voximplant", "portal_url", $_POST['PUBLIC_URL']); COption::SetOptionString("voximplant", "debug", isset($_POST['DEBUG_MODE'])); if (strlen($Update) > 0 && strlen($_REQUEST["back_url_settings"]) > 0) { LocalRedirect($_REQUEST["back_url_settings"]); } else { LocalRedirect($APPLICATION->GetCurPage() . "?mid=" . urlencode($mid) . "&lang=" . urlencode(LANGUAGE_ID) . "&back_url_settings=" . urlencode($_REQUEST["back_url_settings"]) . "&" . $tabControl->ActiveTabParam()); } }
<?php if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) { die; } $APPLICATION->SetAdditionalCSS("/bitrix/components/bitrix/voximplant.main/templates/.default/telephony.css"); use Bitrix\Voximplant as VI; $ViAccount = new CVoxImplantAccount(); $amount = $ViAccount->GetAccountBalance(true); $currency = $ViAccount->GetAccountCurrency(); $errorMessage = ''; if ($ViAccount->GetError()->error) { $amount = ''; $currency = ''; if ($ViAccount->GetError()->code == 'LICENCE_ERROR') { $errorMessage = GetMessage('VI_ERROR_LICENSE'); } else { $errorMessage = GetMessage('VI_ERROR'); } } function getBalance($amount) { $amount = round(floatval($amount), 2); $amount = $amount . ''; $str = ''; $amountCount = strlen($amount); for ($i = 0; $i < $amountCount; $i++) { if ($amount[$i] == '.') { $str .= '<span class="tel-num tel-num-point">.</span>'; } else { $str .= '<span class="tel-num tel-num-' . $amount[$i] . '">' . $amount[$i] . '</span>';
public static function GetPhoneNumbers($country, $regionId, $type = self::PHONE_TYPE_FIXED) { $arResult = array(); if (!in_array($type, array(self::PHONE_TYPE_FIXED, self::PHONE_TYPE_TOLLFREE, self::PHONE_TYPE_TOLLFREE804, self::PHONE_TYPE_MOBILE, self::PHONE_TYPE_MOSCOW495))) { return $arResult; } if ($country == 'RU' && $regionId == '15') { $type = 'MOSCOW495'; } $arResult = array(); $viAccount = new CVoxImplantAccount(); $currency = $viAccount->GetAccountCurrency(); $viHttp = new CVoxImplantHttp(); $result = $viHttp->GetNewPhoneNumbers($type, $country, $regionId); if ($result && !empty($result->result)) { foreach ($result->result as $value) { $arResult[$value->phone_number] = array('FULL_PRICE' => floatval($value->phone_price) + floatval($value->can_list_phone_numbers), 'INSTALLATION_PRICE' => $value->can_list_phone_numbers, 'MONTH_PRICE' => $value->phone_price, 'PHONE_NUMBER' => $value->phone_number, 'COUNTRY_CODE' => $country, 'REGION_ID' => $regionId, 'CURRENCY' => $currency); } } return $arResult; }