index 4a901123ea6128c0fc6f4884ff01dce789cb74d6..49aa77226df402ff31922b0a83f03d3ac42d7d97 100644 (file)
$ldap = $this->config->get_ldap_link();
- $ldap->cat($this->dn);
+ $ldap->cat($this->dn,array("objectClass"));
if($ldap->count()!=0){
/* Write FAIscript to ldap*/
$ldap->cd($this->dn);
$this->cleanup();
-$ldap->modify ($this->attrs);
+ $ldap->modify ($this->attrs);
}else{
/* Write FAIscript to ldap*/
$ldap->cd($this->dn);
$ldap->add($this->attrs);
}
- show_ldap_error($ldap->get_error());
+ show_ldap_error($ldap->get_error(), sprintf(_("Saving of FAI/variable with dn '%s' failed."),$this->dn));
/* Do object tagging */
$this->handle_object_tagging();
- show_ldap_error($ldap->get_error());
/* Prepare FAIscriptEntry to write it to ldap
* First sort array.
$sub_dn = "cn=".$obj['cn'].",".$this->dn;
if($obj['status']=="new"){
- $ldap->cat($sub_dn);
+ $ldap->cat($sub_dn,array("objectClass"));
if($ldap->count()){
- $obj['status']="modify";
+ $obj['status']="edited";
+ }
+ }
+
+ /* Check if gosaAdministrativeUnitTag is required as object class */
+ if($obj['status'] == "edited"){
+ $ldap->cat($sub_dn,array("objectClass"));
+ $attrs = $ldap->fetch();
+ if(isset($attrs['objectClass'])){
+ if(in_array_ics("gosaAdministrativeUnitTag",$attrs['objectClass'])){
+ $tmp['objectClass'][] = "gosaAdministrativeUnitTag";
+ }
}
}
$ldap->cd($sub_dn);
$ldap->rmdir_recursive($sub_dn);
$this->handle_post_events("remove");
+ show_ldap_error($ldap->get_error(), sprintf(_("Removing of FAI/variable with dn '%s' failed."),$sub_dn));
}elseif($obj['status'] == "edited"){
$ldap->cd($sub_dn);
$this->cleanup();
-$ldap->modify ($tmp);
+ $ldap->modify ($tmp);
$this->handle_post_events("modify");
+ show_ldap_error($ldap->get_error(), sprintf(_("Saving of FAI/variable with dn '%s' failed."),$sub_dn));
}elseif($obj['status']=="new"){
if($tmp['description'] == array()){
$ldap->cd($sub_dn);
$ldap->add($tmp);
$this->handle_post_events("add");
+ show_ldap_error($ldap->get_error(), sprintf(_("Saving of FAI/variable with dn '%s' failed."),$sub_dn));
}
- show_ldap_error($ldap->get_error());
$this->handle_object_tagging($sub_dn, $this->gosaUnitTag);
- show_ldap_error($ldap->get_error());
}
}
}