";
##############################################
# 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); $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; $pxemac = str_replace (":","-",$mac); $pxeoldmac = str_replace (":","-",$oldmac); $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-".$pxemac; 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); } adjust_hostip_tftpserverip($oldip,$ip); }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 "; adjust_hostip_tftpserverip($oldip,""); }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." "; } } */ if ( $dhcphlpcont != "" ){ update_dhcpmtime(array()); } $mesg .= " Sie werden automatisch auf die vorherige Seite zurückgeleitet. Falls nicht, klicken Sie hier back"; redirect($seconds, $url, $mesg, $addSessionId = TRUE); echo " |