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/host_change.php | 396 +++++++++++++++++++++
1 file changed, 396 insertions(+)
create mode 100644 ldap-site-mngmt/webinterface/computers/host_change.php
(limited to 'ldap-site-mngmt/webinterface/computers/host_change.php')
diff --git a/ldap-site-mngmt/webinterface/computers/host_change.php b/ldap-site-mngmt/webinterface/computers/host_change.php
new file mode 100644
index 00000000..71c005fa
--- /dev/null
+++ b/ldap-site-mngmt/webinterface/computers/host_change.php
@@ -0,0 +1,396 @@
+
";
+$oldattribs = $_POST['oldattribs'];
+if (count($oldattribs) != 0){
+ foreach (array_keys($oldattribs) as $key){
+ $oldatts[$key] = htmlentities($oldattribs[$key]);
+ }
+}*/
+#print_r($oldatts); echo "
";
+
+/*
+echo "new hostname:"; print_r($hostname); echo "
";
+echo "old hostname:"; print_r($oldhostname); echo "
";
+echo "new mac:"; print_r($mac); echo "
";
+echo "old mac:"; print_r($oldmac); echo "
";
+echo "new ip:"; print_r($ip); echo "
";
+echo "old ip:"; print_r($oldip); echo "
";
+echo "new desc:"; print_r($desc); echo "
";
+echo "old desc:"; print_r($olddesc); echo "
";
+echo "Host DN:"; print_r($hostDN); echo "
";
+echo "submenuNR:"; print_r($submenu); echo "
";
+*/
+
+$seconds = 2;
+$url = 'host.php?dn='.$hostDN.'&sbmnr='.$sbmnr;
+
+echo "
+
+
| ";
+
+##############################################
+# Hostname
+
+if ( $oldhostname == $hostname ){
+ $mesg = "keine Aenderung "; +} + +if ( $oldhostname != "" && $hostname != "" && $oldhostname != $hostname ){ + echo "Hostname aendern "; + # hier noch Syntaxcheck + # Formulareingaben anpassen + $exphn = explode(" ",$hostname); + foreach ($exphn as $word){$expuc[] = ucfirst($word);} + $hostname = implode(" ",$expuc); + $hostname = preg_replace ( '/\s+([0-9A-Z])/', '$1', $hostname); + + $newhostDN = "hostname=".$hostname.",cn=computers,".$auDN; + # print_r($newhostDN); echo " "; + modify_host_dn($hostDN, $newhostDN); + + # newsubmenu holen...hosts neu holen, sortieren, ->position + #$newhosts = get_hosts($auDN,array("dn")); + #print_r($newhosts); echo " "; + #foreach ($newhosts as $item){ + # $newdnarray [] = $item['dn']; + #} + #$key = array_search($newhostDN, $newdnarray); + #print_r($key); echo " "; + + $url = 'host.php?dn='.$newhostDN.'&sbmnr='.$sbmnr; + +} + +if ( $oldhostname != "" && $hostname == "" ){ + echo "Hostname loeschen! + Dies ist Teil des DN, Sie werden den Rechner komplett löschen "; + echo "Wollen Sie den Rechner ".$oldhostname." mit seinen Hardware-Profilen (MachineConfigs) + und PXE Bootmenüs wirklich löschen? + + "; + $seconds = 600; +} + + + +##################################### +# MAC + +if ( $oldmac == $mac ){ + #$mesg = "keine Aenderung "; +} + +if ( $oldmac == "" && $mac != "" ){ + echo "MAC neu anlegen "; + # hier noch Syntaxcheck + $entry['hwaddress'] = $mac; + $result = ldap_mod_add($ds,$hostDN,$entry); + if($result){ + $mesg = "MAC erfolgreich eingetragen "; + }else{ + $mesg = "Fehler beim eintragen der MAC "; + } +} + +if ( $oldmac != "" && $mac != "" && $oldmac != $mac ){ + echo "MAC aendern "; + # hier noch Syntaxcheck + $entry['hwaddress'] = $mac; + $result = ldap_mod_replace($ds,$hostDN,$entry); + if($result){ + # in den PXEs auch ändern + $pxes = get_pxeconfigs($hostDN,array("dn","filename")); + if ( count($pxes) != 0 ){ + foreach ($pxes as $pxe){ + $entrynewmac ['filename'] = "01-".$mac; + ldap_mod_replace($ds,$pxe['dn'],$entrynewmac); + } + } + # und in Gruppen PXEs + $groups = get_groups_member($auDN,array("dn"),$hostDN); + if ( count($groups) != 0 ){ + $pxes = get_pxeconfigs($groups[0]['dn'],array("dn","filename")); + if ( count($pxes) != 0 ){ + foreach ($pxes as $pxe){ + if (count($pxe['filename']) > 1){ + for ($i=0; $i + Falls Rechner-Konfiguration via File, Client-Conf Dateiname in untergeordneten + PXEs bitte auch ändern"; + }else{ + $mesg = "Fehler beim aendern der MAC "; + } +} + +if ( $oldmac != "" && $mac == "" ){ + echo "MAC loeschen "; + # check ob PXEs am Rechnerobjekt hängen + $pxes = get_pxeconfigs($hostDN,array("dn","filename")); + $groups = get_groups_member($auDN,array("dn"),$hostDN); + if ( count($groups) != 0 ){ + $pxes2 = get_pxeconfigs($groups[0]['dn'],array("dn","filename")); + } + if ( count($pxes) != 0 || count($pxes2) != 0){ + echo "Für den Rechner sind PXE Bootmenüs angelegt welche die MAC Adresse als + Dateinamen verwenden. Sie köennen die MAC erst löschen, wenn Sie diese PXEs + entfernt haben. + MAC nicht gelöscht!"; + } + else{ + # hier noch Syntaxcheck + $entry['hwaddress'] = $oldmac; + $result = ldap_mod_del($ds,$hostDN,$entry); + if($result){ + $mesg = "MAC erfolgreich geloescht "; + }else{ + $mesg = "Fehler beim loeschen der MAC "; + } + } +} + + +######################################## +# IP + +if ( $oldip == $ip ){ + # $mesg = "keine Aenderung "; +} + +if ( $oldip == "" && $ip != "" ){ + echo "IP neu anlegen "; + # hier noch Syntaxcheck + if( $syntax->check_ip_syntax($ip) ){ + $newip_array = array($ip,$ip); + $newip = implode('_',$newip_array); + # print_r($newip); echo " "; + if (new_ip_host($newip,$hostDN,$auDN)){ + $mesg = "IP erfolgreich eingetragen "; + if ($dhcptype == "subnet"){ + adjust_hostip_dhcpsubnet($ip,$hostDN,$dhcphlpcont); + } + }else{ + $mesg = "Fehler beim eintragen der IP "; + } + } + else{echo "Falsche IP Syntax ";} +} + +if ( $oldip != "" && $ip != "" && $oldip != $ip ){ + echo "IP aendern "; + # hier noch Syntaxcheck + if( $syntax->check_ip_syntax($ip) ){ + $newip_array = array($ip,$ip); + $newip = implode('_',$newip_array); + # print_r($newip); echo " "; + $oldip_array = array($oldip,$oldip); + $oldipp = implode('_',$oldip_array); + if (modify_ip_host($newip,$hostDN,$auDN)){ + $mesg = "IP erfolgreich geaendert "; + if ($dhcptype == "subnet"){ + adjust_hostip_dhcpsubnet($ip,$hostDN,$dhcphlpcont); + } + }else{ + $mesg = "Fehler beim aendern der IP "; + # oldip die schon gelöscht wurde wieder einfügen + new_ip_host($oldipp,$hostDN,$auDN); + } + } + else{echo "Falsche IP Syntax ";} +} + +if ( $oldip != "" && $ip == "" ){ + echo "IP loeschen "; + + if(delete_ip_host($hostDN,$auDN)){ + $mesg = "IP erfolgreich geloescht "; + }else{ + $mesg = "Fehler beim loeschen der IP "; + } +} + + +##################################### +# Description + +if ( $olddesc == $desc ){ + # $mesg = "keine Aenderung "; +} + +if ( $olddesc == "" && $desc != "" ){ + echo "Rechner-Beschreibung neu anlegen "; + # hier noch Syntaxcheck + $entry['description'] = $desc; + $result = ldap_mod_add($ds,$hostDN,$entry); + if($result){ + $mesg = "Rechner-Beschreibung erfolgreich eingetragen "; + }else{ + $mesg = "Fehler beim eintragen der Rechner-Beschreibung "; + } +} + +if ( $olddesc != "" && $desc != "" && $olddesc != $desc ){ + echo "Rechner-Beschreibung aendern "; + # hier noch Syntaxcheck + $entry['description'] = $desc; + $result = ldap_mod_replace($ds,$hostDN,$entry); + if($result){ + $mesg = "Rechner-Beschreibung erfolgreich geaendert "; + }else{ + $mesg = "Fehler beim aendern der Rechner-Beschreibung "; + } +} + +if ( $olddesc != "" && $desc == "" ){ + echo "Rechner-Beschreibung loeschen "; + # hier noch Syntaxcheck + $entry['description'] = $olddesc; + $result = ldap_mod_del($ds,$hostDN,$entry); + if($result){ + $mesg = "Rechner-Beschreibung erfolgreich geloescht "; + }else{ + $mesg = "Fehler beim loeschen der Rechner-Beschreibung "; + } +} + +#################################### +# restliche Attribute +/* +$entryadd = array(); +$entrymod = array(); +$entrydel = array(); + +foreach (array_keys($atts) as $key){ + + if ( $oldatts[$key] == $atts[$key] ){ + #$mesg = "keine Aenderung "; + } + if ( $oldatts[$key] == "" && $atts[$key] != "" ){ + # hier noch Syntaxcheck + $entryadd[$key] = $atts[$key]; + } + if ( $oldatts[$key] != "" && $atts[$key] != "" && $oldatts[$key] != $atts[$key] ){ + # hier noch Syntaxcheck + $entrymod[$key] = $atts[$key]; + } + if ( $oldatts[$key] != "" && $atts[$key] == "" ){ + # hier noch Syntaxcheck + $entrydel[$key] = $oldatts[$key]; + } +} +#print_r($entryadd); echo " "; +#print_r($entrymod); echo " "; +#print_r($entrydel); echo " "; + +if (count($entryadd) != 0 ){ + #print_r($entryadd); echo " "; + #echo "neu anlegen "; + foreach (array_keys($entryadd) as $key){ + $addatts .= "".$key.","; + } + if(ldap_mod_add($ds,$hostDN,$entryadd)){ + $mesg = "Attribute ".$addatts." erfolgreich eingetragen "; + }else{ + $mesg = "Fehler beim eintragen der Attribute ".$addatts." "; + } +} + +if (count($entrymod) != 0 ){ + #print_r($entrymod); echo " "; + #echo "ändern "; + foreach (array_keys($entrymod) as $key){ + $modatts .= "".$key.","; + } + if(ldap_mod_replace($ds,$hostDN,$entrymod)){ + $mesg = "Attribute ".$modatts." erfolgreich geaendert "; + }else{ + $mesg = "Fehler beim aendern der Attribute ".$modatts." "; + } +} + +if (count($entrydel) != 0 ){ + #print_r($entrydel); echo " "; + #echo "löschen "; + foreach (array_keys($entrydel) as $key){ + $delatts .= "".$key.","; + } + if(ldap_mod_del($ds,$hostDN,$entrydel)){ + $mesg = "Attribute ".$delatts." erfolgreich geloescht "; + }else{ + $mesg = "Fehler beim loeschen der Attribute ".$delatts." "; + } +} + +*/ + + +$mesg .= " Sie werden automatisch auf die vorherige Seite zurückgeleitet. + Falls nicht, klicken Sie hier back"; +redirect($seconds, $url, $mesg, $addSessionId = TRUE); + +echo " |