Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/advertising/lib/internals/ |
Upload File : |
<?php namespace Bitrix\Advertising\Internals; use Bitrix\Conversion\Config; use Bitrix\Conversion\DayContext; use Bitrix\Main\Loader; use Bitrix\Main\Localization\Loc; Loc::loadMessages(__FILE__); final class ConversionHandlers { /** * Returns conversion counter types * * @return array */ public static function onGetCounterTypes() { return array( 'advertising_banner_click_day' => array('MODULE' => 'advertising', 'GROUP' => 'day', 'NAME' => 'Banner click'), ); } /** * Returns conversion rate types * * @return array */ public static function onGetRateTypes() { $scale = array(0.5, 1, 1.5, 2, 5); return array( 'advertising_banner_click' => array( 'NAME' => Loc::getMessage('ADVERTISING_CONVERSION_RATE_BANNER_CLICK_TITLE'), 'SCALE' => $scale, 'MODULE' => 'advertising', 'SORT' => 5000, 'COUNTERS' => array('conversion_visit_day', 'advertising_banner_click_day'), 'CALCULATE' => function(array $counters) { $denominator = $counters['conversion_visit_day'] ?: 0; $numerator = $counters['advertising_banner_click_day'] ?: 0; return array( 'DENOMINATOR' => $denominator, 'NUMERATOR' => $numerator, 'RATE' => $denominator ? $numerator / $denominator : 0, ); }, ), ); } /** * Increments conversion banner click day counter * * @param int $id Banner ID. * @param array $fields Banner fields. * @return void */ public static function onBannerClick($id, $fields) { if (Loader::includeModule('conversion')) { $context = DayContext::getInstance(); $context->addDayCounter('advertising_banner_click_day', 1); } } }