| 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/Client/lib/ |
Upload File : |
<?php
/**
* Configuration
* PHP version 7.4
*
* @category Class
* @package Plausible\Analytics\WP\Client
* @author OpenAPI Generator team
* @link https://openapi-generator.tech
*/
/**
* Plausible Plugins API
*
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: 1.0-rc
* Generated by: https://openapi-generator.tech
* OpenAPI Generator version: 7.0.1
*/
/**
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
namespace Plausible\Analytics\WP\Client;
/**
* Configuration Class Doc Comment
* PHP version 7.4
*
* @category Class
* @package Plausible\Analytics\WP\Client
* @author OpenAPI Generator team
* @link https://openapi-generator.tech
*/
class Configuration {
public const BOOLEAN_FORMAT_INT = 'int';
public const BOOLEAN_FORMAT_STRING = 'string';
/**
* @var Configuration
*/
private static $defaultConfiguration;
/**
* Associate array to store API key(s)
*
* @var string[]
*/
protected $apiKeys = [];
/**
* Associate array to store API prefix (e.g. Bearer)
*
* @var string[]
*/
protected $apiKeyPrefixes = [];
/**
* Access token for OAuth/Bearer authentication
*
* @var string
*/
protected $accessToken = '';
/**
* Boolean format for query string
*
* @var string
*/
protected $booleanFormatForQueryString = self::BOOLEAN_FORMAT_INT;
/**
* Username for HTTP basic authentication
*
* @var string
*/
protected $username = '';
/**
* Password for HTTP basic authentication
*
* @var string
*/
protected $password = '';
/**
* The host
*
* @var string
*/
protected $host = 'https://plausible.io';
/**
* User agent of the HTTP request, set to "OpenAPI-Generator/{version}/PHP" by default
*
* @var string
*/
protected $userAgent = 'OpenAPI-Generator/1.0.0/PHP';
/**
* Debug switch (default set to false)
*
* @var bool
*/
protected $debug = false;
/**
* Debug file location (log to STDOUT by default)
*
* @var string
*/
protected $debugFile = 'php://output';
/**
* Debug file location (log to STDOUT by default)
*
* @var string
*/
protected $tempFolderPath;
/**
* Constructor
*/
public function __construct() {
$this->tempFolderPath = sys_get_temp_dir();
}
/**
* Gets the essential information for debugging
*
* @return string The report for debugging
*/
public static function toDebugReport() {
$report = 'PHP SDK (Plausible\Analytics\WP\Client) Debug Report:' . PHP_EOL;
$report .= ' OS: ' . php_uname() . PHP_EOL;
$report .= ' PHP Version: ' . PHP_VERSION . PHP_EOL;
$report .= ' The version of the OpenAPI document: 1.0-rc' . PHP_EOL;
$report .= ' Temp Folder Path: ' . self::getDefaultConfiguration()->getTempFolderPath() . PHP_EOL;
return $report;
}
/**
* Gets the temp folder path
*
* @return string Temp folder path
*/
public function getTempFolderPath() {
return $this->tempFolderPath;
}
/**
* Sets the temp folder path
*
* @param string $tempFolderPath Temp folder path
*
* @return $this
*/
public function setTempFolderPath( $tempFolderPath ) {
$this->tempFolderPath = $tempFolderPath;
return $this;
}
/**
* Gets the default configuration instance
*
* @return Configuration
*/
public static function getDefaultConfiguration() {
if ( self::$defaultConfiguration === null ) {
self::$defaultConfiguration = new Configuration();
}
return self::$defaultConfiguration;
}
/**
* Sets the default configuration instance
*
* @param Configuration $config An instance of the Configuration Object
*
* @return void
*/
public static function setDefaultConfiguration( Configuration $config ) {
self::$defaultConfiguration = $config;
}
/**
* Sets API key
*
* @param string $apiKeyIdentifier API key identifier (authentication scheme)
* @param string $key API key or token
*
* @return $this
*/
public function setApiKey( $apiKeyIdentifier, $key ) {
$this->apiKeys[ $apiKeyIdentifier ] = $key;
return $this;
}
/**
* Sets the prefix for API key (e.g. Bearer)
*
* @param string $apiKeyIdentifier API key identifier (authentication scheme)
* @param string $prefix API key prefix, e.g. Bearer
*
* @return $this
*/
public function setApiKeyPrefix( $apiKeyIdentifier, $prefix ) {
$this->apiKeyPrefixes[ $apiKeyIdentifier ] = $prefix;
return $this;
}
/**
* Gets the access token for OAuth
*
* @return string Access token for OAuth
*/
public function getAccessToken() {
return $this->accessToken;
}
/**
* Sets the access token for OAuth
*
* @param string $accessToken Token for OAuth
*
* @return $this
*/
public function setAccessToken( $accessToken ) {
$this->accessToken = $accessToken;
return $this;
}
/**
* Gets boolean format for query string.
*
* @return string Boolean format for query string
*/
public function getBooleanFormatForQueryString(): string {
return $this->booleanFormatForQueryString;
}
/**
* Sets boolean format for query string.
*
* @param string $booleanFormatForQueryString Boolean format for query string
*
* @return $this
*/
public function setBooleanFormatForQueryString( string $booleanFormat ) {
$this->booleanFormatForQueryString = $booleanFormat;
return $this;
}
/**
* Gets the username for HTTP basic authentication
*
* @return string Username for HTTP basic authentication
*/
public function getUsername() {
return $this->username;
}
/**
* Sets the username for HTTP basic authentication
*
* @param string $username Username for HTTP basic authentication
*
* @return $this
*/
public function setUsername( $username ) {
$this->username = $username;
return $this;
}
/**
* Gets the password for HTTP basic authentication
*
* @return string Password for HTTP basic authentication
*/
public function getPassword() {
return $this->password;
}
/**
* Sets the password for HTTP basic authentication
*
* @param string $password Password for HTTP basic authentication
*
* @return $this
*/
public function setPassword( $password ) {
$this->password = $password;
return $this;
}
/**
* Gets the host
*
* @return string Host
*/
public function getHost() {
return $this->host;
}
/**
* Sets the host
*
* @param string $host Host
*
* @return $this
*/
public function setHost( $host ) {
$this->host = $host;
return $this;
}
/**
* Gets the user agent of the api client
*
* @return string user agent
*/
public function getUserAgent() {
return $this->userAgent;
}
/**
* Sets the user agent of the api client
*
* @param string $userAgent the user agent of the api client
*
* @return $this
* @throws \InvalidArgumentException
*/
public function setUserAgent( $userAgent ) {
if ( ! is_string( $userAgent ) ) {
throw new \InvalidArgumentException( 'User-agent must be a string.' );
}
$this->userAgent = $userAgent;
return $this;
}
/**
* Gets the debug flag
*
* @return bool
*/
public function getDebug() {
return $this->debug;
}
/**
* Sets debug flag
*
* @param bool $debug Debug flag
*
* @return $this
*/
public function setDebug( $debug ) {
$this->debug = $debug;
return $this;
}
/**
* Gets the debug file
*
* @return string
*/
public function getDebugFile() {
return $this->debugFile;
}
/**
* Sets the debug file
*
* @param string $debugFile Debug file
*
* @return $this
*/
public function setDebugFile( $debugFile ) {
$this->debugFile = $debugFile;
return $this;
}
/**
* Get API key (with prefix if set)
*
* @param string $apiKeyIdentifier name of apikey
*
* @return null|string API key with the prefix
*/
public function getApiKeyWithPrefix( $apiKeyIdentifier ) {
$prefix = $this->getApiKeyPrefix( $apiKeyIdentifier );
$apiKey = $this->getApiKey( $apiKeyIdentifier );
if ( $apiKey === null ) {
return null;
}
if ( $prefix === null ) {
$keyWithPrefix = $apiKey;
} else {
$keyWithPrefix = $prefix . ' ' . $apiKey;
}
return $keyWithPrefix;
}
/**
* Gets API key prefix
*
* @param string $apiKeyIdentifier API key identifier (authentication scheme)
*
* @return null|string
*/
public function getApiKeyPrefix( $apiKeyIdentifier ) {
return isset( $this->apiKeyPrefixes[ $apiKeyIdentifier ] ) ? $this->apiKeyPrefixes[ $apiKeyIdentifier ] : null;
}
/**
* Gets API key
*
* @param string $apiKeyIdentifier API key identifier (authentication scheme)
*
* @return null|string API key or token
*/
public function getApiKey( $apiKeyIdentifier ) {
return isset( $this->apiKeys[ $apiKeyIdentifier ] ) ? $this->apiKeys[ $apiKeyIdentifier ] : null;
}
/**
* Returns URL based on the index and variables
*
* @param int $index index of the host settings
* @param array|null $variables hash of variable and the corresponding value (optional)
*
* @return string URL based on host settings
*/
public function getHostFromSettings( $index, $variables = null ) {
return self::getHostString( $this->getHostSettings(), $index, $variables );
}
/**
* Returns URL based on host settings, index and variables
*
* @param array $hostSettings array of host settings, generated from getHostSettings() or equivalent from the API clients
* @param int $hostIndex index of the host settings
* @param array|null $variables hash of variable and the corresponding value (optional)
*
* @return string URL based on host settings
*/
public static function getHostString( array $hostsSettings, $hostIndex, array $variables = null ) {
if ( null === $variables ) {
$variables = [];
}
// check array index out of bound
if ( $hostIndex < 0 || $hostIndex >= count( $hostsSettings ) ) {
throw new \InvalidArgumentException( "Invalid index $hostIndex when selecting the host. Must be less than " . count( $hostsSettings ) );
}
$host = $hostsSettings[ $hostIndex ];
$url = $host[ "url" ];
// go through variable and assign a value
foreach ( $host[ "variables" ] ?? [] as $name => $variable ) {
if ( array_key_exists( $name, $variables ) ) { // check to see if it's in the variables provided by the user
if ( ! isset( $variable[ 'enum_values' ] ) ||
in_array( $variables[ $name ], $variable[ "enum_values" ], true ) ) { // check to see if the value is in the enum
$url = str_replace( "{" . $name . "}", $variables[ $name ], $url );
} else {
throw new \InvalidArgumentException(
"The variable `$name` in the host URL has invalid value " .
$variables[ $name ] .
". Must be " .
join( ',', $variable[ "enum_values" ] ) .
"."
);
}
} else {
// use default value
$url = str_replace( "{" . $name . "}", $variable[ "default_value" ], $url );
}
}
return $url;
}
/**
* Returns an array of host settings
*
* @return array an array of host settings
*/
public function getHostSettings() {
return [
[
"url" => "https://plausible.io",
"description" => "This server",
],
];
}
}