function translation_service_authentication_ajax() { $translation_service_authentication = false; if (isset($_POST['nonce'])) { $translation_service_authentication = wp_verify_nonce($_POST['nonce'], 'translation_service_authentication'); } $errors = 0; $message = ''; $invalidate = isset($_POST['invalidate']) ? $_POST['invalidate'] : false; if ($translation_service_authentication) { if ($invalidate) { $result = TranslationProxy::invalidate_service(TranslationProxy::get_current_service_id()); if (!$result) { $message = __('Unable to invalidate this service. Please contact WPML support.', 'wpml-translation-management'); $errors++; } else { $message = __('Service invalidated.', 'wpml-translation-management'); } } else { if (isset($_POST['custom_fields'])) { $custom_fields_data_serialized = $_POST['custom_fields']; $custom_fields_data = json_decode(stripslashes($custom_fields_data_serialized), true); $result = TranslationProxy::authenticate_service($_POST['service_id'], $custom_fields_data); if (!$result) { $message = __('Unable to activate this service. Please check entered data and try again.', 'wpml-translation-management'); $errors++; } else { $message = __('Service activated.', 'wpml-translation-management'); } } } } else { $message = __('You are not allowed to perform this action.', 'wpml-translation-management'); $errors++; } $response = array('errors' => $errors, 'message' => $message, 'reload' => !$errors ? 1 : 0); echo wp_json_encode($response); die; }