index ad0c0fe0144ab90a9cb96b0a7e55caf4aa0f1a7f..50fa53eedfa9545531ec9124b66154aafc846fd5 100644 (file)
$cv['tls']);
$ldap->cd($cv['base']);
- $res = $ldap->search("uidNumber=*",array("dn","uidNumber"));
+ $res = $ldap->search("(&(objectClass=posixAccount)(uidNumber=*))",array("dn","uidNumber"));
if(!$res){
$this->checks['uidNumber_usage']['STATUS'] = FALSE;
$this->checks['uidNumber_usage']['STATUS_MSG']= _("LDAP query failed");
/* Get winstation ou */
if($cv['generic_settings']['wws_ou_active']) {
- $winstation_ou = $cv['generic_settings']['ws_ou'];
+ $winstation_ou = $cv['generic_settings']['wws_ou'];
}else{
$winstation_ou = "ou=winstations";
}
$valid_deps['/'] = $cv['base'];
$ldap->search("(&(objectClass=gosaDepartment)(ou=*))",array("dn","ou"));
while($attrs = $ldap->fetch()){
- $valid_deps[$attrs['ou'][0]] = $attrs['dn'];
+ $valid_deps[] = $attrs['dn'];
}
/***********
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
$valid_deps['/'] = $cv['base'];
$ldap->search("(&(objectClass=gosaDepartment)(ou=*))",array("dn","ou"));
while($attrs = $ldap->fetch()){
- $valid_deps[$attrs['ou'][0]] = $attrs['dn'];
+ $valid_deps[] = $attrs['dn'];
}
/***********
}
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
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";
}
}
- }else{
+ } else {
$group_ou = trim($cv['groupou']);
if(!empty($group_ou)){
$group_ou = trim($group_ou).",";
}
- $new_group_dn = "cn=GOsa Administrators,".$group_ou.$cv['base'];
- $new_group_attrs['objectClass'] = array("gosaObject","posixGroup");
- $new_group_attrs['cn'] = "GOsa Administrators";
+ $new_group_dn = "cn=gosa_administrators,".$group_ou.$cv['base'];
+ 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]);
$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());
/* Check if there are references to this object */
- $ldap->search("(&(member=".$dn.")(|(objectClass=gosaGroupOfNames)(objectClass=groupOfNames)))",array('dn'));
+ $ldap->search("(&(member=".@LDAP::prepare4filter($dn).")(|(objectClass=gosaGroupOfNames)(objectClass=groupOfNames)))",array('dn'));
$refs = "";
while($attrs = $ldap->fetch()){
$ref_dn = $attrs['dn'];
/* Check if there are references to this object */
- $ldap->search("(&(member=".$dn.")(|(objectClass=gosaGroupOfNames)(objectClass=groupOfNames)))",array('dn'));
+ $ldap->search("(&(member=".@LDAP::prepare4filter($dn).")(|(objectClass=gosaGroupOfNames)(objectClass=groupOfNames)))",array('dn'));
$refs = "";
while($attrs = $ldap->fetch()){
$ref_dn = $attrs['dn'];
$this->outside_users[$b_dn]['ldif'] = _("User will be moved from").":<br>\t".$dn."<br>"._("to").":<br>\t".$d_dn;
/* Check if there are references to this object */
- $ldap->search("(&(member=".$dn.")(|(objectClass=gosaGroupOfNames)(objectClass=groupOfNames)))",array('dn'));
+ $ldap->search("(&(member=".@LDAP::prepare4filter($dn).")(|(objectClass=gosaGroupOfNames)(objectClass=groupOfNames)))",array('dn'));
$refs = "";
while($attrs = $ldap->fetch()){
$ref_dn = $attrs['dn'];
/* Check if root object exists */
$ldap->cd($cv['base']);
+ $ldap->set_size_limit(1);
$res = $ldap->search("(objectClass=*)");
+ $ldap->set_size_limit(0);
$err = ldap_errno($ldap->cid);
if( !$res ||
/* Get winstation ou */
if($cv['generic_settings']['wws_ou_active']) {
- $winstation_ou = $cv['generic_settings']['ws_ou'];
+ $winstation_ou = $cv['generic_settings']['wws_ou'];
}else{
$winstation_ou = "ou=winstations";
}
/* Update object references in gosaGroupOfNames */
$ogs_to_fix = array();
$ldap->cd($cv['base']);
- $ldap->search('(&(objectClass=gosaGroupOfNames)(member='.@LDAP::fix($source).'))', array('cn','member'));
+ $ldap->search('(&(objectClass=gosaGroupOfNames)(member='.@LDAP::prepare4filter($source).'))', array('cn','member'));
while ($attrs= $ldap->fetch()){
$dn = $attrs['dn'];
$attrs = $this->cleanup_array($attrs);
}
}
-// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
+//vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
?>