"; $n = array_keys($copytargets,'none'); #print_r($n); echo "
"; for ($i=0; $i"; $seconds = 2; $url = "pxe.php?dn=".$pxeDN."&mnr=".$mnr."&sbmnr=".$sbmnr."&mcnr=".$mcnr; echo " Computers Management
"; 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 "
"; ?>