• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/lib/rooms/iblockmeetingroom.php
  • Класс: BitrixCalendarRoomsIBlockMeetingRoom
  • Вызов: IBlockMeetingRoom::releaseMeetingRoom
static function releaseMeetingRoom(array $params): void
{
	if (!Loader::includeModule('iblock'))
	{
		return;
	}

	$settings = CCalendar::GetSettings(['request' => false]);
	$params['RMiblockId'] = $settings['rm_iblock_id'];
	
	$filter = [
		'ID' => $params['mrevid'],
		'IBLOCK_ID' => $params['RMiblockId'],
		'IBLOCK_SECTION_ID' => $params['mrid'],
		'SECTION_ID' => [$params['mrid']]
	];
	
	$res = CIBlockElement::GetList([], $filter, false, false, ['ID']);
	if ($res->Fetch())
	{
		$iBlockElem = new CIBlockElement;
		$iBlockElem::Delete($params['mrevid']);
	}
	
	// Hack: reserve meeting calendar based on old calendar's cache
	$cache = new CPHPCache;
	$cache->CleanDir('event_calendar/');
	$cache->CleanDir('event_calendar/events/');
	$cache->CleanDir('event_calendar/events/'.$params['RMiblockId']);
}