• Модуль: voximplant
  • Путь к файлу: ~/bitrix/modules/voximplant/classes/general/vi_phone.php
  • Класс: CVoxImplantPhone
  • Вызов: CVoxImplantPhone::PrepareNumberFields
static function PrepareNumberFields($apiResponse)
{
	$arResult = [];
	if ($apiResponse && !empty($apiResponse->result))
	{
		foreach ($apiResponse->result as $value)
		{
			$value->verification_status ??= null;
			$value->phone_next_renewal ??= null;
			$value->phone_number ??= null;
			$value->unverified_hold_until ??= null;

			$renewalDate = $renewalDateTs = '';
			if ($value->phone_next_renewal)
			{
				$data = new BitrixMainTypeDateTime($value->phone_next_renewal.' 00:00:00', 'Y-m-d H:i:s');
				$renewalDate = $data->format(BitrixMainTypeDate::getFormat());
				$renewalDateTs = $data->getTimestamp();
			}

			$unverifiedHoldDate = $unverifiedHoldDateTs = '';

			if ($value->verification_status != 'VERIFIED' && $value->unverified_hold_until)
			{
				$data = new BitrixMainTypeDateTime($value->unverified_hold_until.' 00:00:00', 'Y-m-d H:i:s');
				$unverifiedHoldDate = $data->format(BitrixMainTypeDate::getFormat());
				$unverifiedHoldDateTs = $data->getTimestamp();
			}

			$arResult[$value->phone_number] = [
				'ACTIVE' => $value->deactivated? 'N': 'Y',
				'NUMBER' => $value->phone_number,
				'FORMATTED_NUMBER' => BitrixMainPhoneNumberParser::getInstance()->parse($value->phone_number)->format(),
				'PAID_BEFORE' => $renewalDate,
				'PAID_BEFORE_TS' => $renewalDateTs,
				'PRICE' => $value->phone_price,
				'COUNTRY_CODE' => $value->phone_country_code,
				'SUBSCRIPTION_ID' => $value->subscription_id,
				'VERIFICATION_STATUS' => $value->verification_status,
				'VERIFICATION_STATUS_NAME' => CVoxImplantDocuments::GetStatusName($value->verification_status),
				'VERIFY_BEFORE' => $unverifiedHoldDate,
				'VERIFY_BEFORE_TS' => $unverifiedHoldDateTs,
				'TO_DELETE' => $value->to_delete ? 'Y' : 'N',
				'DATE_DELETE' => $value->delete_date != '' ? new BitrixMainTypeDate($value->delete_date, DATE_ATOM) : null,
			];
		}
	}

	return $arResult;
}