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);