• Модуль: forum
  • Путь к файлу: ~/bitrix/modules/forum/classes/general/user.php
  • Класс: CAllForumUser
  • Вызов: CAllForumUser::OnUserDelete
static function OnUserDelete($user_id)
{
	global $DB;
	$user_id = intval($user_id);
	if ($user_id>0)
	{
		$DB->Query("UPDATE b_forum SET LAST_POSTER_ID = NULL WHERE LAST_POSTER_ID = ".$user_id."");
		$DB->Query("UPDATE b_forum_topic SET LAST_POSTER_ID = NULL WHERE LAST_POSTER_ID = ".$user_id."");
		$DB->Query("UPDATE b_forum_topic SET USER_START_ID = NULL WHERE USER_START_ID = ".$user_id."");
		$DB->Query("UPDATE b_forum_message SET AUTHOR_ID = NULL WHERE AUTHOR_ID = ".$user_id."");
		$DB->Query("DELETE FROM b_forum_subscribe WHERE USER_ID = ".$user_id."");
		$DB->Query("DELETE FROM b_forum_stat WHERE USER_ID = ".$user_id."");

		$strSql = "
			SELECT
				F.ID
			FROM
				b_forum_user FU,
				b_file F
			WHERE
				FU.USER_ID = $user_id
			and FU.AVATAR = F.ID
			";
		$z = $DB->Query($strSql, false, "FILE: ".__FILE__." LINE:".__LINE__);
		while ($zr = $z->Fetch()) CFile::Delete($zr["ID"]);

		$DB->Query("DELETE FROM b_forum_user WHERE USER_ID = ".$user_id."");

		if(CModule::IncludeModule("socialnetwork"))
		{
			$dbRes = $DB->Query("select ID from b_forum_topic where OWNER_ID=".$user_id);
			while($arRes = $dbRes->Fetch())
			{
				$DB->Query("DELETE FROM b_forum_message WHERE TOPIC_ID = ".$arRes["ID"]);
				$DB->Query("DELETE FROM b_forum_topic WHERE ID = ".$arRes["ID"]);
			}

		}
	}
	return true;
}