• Модуль: forum
  • Путь к файлу: ~/bitrix/modules/forum/classes/general/forum_new.php
  • Класс: CAllForumGroup
  • Вызов: CAllForumGroup::Resort
static function Resort($ID=0, $cnt=0, $depth=0)
{
	global $DB;
	$ID = intval($ID);
	if($ID > 0)
		$DB->Query("UPDATE b_forum_group SET RIGHT_MARGIN=".intval($cnt).", LEFT_MARGIN=".intval($cnt)." WHERE ID=".intval($ID));

	$strSql = "SELECT FG.ID, FG.PARENT_ID FROM b_forum_group FG WHERE ".($ID>0?"FG.PARENT_ID=".$ID:"FG.PARENT_ID IS NULL")." ORDER BY FG.SORT ASC";
	$cnt++;
	$db_res = $DB->Query($strSql);
	while ($res = $db_res->Fetch())
		$cnt = CAllForumGroup::ReSort($res["ID"], $cnt, $depth+1);
	if($ID == 0)
		return true;
	$DB->Query("UPDATE b_forum_group SET RIGHT_MARGIN=".intval($cnt).", DEPTH_LEVEL=".intval($depth)." WHERE ID=".intval($ID));
	return $cnt+1;
}