diff --git a/gosa-core/setup/class_setupStep_Schema.inc b/gosa-core/setup/class_setupStep_Schema.inc
index ebf083a4563c8243b8dc9473cbcaeb7e6c571585..63b6ce47334cf95873ec544d325fce93d64cef5a 100644 (file)
var $enable_schema_check = TRUE;
var $samba_version = 3;
+ var $found_ocs = 0;
+
function Step_Schema()
{
$this->update_strings();
}else{
$this->is_completed = TRUE;
}
+
+ /* Check if the database is already initialised.
+ * If the root object is missing we can't read any schema informations.
+ * In this case we should display a message.
+ */
+ $cv = $this->parent->captured_values;
+
+ /* Establish ldap connection */
+ $ldap = new LDAP($cv['admin'],
+ $cv['password'],
+ $cv['connection'],
+ FALSE,
+ $cv['tls']);
+
+ /* Check if root object exists */
+ $ldap->cd($cv['base']);
+ $res = $ldap->search("(objectClass=*)");
$smarty = get_smarty();
$smarty->assign("bool",array(FALSE => _("No"), TRUE => _("Yes")));
+ $smarty->assign("database_initialised", ($res == TRUE));
+ $smarty->assign("found_ocs", $this->found_ocs);
$smarty->assign("schema_readable",$this->schema_readable);
$smarty->assign("enable_schema_check",$this->enable_schema_check);
$smarty->assign("checks",$this->checked);
/* Get objectclasses */
$ldap = new LDAP($cfg['admin'],$cfg['password'],$cfg['connection'] ,FALSE,$cfg['tls']);
$objectclasses = $ldap->get_objectclasses();
- if(count($objectclasses) == 0){
- msg_dialog::display(_("LDAP error"), _("Cannot detect information about the installed LDAP schema!"), ERROR_DIALOG);
- }
+ $this->found_ocs = count($objectclasses);
/* Which samba version do we use? */
if(isset($objectclasses['sambaSamAccount'])){