From f16b01ce186de054d09a07e47570ca638315e8f6 Mon Sep 17 00:00:00 2001 From: Terranom674 Date: Mon, 17 Aug 2026 21:42:54 +0200 Subject: [PATCH] Fix XML API payload handling for Piwigo responses --- include/nc_connector_piwigo_api.inc.php | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/include/nc_connector_piwigo_api.inc.php b/include/nc_connector_piwigo_api.inc.php index 2d32362..b7e014f 100644 --- a/include/nc_connector_piwigo_api.inc.php +++ b/include/nc_connector_piwigo_api.inc.php @@ -75,6 +75,17 @@ function bratonien_tools_nc_connector_decode_api_response($body, $content_type = return $response; } +function bratonien_tools_nc_connector_api_payload(array $decoded) +{ + if (array_key_exists('result', $decoded)) + { + return $decoded['result']; + } + + unset($decoded['stat']); + return $decoded; +} + function bratonien_tools_nc_connector_piwigo_api_request($api_key_id, $api_key_secret, $method) { if (!function_exists('curl_init')) @@ -133,7 +144,7 @@ function bratonien_tools_nc_connector_piwigo_api_request($api_key_id, $api_key_s throw new RuntimeException($message); } - return $decoded['result'] ?? null; + return bratonien_tools_nc_connector_api_payload($decoded); } function bratonien_tools_nc_connector_piwigo_api_test() @@ -167,7 +178,16 @@ function bratonien_tools_nc_connector_piwigo_api_test() $methods = array(); if (is_array($method_result)) { - foreach ($method_result as $entry) + if (isset($method_result['method'])) + { + $entries = is_array($method_result['method']) ? $method_result['method'] : array($method_result['method']); + } + else + { + $entries = $method_result; + } + + foreach ($entries as $entry) { if (is_string($entry)) {