diff --git a/doc/api/api.docbook b/doc/api/api.docbook index 3c28206c..d6f39e52 100644 --- a/doc/api/api.docbook +++ b/doc/api/api.docbook @@ -201,6 +201,13 @@ valeur n'a pas d'importance. + + as_list + Permet de réclamer un résultat de recherche dans lequel, la clé + objects sera une liste et non un dictionnaire. Dans ce cas, le DN de l'objet est fourni + dans la clé dn des détails des objets. + + withoutCache Booléen permettant de désactiver l'utilisation du cache. Les valeurs acceptées diff --git a/src/includes/routes.php b/src/includes/routes.php index 2fcd2140..1363b6a7 100644 --- a/src/includes/routes.php +++ b/src/includes/routes.php @@ -1620,6 +1620,9 @@ function handle_api_LSobject_search($request) { $data['objects'][$obj -> dn] = array( 'name' => $obj -> displayName, ); + // When as_list enabled, put object DN in object details (otherwise, is present as key) + if (isset($_REQUEST['as_list'])) + $data['objects'][$obj -> dn]['dn'] = $obj -> dn; if ($search -> displaySubDn) $data['objects'][$obj -> dn][$search -> label_level] = $obj -> subDn; if ($search -> extraDisplayedColumns) { @@ -1632,6 +1635,9 @@ function handle_api_LSobject_search($request) { $data['objects'][$obj -> dn][$attr] = $obj -> $attr; } } + // Handle as_list parameter + if (isset($_REQUEST['as_list'])) + $data['objects'] = array_values($data['objects']); LSsession :: displayAjaxReturn($data); } LSurl :: add_handler('#^api/1.0/object/(?P[^/]+)/?$#', 'handle_api_LSobject_search', true, false, true);