- Модуль: im
- Путь к файлу: ~/bitrix/modules/im/classes/general/im_share.php
- Класс: CIMShare
- Вызов: CIMShare::PrepareText
static function PrepareText($quoteMessage)
{
$quoteMessage['MESSAGE'] = preg_replace("/[SEND(?:=(.+?))?](.+?)?[/SEND]/i", "$2", $quoteMessage['MESSAGE']);
$quoteMessage['MESSAGE'] = preg_replace("/[PUT(?:=(.+?))?](.+?)?[/PUT]/i", "$2", $quoteMessage['MESSAGE']);
$quoteMessage['MESSAGE'] = preg_replace("/[CALL(?:=(.+?))?](.+?)?[/CALL]/i", "$2", $quoteMessage['MESSAGE']);
//$quoteMessage['MESSAGE'] = preg_replace_callback('#(http[s]{0,1}://.*?)#', array($this, "PrepareImages"), $quoteMessage['MESSAGE']);
$quoteMessage['MESSAGE'] = preg_replace("/(?:-{54}n)(.[^[n]+)(?:.[^n]*)?(.+?)(?:-{54})/s", '[QUOTE][B]$1[/B]$2[/QUOTE]', $quoteMessage['MESSAGE']);
$result = '[QUOTE]';
if ($quoteMessage['MESSAGE_TYPE'] != IM_MESSAGE_PRIVATE)
{
$chat = BitrixImModelChatTable::getById($quoteMessage['CHAT_ID'])->fetch();
if ($chat)
{
$url = $chat['ENTITY_TYPE'] == 'LINES'? 'imol|'.$chat['ENTITY_ID']: 'chat'.$chat['ID'];
$messageContext = isset($quoteMessage['MESSAGE_ID']) ? '&IM_MESSAGE=' . (int)$quoteMessage['MESSAGE_ID'] : '';
$result .= "[B]".GetMessage('IM_SHARE_CHAT').":[/B] [URL=/online/?IM_DIALOG=".$url.$messageContext."]".$chat['TITLE']."[/URL]n";
}
}
$userName = BitrixImUser::getInstance($quoteMessage['AUTHOR_ID'])->getFullName(false);
$result .= "[B]".$userName."[/B]n";
$result .= HTMLToTxt(nl2br($quoteMessage['MESSAGE']), '', array(), 0);
if (!empty($quoteMessage['FILES']))
{
foreach ($quoteMessage['FILES'] as $file)
{
$result .= "[".GetMessage("IM_SHARE_FILE").": ".$file['name']."]n";
}
}
$result .= '[/QUOTE]';
return $result;
}