- Модуль: imopenlines
- Путь к файлу: ~/bitrix/modules/imopenlines/lib/mail.php
- Класс: BitrixImOpenLinesMail
- Вызов: Mail::prepareMessagesForTemplate
static function prepareMessagesForTemplate($session, $history, $language = null)
{
$language = $language? $language: null;
$mess = Loc::loadLanguageFile(__FILE__, $language);
$userTzOffset = BitrixImUser::getInstance($session['USER_ID'])->getTzOffset();
$messages = Array();
foreach ($history['message'] as $messageId => $message)
{
if (empty($message['params']['CONNECTOR_MID']))
continue;
$isYou = $message['senderId'] == $session['USER_ID'];
if ($message['senderId'] > 0)
{
if ($isYou)
{
$authorName = $mess['IMOL_MAIL_AUTHOR_YOU'];
}
else
{
$authorName = BitrixImOpenLinesConnector::getOperatorName($session['CONFIG_ID'], $message['senderId'], $session['USER_CODE']);
}
$authorAvatar = BitrixImOpenLinesConnector::getOperatorAvatar($session['CONFIG_ID'], $message['senderId'], $session['USER_CODE']);
if ($authorAvatar)
{
$authorAvatar = mb_substr($authorAvatar, 0, 4) != 'http'? BitrixImOpenLinesCommon::getServerAddress().$authorAvatar: $authorAvatar;
}
else
{
$authorAvatar = '';
}
$systemFlag = 'N';
}
else
{
$authorName = '';
$authorAvatar = '';
$systemFlag = 'Y';
}
$currentDate = new BitrixMainTypeDateTime();
if (is_object($message['date']))
{
$date = $message['date'];
}
else
{
$date = BitrixMainTypeDateTime::createFromTimestamp($message['date']);
}
if ($date->format('Ymd') == $currentDate->format('Ymd'))
{
$messageDate = FormatDate($mess['IMOL_MAIL_TIME_FORMAT'], $message['date']->getTimestamp()+intval($userTzOffset));
}
else
{
$messageDate = FormatDate($mess['IMOL_MAIL_DATETIME_FORMAT'], $message['date']->getTimestamp()+intval($userTzOffset));
}
if (isset($message['params']['IMOL_VOTE']))
{
if ($message['params']['IMOL_VOTE'] == 'like')
{
$messageText = $message['params']['IMOL_VOTE_LIKE'];
}
else if ($message['params']['IMOL_VOTE'] == 'dislike')
{
$messageText = $message['params']['IMOL_VOTE_DISLIKE'];
}
else
{
$messageText = $message['params']['IMOL_VOTE_TEXT'];
}
}
else
{
$messageText = $message['textLegacy'];
if (isset($message['params']['FILE_ID']))
{
$messageText .= ' ['.$mess['IMOL_MAIL_FILE'].']';
$messageText = trim($messageText);
}
}
$messages[$messageId] = Array(
'NAME' => htmlspecialcharsbx($authorName),
'AVATAR' => $authorAvatar,
'DATE' => $messageDate,
'TEXT' => $messageText,
'CLIENT' => $isYou? 'Y': 'N',
'SYSTEM' => $systemFlag,
);
}
return $messages;
}