licenseUtil = LicenseUtil::getInstance(); $this->options = Options::getInstance(); $this->notices = Notices::getInstance(); add_action('rest_api_init', [$this, 'registerApi']); } public function registerApi(){ register_rest_route( 'accessibility-toolbar-plugin/v1', '/update-options', array( 'methods' => 'POST', 'callback' => [$this->options, 'updateOptions'], 'permission_callback' => function () { return current_user_can( 'manage_options' ); } ) ); register_rest_route( 'accessibility-toolbar-plugin/v1', '/get-options', array( 'methods' => 'POST', 'callback' => [$this->options, 'getOptions'], 'permission_callback' => function () { return current_user_can( 'manage_options' ); } ) ); register_rest_route( 'accessibility-toolbar-plugin/v1', '/check-license', array( 'methods' => 'POST', 'callback' => [$this->licenseUtil, 'check'], 'permission_callback' => function () { return current_user_can( 'manage_options' ); } ) ); register_rest_route( 'accessibility-toolbar-plugin/v1', '/activate-license', array( 'methods' => 'POST', 'callback' => [$this->licenseUtil, 'activate'], 'permission_callback' => function () { return current_user_can( 'manage_options' ); } ) ); register_rest_route( 'accessibility-toolbar-plugin/v1', '/notices/dismiss', array( 'methods' => 'POST', 'callback' => [$this->notices, 'dismiss'], 'permission_callback' => function () { return current_user_can( 'manage_options' ); } ) ); } public function deactivate_license(){ $verify = wp_verify_nonce($_POST['security'], 'll_form_security'); if ( !defined( 'DOING_AJAX' ) || !DOING_AJAX || !$verify){ wp_send_json([ "message" => "Unauthorized" ]); } Plugin::instance()->info['license'] = $_POST['license']; $response = wp_remote_post("https://adatoolbar.com/wp-json/limelight-checkout/v1/deactivate_license", [ 'method' => "POST", 'headers' => [ 'Content-Type' => 'application/x-www-form-urlencoded' ], 'sslverify' => false, 'body' => Plugin::instance()->info, 'data_format' => 'body' ]); if(is_wp_error($response)){ $error_message = $response->get_error_message(); wp_send_json([ "status" => "", "message" => $error_message ]); }else{ $code = wp_remote_retrieve_response_code( $response ); $parsedResponse = json_decode(wp_remote_retrieve_body( $response ), true); update_option("limelight-checkout-license", Plugin::instance()->info['license']); wp_send_json($parsedResponse); } } }