• Модуль: imopenlines
  • Путь к файлу: ~/bitrix/modules/imopenlines/lib/connector.php
  • Класс: BitrixImOpenLinesConnector
  • Вызов: Connector::sendStatusRead
public function sendStatusRead($connector, $messages, $event)
{
	if (empty($messages))
	{
		return false;
	}

	if ($connector['connector_id'] == self::TYPE_NETWORK)
	{

	}
	elseif ($connector['connector_id'] == 'lines')
	{
		Log::write(array($connector, $messages, $event), 'STATUS READ');

		$maxId = 0;
		foreach ($messages as $messageId)
		{
			$maxId = $maxId < $messageId? $messageId: $maxId;
		}

		$chat = new CIMChat();
		$chat->SetReadMessage($connector['chat_id'], $maxId, true);
	}
	elseif (ImOpenLinesConnector::isLiveChat($connector['connector_id']))
	{
		Log::write(array($connector, $messages, $event), 'STATUS READ');

		$maxId = 0;
		foreach ($messages as $messageId)
		{
			$maxId = $maxId < $messageId? $messageId: $maxId;
		}

		$chat = new ImOpenLinesChat($connector['chat_id']);
		$chat->updateFieldData([ImOpenLinesChat::FIELD_LIVECHAT => [
			'READED' => 'Y',
			'READED_ID' => $maxId,
			'READED_TIME' => new DateTime()
		]]);
	}
	else
	{
		$sendMessages = Array();
		foreach ($messages as $messageId)
		{
			$sendMessages[] = Array(
				'chat' => Array(
					'id' => $connector['chat_id']
				),
				'message' => Array(
					'id' => $messageId
				)
			);
		}

		$connector = new Output($connector['connector_id'], $connector['line_id']);
		$connector->setStatusReading($sendMessages);
	}

	return false;
}