Server IP : 172.67.158.161 / Your IP : 18.118.195.166 Web Server : LiteSpeed System : Linux business53.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : giankuin ( 1871) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/self/root/home/giankuin/thietke365.net/wp-content/plugins/mailpoet/lib/Statistics/Track/ |
Upload File : |
<?php declare(strict_types = 1); namespace MailPoet\Statistics\Track; if (!defined('ABSPATH')) exit; use MailPoet\Entities\SubscriberEntity; use MailPoet\Settings\TrackingConfig; use MailPoet\Subscribers\SubscribersRepository; use MailPoet\WP\Functions as WPFunctions; class SubscriberHandler { /** @var SubscriberCookie */ private $subscriberCookie; /** @var SubscribersRepository */ private $subscribersRepository; /** @var TrackingConfig */ private $trackingConfig; /** @var WPFunctions */ private $wp; public function __construct( SubscriberCookie $subscriberCookie, SubscribersRepository $subscribersRepository, TrackingConfig $trackingConfig, WPFunctions $wp ) { $this->subscriberCookie = $subscriberCookie; $this->subscribersRepository = $subscribersRepository; $this->trackingConfig = $trackingConfig; $this->wp = $wp; } public function identifyByLogin(string $login): void { if (!$this->trackingConfig->isCookieTrackingEnabled()) { return; } $wpUser = $this->wp->getUserBy('login', $login); if ($wpUser) { $this->identifyByEmail($wpUser->user_email); // phpcs:ignore Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps } } public function identifyByEmail(string $email): void { if (!$this->trackingConfig->isCookieTrackingEnabled()) { return; } $subscriber = $this->subscribersRepository->findOneBy(['email' => $email]); if ($subscriber) { $this->setCookieBySubscriber($subscriber); } } private function setCookieBySubscriber(SubscriberEntity $subscriber): void { $subscriberId = $subscriber->getId(); if ($subscriberId) { $this->subscriberCookie->setSubscriberId($subscriberId); } } }