X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gosa-core%2Finclude%2Fclass_filterLDAP.inc;h=34aff04a8e5652b6c00a9e61cb5bdb8df7dbb459;hb=c1afefdafd7148a79da1e9173c711839aa5be8ea;hp=8375a3832a536fc37cc6b05d193c97fe944526d7;hpb=276bccef2e66d21a62ccbcf667b7089f6a3af454;p=gosa.git diff --git a/gosa-core/include/class_filterLDAP.inc b/gosa-core/include/class_filterLDAP.inc index 8375a3832..34aff04a8 100644 --- a/gosa-core/include/class_filterLDAP.inc +++ b/gosa-core/include/class_filterLDAP.inc @@ -2,7 +2,7 @@ class filterLDAP { - static function query($base, $scope, $filter, $attributes, $category, $objectStorage= "") + static function query($base, $scope, $filter, $attributes, $category, $objectStorage= array("")) { $config= session::global_get('config'); $ldap= $config->get_ldap_link(TRUE); @@ -21,16 +21,17 @@ class filterLDAP { if (!is_array($category)) { $category= array($category); } - if (!is_array($objectStorage)) { - $objectStorage= array($objectStorage); - } - $method= (empty($objectStorage) && !($flags & GL_SUBSEARCH))?"ls":"search"; + + // Store in base - i.e. is a rdn value empty? + $storeOnBase= count($objectStorage) == 1 && empty($objectStorage[0]); + + $method= ($storeOnBase && !($flags & GL_SUBSEARCH))?"ls":"search"; // Initialize search bases $bases= array(); // Get list of sub bases to search on - if (count($objectStorage) == 0) { + if ($storeOnBase) { $bases[$base]= ""; } else { foreach ($objectStorage as $oc) {