index 2ec63d3bc6335fda18a2ea4c250ed5f862cd75a7..05954715014de87bbc5cd21fbd393dd7181419f1 100644 (file)
return(false);
}
+ $this->outside_groups = array();
while($attrs = $ldap->fetch()){
- $group_db_base = preg_replace("/^[^,]+,".normalizePreg($group_ou)."/","",$attrs['dn']);
+ $group_db_base = preg_replace("/^[^,]+,".normalizePreg($group_ou)."+,/i","",$attrs['dn']);
/* Check if entry is not an addressbook only user
* and verify that he is in a valid department
){
$attrs['selected'] = FALSE;
$attrs['ldif'] = "";
- $this->outside_users[base64_encode($attrs['dn'])] = $attrs;
+ $this->outside_groups[base64_encode($attrs['dn'])] = $attrs;
}
}
}
while($attrs = $ldap->fetch()){
- $people_db_base = preg_replace("/^[^,]+,".normalizePreg($people_ou)."/","",$attrs['dn']);
+ $people_db_base = preg_replace("/^[^,]+,".normalizePreg($people_ou)."/i","",$attrs['dn']);
/* Check if entry is not an addressbook only user
* and verify that he is in a valid department
/* Skip GOsa internal departments */
$skip_dns = array("/".$cv['peopleou']."/","/".$cv['groupou']."/","/^ou=people,/",
"/^ou=groups,/","/(,|)ou=configs,/","/(,|)ou=systems,/",
- "/^ou=apps,/","/^ou=mime,/","/^ou=aclroles,/","/^ou=incoming,/",
+ "/(,|)ou=apps,/","/(,|)ou=mime,/","/^ou=aclroles,/","/^ou=incoming,/",
"/ou=snapshots,/","/(,|)dc=addressbook,/","/^(,|)ou=machineaccounts,/",
"/(,|)ou=winstations,/");
if(!in_array($object_attrs['uid'][0],$attrs_admin_group_new['memberUid'])){
$attrs_admin_group_new['memberUid'][] = $object_attrs['uid'][0];
}
+ if ($cv['rfc2307bis']){
+ $attrs_admin_group_new['member'][] = $dn;
+ }
if($only_ldif){
- $this->acl_create_changes = _("Appending user to group administrational group: \n");
+ $this->acl_create_changes = _("Appending user to group administrational group:")." \n";
$this->acl_create_changes.= "\n"._("Before").":\n";
$this->acl_create_changes.= $fetched_attrs['dn']."\n";
$this->acl_create_changes.= $this->array_to_ldif($attrs_admin_group)."\n";
}
}
- }else{
+ } else {
$group_ou = trim($cv['groupou']);
if(!empty($group_ou)){
}
$new_group_dn = "cn=GOsa Administrators,".$group_ou.$cv['base'];
- $new_group_attrs['objectClass'] = array("gosaObject","posixGroup");
+ if ($cv['rfc2307bis']){
+ $new_group_attrs['objectClass'] = array("gosaObject","posixGroup", "groupOfNames");
+ $new_group_attrs['member'][] = $dn;
+ } else {
+ $new_group_attrs['objectClass'] = array("gosaObject","posixGroup");
+ }
$new_group_attrs['cn'] = "GOsa Administrators";
$new_group_attrs['gosaSubtreeACL'] = ":all";
$new_group_attrs['gidNumber'] = "999";
$new_group_attrs['memberUid'] = array($object_attrs['uid'][0]);
if($only_ldif){
- $this->acl_create_changes = _("Creating new administrational group: \n\n");
+ $this->acl_create_changes = _("Creating new administrational group:")." \n\n";
$this->acl_create_changes.= $new_group_dn."\n";
$this->acl_create_changes.= $this->array_to_ldif($new_group_attrs);
}else{
$ldap->cd($dn);
$res = $ldap->add($new_user);
$this->acl_create_selected = $dn;
- $this->create_admin();
+ $this->create_admin(FALSE, $dn);
if(!$res){
print_red($ldap->get_error());
}
}
-// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
+//vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
?>