"; echo "old groupcn:"; print_r($oldgroupcn); echo "
"; echo "new groupdesc:"; print_r($groupdesc); echo "
"; echo "old groupdesc:"; print_r($oldgroupdesc); echo "

"; echo "members to delete:"; print_r($delmember); echo "

"; echo "members to add:"; print_r($addmember); echo "

"; echo "Group DN:"; print_r($groupDN); echo "
"; echo "submenuNR:"; print_r($submenu); echo "

"; */ $seconds = 2; $url = 'group.php?dn='.$groupDN.'&sbmnr='.$sbmnr; echo " AU Management
"; ############################################## # CN (DN) if ( $oldgroupcn == $groupcn ){ # $mesg = "keine Aenderung
"; } if ( $oldgroupcn != "" && $groupcn != "" && $oldgroupcn != $groupcn ){ echo "Gruppenname aendern
"; # hier noch Syntaxcheck # Formulareingaben anpassen $expgr = explode(" ",$groupcn); foreach ($expgr as $word){$expuc[] = ucfirst($word);} $groupcn = implode(" ",$expuc); $groupcn = preg_replace ( '/\s+([0-9A-Z])/', '$1', $groupcn); $newgroupDN = "cn=".$groupcn.",cn=groups,".$auDN; print_r($newgroupDN); echo "

"; modify_group_dn($groupDN, $newgroupDN); # newsubmenu holen... $url = 'group.php?dn='.$newgroupDN.'&sbmnr='.$sbmnr; } if ( $oldgroupcn != "" && $groupcn == "" ){ echo "Gruppenname loeschen!
Dieses ist Teil des DN, Sie werden die Gruppe komplett löschen

"; echo "Wollen Sie die Gruppe ".$oldgroupcn."mit seinen Hardware-Profilen (MachineConfigs) und PXE Bootmenüs wirklich löschen?

Falls ja:



Falls, nein:

"; $seconds = 600; } ######################################## # Member löschen/aufnehmen if ( count($delmember) == 0 || count($addmember) == 0 ){ # $mesg = "keine Aenderung
"; } if ( count($delmember) != 0 ){ echo "Gruppen-Mitglieder löschen
"; # hier noch Syntaxcheck # print_r($delmember); echo "

"; $i = 0; foreach ($delmember as $member){ $entry['member'][$i] = $member; $i++; } #print_r($entry); echo "

"; if ($result = ldap_mod_del($ds,$groupDN,$entry)){ # Fehler hier muessen die verbliebenen Members hin!!! # Filenames in PXEs die an der Gruppe hängen anpassen $pxes = get_pxeconfigs($groupDN,array("dn")); foreach ($pxes as $pxe){ if ( $entry['member'] > 1 ){ $j = 0; foreach ($entry['member'] as $host){ $macdata = get_node_data($host, array("hwaddress")); $entryfilename ['filename'][$j] = "01-".$macdata['hwaddress']; $j++; } } if ( $entry['member'] == 1 ){ $macdata = get_node_data($entry['member'], array("hwaddress")); $entryfilename ['filename'] = "01-".$macdata['hwaddress']; } ldap_mod_del($ds,$pxe['dn'],$entryfilename); } $mesg = "Gruppen-Mitglieder erfolgreich gelöscht

"; }else{ $mesg = "Fehler beim löschen der Gruppen-Mitglieder

"; } } if ( count($addmember) != 0 ){ echo "Gruppen-Mitglieder anlegen
"; # hier noch Syntaxcheck $members = get_node_data($groupDN,array("member")); if ( count($members['member']) == 1 ){ $member = $members['member']; $members = array(); $members['member'][] = $member; } if (count($members['member']) != 0){ foreach ($members['member'] as $member){ $entry2['member'][] = $member; } } $i = 0; foreach ($addmember as $member){ $exp = explode('_',$member); # Falls ein neues Mitglied keine MAC hat und an der Gruppe PXEs hängen # dann wird diese nicht aufgenommen ... $macdata = get_node_data($exp[0], array("hwaddress")); $pxes = get_pxeconfigs($groupDN,array("dn","filename")); if ( count($pxes) != 0 && $macdata['hwaddress'] == "" ){ echo "Rechner ".$exp[1]." hat keine MAC Adresse eingetragen.
Fü die Gruppe sind PXE Bootmenüs definiert.
Da MACs für die PXE Datei notwendig ist wird der Rechner nicht aufgenommen!"; } else{ $entry2['member'][] = $exp[0]; } $i++; } #print_r($entry2); echo "

"; if ($result = ldap_mod_replace($ds, $groupDN, $entry2)){ # PXEs die an der Gruppe hängen anpassen $pxes = get_pxeconfigs($groupDN,array("dn")); foreach ($pxes as $pxe){ if ( $entry2['member'] > 1 ){ $j = 0; foreach ($entry2['member'] as $host){ $macdata = get_node_data($host, array("hwaddress")); $entryfilename ['filename'][$j] = "01-".$macdata['hwaddress']; $j++; } } if ( $entry2['member'] == 1 ){ $macdata = get_node_data($entry2['member'], array("hwaddress")); $entryfilename ['filename'] = "01-".$macdata['hwaddress']; } ldap_mod_replace($ds,$pxe['dn'],$entryfilename); } $mesg = "Gruppen-Mitglieder erfolgreich angelegt

"; }else{ $mesg = "Fehler beim anlegen der Gruppen-Mitglieder

"; } } ##################################### # Description if ( $oldgroupdesc == $groupdesc ){ # $mesg = "keine Aenderung
"; } if ( $oldgroupdesc == "" && $groupdesc != "" ){ echo "Gruppen-Beschreibung neu anlegen
"; # hier noch Syntaxcheck $entry['description'] = $groupdesc; if($result = ldap_mod_add($ds,$groupDN,$entry)){ $mesg = "Gruppen-Beschreibung erfolgreich eingetragen

"; }else{ $mesg = "Fehler beim eintragen der Gruppen-Beschreibung

"; } } if ( $oldgroupdesc != "" && $groupdesc != "" && $oldgroupdesc != $groupdesc ){ echo "Gruppen-Beschreibung aendern
"; # hier noch Syntaxcheck $entry['description'] = $groupdesc; if($result = ldap_mod_replace($ds,$groupDN,$entry)){ $mesg = "Gruppen-Beschreibung erfolgreich geaendert

"; }else{ $mesg = "Fehler beim aendern der Gruppen-Beschreibung

"; } } if ( $oldgroupdesc != "" && $groupdesc == "" ){ echo "Gruppen-Beschreibung loeschen
"; # hier noch Syntaxcheck $entry['description'] = $oldgroupdesc; if($result = ldap_mod_del($ds,$groupDN,$entry)){ $mesg = "Gruppen-Beschreibung erfolgreich geloescht

"; }else{ $mesg = "Fehler beim loeschen der Gruppen-Beschreibung

"; } } $mesg .= "
Sie werden automatisch auf die vorherige Seite zurückgeleitet.
Falls nicht, klicken Sie hier back"; redirect($seconds, $url, $mesg, $addSessionId = TRUE); echo "
"; ?>