";
if ( $pxecn != ""){
# Formulareingaben anpassen
$exppxe = explode(" ",$pxecn);
foreach ($exppxe as $word){$expuc[] = ucfirst($word);}
$pxecn = implode(" ",$expuc);
$pxecn = preg_replace ( '/\s+([0-9A-Z])/', '$1', $pxecn);
$nomac = 0;
if (count($copytargets) != 0){
foreach ($copytargets as $targetDN){
$exptargetdn = ldap_explode_dn($targetDN, 1);
$targetcn = $exptargetdn[0];
$targettype = $exptargetdn[1];
# falls Target keine MAC hat dann kann keine PXE angelegt werden
if ($targettype == "computers"){
$macdata = get_node_data($targetDN, array("hwaddress"));
if ($macdata['hwaddress'] == ""){
$nomac = 1;
echo "Für den Ziel-Rechner ist keine MAC Adresse eingetragen Das PXE Bootmenü wird nicht angelegt. Tragen Sie zuerst eine MAC ein! "; } } if ($targettype == "groups"){ $members = get_node_data($targetDN, array("member")); if (count($members) > 1){ foreach ($members['member'] as $hostDN){ $macdata = get_node_data($hostDN, array("hwaddress","hostname")); if ($macdata['hwaddress'] == ""){ $nomac = 1; echo "Für den Gruppen-Rechner ".$macdata['hostname']." ist keine MAC Adresse eingetragen Das PXE Bootmenü für die Gruppe wird nicht angelegt. Tragen Sie zuerst bei Rechner ".$macdata['hostname']." eine MAC ein! "; } } } if (count($members) == 1){ $macdata = get_node_data($members['member'], array("hwaddress")); if ($macdata['hwaddress'] == ""){ $nomac = 1; echo "Für den Gruppen-Rechner ".$macdata['hostname']." ist keine MAC Adresse eingetragen Das PXE Bootmenü für die Gruppe wird nicht angelegt. Tragen Sie zuerst bei Rechner ".$macdata['hostname']." eine MAC ein! "; } } } $brothers = get_pxeconfigs($targetDN,array("cn")); $brother = 0; foreach ($brothers as $item){ if( $item['cn'] == $pxecn ){ $mesg = "Es existiert bereits ein PXE Boot Menü mit dem eingegebenen Namen! Bitte geben Sie einen anderen Namen ein. "; $url = "pxe.php?dn=".$pxeDN."&mnr=".$mnr."&sbmnr=".$sbmnr."&mcnr=".$mcnr; $brother = 1; break; } } if ($brother == 0 && $nomac == 0){ $exptargetdn = ldap_explode_dn($targetDN, 1); $target = $exptargetdn[0]; $targettype = $exptargetdn[1]; $newpxeDN = "cn=".$pxecn.",".$targetDN; print_r($newpxeDN); echo " "; if (dive_into_tree_cp($pxeDN,$newpxeDN)){ # Filename anpassen if ($targettype == "computers"){ $macdata = get_node_data($targetDN, array("hwaddress")); $pxemac = str_replace (":","-",$macdata['hwaddress']); $entrymod ['filename'] = "01-".$pxemac; #$entrymod ['fileuri'] = "01-".$macdata['hwaddress'].".tgz"; } if ($targettype == "groups"){ $members = get_node_data($targetDN, array("member")); if (count($members) != 0){ foreach ($members['member'] as $hostDN){ $macdata = get_node_data($hostDN, array("hwaddress")); $pxemac = str_replace (":","-",$macdata['hwaddress']); $entrymod ['filename'][] = "01-".$pxemac; #$entrymod ['fileuri'] = $target.".tgz"; } } } if(ldap_mod_replace($ds,$newpxeDN,$entrymod)){ if($deltr == 1){ # Timeranges und FileURI im neuen Objekt löschen (todo: anpassen statt löschen) $entrydel ['timerange'] = array(); $entrydel ['fileuri'] = array(); if ( ldap_mod_del($ds,$newpxeDN,$entrydel) ){ $mesg .= " PXE Boot Menü erfolgreich nach ".$target[1]." kopiert "; } else{ ldap_delete($ds,$newpxeDN); $mesg .= " Fehler beim kopieren des PXE Boot Menüs nach ".$target[1]." "; } } } else{ ldap_delete($ds,$newpxeDN); $mesg .= " Fehler beim kopieren des PXE Boot Menüs nach ".$target[1]." "; } } else{ $mesg .= " Fehler beim kopieren des PXE Boot Menüs nach ".$target[1]." "; } } } } else{ $mesg .= " Sie haben kein Ziel angegeben! "; } } elseif ( $pxecn == ""){ $mesg = "Sie haben den Namen des neuen PXE Boot Menüs nicht angegeben. Dieser ist aber ein notwendiges Attribut. Bitte geben Sie ihn an. "; $url = "pxe.php?dn=".$pxeDN."&mnr=".$mnr."&sbmnr=".$sbmnr."&mcnr=".$mcnr; } $mesg .= " Sie werden automatisch auf die vorherige Seite zurückgeleitet. Falls nicht, klicken Sie hier back"; redirect($seconds, $url, $mesg, $addSessionId = TRUE); echo " |