• Модуль: imbot
  • Путь к файлу: ~/bitrix/modules/imbot/lib/bot/marta.php
  • Класс: BitrixImBotBotMarta
  • Вызов: Marta::onRenamePortalDomainChange
static function onRenamePortalDomainChange($params)
{
	if (!BitrixMainLoader::includeModule('im') || !BitrixMainLoader::includeModule('bitrix24'))
		return true;

	$language = null;
	$botData = BitrixImBot::getCache(self::getBotId());
	if ($botData['LANG'])
	{
		$language = $botData['LANG'];
		Loc::loadLanguageFile(__FILE__, $language);
	}

	$option = Option::get(self::MODULE_ID, 'marta_rename_message', serialize(Array()));
	$messages = unserialize($option, ['allowed_classes' => false]);
	foreach ($messages as $messageId)
	{
		BitrixImBot::updateMessage(Array('BOT_ID' => self::getBotId()), Array(
			'MESSAGE_ID' => $messageId,
			'KEYBOARD' => 'N',
		));
	}

	Option::set(self::MODULE_ID, 'marta_rename_message', serialize(Array()));

	$newDomain = '[url=http://'.$params['new_domain'].']'.$params['new_domain'].'[/url]';

	$users = CBitrix24::getAllAdminId();
	foreach ($users as $userId)
	{
		$messages[] = self::sendAnswer(0, Array(
			'DIALOG_ID' => $userId,
			'ANSWER' => Loc::getMessage('IMBOT_BOT_RENAME_DONE', Array('#NEW_DOMAIN#' => $newDomain), $language),
			'RICH' => 'N'
		));
	}

	UnRegisterModuleDependences("bitrix24", "OnDomainChange", self::MODULE_ID, __CLASS__, "onRenamePortalDomainChange");

	$commandId = Option::get(self::MODULE_ID, 'marta_rename_command', 0);
	if ($commandId)
	{
		BitrixImCommand::unRegister(Array(
			'COMMAND_ID' => $commandId
		));
		Option::set(self::MODULE_ID, 'marta_rename_command', 0);
	}

	return true;
}