| ";
-
-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 " |