• Модуль: imopenlines
  • Путь к файлу: ~/bitrix/modules/imopenlines/lib/chat.php
  • Класс: BitrixImOpenLinesChat
  • Вызов: Chat::getGuestName
static function getGuestName($chatColorCode = '')
{
	if (!Loader::includeModule('im'))
		return false;

	if (Color::isEnabled())
	{
		if (!$chatColorCode)
		{
			CGlobalCounter::Increment('im_chat_color_id', CGlobalCounter::ALL_SITES, false);
			$chatColorId = CGlobalCounter::GetValue('im_chat_color_id', CGlobalCounter::ALL_SITES);
			$chatColorCode = Color::getCodeByNumber($chatColorId);
		}
		CGlobalCounter::Increment('im_chat_color_'.$chatColorCode, CGlobalCounter::ALL_SITES, false);

		$chatColorCodeCount = CGlobalCounter::GetValue('im_chat_color_'.$chatColorCode, CGlobalCounter::ALL_SITES);
		if ($chatColorCodeCount == 99)
		{
			CGlobalCounter::Set('im_chat_color_'.$chatColorCode, 1, CGlobalCounter::ALL_SITES, '', false);
		}
		$userName = Loc::getMessage('IMOL_CHAT_CHAT_NAME_COLOR_GUEST', Array("#COLOR#" => BitrixImColor::getName($chatColorCode), "#NUMBER#" => $chatColorCodeCount+1));
	}
	else
	{
		$guestId = CGlobalCounter::GetValue('imol_guest_id', CGlobalCounter::ALL_SITES);
		CGlobalCounter::Increment('imol_guest_id', CGlobalCounter::ALL_SITES, false);
		if ($guestId == 99)
		{
			CGlobalCounter::Set('imol_guest_id', 1, CGlobalCounter::ALL_SITES, '', false);
		}
		$userName = Loc::getMessage('IMOL_CHAT_CHAT_NAME_GUEST', Array("#NUMBER#" => $guestId+1));
	}

	return Array(
		'USER_NAME' => $userName,
		'USER_COLOR' => $chatColorCode,
	);
}