| Server IP : 104.21.13.219 / Your IP : 162.159.115.10 Web Server : nginx/1.26.1 System : Linux HE9229 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 User : www ( 1000) PHP Version : 8.0.26 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 MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /www/wwwroot/jl3_ph_com/wp-content/plugins/cloudflare/src/WordPress/ |
Upload File : |
<?php
namespace Cloudflare\APO\WordPress;
use Cloudflare\APO\Integration\IntegrationAPIInterface;
use Cloudflare\APO\DNSRecord;
class WordPressAPI implements IntegrationAPIInterface
{
const API_NONCE = 'cloudflare-db-api-nonce';
private $dataStore;
private $wordPressWrapper;
/**
* @param $dataStore
*/
public function __construct(DataStore $dataStore)
{
$this->dataStore = $dataStore;
$this->wordPressWrapper = new WordPressWrapper();
}
public function setWordPressWrapper(WordPressWrapper $wordPressWrapper)
{
$this->wordPressWrapper = $wordPressWrapper;
}
/**
* @param $domain_name
*
* @return mixed
*/
public function getDNSRecords($domain_name)
{
return;
}
/**
* @param $domain_name
* @param DNSRecord $DNSRecord
*
* @return mixed
*/
public function addDNSRecord($domain_name, DNSRecord $DNSRecord)
{
return;
}
/**
* @param $domain_name
* @param DNSRecord $DNSRecord
*
* @return mixed
*/
public function editDNSRecord($domain_name, DNSRecord $DNSRecord)
{
return;
}
/**
* @param $domain_name
* @param DNSRecord $DNSRecord
*
* @return mixed
*/
public function removeDNSRecord($domain_name, DNSRecord $DNSRecord)
{
return;
}
/**
* @return mixed
*/
public function getHostAPIKey()
{
return;
}
/**
* We wrap the return value with an array to be consistent between
* other plugins.
*
* @param null $userId
*
* @return array
*/
public function getDomainList($userId = null)
{
$cachedDomainName = $this->dataStore->getDomainNameCache();
if (empty($cachedDomainName)) {
return array();
}
return array($cachedDomainName);
}
/**
* @return string
*/
public function getOriginalDomain()
{
$siteURL = $this->wordPressWrapper->getSiteURL();
return $this->formatDomain($siteURL);
}
/**
* @return bool
*/
public function setDomainNameCache($newDomainName)
{
return $this->dataStore->setDomainNameCache($newDomainName);
}
/**
* @return mixed
*/
public function getUserId()
{
return $this->dataStore->getCloudFlareEmail();
}
/**
* @param domain name
*
* @return string
*/
private function formatDomain($domainName)
{
// Remove instances which are before the domain name:
// * http
// * https
// * www
// * user:pass@
preg_match_all('/^(?:https?:\/\/)?(?:[^@\/\n]+@)?(?:www\.)?([^:\/\n]+)/im', $domainName, $matches);
$formattedDomain = $matches[1][0];
return $formattedDomain;
}
/**
* @return mixed
*/
public function checkIfValidCloudflareSubdomain($response, $domainName)
{
if (isset($response['result'])) {
foreach ($response['result'] as $zone) {
if (Utils::isSubdomainOf($domainName, $zone['name'])) {
return $zone['name'];
}
}
}
return false;
}
/**
* @return boolean
*/
public function isCurrentUserAdministrator()
{
return $this->wordPressWrapper->currentUserCan('administrator');
}
}