/** * Ajax call to verify a license */ public static function ajax_verify_licence() { $option_licenses = new OptionLicenses(); $licenses = $option_licenses->get_licenses(); $license_package = isset($_POST['data']) && isset($_POST['data'][self::FIELD_LICENSE_PACKAGE]) ? $_POST['data'][self::FIELD_LICENSE_PACKAGE] : null; $license_activation_uuid = $option_licenses->get_license_activation_uuid($license_package); if (empty($license_activation_uuid)) { $licenses[$license_package] = array(self::FIELD_LICENSE_SUBSCRIPTION_NUMBER => $licenses[$license_package][self::FIELD_LICENSE_SUBSCRIPTION_NUMBER]); self::set_option_data(self::OPTION_LICENSES, $licenses); echo json_encode((object) array('status' => (object) array('state' => 'ERROR', 'message' => 'This license activation code is missing. Try to unactivate manually, by signin to your subscription account.'))); die; } $managed_solr_server = new OptionManagedSolrServer(); $response_object = $managed_solr_server->call_rest_verify_license(self::get_license_api_url(), $license_activation_uuid); if (isset($response_object) && OptionManagedSolrServer::is_response_ok($response_object)) { if (isset($licenses[$license_package])) { // Remove the license type activation $licenses = self::get_option_data(self::OPTION_LICENSES, array()); unset($licenses[$license_package][self::FIELD_NEEDS_VERIFICATION]); self::set_option_data(self::OPTION_LICENSES, $licenses); } } // Return the whole object echo json_encode($response_object); die; }