%PDF- %PDF-
Direktori : /var/www/html/ceaa/wp-content/plugins/mailchimp-for-wp/includes/ |
Current File : /var/www/html/ceaa/wp-content/plugins/mailchimp-for-wp/includes/class-request.php |
<?php /** * Class MC4WP_Request * * @since 3.0 * @ignore * @access private */ class MC4WP_Request { /** * @var MC4WP_Array_Bag */ public $params; /** * @var MC4WP_Array_Bag */ public $get; /** * @var MC4WP_Array_Bag */ public $post; /** * @var MC4WP_Array_Bag */ public $server; /** * Create a new instance from `$_GET`, `$_POST` and `$_SERVER` superglobals. * * @return MC4WP_Request */ public static function create_from_globals() { $get_data = is_array( $_GET ) ? $_GET : array(); $get_data = mc4wp_sanitize_deep( $get_data ); $get_data = stripslashes_deep( $get_data ); $post_data = is_array( $_POST ) ? $_POST : array(); $post_data = mc4wp_sanitize_deep( $post_data ); $post_data = stripslashes_deep( $post_data ); $server_data = is_array( $_SERVER ) ? $_SERVER : array(); $server_data = mc4wp_sanitize_deep( $server_data ); return new self( $get_data, $post_data, $server_data ); } /** * Constructor * * @param array $get * @param array $post * @param array $server */ public function __construct( $get = array(), $post = array(), $server = array() ) { $this->get = new MC4WP_Array_Bag( $get ); $this->post = new MC4WP_Array_Bag( $post ); $this->params = new MC4WP_Array_Bag( array_merge( $post, $get ) ); $this->server = new MC4WP_Array_Bag( $server ); } /** * @return bool */ public function is_ajax() { return defined( 'DOING_AJAX' ) && DOING_AJAX; } /** * @return string */ public function get_method() { return $this->server->get( 'REQUEST_METHOD' ); } /** * @param $method * * @return bool */ public function is_method( $method ) { return $this->get_method() === $method; } /** * @return string */ public function get_url() { return $this->server->get( 'REQUEST_URI' ); } /** * @return string */ public function get_referer() { return $this->server->get( 'HTTP_REFERER', '' ); } /** * Get the IP address of the visitor. Takes proxies into account. * * @return string */ public function get_client_ip() { $headers = ( function_exists( 'apache_request_headers' ) ) ? apache_request_headers() : $this->server->all(); if ( array_key_exists( 'X-Forwarded-For', $headers ) && filter_var( $headers['X-Forwarded-For'], FILTER_VALIDATE_IP, FILTER_FLAG_IPV4 ) ) { return $headers['X-Forwarded-For']; } if ( array_key_exists( 'HTTP_X_FORWARDED_FOR', $headers ) && filter_var( $headers['HTTP_X_FORWARDED_FOR'], FILTER_VALIDATE_IP, FILTER_FLAG_IPV4 ) ) { return $headers['HTTP_X_FORWARDED_FOR']; } return $this->server->get( 'REMOTE_ADDR', '' ); } }