?
<?php
namespace ElementorPro\Classes;
use ElementorPro\Plugin;
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
class Utils {
public static function get_client_ip() {
$server_ip_keys = [
'HTTP_CLIENT_IP',
'HTTP_X_FORWARDED_FOR',
'HTTP_X_FORWARDED',
'HTTP_X_CLUSTER_CLIENT_IP',
'HTTP_FORWARDED_FOR',
'HTTP_FORWARDED',
'REMOTE_ADDR',
];
foreach ( $server_ip_keys as $key ) {
if ( isset( $_SERVER[ $key ] ) && filter_var( $_SERVER[ $key ], FILTER_VALIDATE_IP ) ) {
return $_SERVER[ $key ];
}
}
// Fallback local ip.
return '127.0.0.1';
}
public static function get_site_domain() {
return str_ireplace( 'www.', '', parse_url( home_url(), PHP_URL_HOST ) );
}
public static function get_current_post_id() {
if ( isset( Plugin::elementor()->documents ) ) {
return Plugin::elementor()->documents->get_current()->get_main_id();
}
return get_the_ID();
}
}