• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/classes/general/im_chat.php
  • Класс: CIMChat
  • Вызов: CIMChat::SetAccessToGeneralChat
static function SetAccessToGeneralChat($allowAll = true, $allowCodes = Array())
{
	$prevAllow = COption::GetOptionString("im", "allow_send_to_general_chat_all");
	$prevCodes = COption::GetOptionString("im", "allow_send_to_general_chat_rights");

	if ($allowAll)
	{
		$allow = 'Y';
		$codes = 'AU';
	}
	else
	{
		$allow = 'N';

		if (is_array($allowCodes) && count($allowCodes) > 0)
		{
			$codes = implode(",", $allowCodes);
		}
		else
		{
			$codes = "";
		}
	}
	COption::SetOptionString("im", "allow_send_to_general_chat_all", $allow);
	COption::SetOptionString("im", "allow_send_to_general_chat_rights", $codes);

	if ($prevAllow != $allow || $prevCodes != $codes)
	{
		if (CModule::IncludeModule('pull'))
		{
			CPullStack::AddShared(Array(
				'module_id' => 'im',
				'command' => 'generalChatAccess',
				'params' => Array(
					"status" => $prevAllow == 'Y' && $allow == 'N'? 'blocked': 'allowed'
				),
				'extra' => BitrixImCommon::getPullExtra()
			));
		}
	}

	return true;
}