| Server IP : 167.99.224.18 / Your IP : 216.73.216.136 Web Server : Apache/2.4.41 (Ubuntu) System : Linux wordpress-ubuntu-s-1vcpu-1gb-nyc1-01 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 User : root ( 0) PHP Version : 8.0.25 Disable Function : 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_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /var/www/html/wp-content/plugins-old/plausible-analytics/src/ |
Upload File : |
<?php
namespace Plausible\Analytics\WP;
use Plausible\Analytics\WP\Admin\Messages;
class ClientFactory {
/**
* @var string $token
*/
private $token;
/**
* Setup basic authorization.
*
* @param string $token Allows to specify the token, e.g. when it's not stored in the DB yet.
*/
public function __construct( $token = '' ) {
$this->token = $token;
}
/**
* Loads the Client class if all conditions are met.
*
* @return false|Client
*/
public function build() {
/**
* cURL or allow_url_fopen ini setting is required for GuzzleHttp to function properly.
*/
if ( ! extension_loaded( 'curl' ) && ! ini_get( 'allow_url_fopen' ) ) {
add_action( 'init', [ $this, 'add_curl_error' ] ); // @codeCoverageIgnore
return false; // @codeCoverageIgnore
}
return new Client( $this->token );
}
/**
* Show an error on the settings screen if cURL isn't enabled on this machine.
*
* @return void
*
* @codeCoverageIgnore
*/
public function add_curl_error() {
Messages::set_error(
__(
'cURL is not enabled on this server, which means API provisioning will not work. Please contact your hosting provider to enable the cURL module or <code>allow_url_fopen</code>.',
'plausible-analytics'
)
);
}
}