• Модуль: forum
  • Путь к файлу: ~/bitrix/modules/forum/classes/general/ratings_components.php
  • Класс: CAllRatingsComponentsForum
  • Вызов: CAllRatingsComponentsForum::OnGetRatingConfigs
static function OnGetRatingConfigs()
{
	$arConfigs = array(
		'MODULE_ID' => 'FORUM',
		'MODULE_NAME' => GetMessage('FORUM_RATING_NAME')
	);
	$arConfigs["COMPONENT"]["USER"]["VOTE"][] = array(
		"ID"	=> 'TOPIC',
		"REFRESH_TIME"	=> '3600',
		"CLASS"	=> 'CRatingsComponentsForum',
		"CALC_METHOD"	=> 'CalcUserVoteForumTopic',
		"NAME"	=> GetMessage('FORUM_RATING_USER_VOTE_TOPIC_NAME'),
		"DESC"  => GetMessage('FORUM_RATING_USER_VOTE_TOPIC_DESC'),
		"FIELDS" => array(
			array(
				"ID" => 'COEFFICIENT',
				"DEFAULT" => '0.5',
			),
			array(
				"ID" => 'LIMIT',
				"NAME" => GetMessage('FORUM_RATING_USER_VOTE_TOPIC_LIMIT_NAME'),
				"DEFAULT" => '30',
			),
		)
	);
	$arConfigs["COMPONENT"]["USER"]["VOTE"][] = array(
		"ID"	=> 'POST',
		"REFRESH_TIME"	=> '3600',
		"CLASS"	=> 'CRatingsComponentsForum',
		"CALC_METHOD"	=> 'CalcUserVoteForumPost',
		"NAME" => GetMessage('FORUM_RATING_USER_VOTE_POST_NAME'),
		"DESC" => GetMessage('FORUM_RATING_USER_VOTE_POST_DESC'),
		"FIELDS" => array(
			array(
				"ID" => 'COEFFICIENT',
				"DEFAULT" => '0.1',
			),
			array(
				"ID" => 'LIMIT',
				"NAME" => GetMessage('FORUM_RATING_USER_VOTE_POST_LIMIT_NAME'),
				"DEFAULT" => '30',
			),
		)
	);
	$arConfigs["COMPONENT"]["USER"]["RATING"][] = array(
		"ID"	=> 'ACTIVITY',
		"REFRESH_TIME"	=> '7200',
		"CLASS"	=> 'CRatingsComponentsForum',
		"CALC_METHOD"	=> 'CalcUserRatingForumActivity',
		"EXCEPTION_METHOD"	=> 'ExceptionUserRatingForumActivity',
		"NAME" => GetMessage('FORUM_RATING_USER_RATING_ACTIVITY_NAME'),
		"DESC" => GetMessage('FORUM_RATING_USER_RATING_ACTIVITY_DESC'),
		"FORMULA" => 'T1 * KT1 + T7 * KT7 + T30 * KT30+ Tall * KTall + P1 * KP1 + P7 * KP7 + P30 * KP30 + Pall * KPall',
		"FORMULA_DESC" => GetMessage('FORUM_RATING_USER_RATING_ACTIVITY_FORMULA_DESC'),
		"FIELDS" => array(
			array(
				"ID" => 'TODAY_TOPIC_COEF',
				"NAME" => GetMessage('FORUM_RATING_USER_RATING_ACTIVITY_FIELDS_TODAY_TOPIC_COEF'),
				"DEFAULT" => '0.4',
			),
			array(
				"ID" => 'WEEK_TOPIC_COEF',
				"NAME" => GetMessage('FORUM_RATING_USER_RATING_ACTIVITY_FIELDS_WEEK_TOPIC_COEF'),
				"DEFAULT" => '0.2',
			),
			array(
				"ID" => 'MONTH_TOPIC_COEF',
				"NAME" => GetMessage('FORUM_RATING_USER_RATING_ACTIVITY_FIELDS_MONTH_TOPIC_COEF'),
				"DEFAULT" => '0.1',
			),
			array(
				"ID" => 'ALL_TOPIC_COEF',
				"NAME" => GetMessage('FORUM_RATING_USER_RATING_ACTIVITY_FIELDS_ALL_TOPIC_COEF'),
				"DEFAULT" => '0',
			),
			array(
				"ID" => 'TODAY_POST_COEF',
				"NAME" => GetMessage('FORUM_RATING_USER_RATING_ACTIVITY_FIELDS_TODAY_POST_COEF'),
				"DEFAULT" => '0.2',
			),
			array(
				"ID" => 'WEEK_POST_COEF',
				"NAME" => GetMessage('FORUM_RATING_USER_RATING_ACTIVITY_FIELDS_WEEK_POST_COEF'),
				"DEFAULT" => '0.1',
			),
			array(
				"ID" => 'MONTH_POST_COEF',
				"NAME" => GetMessage('FORUM_RATING_USER_RATING_ACTIVITY_FIELDS_MONTH_POST_COEF'),
				"DEFAULT" => '0.05',
			),
			array(
				"ID" => 'ALL_POST_COEF',
				"NAME" => GetMessage('FORUM_RATING_USER_RATING_ACTIVITY_FIELDS_ALL_POST_COEF'),
				"DEFAULT" => '0',
			),
		)
	);

	return $arConfigs;
}