• Модуль: imopenlines
  • Путь к файлу: ~/bitrix/modules/imopenlines/lib/queue.php
  • Класс: BitrixImOpenLinesQueue
  • Вызов: Queue::sendMessageReturnedSession
static function sendMessageReturnedSession($reasonReturn = Queue::REASON_DEFAULT, $session)
{
	$message = '';
	$result = false;

	if(
		$session['OPERATOR_ID'] > 0 &&
		$session['STATUS'] >= Session::STATUS_ANSWER
	)
	{
		switch ($reasonReturn) {
			case self::REASON_OPERATOR_ABSENT:
				$message = Loc::getMessage('IMOL_QUEUE_OPERATOR_VACATION');
				break;
			case self::REASON_OPERATOR_DAY_PAUSE:
			case self::REASON_OPERATOR_DAY_END:
				$message = Loc::getMessage('IMOL_QUEUE_OPERATOR_NONWORKING');
				break;
			case self::REASON_OPERATOR_DELETED:
				$message = Loc::getMessage('IMOL_QUEUE_OPERATOR_DISMISSAL');
				break;
			case self::REASON_REMOVED_FROM_QUEUE:
				$message = Loc::getMessage('IMOL_QUEUE_OPERATOR_REMOVING');
				break;
			case self::REASON_OPERATOR_NOT_AVAILABLE:
				$message = Loc::getMessage('IMOL_QUEUE_OPERATOR_NOT_AVAILABLE');
				break;
			case self::REASON_OPERATOR_OFFLINE:
				$message = Loc::getMessage('IMOL_QUEUE_OPERATOR_OFFLINE');
				break;
		}

		if(!empty($message))
		{
			$messageFields = [
				'TO_CHAT_ID' => $session['CHAT_ID'],
				'MESSAGE' => $message,
				'SYSTEM' => 'Y',
				'RECENT_ADD' => 'N'
			];
			$result = BitrixImOpenLinesIm::addMessage($messageFields);
		}
	}

	return $result;
}