- Модуль: salescenter
- Путь к файлу: ~/bitrix/modules/salescenter/lib/component/receivepaymenthelper.php
- Класс: BitrixSalesCenterComponentReceivePaymentHelper
- Вызов: ReceivePaymentHelper::getSendingMethodDescByType
static function getSendingMethodDescByType(string $type, string $mode, ?Payment $payment = null): ?array
{
if ($type === 'sms')
{
$lastPaymentSms = null;
$provider = null;
$availableProviders = self::getAvailableSmsProviderIds();
$defaultProvider = $availableProviders[0] ?? '';
if ($payment && $mode === 'view')
{
$lastPaymentSmsParams = self::getLastPaymentSmsParams();
if (is_array($lastPaymentSmsParams))
{
if (isset($lastPaymentSmsParams['SENDER_ID']))
{
$provider = $lastPaymentSmsParams['SENDER_ID'];
}
if (isset($lastPaymentSmsParams['MESSAGE_BODY']))
{
$lastPaymentSms = $lastPaymentSmsParams['MESSAGE_BODY'];
}
}
}
else
{
$userOptions = CUserOptions::GetOption('salescenter', 'payment_sms_provider_options');
if (is_array($userOptions) && isset($userOptions['latest_selected_provider']))
{
$provider = $userOptions['latest_selected_provider'];
}
}
return [
'provider' => in_array($provider, $availableProviders) ? $provider : $defaultProvider,
'text' => $lastPaymentSms ?? BitrixSalesCenterIntegrationCrmManager::getInstance()->getSmsTemplate(),
'defaultText' => BitrixSalesCenterIntegrationCrmManager::getInstance()->getDefaultSmsTemplate(),
'defaultTextWrapped' => BitrixSalesCenterIntegrationCrmManager::getInstance()->getDefaultWrappedSmsTemplate(),
'sent' => (bool)$lastPaymentSms,
'text_modes' => BitrixSalesCenterIntegrationCrmManager::getInstance()->getAllSmsTemplates(),
];
}
if ($type === 'chat')
{
return [
'text' => BitrixSalesCenterIntegrationImOpenLinesManager::getInstance()->getImMessagePreview(),
'text_modes' => BitrixSalesCenterIntegrationImOpenLinesManager::getInstance()->getAllImMessagePreviews(),
];
}
return null;
}