diff --git a/config/config.php.example b/config/config.php.example index 8b49506a..a8a0d06b 100644 --- a/config/config.php.example +++ b/config/config.php.example @@ -458,6 +458,11 @@ $servers->setValue('server','name','My LDAP Server'); /* Set this if you dont want this LDAP server to show in the tree */ // $servers->setValue('server','visible',true); +/* Set this if you want to hide the base DNs that dont exist instead of + displaying the message "The base entry doesnt exist, create it?" +// $servers->setValue('server','hide_noaccess_base',false); +# $servers->setValue('server','hide_noaccess_base',true); + /* This is the time out value in minutes for the server. After as many minutes of inactivity you will be automatically logged out. If not set, the default value will be ( session_cache_expire()-1 ) */ diff --git a/lib/Tree.php b/lib/Tree.php index b3efcf9a..38a11d28 100644 --- a/lib/Tree.php +++ b/lib/Tree.php @@ -103,7 +103,7 @@ abstract class Tree { $return = array(); foreach ($this->entries as $details) - if ($details->isBaseDN()) + if ($details->isBaseDN() AND ((! $this->getServer()->getValue('server','hide_noaccess_base')) OR $details->isInLdap())) array_push($return,$details); return $return; diff --git a/lib/ds.php b/lib/ds.php index 8be379a5..8b170fdd 100644 --- a/lib/ds.php +++ b/lib/ds.php @@ -542,6 +542,10 @@ class Datastore { 'desc'=>'Whether this server is visible', 'default'=>true); + $this->default->server['hide_noaccess_base'] = array( + 'desc'=>'If base DNs are not accessible, hide them instead of showing create', + 'default'=>false); + # Authentication Information $this->default->login['auth_type'] = array( 'desc'=>'Authentication Type',