• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/classes/general/im_notify.php
  • Класс: CIMNotify
  • Вызов: CIMNotify::Answer
public function Answer($id, $text)
{
	global $DB;

	$id = intval($id);
	$text = trim($text);
	if ($id <= 0 || $text == '')
		return false;

	$strSql = "
		SELECT M.*
		FROM b_im_relation R, b_im_message M
		WHERE M.ID = ".$id." AND R.USER_ID = ".$this->user_id." AND R.MESSAGE_TYPE = '".IM_MESSAGE_SYSTEM."' AND R.CHAT_ID = M.CHAT_ID
	";
	$dbRes = $DB->Query($strSql, false, "File: ".__FILE__."
Line: ".__LINE__); if (!($arRes = $dbRes->Fetch())) return false; $mention = BitrixImUser::getInstance($arRes['AUTHOR_ID']); if ($mention->isExists()) { $text = '[USER='.$mention->getId().']'.$mention->getFullName(false).'[/USER] '.$text; } $CBXSanitizer = new CBXSanitizer; $CBXSanitizer->AddTags(array( 'a' => array('href','style', 'target'), 'b' => array(), 'u' => array(), 'i' => array(), 'br' => array(), 'span' => array('style'), )); foreach(GetModuleEvents("im", "OnAnswerNotify", true) as $arEvent) { $resultEvent = ExecuteModuleEventEx($arEvent, Array($arRes['NOTIFY_MODULE'], $arRes['NOTIFY_TAG'], $text, $arRes)); if($resultEvent===false || is_array($resultEvent) && $resultEvent['result'] === false) { $resultMessages = Array(); if (is_array($resultEvent) && $resultEvent['text']) { $resultMessages[] = $CBXSanitizer->SanitizeHtml($resultEvent['text']); } break; } else if (is_array($resultEvent) && $resultEvent['text'] || is_string($resultEvent) && $resultEvent <> '') { $resultMessages[] = $CBXSanitizer->SanitizeHtml(is_string($resultEvent)? $resultEvent: $resultEvent['text']); } } if (empty($resultMessages)) { $resultMessages[] = GetMessage('IM_ANSWER_DONE'); } return $resultMessages; }