| Server IP : 43.130.17.34 / Your IP : 216.73.217.6 Web Server : nginx/1.28.0 System : Linux VM-4-12-opencloudos 6.6.92-34.1.oc9.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Jun 25 21:32:13 CST 2025 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/yespkg.com/wp-content/plugins/admin-columns-pro.5.1.3/classes/ |
Upload File : |
<?php
namespace ACP;
use ACP\API\Request;
use ACP\API\Response;
use WP_Error;
class API implements RequestDispatcher {
/**
* @var string
*/
protected $url;
/**
* @var string
*/
protected $proxy;
/**
* @var bool
*/
protected $use_proxy = true;
/**
* @var array
*/
private $meta = [];
/**
* @return string
*/
public function get_url() {
return $this->url;
}
/**
* @param string $url
*
* @return $this
*/
public function set_url( $url ) {
$this->url = $url;
return $this;
}
/**
* @return string
*/
public function get_proxy() {
return $this->proxy;
}
/**
* @param string $proxy
*
* @return $this
*/
public function set_proxy( $proxy ) {
$this->proxy = $proxy;
return $this;
}
/**
* @return bool
*/
public function is_use_proxy() {
return $this->use_proxy;
}
/**
* @param bool $use_proxy
*
* @return $this
*/
public function set_use_proxy( $use_proxy ) {
$this->use_proxy = $use_proxy;
return $this;
}
/**
* @param array $meta
*
* @return $this
*/
public function set_request_meta( array $meta ) {
$this->meta = $meta;
return $this;
}
/**
* Get the URL to call
* @return string
*/
private function get_request_url() {
if ( $this->use_proxy ) {
return $this->proxy;
}
return $this->url;
}
/**
* @inheritDoc
*/
public function dispatch( Request $request, array $args = [] ) {
$body = array_merge( $request->get_body(), [
'meta' => $this->meta,
] );
$request->set_body( $body );
$data = wp_remote_post( $this->get_request_url(), $request->get_args() );
$response = new Response();
if ( is_wp_error( $data ) ) {
return $response->with_error( $data );
}
$body = wp_remote_retrieve_body( $data );
// retry with proxy disabled
if ( ! $body && $this->use_proxy ) {
$this->use_proxy = false;
return $this->dispatch( $request );
}
$response = $response->with_body( (object) json_decode( $body, true ) );
if ( $response->get( 'error' ) ) {
$response = $response->with_error( new WP_Error( $response->get( 'code' ), $response->get( 'message' ) ) );
}
return $response;
}
}