| Server IP : 38.190.208.107 / Your IP : 216.73.217.46 Web Server : nginx/1.28.1 System : Linux ht2026040333114 6.1.0-10-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.37-1 (2023-07-03) x86_64 User : root ( 0) PHP Version : 8.2.28 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv,eval,assert,passthru,system,exec,shell_exec,popen,proc_open MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /www/wwwroot/wp.3/wp-content/plugins/wp-statistics/src/Decorators/ |
Upload File : |
<?php
namespace WP_Statistics\Decorators;
use WP_Statistics\Service\Analytics\Referrals\SourceChannels;
use WP_Statistics\Utils\Url;
class ReferralDecorator
{
private $item;
public function __construct($item)
{
$this->item = $item;
}
/**
* Get the raw referrer value.
*
* @return string|null
*/
public function getRawReferrer()
{
return $this->item->referred ?? null;
}
/**
* Get the referrer url.
*
* @return string|null
*/
public function getReferrer()
{
return $this->item->referred ? Url::formatUrl($this->item->referred) : null;
}
/**
* Get the source channel name (e.g., Direct, Organic Search, etc.).
*
* @return string|null
*/
public function getSourceChannel()
{
return SourceChannels::getName($this->getRawSourceChannel());
}
/**
* Get the raw source channel value (e.g., direct, search, etc.).
*
* @return string|null
*/
public function getRawSourceChannel()
{
return $this->item->source_channel ?? 'unassigned';
}
/**
* Get the source name (e.g., Google, Yandex, etc.).
*
* @return string|null
*/
public function getSourceName()
{
return $this->item->source_name ?? null;
}
/**
* Get the date of the referral.
*
* @return string
*/
public function getDate()
{
return $this->item->last_counter ?? null;
}
/**
* Get the total number of referrals.
*
* @param bool $raw Whether return raw value or formatted.
* @return int|string
*/
public function getTotalReferrals($raw = false)
{
if (empty($this->item->visitors)) return 0;
return $raw ? intval($this->item->visitors) : number_format_i18n($this->item->visitors);
}
}