• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/classes/general/im_history.php
  • Класс: CIMHistory
  • Вызов: CIMHistory::GetNextMessages
private function GetNextMessages($messageId, $chatId = null, $dateCreate = null, $limit = 10, $timezone = true)
{
	global $DB;

	if (is_null($chatId) || !is_object($dateCreate))
	{
		$message = BitrixImModelMessageTable::getList(Array('select' => Array('DATE_CREATE', 'CHAT_ID'), 'filter' => Array('=ID' => $messageId)))->fetch();
		if (!$message)
			return false;

		$chatId = $message['CHAT_ID'];
		$dateCreate = $message['DATE_CREATE'];
	}
	else
	{
		$chatId = intval($chatId);
	}

	$limit = intval($limit)+1;

	if (!$timezone)
		CTimeZone::Disable();

	$sql =
		"SELECT 
			ID,
			CHAT_ID,
			MESSAGE,
			".$DB->DatetimeToTimestampFunction('DATE_CREATE')." DATE_CREATE,
			AUTHOR_ID
		FROM b_im_message
		WHERE
			CHAT_ID = ".$chatId." 
			and DATE_CREATE >= '".$dateCreate->format('Y-m-d H:i:s')."'
		ORDER BY CHAT_ID, DATE_CREATE asc 
		LIMIT ".$limit;

	if (!$timezone)
		CTimeZone::Enable();

	$result = $DB->Query($sql, false, "File: ".__FILE__."
Line: ".__LINE__); $messages = array(); while ($message = $result->Fetch()) { $messages[$message['ID']] = $message; } return $messages; }