From 59cf91925ca8da43d2427331b23e4673b0e53095 Mon Sep 17 00:00:00 2001 From: Tarik Gasmi Date: Mon, 14 May 2007 08:03:48 +0000 Subject: Other webinterface data. git-svn-id: http://svn.openslx.org/svn/openslx/trunk@1077 95ad53e4-c205-0410-b2fa-d234c58c8868 --- .../webinterface/computers/group_change.php | 252 +++++++++++++++++++++ 1 file changed, 252 insertions(+) create mode 100644 ldap-site-mngmt/webinterface/computers/group_change.php (limited to 'ldap-site-mngmt/webinterface/computers/group_change.php') diff --git a/ldap-site-mngmt/webinterface/computers/group_change.php b/ldap-site-mngmt/webinterface/computers/group_change.php new file mode 100644 index 00000000..cb26a429 --- /dev/null +++ b/ldap-site-mngmt/webinterface/computers/group_change.php @@ -0,0 +1,252 @@ +"; +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 "
+"; +?> \ No newline at end of file -- cgit v1.2.3-55-g7522