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/ilovecveti.ru/bitrix/modules/socialnetwork/lib/helper/analytics/ |
Upload File : |
<?php declare(strict_types=1); namespace Bitrix\Socialnetwork\Helper\Analytics; use Bitrix\Main\Analytics\AnalyticsEvent; class Analytics { protected static ?array $instances = []; public const STATUS_SUCCESS = 'success'; public const STATUS_ERROR = 'error'; public static function getInstance(): static { if (!isset(static::$instances[static::class])) { static::$instances[static::class] = new static(); } return static::$instances[static::class]; } protected function sendAnalytics( AnalyticsEvent $analyticsEvent, ?string $type = null, ?string $section = null, ?string $element = null, ?string $subSection = null, bool $status = true, array $params = [], ): void { $analyticsEvent->setStatus($status ? self::STATUS_SUCCESS : self::STATUS_ERROR); if (!empty($type)) { $analyticsEvent->setType($type); } if (!empty($section)) { $analyticsEvent->setSection($section); } if (!empty($element)) { $analyticsEvent->setElement($element); } if (!empty($subSection)) { $analyticsEvent->setSubSection($subSection); } foreach ($params as $pName => $pValue) { $setter = 'set' . ucfirst($pName); if (!is_string($pValue) || empty($pValue)) { continue; } if (!method_exists($analyticsEvent, $setter)) { continue; } $analyticsEvent->$setter($pValue); } $analyticsEvent->send(); } }