// Legacy API handler for Blender and other direct requests add_action('init', function() { if (!isset($_GET['glm_action'])) return; $action = sanitize_text_field($_GET['glm_action']); $license_key = isset($_GET['license_key']) ? sanitize_text_field($_GET['license_key']) : ''; $secret_key = isset($_GET['secret_key']) ? sanitize_text_field($_GET['secret_key']) : ''; $product_ref = isset($_GET['product_ref']) ? sanitize_text_field($_GET['product_ref']) : ''; $registered_domain = isset($_GET['registered_domain']) ? sanitize_text_field($_GET['registered_domain']) : ''; $result = null; $request = new WP_REST_Request('GET', '/'); $request->set_param('license_key', $license_key); $request->set_param('secret_key', $secret_key); $request->set_param('product_ref', $product_ref); $request->set_param('domain', $registered_domain); $request->set_param('uuid', $registered_domain); // for compatibility $request->set_param('glm_action', $action); if ($action === 'glm_check') { $result = GLM_API::check_license($request); } elseif ($action === 'glm_activate') { $result = GLM_API::activate_license($request); } elseif ($action === 'glm_deactivate') { $result = GLM_API::deactivate_license($request); } else { $result = ['success' => false, 'error' => 'Unknown action']; } header('Content-Type: application/json; charset=utf-8'); echo json_encode($result); exit; });