Server : Apache System : Linux pod-100823:apache2_74:v0.5.7 5.4.0-1138-gcp #147~18.04.1-Ubuntu SMP Mon Oct 7 21:46:26 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33.7 Disable Function : apache_child_terminate,apache_get_modules,apache_get_version,apache_getenv,apache_note,apache_setenv,disk_free_space,disk_total_space,diskfreespace,dl,exec,fastcgi_finish_request,link,opcache_compile_file,opcache_get_configuration,opcache_invalidate,opcache_is_script_cached,opcache_reset,passthru,pclose,pcntl_exec,popen,posix_getpid,posix_getppid,posix_getpwuid,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_uname,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,realpath_cache_get,shell_exec,show_source,symlink,system Directory : /nas/content/live/attorneyexperi/wp-content/plugins/wp-rocket/inc/Engine/Support/ |
<?php namespace WP_Rocket\Engine\Support; use WP_Rocket\Admin\Options_Data; class Rest { const ROUTE_NAMESPACE = 'wp-rocket/v1'; /** * Data instance * * @var Data */ private $data; /** * Options instance * * @var Options_Data */ private $options; /** * Instantiate the class * * @param Data $data Data instance. * @param Options_Data $options Options instance. */ public function __construct( Data $data, Options_Data $options ) { $this->data = $data; $this->options = $options; } /** * Registers the REST route to get the support data * * @since 3.7.5 * * @return void */ public function register_route() { register_rest_route( self::ROUTE_NAMESPACE, 'support', [ 'methods' => 'POST', 'callback' => [ $this, 'get_support_data' ], 'args' => [ 'email' => [ 'required' => true, 'validate_callback' => [ $this, 'validate_email' ], ], 'key' => [ 'required' => true, 'validate_callback' => [ $this, 'validate_key' ], ], ], 'permission_callback' => '__return_true', ] ); } /** * Returns the support data if the referer is correct * * @since 3.7.5 * * @return WP_REST_Response */ public function get_support_data() { return rest_ensure_response( [ 'code' => 'rest_support_data_success', 'message' => 'Support data request successful', 'data' => [ 'status' => 200, 'content' => $this->data->get_support_data(), ], ] ); } /** * Checks that the email sent along the request corresponds to the one saved in the DB * * @since 3.7.5 * * @param string $param Parameter value to validate. * * @return bool */ public function validate_email( $param ) { return ! empty( $param ) && $param === $this->options->get( 'consumer_email', '' ); } /** * Checks that the key sent along the request corresponds to the one saved in the DB * * @since 3.7.5 * * @param string $param Parameter value to validate. * * @return bool */ public function validate_key( $param ) { return ! empty( $param ) && $param === $this->options->get( 'consumer_key', '' ); } }