• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/rating_rules.php
  • Класс: CAllRatingRulesMain
  • Вызов: CAllRatingRulesMain::__CheckFields
static function __CheckFields($entityId, $arConfigs)
{
	$arDefaultConfig = CRatingRulesMain::__AssembleConfigDefault($entityId);

	if ($entityId == "USER") {
		if (isset($arConfigs['CONDITION_CONFIG']['RATING']))
		{
			if (!preg_match('/^d{1,11}$/', $arConfigs['CONDITION_CONFIG']['RATING']['RATING_ID']))
				$arConfigs['CONDITION_CONFIG']['RATING']['RATING_ID'] = $arDefaultConfig['CONDITION_CONFIG']['RATING']['RATING_ID']['DEFAULT'];
			if (!in_array($arConfigs['CONDITION_CONFIG']['RATING']['RATING_CONDITION'], array(1,2)))
				$arConfigs['CONDITION_CONFIG']['RATING']['RATING_CONDITION'] = $arDefaultConfig['CONDITION_CONFIG']['RATING']['RATING_CONDITION']['DEFAULT'];
			if (!preg_match('/^d{1,11}$/', $arConfigs['CONDITION_CONFIG']['RATING']['RATING_VALUE']))
				$arConfigs['CONDITION_CONFIG']['RATING']['RATING_VALUE'] = $arDefaultConfig['CONDITION_CONFIG']['RATING']['RATING_CONDITION']['DEFAULT_INPUT'];
		}
		if (isset($arConfigs['CONDITION_CONFIG']['RATING_INTERVAL']))
		{
			if (!preg_match('/^d{1,11}$/', $arConfigs['CONDITION_CONFIG']['RATING_INTERVAL']['RATING_ID']))
				$arConfigs['CONDITION_CONFIG']['RATING_INTERVAL']['RATING_ID'] = $arDefaultConfig['CONDITION_CONFIG']['RATING_INTERVAL']['RATING_ID']['DEFAULT'];
			if (!preg_match('/^d{1,11}$/', $arConfigs['CONDITION_CONFIG']['RATING_INTERVAL']['RATING_VALUE_FROM']))
				$arConfigs['CONDITION_CONFIG']['RATING_INTERVAL']['RATING_VALUE_FROM'] = $arDefaultConfig['CONDITION_CONFIG']['RATING_INTERVAL']['RATING_VALUE_FROM']['DEFAULT'];
			if (!preg_match('/^d{1,11}$/', $arConfigs['CONDITION_CONFIG']['RATING_INTERVAL']['RATING_VALUE_TO']))
				$arConfigs['CONDITION_CONFIG']['RATING_INTERVAL']['RATING_VALUE_TO'] = $arDefaultConfig['CONDITION_CONFIG']['RATING_INTERVAL']['RATING_VALUE_FROM']['DEFAULT_2'];
		}
		if (isset($arConfigs['CONDITION_CONFIG']['AUTHORITY']))
		{
			if (!in_array($arConfigs['CONDITION_CONFIG']['AUTHORITY']['RATING_CONDITION'], array(1,2)))
				$arConfigs['CONDITION_CONFIG']['AUTHORITY']['RATING_CONDITION'] = $arDefaultConfig['CONDITION_CONFIG']['AUTHORITY']['RATING_CONDITION']['DEFAULT'];
			if (!preg_match('/^d{1,11}$/', $arConfigs['CONDITION_CONFIG']['AUTHORITY']['RATING_VALUE']))
				$arConfigs['CONDITION_CONFIG']['AUTHORITY']['RATING_VALUE'] = $arDefaultConfig['CONDITION_CONFIG']['AUTHORITY']['RATING_CONDITION']['DEFAULT_INPUT'];
		}
		if (isset($arConfigs['CONDITION_CONFIG']['AUTHORITY_INTERVAL']))
		{
			if (!preg_match('/^d{1,11}$/', $arConfigs['CONDITION_CONFIG']['AUTHORITY_INTERVAL']['RATING_VALUE_FROM']))
				$arConfigs['CONDITION_CONFIG']['AUTHORITY_INTERVAL']['RATING_VALUE_FROM'] = $arDefaultConfig['CONDITION_CONFIG']['AUTHORITY_INTERVAL']['RATING_VALUE_FROM']['DEFAULT'];
			if (!preg_match('/^d{1,11}$/', $arConfigs['CONDITION_CONFIG']['AUTHORITY_INTERVAL']['RATING_VALUE_TO']))
				$arConfigs['CONDITION_CONFIG']['AUTHORITY_INTERVAL']['RATING_VALUE_TO'] = $arDefaultConfig['CONDITION_CONFIG']['AUTHORITY_INTERVAL']['RATING_VALUE_FROM']['DEFAULT_2'];
		}
		if (isset($arConfigs['CONDITION_CONFIG']['VOTE']))
		{
			if (!preg_match('/^d{1,3}$/', $arConfigs['CONDITION_CONFIG']['VOTE']['VOTE_LIMIT']))
				$arConfigs['CONDITION_CONFIG']['VOTE']['VOTE_LIMIT'] = $arDefaultConfig['CONDITION_CONFIG']['VOTE']['VOTE_LIMIT']['DEFAULT'];
			if (!preg_match('/^d{1,7}.?d{0,4}$/', $arConfigs['CONDITION_CONFIG']['VOTE']['VOTE_RESULT']) || $arConfigs['CONDITION_CONFIG']['VOTE']['VOTE_RESULT'] < 0)
				$arConfigs['CONDITION_CONFIG']['VOTE']['VOTE_RESULT'] = $arDefaultConfig['CONDITION_CONFIG']['VOTE']['VOTE_RESULT']['DEFAULT'];				
			if (!preg_match('/^d{1,7}.?d{0,4}$/', $arConfigs['CONDITION_CONFIG']['VOTE']['VOTE_FORUM_TOPIC']))
				$arConfigs['CONDITION_CONFIG']['VOTE']['VOTE_FORUM_TOPIC'] = $arDefaultConfig['CONDITION_CONFIG']['VOTE']['VOTE_FORUM_TOPIC']['DEFAULT'];
			if (!preg_match('/^d{1,7}.?d{0,4}$/', $arConfigs['CONDITION_CONFIG']['VOTE']['VOTE_FORUM_POST']))
				$arConfigs['CONDITION_CONFIG']['VOTE']['VOTE_FORUM_POST'] = $arDefaultConfig['CONDITION_CONFIG']['VOTE']['VOTE_FORUM_POST']['DEFAULT'];
			if (!preg_match('/^d{1,7}.?d{0,4}$/', $arConfigs['CONDITION_CONFIG']['VOTE']['VOTE_BLOG_POST']))
				$arConfigs['CONDITION_CONFIG']['VOTE']['VOTE_BLOG_POST'] = $arDefaultConfig['CONDITION_CONFIG']['VOTE']['VOTE_BLOG_POST']['DEFAULT'];
			if (!preg_match('/^d{1,7}.?d{0,4}$/', $arConfigs['CONDITION_CONFIG']['VOTE']['VOTE_BLOG_COMMENT']))
				$arConfigs['CONDITION_CONFIG']['VOTE']['VOTE_BLOG_COMMENT'] = $arDefaultConfig['CONDITION_CONFIG']['VOTE']['VOTE_BLOG_COMMENT']['DEFAULT'];
		}
		if (isset($arConfigs['ACTION_CONFIG']['CHANGE_GROUP']))
		{
			if (!preg_match('/^d{1,11}$/', $arConfigs['ACTION_CONFIG']['CHANGE_GROUP']['GROUP_ID']))
				$arConfigs['ACTION_CONFIG']['CHANGE_GROUP']['GROUP_ID'] = $arDefaultConfig['ACTION_CONFIG']['CHANGE_GROUP']['GROUP_ID']['DEFAULT'];
		}

		if (isset($arConfigs['ACTION_CONFIG']['CHANGE_UF']))
		{
			if (!preg_match('/^[0-9A-Z_]+$/', $arConfigs['ACTION_CONFIG']['CHANGE_UF']['UF_ID']))
				$arConfigs['ACTION_CONFIG']['CHANGE_UF']['UF_ID'] = $arDefaultConfig['ACTION_CONFIG']['CHANGE_UF']['UF_ID']['DEFAULT'];
		}
	}

	return $arConfigs;
}