• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/rating_rules.php
  • Класс: CAllRatingRulesMain
  • Вызов: CAllRatingRulesMain::OnGetRatingRuleConfigs
static function OnGetRatingRuleConfigs()
{
	$arConfigs["USER"]["CONDITION_CONFIG"][] = array(
	    "ID"	=> 'RATING',
		"NAME" => GetMessage('PP_USER_CONDITION_RATING_NAME'),
		"DESC" => GetMessage('PP_USER_CONDITION_RATING_DESC'),
		"REFRESH_TIME"	=> '3600',
		"CLASS"	=> 'CRatingRulesMain',
		"METHOD"	=> 'ratingCheck',
	    "FIELDS" => array(
			array(
				"TYPE" => 'SELECT_CLASS',
				"ID" => 'RATING_ID',
				"NAME" => GetMessage('PP_USER_CONDITION_RATING_RATING_ID'),
				"DEFAULT" => '1',
				"CLASS" 	=> 'CRatings',
				"METHOD"	=> 'GetList',
				"PARAMS"    => array(array("ID" => "ASC"), array("ACTIVE" => "Y", "ENTITY_ID" => "USER")),
				"FIELD_ID"	=> 'ID',
				"FIELD_VALUE"	=> 'NAME',
			),
			array(
				"TYPE" => 'SELECT_ARRAY_WITH_INPUT',
				"ID" => 'RATING_CONDITION',
				"ID_INPUT" => 'RATING_VALUE',
				"NAME" => GetMessage('PP_USER_CONDITION_RATING_RATING_CONDITION'),
				"DEFAULT" => '1',
				"DEFAULT_INPUT" => '500',
				"PARAMS" => array('1' => GetMessage('PP_USER_CONDITION_RATING_RATING_CONDITION_1'),
								  '2' => GetMessage('PP_USER_CONDITION_RATING_RATING_CONDITION_2')),
			),
		)
	);

	$arConfigs["USER"]["CONDITION_CONFIG"][] = array(
	    "ID"	=> 'RATING_INTERVAL',
		"NAME" => GetMessage('PP_USER_CONDITION_RATING_INTERVAL_NAME'),
		"DESC" => GetMessage('PP_USER_CONDITION_RATING_INTERVAL_DESC'),
		"REFRESH_TIME"	=> '3600',
		"CLASS"	=> 'CRatingRulesMain',
		"METHOD"	=> 'ratingCheckInterval',
	    "FIELDS" => array(
			array(
				"TYPE" => 'SELECT_CLASS',
				"ID" => 'RATING_ID',
				"NAME" => GetMessage('PP_USER_CONDITION_RATING_RATING_ID'),
				"DEFAULT" => '1',
				"CLASS" 	=> 'CRatings',
				"METHOD"	=> 'GetList',
				"PARAMS"    => array(array("ID" => "ASC"), array("ACTIVE" => "Y", "ENTITY_ID" => "USER")),
				"FIELD_ID"	=> 'ID',
				"FIELD_VALUE"	=> 'NAME',
			),
			array(
				"TYPE" => 'INPUT_INTERVAL',
				"ID" => 'RATING_VALUE_FROM',
				"ID_2" => 'RATING_VALUE_TO',
				"NAME" => GetMessage('PP_USER_CONDITION_RATING_INTERVAL'),
				"DEFAULT" => '0',
				"DEFAULT_2" => '500',
			),
		)
	);
	
	$arConfigs["USER"]["CONDITION_CONFIG"][] = array(
	    "ID"	=> 'AUTHORITY',
		"NAME" => GetMessage('PP_USER_CONDITION_AUTHORITY_NAME'),
		"DESC" => (COption::GetOptionString("main", "rating_weight_type", "auto") == "auto"? GetMessage('PP_USER_CONDITION_AUTHORITY_AUTO_DESC') : GetMessage('PP_USER_CONDITION_AUTHORITY_DESC')),
		"REFRESH_TIME"	=> '3600',
		"CLASS"	=> 'CRatingRulesMain',
		"METHOD"	=> 'ratingCheck',
	    "FIELDS" => array(
			array(
				"TYPE" => 'SELECT_ARRAY_WITH_INPUT',
				"ID" => 'RATING_CONDITION',
				"ID_INPUT" => 'RATING_VALUE',
				"NAME" => (COption::GetOptionString("main", "rating_weight_type", "auto") == "auto"? GetMessage('PP_USER_CONDITION_AUTHORITY_RATING_CONDITION_AUTO') : GetMessage('PP_USER_CONDITION_AUTHORITY_RATING_CONDITION')),
				"DEFAULT" => '1',
				"DEFAULT_INPUT" => '1',
				"PARAMS" => array('1' => GetMessage('PP_USER_CONDITION_RATING_RATING_CONDITION_1'),
								  '2' => GetMessage('PP_USER_CONDITION_RATING_RATING_CONDITION_2')),
			),
		)
	);

	$arConfigs["USER"]["CONDITION_CONFIG"][] = array(
	    "ID"	=> 'AUTHORITY_INTERVAL',
		"NAME" => GetMessage('PP_USER_CONDITION_AUTHORITY_INTERVAL_NAME'),
		"DESC" => (COption::GetOptionString("main", "rating_weight_type", "auto") == "auto"? GetMessage('PP_USER_CONDITION_AUTHORITY_INTERVAL_AUTO_DESC') : GetMessage('PP_USER_CONDITION_AUTHORITY_INTERVAL_DESC')),
		"REFRESH_TIME"	=> '3600',
		"CLASS"	=> 'CRatingRulesMain',
		"METHOD"	=> 'ratingCheckInterval',
	    "FIELDS" => array(
			array(
				"TYPE" => 'INPUT_INTERVAL',
				"ID" => 'RATING_VALUE_FROM',
				"ID_2" => 'RATING_VALUE_TO',
				"NAME" => (COption::GetOptionString("main", "rating_weight_type", "auto") == "auto"? GetMessage('PP_USER_CONDITION_AUTHORITY_INTERVAL_AUTO') : GetMessage('PP_USER_CONDITION_AUTHORITY_INTERVAL')),
				"DEFAULT" => '0',
				"DEFAULT_2" => '10',
			),
		)
	);
	
	$arConfigs["USER"]["CONDITION_CONFIG"][] = array(
	   "ID"	=> 'VOTE',
		"NAME" => GetMessage('PP_USER_CONDITION_VOTE_NAME'),
		"DESC" => '',
		"REFRESH_TIME"	=> '86400',
		"CLASS"	=> 'CRatingRulesMain',
		"METHOD"	=> 'voteCheck',
	   "FIELDS" => array(
			array(
				"TYPE" => 'TEXT',
				"NAME" => GetMessage('PP_USER_CONDITION_VOTE_TEXT')
			),	
			array(
				"TYPE" => 'INPUT',
				"ID" => 'VOTE_LIMIT',
				"NAME" => GetMessage('PP_USER_CONDITION_VOTE_LIMIT'),
				"NAME_DESC" => GetMessage('PP_USER_CONDITION_VOTE_LIMIT_DESC'),
				"DEFAULT" => '90',
				"SIZE" => '2'
			),	
			array(
				"TYPE" => 'INPUT',
				"ID" => 'VOTE_RESULT',
				"NAME" => GetMessage('PP_USER_CONDITION_VOTE_RESULT'),
				"DEFAULT" => '10',
				"SIZE" => '2'
			),	
			array(
				"TYPE" => 'SEPARATOR',
				"NAME" => GetMessage('PP_USER_CONDITION_VOTE_SEPARATOR'),
			),	
			array(
				"TYPE" => 'INPUT',
				"ID" => 'VOTE_FORUM_TOPIC',
				"NAME" => GetMessage('PP_USER_CONDITION_VOTE_FT'),
				"DEFAULT" => '0.5',
				"SIZE" => '2'
			),	
			array(
				"TYPE" => 'INPUT',
				"ID" => 'VOTE_FORUM_POST',
				"NAME" => GetMessage('PP_USER_CONDITION_VOTE_FP'),
				"DEFAULT" => '0.1',
				"SIZE" => '2'
			),	
			array(
				"TYPE" => 'INPUT',
				"ID" => 'VOTE_BLOG_POST',
				"NAME" => GetMessage('PP_USER_CONDITION_VOTE_BP'),
				"DEFAULT" => '0.5',
				"SIZE" => '2'
			),	
			array(
				"TYPE" => 'INPUT',
				"ID" => 'VOTE_BLOG_COMMENT',
				"NAME" => GetMessage('PP_USER_CONDITION_VOTE_BC'),
				"DEFAULT" => '0.1',
				"SIZE" => '2'
			),	
		),
		'HIDE_ACTION' => true
	);

	$arConfigs["USER"]["ACTION_CONFIG"][] = array(
	    "ID"	=> 'ADD_TO_GROUP',
		"NAME" => GetMessage('PP_USER_ACTION_ADD_TO_GROUP'),
		"DESC" => GetMessage('PP_USER_ACTION_ADD_TO_GROUP_DESC'),
		"CLASS" => 'CRatingRulesMain',
		"METHOD"	=> 'addToGroup',
	    "FIELDS" => array(
			array(
				"ID" => 'GROUP_ID',
				"NAME" => GetMessage('PP_USER_ACTION_CHANGE_GROUP_GROUP_ID'),
				"DEFAULT" => '4',
				"TYPE" => 'SELECT_CLASS',
				"CLASS" 	=> 'CGroup',
				"METHOD"	=> 'GetList',
				"PARAMS"    => array('ID', 'DESC', array()),
				"FIELD_ID"	=> 'ID',
				"FIELD_VALUE"	=> 'NAME',
			),

		)
	);

	$arConfigs["USER"]["ACTION_CONFIG"][] = array(
	    "ID"	=> 'REMOVE_FROM_GROUP',
		"NAME" => GetMessage('PP_USER_ACTION_REMOVE_FROM_GROUP'),
		"DESC" => GetMessage('PP_USER_ACTION_REMOVE_FROM_GROUP_DESC'),
		"CLASS" => 'CRatingRulesMain',
		"METHOD"	=> 'removeFromGroup',
	    "FIELDS" => array(
			array(
				"ID" => 'GROUP_ID',
				"NAME" => GetMessage('PP_USER_ACTION_CHANGE_GROUP_GROUP_ID'),
				"DEFAULT" => '4',
				"TYPE" => 'SELECT_CLASS',
				"CLASS" 	=> 'CGroup',
				"METHOD"	=> 'GetList',
				"PARAMS"    => array('ID', 'ASC', array()),
				"FIELD_ID"	=> 'ID',
				"FIELD_VALUE"	=> 'NAME',
			),
		)
	);

	$arConfigs["USER"]["ACTION_CONFIG"][] = array(
	    "ID"	=> 'CHANGE_UF',
		"NAME" => GetMessage('PP_USER_ACTION_CHANGE_UF'),
		"DESC" => GetMessage('PP_USER_ACTION_CHANGE_UF_DESC'),
		"CLASS" => 'CRatingRulesMain',
		"METHOD"	=> 'changeUF',
	    "FIELDS" => array(
			array(
				"ID" => 'UF_ID',
				"NAME" => GetMessage('PP_USER_ACTION_CHANGE_UF_ID'),
				"DEFAULT" => '',
				"TYPE" => 'SELECT_CLASS_ARRAY',
				"CLASS" 	=> 'CRatingRulesMain',
				"METHOD"	=> 'GetUfList',
				"PARAMS"    => array(),
				"FIELD_ID"	=> 'ID',
				"FIELD_VALUE"	=> 'NAME',
			),
			array(
				"ID" => 'UF_VALUE',
				"NAME" => GetMessage('PP_USER_ACTION_CHANGE_UF_VALUE'),
				"DEFAULT" => '',
			),
		)
	);	
	return $arConfigs;
}