- Модуль: voximplant
- Путь к файлу: ~/bitrix/modules/voximplant/classes/general/vi_history.php
- Класс: CVoxImplantHistory
- Вызов: CVoxImplantHistory::GetMessageForChat
static function GetMessageForChat($callFields, $hasRecord = false, $prependPlus = true)
{
$result = '';
if ($callFields["PHONE_NUMBER"] <> '' && $callFields["PORTAL_USER_ID"] > 0 && $callFields["CALL_FAILED_CODE"] != 423)
{
$formattedNumber = BitrixMainPhoneNumberParser::getInstance()->parse($callFields["PHONE_NUMBER"])->format();
$formattedNumber = "[CALL={$formattedNumber}]" . $formattedNumber . "[/CALL]";
if ($callFields["INCOMING"] == CVoxImplantMain::CALL_OUTGOING)
{
if ($callFields['CALL_FAILED_CODE'] == '603-S')
{
$result = GetMessage('VI_OUT_CALL_DECLINE_SELF', Array('#NUMBER#' => $formattedNumber));
}
else if ($callFields['CALL_FAILED_CODE'] == 603)
{
$result = GetMessage('VI_OUT_CALL_DECLINE', Array('#NUMBER#' => $formattedNumber));
}
else if ($callFields['CALL_FAILED_CODE'] == 486)
{
$result = GetMessage('VI_OUT_CALL_BUSY', Array('#NUMBER#' => $formattedNumber));
}
else if ($callFields['CALL_FAILED_CODE'] == 480)
{
$result = GetMessage('VI_OUT_CALL_UNAVAILABLE', Array('#NUMBER#' => $formattedNumber));
}
else if ($callFields['CALL_FAILED_CODE'] == 404 || $callFields['CALL_FAILED_CODE'] == 484)
{
$result = GetMessage('VI_OUT_CALL_ERROR_NUMBER', Array('#NUMBER#' => $formattedNumber));
}
else if ($callFields['CALL_FAILED_CODE'] == 402)
{
$result = GetMessage('VI_OUT_CALL_NO_MONEY', Array('#NUMBER#' => $formattedNumber));
}
else
{
$result = GetMessage('VI_OUT_CALL_END', Array(
'#NUMBER#' => $formattedNumber,
'#INFO#' => '[PCH='.$callFields['ID'].']'.GetMessage('VI_CALL_INFO').'[/PCH]',
));
}
}
else if ($callFields['INCOMING'] == CVoxImplantMain::CALL_CALLBACK)
{
if ($callFields['CALL_FAILED_CODE'] == '603-S')
{
$result = GetMessage('VI_CALLBACK_DECLINE_SELF', Array('#NUMBER#' => $formattedNumber));
}
else if ($callFields['CALL_FAILED_CODE'] == 603)
{
$result = GetMessage('VI_CALLBACK_DECLINE', Array('#NUMBER#' => $formattedNumber));
}
else if ($callFields['CALL_FAILED_CODE'] == 486)
{
$result = GetMessage('VI_CALLBACK_BUSY', Array('#NUMBER#' => $formattedNumber));
}
else if ($callFields['CALL_FAILED_CODE'] == 480)
{
$result = GetMessage('VI_CALLBACK_UNAVAILABLE', Array('#NUMBER#' => $formattedNumber));
}
else if ($callFields['CALL_FAILED_CODE'] == 404 || $callFields['CALL_FAILED_CODE'] == 484)
{
$result = GetMessage('VVI_CALLBACK_ERROR_NUMBER', Array('#NUMBER#' => $formattedNumber));
}
else if ($callFields['CALL_FAILED_CODE'] == 402)
{
$result = GetMessage('VI_CALLBACK_NO_MONEY', Array('#NUMBER#' => $formattedNumber));
}
else if ($callFields['CALL_FAILED_CODE'] == 304)
{
$subMessage = '[PCH='.$callFields['ID'].']'.GetMessage('VI_CALL_INFO').'[/PCH]';
$result = GetMessage('VI_CALLBACK_SKIP', Array('#NUMBER#' => $formattedNumber, '#INFO#' => $subMessage));
}
else
{
$result = GetMessage('VI_CALLBACK_END', Array(
'#NUMBER#' => $formattedNumber,
'#INFO#' => '[PCH='.$callFields['ID'].']'.GetMessage('VI_CALL_INFO').'[/PCH]',
));
}
}
else if($callFields['INCOMING'] == CVoxImplantMain::CALL_INCOMING || $callFields['INCOMING'] == CVoxImplantMain::CALL_INCOMING_REDIRECT)
{
if ($callFields['CALL_FAILED_CODE'] == 304)
{
if ($hasRecord)
$subMessage = GetMessage('VI_CALL_VOICEMAIL', Array('#LINK_START#' => '[PCH='.$callFields['ID'].']', '#LINK_END#' => '[/PCH]',));
else
$subMessage = '[PCH='.$callFields['ID'].']'.GetMessage('VI_CALL_INFO').'[/PCH]';
$result = GetMessage('VI_IN_CALL_SKIP', Array(
'#NUMBER#' => $formattedNumber,
'#INFO#' => $subMessage,
));
}
else
{
$result = GetMessage('VI_IN_CALL_END', Array(
'#NUMBER#' => $formattedNumber,
'#INFO#' => '[PCH='.$callFields['ID'].']'.GetMessage('VI_CALL_INFO').'[/PCH]',
));
}
}
}
return $result;
}