• Модуль: forum
  • Путь к файлу: ~/bitrix/modules/forum/classes/general/ratings_components.php
  • Класс: CAllRatingsComponentsForum
  • Вызов: CAllRatingsComponentsForum::__CheckFields
static function __CheckFields($entityId, $arConfigs)
{
	$arDefaultConfig = CRatingsComponentsForum::__AssembleConfigDefault($entityId);
	if ($entityId == "USER") {
		if (isset($arConfigs['VOTE']['TOPIC']))
		{
			if (!preg_match('/^d{1,7}.?d{0,4}$/', $arConfigs['VOTE']['TOPIC']['COEFFICIENT']))
				$arConfigs['VOTE']['TOPIC']['COEFFICIENT'] = $arDefaultConfig['VOTE']['TOPIC']['COEFFICIENT']['DEFAULT'];
			if (!preg_match('/^d{1,5}$/', $arConfigs['VOTE']['TOPIC']['LIMIT']))
				$arConfigs['VOTE']['TOPIC']['LIMIT'] = $arDefaultConfig['VOTE']['TOPIC']['LIMIT']['DEFAULT'];
		}

		if (isset($arConfigs['VOTE']['POST']))
		{
			if (!preg_match('/^d{1,7}.?d{0,4}$/', $arConfigs['VOTE']['POST']['COEFFICIENT']))
				$arConfigs['VOTE']['POST']['COEFFICIENT'] = $arDefaultConfig['VOTE']['POST']['COEFFICIENT']['DEFAULT'];
				if (!preg_match('/^d{1,5}$/', $arConfigs['VOTE']['POST']['LIMIT']))
				$arConfigs['VOTE']['POST']['LIMIT'] = $arDefaultConfig['VOTE']['POST']['LIMIT']['DEFAULT'];
		}

		if (isset($arConfigs['RATING']['ACTIVITY']))
		{
			if (!preg_match('/^d{1,7}.?d{0,4}$/', $arConfigs['RATING']['ACTIVITY']['TODAY_TOPIC_COEF']))
				$arConfigs['RATING']['ACTIVITY']['TODAY_TOPIC_COEF'] = $arDefaultConfig['RATING']['ACTIVITY']['TODAY_TOPIC_COEF']['DEFAULT'];

			if (!preg_match('/^d{1,7}.?d{0,4}$/', $arConfigs['RATING']['ACTIVITY']['WEEK_TOPIC_COEF']))
				$arConfigs['RATING']['ACTIVITY']['WEEK_TOPIC_COEF'] = $arDefaultConfig['RATING']['ACTIVITY']['WEEK_TOPIC_COEF']['DEFAULT'];

			if (!preg_match('/^d{1,7}.?d{0,4}$/', $arConfigs['RATING']['ACTIVITY']['MONTH_TOPIC_COEF']))
				$arConfigs['RATING']['ACTIVITY']['MONTH_TOPIC_COEF'] = $arDefaultConfig['RATING']['ACTIVITY']['MONTH_TOPIC_COEF']['DEFAULT'];

			if (!preg_match('/^d{1,7}.?d{0,4}$/', $arConfigs['RATING']['ACTIVITY']['ALL_TOPIC_COEF']))
				$arConfigs['RATING']['ACTIVITY']['ALL_TOPIC_COEF'] = $arDefaultConfig['RATING']['ACTIVITY']['ALL_TOPIC_COEF']['DEFAULT'];

			if (!preg_match('/^d{1,7}.?d{0,4}$/', $arConfigs['RATING']['ACTIVITY']['TODAY_POST_COEF']))
				$arConfigs['RATING']['ACTIVITY']['TODAY_POST_COEF'] = $arDefaultConfig['RATING']['ACTIVITY']['TODAY_POST_COEF']['DEFAULT'];

			if (!preg_match('/^d{1,7}.?d{0,4}$/', $arConfigs['RATING']['ACTIVITY']['WEEK_POST_COEF']))
				$arConfigs['RATING']['ACTIVITY']['WEEK_POST_COEF'] = $arDefaultConfig['RATING']['ACTIVITY']['WEEK_POST_COEF']['DEFAULT'];

			if (!preg_match('/^d{1,7}.?d{0,4}$/', $arConfigs['RATING']['ACTIVITY']['MONTH_POST_COEF']))
				$arConfigs['RATING']['ACTIVITY']['MONTH_POST_COEF'] = $arDefaultConfig['RATING']['ACTIVITY']['MONTH_POST_COEF']['DEFAULT'];

			if (!preg_match('/^d{1,7}.?d{0,4}$/', $arConfigs['RATING']['ACTIVITY']['ALL_POST_COEF']))
				$arConfigs['RATING']['ACTIVITY']['ALL_POST_COEF'] = $arDefaultConfig['RATING']['ACTIVITY']['ALL_POST_COEF']['DEFAULT'];
		}
	}

	return $arConfigs;
}