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 " + + + AU Management + + + + +
"; + +############################################## +# 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?

+
+ Falls ja:

+ + +

+
+
+ Falls, nein:

+ +
"; + $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"; + # 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 "
+"; +?> \ No newline at end of file -- cgit v1.2.3-55-g7522