summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 691075d)
raw | patch | inline | side by side (parent: 691075d)
author | cajus <cajus@594d385d-05f5-0310-b6e9-bd551577e9d8> | |
Mon, 22 Feb 2010 08:40:27 +0000 (08:40 +0000) | ||
committer | cajus <cajus@594d385d-05f5-0310-b6e9-bd551577e9d8> | |
Mon, 22 Feb 2010 08:40:27 +0000 (08:40 +0000) |
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@15659 594d385d-05f5-0310-b6e9-bd551577e9d8
gosa-core/include/class_filterLDAP.inc | patch | blob | history |
index 8375a3832a536fc37cc6b05d193c97fe944526d7..34aff04a8e5652b6c00a9e61cb5bdb8df7dbb459 100644 (file)
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);
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) {