• Модуль: forum
  • Путь к файлу: ~/bitrix/modules/forum/classes/general/user.php
  • Класс: CAllForumUser
  • Вызов: CAllForumUser::GetUserRank
static function GetUserRank($USER_ID, $strLang = false)
{
	$USER_ID = intval($USER_ID);
	$arUser = false;
	if ($USER_ID <= 0) return false;

	if (COption::GetOptionString("forum", "SHOW_VOTES", "Y") == "Y")
		$arUser = CForumUser::GetByUSER_ID($USER_ID);
	else
	{
		$authorityRatingId = CRatings::GetAuthorityRating();
		$arRatingResult = CRatings::GetRatingResult($authorityRatingId, $USER_ID);
		if (isset($arRatingResult['CURRENT_VALUE']))
			$arUser = array('POINTS' => round(floatval($arRatingResult['CURRENT_VALUE'])/COption::GetOptionString("main", "rating_vote_weight", 1)));
	}
	if ($arUser)
	{
		if ($strLang === false || mb_strlen($strLang) != 2)
			$db_res = CForumPoints::GetList(array("MIN_POINTS"=>"DESC"), array("<=MIN_POINTS"=>$arUser["POINTS"]));
		else
			$db_res = CForumPoints::GetListEx(array("MIN_POINTS"=>"DESC"), array("<=MIN_POINTS"=>$arUser["POINTS"], "LID" => $strLang));

		if ($db_res && ($ar_res = $db_res->Fetch()))
			return $ar_res;
	}
	return false;
}