• Модуль: forum
  • Путь к файлу: ~/bitrix/modules/forum/lib/internals/messagecleaner.php
  • Класс: BitrixForumInternalsMessageCleaner
  • Вызов: MessageCleaner::do
static function do()
{
	$limit = self::$limit;
	$dbRes = MainApplication::getConnection()->query(<<fetch())
	{
		if ($message["PARAM1"] == 'VT')
		{
			$votes[] = $message["PARAM2"];
		}

		$selectSql = "SELECT * FROM b_forum_file where MESSAGE_ID=" . intval($message['MESSAGE_ID']) . " ORDER BY ID ASC";

		$dbFileRes = MainApplication::getConnection()->query($selectSql);

		if ($dbFileRes && ($file = $dbFileRes->fetch()))
		{
			do
			{
				CFile::Delete($file["FILE_ID"]);
			}
			while ($file = $dbFileRes->fetch());
			$deleteSql = "DELETE FROM b_forum_file where MESSAGE_ID=" . intval($message['MESSAGE_ID']);
			MainApplication::getConnection()->queryExecute($deleteSql);
		}

		$USER_FIELD_MANAGER->Delete("FORUM_MESSAGE", $message["MESSAGE_ID"]);
		$limit--;
		$last = $message;
	}

	if (!empty($votes) && IsModuleInstalled("vote") && CModule::IncludeModule("vote"))
	{
		array_map(function($voteId) {
			CVote::Delete($voteId);
		}, $votes);
	}

	if ($last)
	{
		MainApplication::getConnection()->queryExecute(<<