| Server IP : 87.98.154.146 / Your IP : 216.73.216.165 Web Server : Apache System : Linux webm004.cluster126.gra.hosting.ovh.net 6.18.42-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Wed Aug 5 15:59:48 CEST 2026 x86_64 User : ohklomafyi ( 52085) PHP Version : 7.4.33 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/ohklomafyi/www/wp-content/plugins/wp-seopress/src/Actions/Api/Options/ |
Upload File : |
<?php
namespace SEOPress\Actions\Api\Options;
if ( ! defined('ABSPATH')) {
exit;
}
use SEOPress\Core\Hooks\ExecuteHooks;
class AnalyticsSettings implements ExecuteHooks {
/**
* Current user ID
*
* @var int
*/
private $current_user = '';
/**
* @since 5.5
*
* @return void
*/
public function hooks() {
$this->current_user = wp_get_current_user()->ID;
add_action('rest_api_init', [$this, 'register']);
}
/**
* @since 5.5
*
* @return boolean
*/
public function permissionCheck(\WP_REST_Request $request) {
$nonce = $request->get_header('x-wp-nonce');
if ( ! wp_verify_nonce($nonce, 'wp_rest')) {
return false;
}
if ( ! user_can( $this->current_user, 'manage_options' )) {
return false;
}
return true;
}
/**
* @since 5.5
*
* @return void
*/
public function register() {
register_rest_route('seopress/v1', '/options/analytics-settings', [
'methods' => 'GET',
'callback' => [$this, 'processGet'],
'permission_callback' => [$this, 'permissionCheck'],
]);
}
/**
* @since 5.5
*/
public function processGet(\WP_REST_Request $request) {
$options = get_option('seopress_google_analytics_option_name');
if (empty($options)) {
return;
}
$data = [];
foreach($options as $key => $value) {
$data[$key] = $value;
}
return new \WP_REST_Response($data);
}
}