• Модуль: forum
  • Путь к файлу: ~/bitrix/modules/forum/lib/internals/conversionhandlers.php
  • Класс: BitrixForumInternalsConversionHandlers
  • Вызов: ConversionHandlers::onGetRateTypes
static function onGetRateTypes()
{
	$scale = array(0.5, 1, 1.5, 2, 5);

	return array(
		'forum_topic' => array(
			'NAME'      => Loc::getMessage('FORUM_CONVERSION_RATE_TOPIC_TITLE'),
			'SCALE'     => $scale,
			'MODULE'    => 'forum',
			'SORT'      => 3000,
			'COUNTERS'  => array('conversion_visit_day', 'forum_topic_add_day'),
			'CALCULATE' => function(array $counters)
			{
				$denominator = $counters['conversion_visit_day'] ?: 0;
				$numerator   = $counters['forum_topic_add_day'] ?: 0;

				return array(
					'DENOMINATOR' => $denominator,
					'NUMERATOR'   => $numerator,
					'RATE'        => $denominator ? $numerator / $denominator : 0,
				);
			},
		),
		'forum_post' => array(
			'NAME'      => Loc::getMessage('FORUM_CONVERSION_RATE_POST_TITLE'),
			'SCALE'     => $scale,
			'MODULE'    => 'forum',
			'SORT'      => 3100,
			'COUNTERS'  => array('conversion_visit_day', 'forum_post_add_day'),
			'CALCULATE' => function(array $counters)
			{
				$denominator = $counters['conversion_visit_day'] ?: 0;
				$numerator   = $counters['forum_post_add_day'] ?: 0;

				return array(
					'DENOMINATOR' => $denominator,
					'NUMERATOR'   => $numerator,
					'RATE'        => $denominator ? $numerator / $denominator : 0,
				);
			},
		),
	);
}