forked from LiveCarta/LiveCartaWP
LAW-5279
This commit is contained in:
15
htdocs/wp-content/plugins/wp-rest-api-event/HttpClient.php
Normal file → Executable file
15
htdocs/wp-content/plugins/wp-rest-api-event/HttpClient.php
Normal file → Executable file
@@ -7,6 +7,21 @@ namespace app\wpRestApiEvent;
|
||||
*/
|
||||
class HttpClient
|
||||
{
|
||||
/**
|
||||
* @param string $eventType
|
||||
* @param $data
|
||||
*
|
||||
* @return null|string
|
||||
*/
|
||||
public function logEvent(string $eventType, $data)
|
||||
{
|
||||
$data['event'] = [
|
||||
'slug' => $eventType,
|
||||
];
|
||||
|
||||
return $this->doPostRequest(LAWCARTA_WP_REST_API_EVENT_LOG_URL, $data);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $data
|
||||
* @return null|string
|
||||
|
||||
65
htdocs/wp-content/plugins/wp-rest-api-event/event/EventSubscriber.php
Normal file → Executable file
65
htdocs/wp-content/plugins/wp-rest-api-event/event/EventSubscriber.php
Normal file → Executable file
@@ -49,6 +49,16 @@ class EventSubscriber
|
||||
*/
|
||||
private static $server;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
private static $userIp;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
private static $sessionId;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
@@ -56,8 +66,9 @@ class EventSubscriber
|
||||
|
||||
public static function onInit()
|
||||
{
|
||||
add_action('wpcf7_after_flamingo', [self::class, 'onDemoRequest']);
|
||||
apply_filters('parse_request', [self::class, 'onParseRequest']);
|
||||
apply_filters('http_response', [self::class, 'onResponse'], 0);
|
||||
// apply_filters('http_response', [self::class, 'onResponse'], 0);
|
||||
//apply_filters('shutdown', [self::class, 'onResponse'], 0);
|
||||
register_shutdown_function([self::class, 'onShutdown']);
|
||||
apply_filters('pre_http_request', [self::class, 'onRequest'], 0);
|
||||
@@ -89,15 +100,24 @@ class EventSubscriber
|
||||
]));
|
||||
}
|
||||
|
||||
public static function onDemoRequest()
|
||||
{
|
||||
$client = HttpClient::create();
|
||||
$client->logEvent('demo-request', self::getSuperGlobals());
|
||||
}
|
||||
|
||||
public static function setGlobals()
|
||||
{
|
||||
self::$get = $_GET;
|
||||
self::$post = $_POST;
|
||||
self::$cookie = $_COOKIE;
|
||||
self::$session = $_SESSION;
|
||||
self::$env = $_ENV;
|
||||
self::$request = $_REQUEST;
|
||||
self::$server = $_SERVER;
|
||||
self::$get = $_GET;
|
||||
self::$post = $_POST;
|
||||
self::$cookie = $_COOKIE;
|
||||
self::$session = $_SESSION;
|
||||
self::$env = $_ENV;
|
||||
self::$request = $_REQUEST;
|
||||
self::$server = $_SERVER;
|
||||
self::$userIp = self::getTheUserIp();
|
||||
self::$sessionId = $_COOKIE['PHPSESSID'] ?? null;
|
||||
|
||||
|
||||
if (function_exists('getallheaders')) {
|
||||
self::$headers = getallheaders();
|
||||
@@ -112,13 +132,28 @@ class EventSubscriber
|
||||
private static function getSuperGlobals()
|
||||
{
|
||||
return [
|
||||
'request' => self::$request,
|
||||
'server' => self::$server,
|
||||
'get' => self::$get,
|
||||
'post' => self::$post,
|
||||
'cookie' => self::$cookie,
|
||||
'env' => self::$env,
|
||||
'headers' => self::$headers
|
||||
'request' => self::$request,
|
||||
'server' => self::$server,
|
||||
'get' => self::$get,
|
||||
'post' => self::$post,
|
||||
'cookie' => self::$cookie,
|
||||
'env' => self::$env,
|
||||
'headers' => self::$headers,
|
||||
'user_ip' => self::$userIp,
|
||||
'session_id' => self::$sessionId,
|
||||
];
|
||||
}
|
||||
|
||||
private static function getTheUserIp()
|
||||
{
|
||||
if ( ! empty($_SERVER['HTTP_CLIENT_IP'])) {
|
||||
$ip = $_SERVER['HTTP_CLIENT_IP'];
|
||||
} elseif ( ! empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
|
||||
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
|
||||
} else {
|
||||
$ip = $_SERVER['REMOTE_ADDR'];
|
||||
}
|
||||
|
||||
return $ip;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user