diff options
author | Tarik Gasmi | 2007-05-14 10:03:48 +0200 |
---|---|---|
committer | Tarik Gasmi | 2007-05-14 10:03:48 +0200 |
commit | 59cf91925ca8da43d2427331b23e4673b0e53095 (patch) | |
tree | 871f39414143192cb3e8bd6f4bd2b7462e7076b9 /ldap-site-mngmt/webinterface/rbs | |
parent | Some webinterface data. (diff) | |
download | core-59cf91925ca8da43d2427331b23e4673b0e53095.tar.gz core-59cf91925ca8da43d2427331b23e4673b0e53095.tar.xz core-59cf91925ca8da43d2427331b23e4673b0e53095.zip |
Other webinterface data.
git-svn-id: http://svn.openslx.org/svn/openslx/trunk@1077 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'ldap-site-mngmt/webinterface/rbs')
46 files changed, 6104 insertions, 0 deletions
diff --git a/ldap-site-mngmt/webinterface/rbs/delete_confirm.php b/ldap-site-mngmt/webinterface/rbs/delete_confirm.php new file mode 100644 index 00000000..11a04dfd --- /dev/null +++ b/ldap-site-mngmt/webinterface/rbs/delete_confirm.php @@ -0,0 +1,90 @@ +<?php +include('../standard_header.inc.php'); + +$dn = $_POST['dn']; +$name = $_POST['name']; +$delurl = $_POST['delurl']; +$backurl = $_POST['backurl']; +$successurl = $_POST['successurl']; + +$type = $_POST['type']; +$pxedn = $_POST['pxedn']; + +echo " +<html> +<head> + <title>AU Management</title> + <link rel='stylesheet' href='../styles.css' type='text/css'> +</head> +<body> +<table border='0' cellpadding='30' cellspacing='0'> + <tr> + <td>"; + + +if($type == "gbm"){ + $gbmDN = $dn; + $attribs = array("dn"); + if(!($result = uniLdapSearch($ds, "ou=RIPM,".$suffix, "(&(objectclass=MenuEntry)(genericmenuentrydn=$gbmDN))", $attribs, "dn", "sub", 0, 0))) { + # redirect(5, "", $ldapError, FALSE); + echo "no search"; + die; + } + else{ + $result = ldapArraySauber($result); + if (count($result) > 0){ + echo "Folgende Menü Einträge sind davon betroffen: <br><br>"; + foreach ($result as $item){ + $exp = ldap_explode_dn($item['dn'], 1); + echo "Menü Eintrag <b>".$exp[0]."</b> in PXE Bootmenü <b>".$exp[1]."</b> [ Abteilung: ".$exp[4]." ]<br>"; + } + } + else{ + echo "Keine Menü Einträge davon betroffen!<br>"; + } + } +} + +if($type == "rbs"){ + $rbsDN = $dn; + $attribs = array("dn"); + if(!($result = uniLdapSearch($ds, "ou=RIPM,".$suffix, "(&(objectclass=PXEConfig)(rbservicedn=$rbsDN))", $attribs, "dn", "sub", 0, 0))) { + # redirect(5, "", $ldapError, FALSE); + echo "no search"; + die; + } + else{ + $result = ldapArraySauber($result); + if (count($result) > 0){ + echo "Folgende PXE Boot Menüs sind davon betroffen: <br><br>"; + foreach ($result as $item){ + $exp = ldap_explode_dn($item['dn'], 1); + echo "PXE Boot Menü <b>".$exp[0]."</b> an Objekt <b>".$exp[1]."</b> [ Abteilung: ".$exp[3]." ]<br>"; + } + } + else{ + echo "Keine PXE Boot Menüs davon betroffen!<br>"; + } + } +} + + echo "<br><br> + Wollen Sie das Objekt <b>".$name."</b> wirklich löschen?<br><br> + <form action='".$delurl."' method='post'> + Falls ja:<br><br> + <input type='hidden' name='dn' value='".$dn."'> + <input type='hidden' name='name' value='".$name."'> + <input type='hidden' name='successurl' value='".$successurl."'> + <input type='hidden' name='pxedn' value='".$pxedn."'> + <input type='Submit' name='apply' value='löschen' class='small_loginform_button'><br><br> + </form> + <form action='".$backurl."' method='post'> + Falls, nein:<br><br> + <input type='Submit' name='apply' value='zurück' class='small_loginform_button'> + </form> + </td> + </tr> +</table> +</body> +</html>"; +?>
\ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/rbs/gbm.dwt b/ldap-site-mngmt/webinterface/rbs/gbm.dwt new file mode 100644 index 00000000..b2f77800 --- /dev/null +++ b/ldap-site-mngmt/webinterface/rbs/gbm.dwt @@ -0,0 +1,129 @@ +<table border='0' cellpadding='5' cellspacing='0' width='100%'> + <tr> + <td colspan='2'><h3>Generisches Boot Image <code class='font_object'> {GBMCN} </code> </h3></td> + </tr> + <tr> + <td height='20'></td> + </tr> + <tr><td> + <table cellpadding='7' cellspacing='0' border='1' align='left' width='90%' style='border-width: 0 0 0 0;'> + + <form action='gbm_change.php' method='post'> + + <tr> + <td width='40%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>Attribut</b></td> + <td width='60%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>Wert</b></td> + </tr> + + <tr height='50'> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Eindeutiger Name (cn):</b><br>(Teil des dn, ohne Leerzeichen eingeben) </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='gbmcn' value='{GBMCN}' size='50' class='medium_form_field'> + <input type='hidden' name='oldgbmcn' value='{GBMCN}'> + </td> + </tr> + + </table></td> + </tr> + <tr> + <td height='40'></td> + </tr> + <tr> + <td colspan='2'><h4>KERNEL und APPEND Parameter:</h4></td> + </tr> + <tr> + <td height='10'></td> + </tr> + <tr><td> + <table cellpadding='7' cellspacing='0' border='1' align='left' width='90%' style='border-width: 0 0 0 0;'> + + <tr> + <td width='30%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>Attribut</b></td> + <td width='25%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>Server Pfad</b></td> + <td width='15%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>Wert</b></td> + <td width='30%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>Wert</b></td> + </tr> + <tr height='50'> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>KERNEL Image: </td> + <td align='right' style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <font size='+1'>{TFTP}::{TFTPPATH}</font></td> + <td colspan='2' style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[kernel]' value='{KERNEL}' size='45' class='medium_form_field'> + <input type='hidden' name='oldattribs[kernel]' value='{KERNEL}'> + </td> + </tr> + <tr height='50'> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Initialram FS <br>(APPEND initrd=..): </b></td> + <td align='right' style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <font size='+1'>{TFTP}::{TFTPPATH}</font></td> + <td colspan='2' style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[initrd]' value='{INITRD}' size='45' class='medium_form_field'> + <input type='hidden' name='oldattribs[initrd]' value='{INITRD}'> + </td> + </tr> + <tr valign='top'> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Root Filesystem <br>(APPEND rootfs=..): </b></td> + <td colspan='2' style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + {SELECTOPTIONS} + </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[rootfspath]' value='{ROOTFS}' size='30' class='medium_form_field'> + <input type='hidden' name='oldattribs[rootfspath]' value='{ROOTFS}'> + </td> + </tr> + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>IPAPPEND: </b> </td> + <td align='right' style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> </td> + <td colspan='2' style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[ipappend]' value='{IPAPPEND}' size='2' class='medium_form_field'> + <input type='hidden' name='oldattribs[ipappend]' value='{IPAPPEND}'> + </td> + </tr> + + <input type='hidden' name='gbmdn' value='{GBMDN}'> + <input type='hidden' name='rbsdn' value='{RBSDN}'> + <input type='hidden' name='mnr' value='{MNR}'> + <input type='hidden' name='sbmnr' value='{SBMNR}'> + + </table></td> + </tr> + <tr> + <td><input type='Submit' name='apply' value='anwenden' class='small_loginform_button'> + </form></td> + </tr> + + + <tr> + <td height='40'></td> + </tr> + + <tr> + <td colspan='2'><h4>Generisches Boot Image <code class='font_object'>{GBMCN}</code> löschen:</h4></td> + </tr> + <tr> + <td> + <table cellpadding='7' cellspacing='0' border='0' align='left' width='90%' style='border-width: 0 0 0 0;'> + <form action='delete_confirm.php' method='post'> + + + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 0;'> + Das generische Boot Image wird komplett gelöscht. + </tr> + + <input type='hidden' name='dn' value='{GBMDN}'> + <input type='hidden' name='name' value='{GBMCN}'> + <input type='hidden' name='type' value='gbm'> + <input type='hidden' name='delurl' value='gbm_delete.php'> + <input type='hidden' name='backurl' value='gbm.php?dn={GBMDN}&mnr={MNR}&sbmnr={SBMNR}'> + + </table></td> + </tr> + <tr> + <td> + <input type='Submit' name='apply' value='löschen' class='small_loginform_button'> + </form></td> + </tr> + + +</table>
\ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/rbs/gbm.php b/ldap-site-mngmt/webinterface/rbs/gbm.php new file mode 100644 index 00000000..59aefc5a --- /dev/null +++ b/ldap-site-mngmt/webinterface/rbs/gbm.php @@ -0,0 +1,110 @@ +<?php +include('../standard_header.inc.php'); + +# 1. Seitentitel - wird in der Titelleiste des Browser angezeigt. +$titel = "Remote Boot Service Management"; +# 2. Nummer des zugehörigen Hauptmenus (Registerkarte) beginnend bei 0, siehe Dokumentation.doc. +$mainnr = 4; +$mnr = -1; +$sbmnr = -1; +# 3. Dateiname und evtl. Pfad des Templates für die Webseite +$webseite = "gbm.dwt"; + +include("../class.FastTemplate.php"); + +include('rbs_header.inc.php'); + +################################################################################### + +$mnr = $_GET['mnr']; +$sbmnr = $_GET['sbmnr']; + +# Menuleisten erstellen +createMainMenu($rollen, $mainnr); +createRBSMenu($rollen, $mnr, $auDN, $sbmnr); + +################################################################################### + +$gbmDN = $_GET['dn']; + +# rbservice und pxe daten (voerst nur ein rbs) +$rbs_array = get_rbservices($auDN,array("dn","cn")); +$rbsDN = $rbs_array[0]['dn']; +# RBS Daten +$rbs_data = get_node_data($rbsDN, array("cn","nfsserverip","exportpath","tftpserverip","tftppath","nbdserverip")); +$template->assign(array("RBSCN" => $rbs_data['cn'], + "NFS" => $rbs_data['nfsserverip'], + "NFSPATH" => $rbs_data['exportpath'], + "TFTP" => $rbs_data['tftpserverip'], + "TFTPPATH" => $rbs_data['tftppath'], + "NBD" => $rbs_data['nbdserverip'])); + + +$template->assign(array("GBMDN" => $gbmDN, + "GBMCN" => "", + "LABEL" => "", + "KERNEL" => "", + "INITRD" => "", + "FSTYPE" => "", + "ROOTFS" => "", + "IPAPPEND" => "")); + +# GBM Daten +$attributes = array("dn","cn","label","kernel","initrd","rootfstype","rootfspath","ipappend"); +$gbm = get_node_data($gbmDN, $attributes); + +if ($gbm['rootfstype'] == 'nfs'){ + $options = "<select name='rootfstype' size='4' class='rootfs_form_selectbox'> + <option value='nfs' selected><b>nfs://".$rbs_data['nfsserverip'].":/".$rbs_data['exportpath']."</b></option> + <option value=''>---------------------------------</option> + <option value='nbd'>nbd://".$rbs_data['nbdserverip'].":</option> + <option value='dnbd'>dnbd://".$rbs_data['nbdserverip'].":</option> + </select> + <input type='hidden' name='oldrootfstype' value='".$gbm['rootfstype']."'>"; +} +if ($gbm['rootfstype'] == 'nbd'){ + $options = "<select name='rootfstype' size='4' class='rootfs_form_selectbox'> + <option value='nbd' selected><b>nbd://".$rbs_data['nbdserverip'].":</b></option> + <option value=''>---------------------------------</option> + <option value='nfs'>nfs://".$rbs_data['nfsserverip'].":/".$rbs_data['exportpath']."</option> + <option value='dnbd'>dnbd://".$rbs_data['nbdserverip'].":</option> + </select> + <input type='hidden' name='oldrootfstype' value='".$gbm['rootfstype']."'>"; +} +if ($gbm['rootfstype'] == 'dnbd'){ + $options = "<select name='rootfstype' size='4' class='rootfs_form_selectbox'> + <option value='dnbd' selected><b>dnbd://".$rbs_data['nbdserverip'].":</b></option> + <option value=''>---------------------------------</option> + <option value='nfs'>nfs://".$rbs_data['nfsserverip'].":/".$rbs_data['exportpath']."</option> + <option value='nbd'>nbd://".$rbs_data['nbdserverip'].":</option> + </select> + <input type='hidden' name='oldrootfstype' value='".$gbm['rootfstype']."'>"; +} +if ($gbm['rootfstype'] != 'nfs' && $gbm['rootfstype'] != 'nbd' && $gbm['rootfstype'] != 'dnbd'){ + $options = "<select name='rootfstype' size='4' class='rootfs_form_selectbox'> + <option value='' selected>---------------------------------</option> + <option value='nfs'><b>nfs://".$rbs_data['nfsserverip'].":/".$rbs_data['exportpath']."</b></option> + <option value='nbd'>nbd://".$rbs_data['nbdserverip'].":</option> + <option value='dnbd'>dnbd://".$rbs_data['nbdserverip'].":</option> + </select> + <input type='hidden' name='oldrootfstype' value=''>"; +} + + +$template->assign(array("GBMCN" => $gbm['cn'], + "LABEL" => $gbm['label'], + "KERNEL" => $gbm['kernel'], + "INITRD" => $gbm['initrd'], + "SELECTOPTIONS" => $options, + "ROOTFS" => $gbm['rootfspath'], + "IPAPPEND" => $gbm['ipappend'], + "RBSDN" => $rbsDN, + "MNR" => $mnr, + "SBMNR" => $sbmnr)); + + +################################################################################### + +include("rbs_footer.inc.php"); + +?>
\ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/rbs/gbm_add.php b/ldap-site-mngmt/webinterface/rbs/gbm_add.php new file mode 100644 index 00000000..2202b4fb --- /dev/null +++ b/ldap-site-mngmt/webinterface/rbs/gbm_add.php @@ -0,0 +1,68 @@ +<?php +include('../standard_header.inc.php'); + +$gbmcn = $_POST['gbmcn']; $gbmcn = htmlentities($gbmcn); +$rbsDN = $_POST['rbsdn']; + +$mnr = $_POST['mnr']; +$sbmnr = $_POST['sbmnr']; + +$attribs = $_POST['attribs']; +if (count($attribs) != 0){ + foreach (array_keys($attribs) as $key){ + $atts[$key] = htmlentities($attribs[$key]); + } +} +# print_r($meatts); echo "<br><br>"; + +$seconds = 2; +$get_gbmcn = str_replace ( " ", "_", $gbmcn ); +$url = "gbm.php?gbmcn=".$get_gbmcn."&mnr=".$mnr."&sbmnr=".$sbmnr; + +echo " +<html> +<head> + <title>Computers Management</title> + <link rel='stylesheet' href='../styles.css' type='text/css'> +</head> +<body> +<table border='0' cellpadding='30' cellspacing='0'> +<tr><td>"; + + +if ( $gbmcn != "" && $gbmcn != "Hier_NAME_eintragen" ){ + + # Formulareingaben anpassen + $expgbm = explode(" ",$gbmcn); + foreach ($expgbm as $word){$expuc[] = ucfirst($word);} + $gbmcn = implode(" ",$expuc); + $gbmcn = preg_replace ( '/\s+([0-9A-Z])/', '$1', $gbmcn); + + $gbmDN = "cn=".$gbmcn.",".$rbsDN; + + if (add_gbm($gbmDN,$gbmcn,$atts)){ + $mesg .= "<br>Neuen Generischen Menü Eintrag erfolgreich angelegt<br>"; + $url = "gbm_overview.php"; + } + else{ + $mesg .= "<br>Fehler beim anlegen des Generischen Menü Eintrags!<br>"; + } +} + +elseif ( $gbmcn == "" || $gbmcn == "Hier_NAME_eintragen" ){ + + $mesg = "Sie haben den Namen des neuen Generischen Menü Eintrags nicht angegeben. + Dies ist aber ein notwendiges Attribut.<br> + Bitte geben Sie sie an.<br><br>"; + $url = "new_gbm.php?gbmcn=Hier_NAME_eintragen&mnr=".$mnr."&sbmnr=".$sbmnr; +} + + + +$mesg .= "<br>Sie werden automatisch auf die vorherige Seite zurückgeleitet. <br> + Falls nicht, klicken Sie hier <a href=".$url." style='publink'>back</a>"; +redirect($seconds, $url, $mesg, $addSessionId = TRUE); + +echo "</td></tr></table></body> +</html>"; +?>
\ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/rbs/gbm_change.php b/ldap-site-mngmt/webinterface/rbs/gbm_change.php new file mode 100644 index 00000000..86067acd --- /dev/null +++ b/ldap-site-mngmt/webinterface/rbs/gbm_change.php @@ -0,0 +1,210 @@ +<?php +include('../standard_header.inc.php'); + +$gbmcn = $_POST['gbmcn']; $gbmcn = htmlentities($gbmcn); +$oldgbmcn = $_POST['oldgbmcn']; + +$gbmDN = $_POST['gbmdn']; +$rbsDN = $_POST['rbsdn']; +$mnr = $_POST['mnr']; +$sbmnr = $_POST['sbmnr']; + +$rootfstype = $_POST['rootfstype']; +$oldrootfstype = $_POST['oldrootfstype']; + +$attribs = $_POST['attribs']; +if (count($attribs) != 0){ + foreach (array_keys($attribs) as $key){ + $atts[$key] = htmlentities($attribs[$key]); + } +} +# print_r($meatts); echo "<br><br>"; +$oldattribs = $_POST['oldattribs']; +if (count($oldattribs) != 0){ + foreach (array_keys($oldattribs) as $key){ + $oldatts[$key] = htmlentities($oldattribs[$key]); + } +} +#print_r($oldatts); echo "<br><br>"; + + +$seconds = 2; +$get_mecn = str_replace ( " ", "_", $mecn ); +$url = "gbm.php?dn=".$gbmDN."&mnr=".$mnr."&sbmnr=".$sbmnr; + +echo " +<html> +<head> + <title>Computers Management</title> + <link rel='stylesheet' href='../styles.css' type='text/css'> +</head> +<body> +<table border='0' cellpadding='30' cellspacing='0'> +<tr><td>"; + +############################################## +# GBM CN (DN) + +if ( $oldgbmcn == $gbmcn ){ + # $mesg = "keine Aenderung<br>"; +} + +if ( $oldgbmcn != "" && $gbmcn != "" && $oldgbmcn != $gbmcn ){ + echo "Name Generisches Boot Menü aendern<br>"; + # hier noch Syntaxcheck + # Formulareingaben anpassen + $expgbm = explode(" ",$gbmcn); + foreach ($expgbm as $word){$expuc[] = ucfirst($word);} + $gbmcn = implode(" ",$expuc); + $gbmcn = preg_replace ( '/\s+([0-9A-Z])/', '$1', $gbmcn); + + + $newgbmDN = "cn=".$gbmcn.",".$rbsDN; + print_r($newgbmDN); echo "<br><br>"; + + if(move_subtree($gbmDN, $newgbmDN)){ + adjust_gbm_dn($newgbmDN, $gbmDN); + $mesg = "Name Generisches Bootmenü erfolgreich geändert<br><br>"; + $gbmDN = $newgbmDN; + }else{ + $mesg = "Fehler beim ändern des Namen des Generischen Bootmenüs!<br><br>"; + } + + # newsubmenu holen... + $url = "gbm.php?dn=".$newgbmDN."&mnr=".$mnr."&sbmnr=".$sbmnr; +} + +if ( $oldgbmcn != "" && $gbmcn == "" ){ + echo "Name Generisches Bootmenü loeschen!<br> + Dieses ist Teil des DN, Sie werden des Generische Boot Menü komplett löschen<br><br>"; + echo "Wollen Sie das Generische Boot Menü <b>".$oldgbmcn."</b> wirklich löschen?<br><br> + <form action='gbm_delete.php' method='post'> + Falls ja:<br><br> + <input type='hidden' name='dn' value='".$gbmDN."'> + <input type='hidden' name='name' value='".$oldgbmcn."'> + <input type='Submit' name='apply' value='löschen' class='small_loginform_button'><br><br> + </form> + <form action='".$url."' method='post'> + Falls, nein:<br><br> + <input type='Submit' name='apply' value='zurück' class='small_loginform_button'> + </form>"; + $seconds = 600; +} + +################################### +# RootFS Type + +if ( $oldrootfstype == $rootfstype ){ + # $mesg = "keine Aenderung<br>"; +} + +if ( $oldrootfstype == "" && $rootfstype != "" ){ + $entryadd ['rootfstype'] = $rootfstype; + if(ldap_mod_add($ds,$gbmDN,$entryadd)){ + $mesg = "Attribute <b>RootfsType</b> erfolgreich eingetragen<br><br>"; + }else{ + $mesg = "Fehler beim eintragen der Attribute <b>RootfsType</b><br><br>"; + } +} + + +if ( $oldrootfstype != "" && $rootfstype != "" && $oldrootfstype != $rootfstype ){ + echo "Root FS Type ändern<br>"; + $entrymod ['rootfstype'] = $rootfstype; + if(ldap_mod_replace($ds,$gbmDN,$entrymod)){ + $mesg = "Attribute <b>RootfsType</b> erfolgreich geaendert<br><br>"; + }else{ + $mesg = "Fehler beim aendern der Attribute <b>RootfsType</b><br><br>"; + } +} + + +if ( $oldrootfstype != "" && $rootfstype == "" ){ + echo "Root FS Type löschen!<br>"; + $entrydel ['rootfstype'] = array(); + if(ldap_mod_del($ds,$gbmDN,$entrydel)){ + $mesg = "Attribute <b>RootfsType</b> erfolgreich geloescht<br><br>"; + }else{ + $mesg = "Fehler beim loeschen der Attribute <b>RootfsType</b><br><br>"; + } +} + + +################################### +# restliche Attribute + +$entryadd = array(); +$entrymod = array(); +$entrydel = array(); + +foreach (array_keys($atts) as $key){ + + if ( $oldatts[$key] == $atts[$key] ){ + # nix + } + 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 "<br>"; +#print_r($entrymod); echo "<br>"; +#print_r($entrydel); echo "<br>"; + +if (count($entryadd) != 0 ){ + #print_r($entryadd); echo "<br>"; + #echo "neu anlegen<br>"; + foreach (array_keys($entryadd) as $key){ + $addatts .= "<b>".$key."</b>,"; + } + if(ldap_mod_add($ds,$gbmDN,$entryadd)){ + $mesg = "Attribute ".$addatts." erfolgreich eingetragen<br><br>"; + }else{ + $mesg = "Fehler beim eintragen der Attribute ".$addatts."<br><br>"; + } +} + +if (count($entrymod) != 0 ){ + #print_r($entrymod); echo "<br>"; + #echo "ändern<br>"; + foreach (array_keys($entrymod) as $key){ + $modatts .= "<b>".$key."</b>,"; + } + if(ldap_mod_replace($ds,$gbmDN,$entrymod)){ + $mesg = "Attribute ".$modatts." erfolgreich geaendert<br><br>"; + }else{ + $mesg = "Fehler beim aendern der Attribute ".$modatts."<br><br>"; + } +} + +if (count($entrydel) != 0 ){ + #print_r($entrydel); echo "<br>"; + #echo "löschen<br>"; + foreach (array_keys($entrydel) as $key){ + $delatts .= "<b>".$key."</b>,"; + } + if(ldap_mod_del($ds,$gbmDN,$entrydel)){ + $mesg = "Attribute ".$delatts." erfolgreich geloescht<br><br>"; + }else{ + $mesg = "Fehler beim loeschen der Attribute ".$delatts."<br><br>"; + } +} + + + + +$mesg .= "<br>Sie werden automatisch auf die vorherige Seite zurückgeleitet. <br> + Falls nicht, klicken Sie hier <a href=".$url." style='publink'>back</a>"; +redirect($seconds, $url, $mesg, $addSessionId = TRUE); + +echo "</td></tr></table></body> +</html>"; +?>
\ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/rbs/gbm_delete.php b/ldap-site-mngmt/webinterface/rbs/gbm_delete.php new file mode 100644 index 00000000..8777981a --- /dev/null +++ b/ldap-site-mngmt/webinterface/rbs/gbm_delete.php @@ -0,0 +1,40 @@ +<?php +include('../standard_header.inc.php'); + +$gbmDN = $_POST['dn']; +$gbmcn = $_POST['name']; + +$seconds = 1; +$url = "gbm_overview.php?"; + +echo " +<html> +<head> + <title>Computers Management</title> + <link rel='stylesheet' href='../styles.css' type='text/css'> +</head> +<body> +<table border='0' cellpadding='30' cellspacing='0'> +<tr><td>"; + +if ( $gbmDN != ""){ + + clean_up_del_gbm($gbmDN); + if ( dive_into_tree_del($gbmDN,"") ){ + clean_up_del_gbm($gbmDN); + $mesg = "Generisches Bootmenü <b>".$gbmcn."</b> erfolgreich gelöscht!<br><br>"; + } + else{ + $mesg = "Fehler beim löschen des Generischen Bootmenüs <b>".$gbmcn."</b> !<br><br>"; + } + +} + + +$mesg .= "<br>Sie werden automatisch auf die vorherige Seite zurückgeleitet. <br> + Falls nicht, klicken Sie hier <a href=".$url." style='publink'>back</a>"; +redirect($seconds, $url, $mesg, $addSessionId = TRUE); + +echo "</td></tr></table></body> +</html>"; +?>
\ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/rbs/gbm_overview.dwt b/ldap-site-mngmt/webinterface/rbs/gbm_overview.dwt new file mode 100644 index 00000000..794315e6 --- /dev/null +++ b/ldap-site-mngmt/webinterface/rbs/gbm_overview.dwt @@ -0,0 +1,29 @@ +<table border='0' cellpadding='5' cellspacing='0' width='100%'> + <tr> + <td colspan='2'><h3>Generische Boot Images</h3> + Diese Boot Images werden vom Remote Boot Service <code class='font_object'> {RBSCN} </code> + angeboten. Sie können für jedes Image festlegen, wer dieses Angebot in Anspruch nehmen + kann (Spektrum zwischen (a) ihrer Abteilung <code class='font_object'> {AU} </code> und ihrer Unterabteilungen, und (b) organisationsweit) </td> + </tr> + <tr> + <td height='10'></td> + </tr> + <tr><td> + <table cellpadding='7' cellspacing='0' border='1' align='left' width='90%' style='border-width: 0 0 0 0;'> + <tr> + <td width='50%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>Generisches Boot Menü</b></td> + <td width='50%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>Netzwerk Dateisystem</b></td> + </tr> + + <!-- BEGIN DYNAMIC BLOCK: Genericbm --> + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'>{GBMCN} </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'>{FS} </td> + </tr> + <!-- END DYNAMIC BLOCK: Genericbm --> + + </table></td> + </tr> + + +</table>
\ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/rbs/gbm_overview.php b/ldap-site-mngmt/webinterface/rbs/gbm_overview.php new file mode 100644 index 00000000..1158a396 --- /dev/null +++ b/ldap-site-mngmt/webinterface/rbs/gbm_overview.php @@ -0,0 +1,56 @@ +<?php + +include('../standard_header.inc.php'); + +# 1. Seitentitel - wird in der Titelleiste des Browser angezeigt. +$titel = "Remote Boot Service Management"; +# 2. Nummer des zugehörigen Hauptmenus (Registerkarte) beginnend bei 0, siehe Dokumentation.doc. +$mainnr = 4; +$mnr = 2; +$sbmnr = -1; +$mcnr = -1; +# 3. Dateiname und evtl. Pfad des Templates für die Webseite +$webseite = "gbm_overview.dwt"; + +include("../class.FastTemplate.php"); + +include('rbs_header.inc.php'); + +################################################################################### + +# Menuleisten erstellen +createMainMenu($rollen, $mainnr); +createRBSMenu($rollen, $mnr, $auDN, $sbmnr); + +################################################################################### + +$template->assign(array("GBMDN" => "", + "GBMCN" => "Noch keine Generischen Boot Menüs angelegt", + "KERNEL" => "", + "FS" => "")); + +# rbservice und pxe daten (voerst nur ein rbs) +$rbs_array = get_rbservices($auDN,array("dn","cn")); +$rbsDN = $rbs_array[0]['dn']; + +# Generic Bootmenüs +$generic_bms = get_menuentries($rbsDN,array("dn","cn","label","kernel","nfsroot","nbdroot")); + +$template->define_dynamic("Genericbm", "Webseite"); +$template->define_dynamic("Offers", "Webseite"); +foreach ($generic_bms as $gbm){ + if ($gbm['nfsroot'] != ""){$fs = "NFS";} + if ($gbm['nbdroot'] != ""){$fs = "NBD";} + $template->assign(array("GBMDN" => $gbm['dn'], + "GBMCN" => $gbm['cn'], + "KERNEL" => $gbm['kernel'], + "FS" => $fs)); + $template->parse("GENERICBM_LIST", ".Genericbm"); +} + + +################################################################################### + +include("rbs_footer.inc.php"); + +?> diff --git a/ldap-site-mngmt/webinterface/rbs/menu.dwt b/ldap-site-mngmt/webinterface/rbs/menu.dwt new file mode 100644 index 00000000..fe37aeee --- /dev/null +++ b/ldap-site-mngmt/webinterface/rbs/menu.dwt @@ -0,0 +1,31 @@ + +<table cellpadding='0' cellspacing='0' border='0' width='100%'> + + + <!-- BEGIN DYNAMIC BLOCK: Hauptmenu --> + + <tr valign='middle' align='left'> +
+ <td width='8%' align='right' style="border-style=none;">{ICON}</td> + <td width="8%" align="left" style="border-width:1 0 1 1;border-color:#000000;border-style:solid;padding:5;background-color:{FARBE}"> </td>
+ <td width="74%" align="left" style="border-width:1 1 1 0;border-color:#000000;border-style:solid;padding:5;background-color:{FARBE}"> + <a href="{LINK_M}" style="text-decoration:none"><b class="standard_schrift">{TEXT_M}</b></a></td>
+ <td width='10%'> </td> + + </tr> + + + + + <!-- BEGIN DYNAMIC BLOCK: Submenu --> + + {SUB} + + <!-- END DYNAMIC BLOCK: Submenu --> + + <tr height='5'> + </tr> + +<!-- END DYNAMIC BLOCK: Hauptmenu --> + +</table> diff --git a/ldap-site-mngmt/webinterface/rbs/menuentry.dwt b/ldap-site-mngmt/webinterface/rbs/menuentry.dwt new file mode 100644 index 00000000..07f71d95 --- /dev/null +++ b/ldap-site-mngmt/webinterface/rbs/menuentry.dwt @@ -0,0 +1,247 @@ +<table border='0' cellpadding='5' cellspacing='0' width='100%'> + <tr> + <td height='20'><h4>Zurück zu <a href='pxe.php?dn={PXEDN}&mnr={MNR}&sbmnr={SBMNR}&mcnr={MCNR}' class='headerlink'>{PXECN}</a></h4></td> + </tr> + <tr> + <td height='20'> </td> + </tr> + <tr> + <td colspan='2'><h3>Boot Menü Eintrag <code class='font_object'> {MECN} </code> </h3></td> + </tr> + <tr> + <td height='20'> </td> + </tr> + <tr><td> + <table cellpadding='7' cellspacing='0' border='1' align='left' width='90%' style='border-width: 0 0 0 0;'> + + <form action='menuentry_change.php' method='post'> + + <tr> + <td width='40%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>Attribut</b></td> + <td width='60%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>Wert</b></td> + </tr> + + <tr height='50'> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Eindeutiger Name (cn):</b><br>(Teil des dn, ohne Leerzeichen eingeben) </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='mecn' value='{MECN}' size='50' class='medium_form_field'> + <input type='hidden' name='oldmecn' value='{MECN}'> + </td> + </tr> + <tr height='50'> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Label:</b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[label]' value='{LABEL}' size='50' class='medium_form_field'> + <input type='hidden' name='oldattribs[label]' value='{LABEL}'> + </td> + </tr> + <tr height='50'> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Generisches Boot Image: </b><br><br>(Angeboten von) </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <h4>{GMECN}</h4> Abteilung: {GMEOU} [Remote Boot Dienst: {GMERBS}] + </td> + </tr> + <tr height='50'> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Menu Label:</b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[menulabel]' value='{MELABEL}' size='50' class='medium_form_field'> + <input type='hidden' name='oldattribs[menulabel]' value='{MELABEL}'> + </td> + </tr> + <tr height='50'> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Menu Default:</b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[menudefault]' value='{MEDEF}' size='50' class='medium_form_field'> + <input type='hidden' name='oldattribs[menudefault]' value='{MEDEF}'> + </td> + </tr> + <tr height='50'> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Menu Passwd:</b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[menupasswd]' value='{MEPASSWD}' size='50' class='medium_form_field'> + <input type='hidden' name='oldattribs[menupasswd]' value='{MEPASSWD}'> + </td> + </tr> + <tr height='50'> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Menu Hide:</b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[menuhide]' value='{MEHIDE}' size='50' class='medium_form_field'> + <input type='hidden' name='oldattribs[menuhide]' value='{MEHIDE}'> + </td> + </tr> + <tr height='50'> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Localboot:</b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[localboot]' value='{LOCALBOOT}' size='50' class='medium_form_field'> + <input type='hidden' name='oldattribs[localboot]' value='{LOCALBOOT}'> + </td> + </tr> + + </table></td> + </tr> + <tr> + <td height='40'></td> + </tr> + <tr> + <td colspan='2'><h4>APPEND Parameter:</h4></td> + </tr> + <tr> + <td height='10'></td> + </tr> + <tr><td> + <table cellpadding='7' cellspacing='0' border='1' align='left' width='90%' style='border-width: 0 0 0 0;'> + + <tr> + <td width='20%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>Attribut</b></td> + <td width='80%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>Wert</b></td> + </tr> + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Client Konfiguration via: </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[clientconfvia]' value='{CCV}' size='30' class='medium_form_field'> + <input type='hidden' name='oldattribs[clientconfvia]' value='{CCV}'> ( dhcp | file | ldap ) + </td> + </tr> + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>vga: </b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[vga]' value='{VGA}' size='30' class='medium_form_field'> + <input type='hidden' name='oldattribs[vga]' value='{VGA}'> + </td> + </tr> + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>splash: </b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[splash]' value='{SPLASH}' size='30' class='medium_form_field'> + <input type='hidden' name='oldattribs[splash]' value='{SPLASH}'> + </td> + </tr> + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>vci: </b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[vci]' value='{VCI}' size='30' class='medium_form_field'> + <input type='hidden' name='oldattribs[vci]' value='{VCI}'> + </td> + </tr> + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>no ldsc: </b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[noldsc]' value='{NOLDSC}' size='30' class='medium_form_field'> + <input type='hidden' name='oldattribs[noldsc]' value='{NOLDSC}'> + </td> + </tr> + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>elevator: </b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[elevator]' value='{ELEVATOR}' size='30' class='medium_form_field'> + <input type='hidden' name='oldattribs[elevator]' value='{ELEVATOR}'> + </td> + </tr> + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>apic: </b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[apic]' value='{APIC}' size='30' class='medium_form_field'> + <input type='hidden' name='oldattribs[apic]' value='{APIC}'> + </td> + </tr> + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Union FS: </b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[unionfs]' value='{UNIONFS}' size='30' class='medium_form_field'> + <input type='hidden' name='oldattribs[unionfs]' value='{UNIONFS}'> + </td> + </tr> + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>cowloop: </b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[cowloop]' value='{COWLOOP}' size='30' class='medium_form_field'> + <input type='hidden' name='oldattribs[cowloop]' value='{COWLOOP}'> + </td> + </tr> + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Debug Level: </b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[debug]' value='{DEBUG}' size='30' class='medium_form_field'> + <input type='hidden' name='oldattribs[debug]' value='{DEBUG}'> + </td> + </tr> + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Menü Position: </b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='menpos' value='{MENPOS}' size='2' class='medium_form_field'> + <input type='hidden' name='oldmenpos' value='{MENPOS}'> + </td> + </tr> + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Submenü Verweis: </b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[submenulink]' value='{SUBMENULINK}' size='50' class='medium_form_field'> + <br> + Dieses Feld sollte nur bei Verweisen auf Submenüs den vollständigen Link zu diesen enthalten + <br>(d.h. <TFTP-Server-IP>::/<TFTP-PXE-Pfad>/<Timerange>/<PXE-Dateiname>). <br> + Bei Textzeilen und Leerzeilen muss hier <b>"self"</b> stehen. <br> + Bei normalen Menüeinträgen (inklusive Localboot) muss diese Feld <b>leer</b> sein. + <input type='hidden' name='oldattribs[submenulink]' value='{SUBMENULINK}'> + </td> + </tr> + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Kernel: </b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[kernel]' value='{KERNEL}' size='50' class='medium_form_field'> + <br> + Angabe hier nur sinnvoll bei Leer-, Textzeilen oder Submenüverweisen, <br> + denn Eingabe wird, wenn der Menüeintrag auf ein generisches Boot Image verweist (siehe oben) <br> + bei der PXE Datei Generierung überschrieben. + <input type='hidden' name='oldattribs[kernel]' value='{KERNEL}'> + </td> + </tr> + + <input type='hidden' name='medn' value='{MEDN}'> + <input type='hidden' name='pxedn' value='{PXEDN}'> + <input type='hidden' name='mnr' value='{MNR}'> + <input type='hidden' name='sbmnr' value='{SBMNR}'> + <input type='hidden' name='mcnr' value='{MCNR}'> + + </table></td> + </tr> + <tr> + <td><input type='Submit' name='apply' value='anwenden' class='small_loginform_button'> + </form></td> + </tr> + + + <tr> + <td height='40'></td> + </tr> + + <tr> + <td colspan='2'><h4>Boot Menü Eintrag <code class='font_object'>{MECN}</code> löschen:</h4></td> + </tr> + <tr> + <td> + <table cellpadding='7' cellspacing='0' border='0' align='left' width='90%' style='border-width: 0 0 0 0;'> + <form action='delete_confirm.php' method='post'> + + + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 0;'> + Das generische Boot Image wird komplett gelöscht. + </tr> + + <input type='hidden' name='dn' value='{MEDN}'> + <input type='hidden' name='name' value='{MECN}'> + <input type='hidden' name='pxedn' value='{PXEDN}'> + <input type='hidden' name='delurl' value='menuentry_delete.php'> + <input type='hidden' name='successurl' value='pxe.php?dn={PXEDN}&mnr={MNR}&sbmnr={SBMNR}&mcnr={MCNR}'> + <input type='hidden' name='backurl' value='menuentry.php?dn={MEDN}&mnr={MNR}&sbmnr={SBMNR}&mcnr={MCNR}'> + + </table></td> + </tr> + <tr> + <td> + <input type='Submit' name='apply' value='löschen' class='small_loginform_button'> + </form></td> + </tr> + + +</table>
\ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/rbs/menuentry.php b/ldap-site-mngmt/webinterface/rbs/menuentry.php new file mode 100644 index 00000000..83396ec8 --- /dev/null +++ b/ldap-site-mngmt/webinterface/rbs/menuentry.php @@ -0,0 +1,158 @@ +<?php + +include('../standard_header.inc.php'); + +# 1. Seitentitel - wird in der Titelleiste des Browser angezeigt. +$titel = "Remote Boot Service Management"; +# 2. Nummer des zugehörigen Hauptmenus (Registerkarte) beginnend bei 0, siehe Dokumentation.doc. +$mainnr = 4; +$mnr = 3; +$sbmnr = -1; +$mcnr = -1; +# 3. Dateiname und evtl. Pfad des Templates für die Webseite +$webseite = "menuentry.dwt"; + +include("../class.FastTemplate.php"); + +include('rbs_header.inc.php'); + +################################################################################### + +$sbmnr = $_GET['sbmnr']; + +# Menuleisten erstellen +createMainMenu($rollen, $mainnr); +createRBSMenu($rollen, $mnr, $auDN, $sbmnr); + +################################################################################### + +$meDN = $_GET['dn']; + +$attributes = array("cn","genericmenuentrydn","label","menulabel","menudefault","menupasswd","vga","splash", + "noldsc","elevator","clientconfvia","apic", + "cowloop","unionfs","debug","vci","menuhide","menuposition","localboot","kernel","submenulink"); +$me = get_node_data($meDN,$attributes); +#print_r($me); + +# PXE DN +$exp = explode(',',$meDN); +$node = array_slice($exp,1); +$exppxecn = explode('=',$node[0]); +$pxecn = $exppxecn[1]; +$pxeDN = implode(',',$node); + +# Generic Menu Entry +$expgbm = ldap_explode_dn ($me['genericmenuentrydn'],1); +$gmecn = $expgbm[0]; +$gmerbs = $expgbm[1]; +$gmeou = $expgbm[3]; + +# RBS Daten +$pxe = get_node_data($pxeDN,array("rbservicedn")); +$rbsDN = $pxe['rbservicedn']; +$exp = explode(',',$rbsDN); +$exprbsau = explode('=',$exp[2]); $rbsau = $exprbsau[1]; +$rbsdata = get_node_data($rbsDN,array("cn","nfsserverip","exportpath","tftpserverip","tftppath")); + +# Bootmenu Daten +$template->assign(array("MEDN" => $meDN, + "MECN" => $me['cn'], + "GMECN" => $gmecn, + "GMEOU" => $gmeou, + "GMERBS" => $gmerbs, + "LABEL" => $me['label'], + "MELABEL" => $me['menulabel'], + "MEDEF" => $me['menudefault'], + "MEPASSWD" => $me['menupasswd'], + "MEHIDE" => $me['menuhide'], + "VGA" => $me['vga'], + "SPLASH" => $me['splash'], + "NOLDSC" => $me['noldsc'], + "ELEVATOR" => $me['elevator'], + "VCI" => $me['vci'], + "CCV" => $me['clientconfvia'], + "APIC" => $me['apic'], + "COWLOOP" => $me['cowloop'], + "UNIONFS" => $me['unionfs'], + "DEBUG" => $me['debug'], + "MENPOS" => $me['menuposition'], + "LOCALBOOT" => $me['localboot'], + "KERNEL" => $me['kernel'], + "SUBMENULINK" => $me['submenulink'], + "PXEDN" => $pxeDN, + "PXECN" => $pxecn, + "MNR" => $mnr, + "SBMNR" => $sbmnr, + "MCNR" => $mcnr)); + +# Alternative RB Dienste holen +$altrbs = get_rbservices($auDN,array("dn","cn")); +if (count($altrbs) != 0){ + for ($i=0; $i < count($altrbs); $i++){ + if ($rbsDN == $altrbs[$i]['dn']){ + array_splice($altrbs, $i, 1); + } + } +} + + +if (count($altrbs) != 0){ +$template->define_dynamic("Altrbs", "Webseite"); + foreach ($altrbs as $item){ + $altrbsexp = explode(',',$item['dn']); + $altrbsau = explode('=',$altrebsexp[2]); + $template->assign(array("ALTRBSDN" => $item['dn'], + "ALTRBSCN" => $item['cn'], + "ALTRBSAU" => "[ ".$altrbsau[1]." ]")); + $template->parse("ALTRBS_LIST", ".Altrbs"); + } +}else{ + $template->assign(array("ALTRBSDN" => "", + "ALTRBSCN" => "", + "ALTRBSAU" => "")); +} + +################################################ +# Bootmenü Einträge + +$menuentries = get_menuentries($pxeDN,array("dn","menuposition","label","menulabel")); +#print_r($menuentries); echo "<br>"; + +$template->define_dynamic("Bootmenu", "Webseite"); + +foreach ($menuentries as $me){ + $template->assign(array("MENDN" => $me['dn'], + "MENULABEL" => $me['menulabel'], + "POSITION" => $me['menuposition'], + "AUDN" => $auDN)); + $template->parse("BOOTMENU_LIST", ".Bootmenu"); +} + + +################################################ +# PXE kopieren + +$hostorgroup = $exp[0]; +$hgexp = explode('=',$exp[0]); + +$hosts_array = get_hosts($auDN,array("dn","hostname")); +$groups_array = get_groups($auDN,array("dn","cn")); + +$template->define_dynamic("Hosts", "Webseite"); +foreach ($hosts_array as $item){ + $template->assign(array("HDN" => $item['dn'], + "HN" => $item['hostname'])); + $template->parse("HOSTS_LIST", ".Hosts"); +} +$template->define_dynamic("Groups", "Webseite"); +foreach ($groups_array as $item){ + $template->assign(array("GDN" => $item['dn'], + "GN" => $item['cn'])); + $template->parse("GROUPS_LIST", ".Groups"); +} + +################################################################################### + +include("rbs_footer.inc.php"); + +?> diff --git a/ldap-site-mngmt/webinterface/rbs/menuentry_add.php b/ldap-site-mngmt/webinterface/rbs/menuentry_add.php new file mode 100644 index 00000000..8b0c4368 --- /dev/null +++ b/ldap-site-mngmt/webinterface/rbs/menuentry_add.php @@ -0,0 +1,258 @@ +<?php +include('../standard_header.inc.php'); + +$mecn = $_POST['mecn']; $mecn = htmlentities($mecn); +$gbmDN = $_POST['gbm']; +$menpos = $_POST['menpos']; +$maxpos = $_POST['maxpos']; + +$typ = $_POST['typ']; +$pxeDN = $_POST['pxedn']; +$timespan = $_POST['timerange']; +$mnr = $_POST['mnr']; +$sbmnr = $_POST['sbmnr']; + +$meattribs = $_POST['attribs']; +if (count($meattribs) != 0){ + foreach (array_keys($meattribs) as $key){ + $meatts[$key] = htmlentities($meattribs[$key]); + } +} +# print_r($meatts); echo "<br><br>"; + +$seconds = 2; +$get_mecn = str_replace ( " ", "_", $mecn ); +$url = "pxe.php?dn=".$pxeDN."&mecn=".$get_mecn."&mnr=".$mnr."&sbmnr=".$sbmnr; + +echo " +<html> +<head> + <title>Computers Management</title> + <link rel='stylesheet' href='../styles.css' type='text/css'> +</head> +<body> +<table border='0' cellpadding='30' cellspacing='0'> +<tr><td>"; +# switch wäre besser ... +if ($typ == "newme" && $typ != "local" && $typ != "text" && $typ != "leer" && $typ != "submenu" ){ + + if ( $mecn != "" && $mecn != "Hier_NAME_eintragen" && $gbmDN != "none" ){ + + # Formulareingaben anpassen + $expme = explode(" ",$mecn); + foreach ($expme as $word){$expuc[] = ucfirst($word);} + $mecn = implode(" ",$expuc); + $mecn = preg_replace ( '/\s+([0-9A-Z])/', '$1', $mecn); + + if ($menpos != ""){ + # Syntaxcheck Menüposition + #$syntax = new Syntaxcheck; + #if (!($syntax->check_menuposition($menpos))){ + # $menpos = $maxpos; + #} + }else{ + $menpos = $maxpos; + } + if (strlen($menpos) == 1){ + $menpos = "0".$menpos; + } + # nun doch führende Nullen erzwingen + # also obsolet: $menpos = preg_replace ( '/0([0-9])/', '$1', $menpos); + + $meDN = "cn=".$mecn.",".$pxeDN; + + if (add_me($meDN,$mecn,$gbmDN,$menpos,$meatts,$pxeDN)){ + $mesg .= "<br>Neuen Menü Eintrag erfolgreich angelegt<br>"; + $url = "pxe.php?dn=".$pxeDN."&mnr=".$mnr."&sbmnr=".$sbmnr."&mcnr=".$mcnr; + } + else{ + $mesg .= "<br>Fehler beim anlegen des Menü Eintrags!<br>"; + } + } + + elseif ( $mecn == "" || $mecn == "Hier_NAME_eintragen" || $gbmDN == "none" ){ + + $mesg = "Sie haben den Namen des neuen Menü Eintrags nicht angegeben oder kein + Generisches Boot Image ausgewählt. Beide sind aber ein notwendige Attribute.<br> + Bitte geben Sie sie an.<br><br>"; + $url = "new_menuentry.php?mecn=Hier_NAME_eintragen&mnr=".$mnr."&sbmnr=".$sbmnr; + } +} + +# Localboot Zeile hinzufügen +elseif ($typ == "local" && $typ != "newme" && $typ != "text" && $typ != "leer" && $typ != "submenu" ){ + + # Menu Position + $menpos = $_POST['localpos']; + if ($menpos != ""){ + # Syntaxcheck Menüposition + #$syntax = new Syntaxcheck; + #if (!($syntax->check_menuposition($menpos))){ + # $menpos = $maxpos; + #} + }else{ + $menpos = $maxpos; + } + if (strlen($menpos) == 1){ + $menpos = "0".$menpos; + } + # nun doch führende Nullen erzwingen + # also obsolet: $menpos = preg_replace ( '/0([0-9])/', '$1', $menpos); + + # CN bilden + $brothers = get_menuentries($pxeDN,array("dn","cn")); + $i=1; + $localcn = "localboot".$i; + if(count($brothers) != 0){ + for ($c=0; $c<count($brothers); $c++){ + foreach ($brothers as $item){ + if ($localcn == strtolower($item['cn'])){ + $i++; + $localcn = "localboot".$i; + } + } + } + } + $meDN = "cn=".$localcn.",".$pxeDN; + $entry ['objectclass'][0] = "MenuEntry"; + $entry ['objectclass'][1] = "top"; + $entry ['cn'] = $localcn; + $entry ['menuposition'] = $menpos; + $entry ['label'] = $localcn; + $entry ['menulabel'] = $_POST['locallabel']; + $entry ['menupasswd'] = $_POST['localpasswd']; + $entry ['localboot'] = "level 0"; + $pos = preg_replace ( '/0([0-9])/', '$1', $menpos); + increment_menupositions($pxeDN,$pos); # andere jeweils um 1 erhöhen + if (ldap_add($ds,$meDN,$entry)){ + $mesg .= "Localboot Zeile erfolgeich an Position ".$menpos." eingetragen"; + }else{ + $mesg .= "Fehler beim eintragen der Localboot Zeile!"; + } + $url = "pxe.php?dn=".$pxeDN."&mnr=".$mnr."&sbmnr=".$sbmnr."&mcnr=".$mcnr; +} + + +# Text Zeile hinzufügen +elseif ($typ == "text" && $typ != "newme" && $typ != "local" && $typ != "leer" && $typ != "submenu" ){ + + # Menu Position + $menpos = $_POST['textpos']; + if ($menpos != ""){ + # Syntaxcheck Menüposition + #$syntax = new Syntaxcheck; + #if (!($syntax->check_menuposition($menpos))){ + # $menpos = $maxpos; + #} + }else{ + $menpos = $maxpos; + } + if (strlen($menpos) == 1){ + $menpos = "0".$menpos; + } + # nun doch führende Nullen erzwingen + # also obsolet: $menpos = preg_replace ( '/0([0-9])/', '$1', $menpos); + + $text = $_POST['text']; + if($text != "" && $text != "TEXT"){ + $brothers = get_menuentries($pxeDN,array("dn","cn")); + $i=1; + $textcn = "textzeile".$i; + if(count($brothers) != 0){ + for ($c=0; $c<count($brothers); $c++){ + foreach ($brothers as $item){ + if ($textcn == strtolower($item['cn'])){ + $i++; + $textcn = "textzeile".$i; + } + } + } + } + $meDN = "cn=".$textcn.",".$pxeDN; + $entry ['objectclass'][0] = "MenuEntry"; + $entry ['objectclass'][1] = "top"; + $entry ['cn'] = $textcn; + $entry ['menuposition'] = $menpos; + $entry ['label'] = $text; + $entry ['kernel'] = "menu.c32"; + # Submenulink auf sich selbst + $pxedata = get_node_data($pxeDN,array("filename")); + $entry ['submenulink'] = "self"; + + $pos = preg_replace ( '/0([0-9])/', '$1', $menpos); + increment_menupositions($pxeDN,$pos); # andere jeweils um 1 erhöhen + if (ldap_add($ds,$meDN,$entry)){ + $mesg .= "Textzeile erfolgeich an Position ".$menpos." eingetragen"; + }else{ + $mesg .= "Fehler beim eintragen der Textzeile!"; + } + $url = "pxe.php?dn=".$pxeDN."&mnr=".$mnr."&sbmnr=".$sbmnr."&mcnr=".$mcnr; + } +} + + +elseif ($typ == "leer" && $typ != "newme" && $typ != "local" && $typ != "text" && $typ != "submenu" ){ + + # Menu Position + $menpos = $_POST['leerpos']; + if ($menpos != ""){ + # Syntaxcheck Menüposition + #$syntax = new Syntaxcheck; + #if (!($syntax->check_menuposition($menpos))){ + # $menpos = $maxpos; + #} + }else{ + $menpos = $maxpos; + } + if (strlen($menpos) == 1){ + $menpos = "0".$menpos; + } + # nun doch führende Nullen erzwingen + # also obsolet: $menpos = preg_replace ( '/0([0-9])/', '$1', $menpos); + + # CN bilden + $brothers = get_menuentries($pxeDN,array("dn","cn")); + $i=1; + $leercn = "leerzeile".$i; + if(count($brothers) != 0){ + for ($c=0; $c<count($brothers); $c++){ + foreach ($brothers as $item){ + if ($leercn == strtolower($item['cn'])){ + $i++; + $leercn = "leerzeile".$i; + } + } + } + } + $meDN = "cn=".$leercn.",".$pxeDN; + $entry ['objectclass'][0] = "MenuEntry"; + $entry ['objectclass'][1] = "top"; + $entry ['cn'] = $leercn; + $entry ['menuposition'] = $menpos; + $entry ['kernel'] = "menu.c32"; + # Submenulink auf sich selbst + $pxedata = get_node_data($pxeDN,array("filename")); + $entry ['submenulink'] = "self"; + + # wieder führende Nullen weg für increment_menpos + $pos = preg_replace ( '/0([0-9])/', '$1', $menpos); + increment_menupositions($pxeDN,$pos); # andere jeweils um 1 erhöhen + if (ldap_add($ds,$meDN,$entry)){ + $mesg .= "Leerzeile erfolgeich an Position ".$menpos." eingetragen"; + }else{ + $mesg .= "Fehler beim eintragen der Leerzeile!"; + } + $url = "pxe.php?dn=".$pxeDN."&mnr=".$mnr."&sbmnr=".$sbmnr."&mcnr=".$mcnr; +} + + +elseif ($typ == "submenu" && $typ != "newme" && $typ != "local" && $typ != "text" && $typ != "leer" ){ +} + +$mesg .= "<br>Sie werden automatisch auf die vorherige Seite zurückgeleitet. <br> + Falls nicht, klicken Sie hier <a href=".$url." style='publink'>back</a>"; +redirect($seconds, $url, $mesg, $addSessionId = TRUE); + +echo "</td></tr></table></body> +</html>"; +?>
\ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/rbs/menuentry_change.php b/ldap-site-mngmt/webinterface/rbs/menuentry_change.php new file mode 100644 index 00000000..40d5d60d --- /dev/null +++ b/ldap-site-mngmt/webinterface/rbs/menuentry_change.php @@ -0,0 +1,207 @@ +<?php +include('../standard_header.inc.php'); + +$mecn = $_POST['mecn']; $mecn = htmlentities($mecn); +$oldmecn = $_POST['oldmecn']; + +$menpos = $_POST['menpos']; +if (strlen($menpos) == 1){ + $menpos = "0".$menpos; +} +$oldmenpos = $_POST['oldmenpos']; +if (strlen($oldmenpos) == 1){ + $oldmenpos = "0".$oldmenpos; +} + +$meDN = $_POST['medn']; +$pxeDN = $_POST['pxedn']; +$mnr = $_POST['mnr']; +$sbmnr = $_POST['sbmnr']; + +$attribs = $_POST['attribs']; +if (count($attribs) != 0){ + foreach (array_keys($attribs) as $key){ + $atts[$key] = htmlentities($attribs[$key]); + } +} +# print_r($meatts); echo "<br><br>"; +$oldattribs = $_POST['oldattribs']; +if (count($oldattribs) != 0){ + foreach (array_keys($oldattribs) as $key){ + $oldatts[$key] = htmlentities($oldattribs[$key]); + } +} +#print_r($oldatts); echo "<br><br>"; + + + +$seconds = 2; +$get_mecn = str_replace ( " ", "_", $mecn ); +$url = "menuentry.php?dn=".$meDN."&mnr=".$mnr."&sbmnr=".$sbmnr; + +echo " +<html> +<head> + <title>Computers Management</title> + <link rel='stylesheet' href='../styles.css' type='text/css'> +</head> +<body> +<table border='0' cellpadding='30' cellspacing='0'> +<tr><td>"; + +############################################## +# ME CN (DN) + +if ( $oldmecn == $mecn ){ + # $mesg = "keine Aenderung<br>"; +} + +if ( $oldmecn != "" && $mecn != "" && $oldmecn != $mecn ){ + echo "Menü Eintrag Name aendern<br>"; + # hier noch Syntaxcheck + # Formulareingaben anpassen + $expme = explode(" ",$mecn); + foreach ($expme as $word){$expuc[] = ucfirst($word);} + $mecn = implode(" ",$expuc); + $mecn = preg_replace ( '/\s+([0-9A-Z])/', '$1', $mecn); + + + $newmeDN = "cn=".$mecn.",".$pxeDN; + print_r($newmeDN); echo "<br><br>"; + + if(modify_me_dn($meDN, $newmeDN)){ + $mesg = "Menü Eintrag Name erfolgreich geändert<br><br>"; + $meDN = $newmeDN; + }else{ + $mesg = "Fehler beim ändern des PMenü Eintrag Namen!<br><br>"; + } + + + # newsubmenu holen... + $url = "menuentry.php?dn=".$newmeDN."&mnr=".$mnr."&sbmnr=".$sbmnr; +} + +if ( $oldmecn != "" && $mecn == "" ){ + echo "Menü Eintrag Name loeschen!<br> + Dieses ist Teil des DN, Sie werden den Menü Eintrag komplett löschen<br><br>"; + echo "Wollen Sie den Menü Eintrag <b>".$oldmecn."</b> wirklich löschen?<br><br> + <form action='menuentry_delete.php' method='post'> + Falls ja:<br><br> + <input type='hidden' name='dn' value='".$meDN."'> + <input type='hidden' name='name' value='".$oldmecn."'> + <input type='Submit' name='apply' value='löschen' class='small_loginform_button'><br><br> + </form> + <form action='".$url."' method='post'> + Falls, nein:<br><br> + <input type='Submit' name='apply' value='zurück' class='small_loginform_button'> + </form>"; + $seconds = 600; +} + + +################################### +# Menu Position + +if ( $menpos == $oldmenpos || $menpos == "" ){ + # keine Änderung +} + +if ( $menpos != "" && $oldmenpos != $menpos ){ + echo "Menü Position ändern<br><br>"; + # Syntax Check fehlt noch + + # switch partner finden + $secmeDN = get_dn_menuposition($pxeDN,$menpos); + $entrysec ['menuposition'] = $oldmenpos; + if (ldap_mod_replace($ds,$secmeDN,$entrysec)){ + $entry ['menuposition'] = $menpos; + if (ldap_mod_replace($ds,$meDN,$entry)){ + #cleanup_menupositions($pxeDN); + $mesg .= "Menü Position erfolgeich nach <b>".$menpos."</b> geändert"; + }else{ + $mesg .= "Fehler beim ändern der Menü Position!"; + } + }else{ + $mesg .= "Fehler beim ändern der Menü Position!"; + } +} + +################################### +# restliche Attribute + +$entryadd = array(); +$entrymod = array(); +$entrydel = array(); + +foreach (array_keys($atts) as $key){ + + if ( $oldatts[$key] == $atts[$key] ){ + # nix + } + 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 "<br>"; +#print_r($entrymod); echo "<br>"; +#print_r($entrydel); echo "<br>"; + +if (count($entryadd) != 0 ){ + #print_r($entryadd); echo "<br>"; + #echo "neu anlegen<br>"; + foreach (array_keys($entryadd) as $key){ + $addatts .= "<b>".$key."</b>,"; + } + if(ldap_mod_add($ds,$meDN,$entryadd)){ + $mesg = "Attribute ".$addatts." erfolgreich eingetragen<br><br>"; + }else{ + $mesg = "Fehler beim eintragen der Attribute ".$addatts."<br><br>"; + } +} + +if (count($entrymod) != 0 ){ + #print_r($entrymod); echo "<br>"; + #echo "ändern<br>"; + foreach (array_keys($entrymod) as $key){ + $modatts .= "<b>".$key."</b>,"; + } + if(ldap_mod_replace($ds,$meDN,$entrymod)){ + $mesg = "Attribute ".$modatts." erfolgreich geaendert<br><br>"; + }else{ + $mesg = "Fehler beim aendern der Attribute ".$modatts."<br><br>"; + } +} + +if (count($entrydel) != 0 ){ + #print_r($entrydel); echo "<br>"; + #echo "löschen<br>"; + foreach (array_keys($entrydel) as $key){ + $delatts .= "<b>".$key."</b>,"; + } + if(ldap_mod_del($ds,$meDN,$entrydel)){ + $mesg = "Attribute ".$delatts." erfolgreich geloescht<br><br>"; + }else{ + $mesg = "Fehler beim loeschen der Attribute ".$delatts."<br><br>"; + } +} + +################################### +# Ende, noch Redirect + + +$mesg .= "<br>Sie werden automatisch auf die vorherige Seite zurückgeleitet. <br> + Falls nicht, klicken Sie hier <a href=".$url." style='publink'>back</a>"; +redirect($seconds, $url, $mesg, $addSessionId = TRUE); + +echo "</td></tr></table></body> +</html>"; +?>
\ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/rbs/menuentry_delete.php b/ldap-site-mngmt/webinterface/rbs/menuentry_delete.php new file mode 100644 index 00000000..ba06eb55 --- /dev/null +++ b/ldap-site-mngmt/webinterface/rbs/menuentry_delete.php @@ -0,0 +1,41 @@ +<?php +include('../standard_header.inc.php'); + +$meDN = $_POST['dn']; +$mecn = $_POST['name']; + +$pxeDN = $_POST['pxedn']; + +$seconds = 1; +$url = $_POST['successurl']; + +echo " +<html> +<head> + <title>Computers Management</title> + <link rel='stylesheet' href='../styles.css' type='text/css'> +</head> +<body> +<table border='0' cellpadding='30' cellspacing='0'> +<tr><td>"; + +if ( $meDN != ""){ + + if ( dive_into_tree_del($meDN,"") ){ + cleanup_menupositions($pxeDN); + $mesg = "Bootmenü Eintrag <b>".$mecn."</b> erfolgreich gelöscht!<br><br>"; + } + else{ + $mesg = "Fehler beim löschen des Bootmenü Eintrags <b>".$mecn."</b> !<br><br>"; + } + +} + + +$mesg .= "<br>Sie werden automatisch auf die vorherige Seite zurückgeleitet. <br> + Falls nicht, klicken Sie hier <a href=".$url." style='publink'>back</a>"; +redirect($seconds, $url, $mesg, $addSessionId = TRUE); + +echo "</td></tr></table></body> +</html>"; +?>
\ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/rbs/menuposition_down.php b/ldap-site-mngmt/webinterface/rbs/menuposition_down.php new file mode 100644 index 00000000..d7b235ce --- /dev/null +++ b/ldap-site-mngmt/webinterface/rbs/menuposition_down.php @@ -0,0 +1,41 @@ +<?php +include('../standard_header.inc.php'); + +$meDN = $_GET['dn']; +$oldpos = $_GET['pos']; + +$pxeDN = $_GET['pxedn']; +$mnr = $_GET['mnr']; +$sbmnr = $_GET['sbmnr']; + +$me = get_menuentries($pxeDN,array("cn")); +$maxpos = count($me); + +$oldpos = preg_replace ( '/0([0-9])/', '$1', $oldpos); +if ($oldpos < $maxpos){ + + $newpos = $oldpos +1; + if (strlen($newpos) == 1){ + $newpos = "0".$newpos; + } + if (strlen($oldpos) == 1){ + $oldpos = "0".$oldpos; + } + + if ($secmeDN = get_dn_menuposition($pxeDN,$newpos)){ + #echo "other meDN:"; print_r($secmeDN); echo "<br>"; + $entrysec ['menuposition'] = $oldpos; + if ($result = ldap_mod_replace($ds,$secmeDN,$entrysec)){ + $entrymenu ['menuposition'] = $newpos; + $result = ldap_mod_replace($ds,$meDN,$entrymenu); + } + } +} +$seconds = 0; +$url = "pxe.php?dn=".$pxeDN."&mnr=".$mnr."&sbmnr=".$sbmnr."&#menu"; +$mesg = ""; +#$mesg .= "<br>Sie werden automatisch auf die vorherige Seite zurückgeleitet. <br> +# Falls nicht, klicken Sie hier <a href=".$url." style='publink'>back</a>"; +redirect($seconds, $url, $mesg, $addSessionId = TRUE); + +?>
\ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/rbs/menuposition_up.php b/ldap-site-mngmt/webinterface/rbs/menuposition_up.php new file mode 100644 index 00000000..c2611651 --- /dev/null +++ b/ldap-site-mngmt/webinterface/rbs/menuposition_up.php @@ -0,0 +1,39 @@ +<?php +include('../standard_header.inc.php'); + +$meDN = $_GET['dn']; +$oldpos = $_GET['pos']; + +$pxeDN = $_GET['pxedn']; +$mnr = $_GET['mnr']; +$sbmnr = $_GET['sbmnr']; + +$oldpos = preg_replace ( '/0([0-9])/', '$1', $oldpos); +if ($oldpos != 1){ + + $newpos = $oldpos-1; + if (strlen($newpos) == 1){ + $newpos = "0".$newpos; + } + if (strlen($oldpos) == 1){ + $oldpos = "0".$oldpos; + } + + if ($secmeDN = get_dn_menuposition($pxeDN,$newpos)){ + #echo "other meDN:"; print_r($secmeDN); echo "<br>"; + $entrysec ['menuposition'] = $oldpos; + if ($result = ldap_mod_replace($ds,$secmeDN,$entrysec)){ + $entrymenu ['menuposition'] = $newpos; + $result = ldap_mod_replace($ds,$meDN,$entrymenu); + } + + } +} +$seconds = 0; +$url = "pxe.php?dn=".$pxeDN."&mnr=".$mnr."&sbmnr=".$sbmnr."&#menu"; +$mesg = ""; +#$mesg .= "<br>Sie werden automatisch auf die vorherige Seite zurückgeleitet. <br> +# Falls nicht, klicken Sie hier <a href=".$url." style='publink'>back</a>"; +redirect($seconds, $url, $mesg, $addSessionId = TRUE); + +?>
\ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/rbs/new_gbm.dwt b/ldap-site-mngmt/webinterface/rbs/new_gbm.dwt new file mode 100644 index 00000000..b84cf66d --- /dev/null +++ b/ldap-site-mngmt/webinterface/rbs/new_gbm.dwt @@ -0,0 +1,91 @@ +<table border='0' cellpadding='5' cellspacing='0' width='100%'> + <tr> + <td colspan='2'><h3>Generisches Boot Image <code class='font_object'> {GBMCN} </code> </h3></td> + </tr> + <tr> + <td height='20'></td> + </tr> + <tr><td> + <table cellpadding='7' cellspacing='0' border='1' align='left' width='90%' style='border-width: 0 0 0 0;'> + + <form action='gbm_add.php' method='post'> + + <tr> + <td width='40%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>Attribut</b></td> + <td width='60%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>Wert</b></td> + </tr> + + <tr height='50'> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Eindeutiger Name (cn):</b><br>(Teil des dn, ohne Leerzeichen eingeben) </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='gbmcn' value='{GBMCN}' size='50' class='medium_form_field'> + </td> + </tr> + + </table></td> + </tr> + <tr> + <td height='40'></td> + </tr> + <tr> + <td colspan='2'><h4>KERNEL und APPEND Parameter:</h4></td> + </tr> + <tr> + <td height='10'></td> + </tr> + <tr><td> + <table cellpadding='7' cellspacing='0' border='1' align='left' width='90%' style='border-width: 0 0 0 0;'> + + <tr> + <td width='30%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>Attribut</b></td> + <td width='25%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>Server Pfad</b></td> + <td width='15%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>Wert</b></td> + <td width='30%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>Wert</b></td> + </tr> + <tr height='50'> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>KERNEL Image: </td> + <td align='right' style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <font size='+1'>{TFTP}::{TFTPPATH}</font></td> + <td colspan='2' style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[kernel]' value='' size='45' class='medium_form_field'> + </td> + </tr> + <tr height='50'> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Initrd (APPEND): </b> </td> + <td align='right' style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <font size='+1'>{TFTP}::{TFTPPATH}</font></td> + <td colspan='2' style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[initrd]' value='' size='45' class='medium_form_field'> + + </td> + </tr> + <tr valign='top'> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Root Filesystem <br>(APPEND rootfs=..): </b></td> + <td colspan='2' style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <select name='attribs[rootfstype]' size='4' class='rootfs_form_selectbox'> + {SELECTOPTIONS} + </select></td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[rootfspath]' value='{ROOTFS}' size='30' class='medium_form_field'> + </td> + </tr> + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>IPAPPEND: </b> </td> + <td align='right' style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> </td> + <td colspan='2' style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[ipappend]' value='1' size='2' class='medium_form_field'> + </td> + </tr> + + <input type='hidden' name='rbsdn' value='{RBSDN}'> + <input type='hidden' name='mnr' value='{MNR}'> + <input type='hidden' name='sbmnr' value='{SBMNR}'> + + </table></td> + </tr> + <tr> + <td><input type='Submit' name='apply' value='anlegen' class='small_loginform_button'> + </form></td> + </tr> + +</table>
\ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/rbs/new_gbm.php b/ldap-site-mngmt/webinterface/rbs/new_gbm.php new file mode 100644 index 00000000..4ece741c --- /dev/null +++ b/ldap-site-mngmt/webinterface/rbs/new_gbm.php @@ -0,0 +1,66 @@ +<?php +include('../standard_header.inc.php'); + +# 1. Seitentitel - wird in der Titelleiste des Browser angezeigt. +$titel = "Remote Boot Service Management"; +# 2. Nummer des zugehörigen Hauptmenus (Registerkarte) beginnend bei 0, siehe Dokumentation.doc. +$mainnr = 4; +$mnr = -1; +$sbmnr = -1; +# 3. Dateiname und evtl. Pfad des Templates für die Webseite +$webseite = "new_gbm.dwt"; + +include("../class.FastTemplate.php"); + +include('rbs_header.inc.php'); + +################################################################################### + +$mnr = $_GET['mnr']; +$sbmnr = $_GET['sbmnr']; + +# Menuleisten erstellen +createMainMenu($rollen, $mainnr); +createRBSMenu($rollen, $mnr, $auDN, $sbmnr); + +################################################################################### + +$gbmcn = str_replace ( "_", " ", $_GET['gbmcn']); + +# rbservice und pxe daten (voerst nur ein rbs) +$rbs_array = get_rbservices($auDN,array("dn","cn")); +$rbsDN = $rbs_array[0]['dn']; + +# RBS Daten +$rbs_data = get_node_data($rbsDN, array("cn","nfsserverip","exportpath","tftpserverip","tftppath","nbdserverip")); +$template->assign(array("RBSCN" => $rbs_data['cn'], + "TFTP" => $rbs_data['tftpserverip'], + "TFTPPATH" => $rbs_data['tftppath'], + "NFS" => $rbs_data['nfsserverip'], + "NFSPATH" => $rbs_data['exportpath'], + "NBD" => $rbs_data['nbdserverip'])); + + +$options = "<option value='none' selected>----------------------------</option> + <option value='nfs'><b>nfs://".$rbs_data['nfsserverip'].":/".$rbs_data['exportpath']."</b></option> + <option value='nbd'>nbd://".$rbs_data['nbdserverip'].":</option> + <option value='dnbd'>dnbd://".$rbs_data['nbdserverip'].":</option>"; + +$template->assign(array("GBMCN" => $gbmcn, + "LABEL" => "", + "KERNEL" => "", + "INITRD" => "", + "SELECTOPTIONS" => $options, + "ROOTFS" => "", + "IPAPPEND" => "", + "RBSDN" => $rbsDN, + "MNR" => $mnr, + "SBMNR" => $sbmnr)); + + + +################################################################################### + +include("rbs_footer.inc.php"); + +?>
\ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/rbs/new_menuentry.dwt b/ldap-site-mngmt/webinterface/rbs/new_menuentry.dwt new file mode 100644 index 00000000..2b0e7860 --- /dev/null +++ b/ldap-site-mngmt/webinterface/rbs/new_menuentry.dwt @@ -0,0 +1,188 @@ +<table border='0' cellpadding='5' cellspacing='0' width='100%'> + <tr> + <td height='20'><h4>Zurück zu <a href='pxe.php?dn={PXEDN}&mnr={MNR}&sbmnr={SBMNR}&mcnr={MCNR}' class='headerlink'>{PXECN}</a></h4></td> + </tr> + <tr> + <td height='20'> </td> + </tr> + <tr> + <td colspan='2'><h3>Neuen Boot Menü Eintrag anlegen:</h3></td> + </tr> + <tr> + <td height='20'> </td> + </tr> + <tr> + <td colspan='2'><h4>Notwendige Attribute:</h4></td> + </tr> + <tr><td> + <table cellpadding='7' cellspacing='0' border='1' align='left' width='90%' style='border-width: 0 0 0 0;'> + + <form action='menuentry_add.php' method='post'> + + <tr> + <td width='35%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>Attribut</b></td> + <td width='65%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>Wert</b></td> + </tr> + + <tr height='50'> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Eindeutiger Name (cn):</b><br>(Teil des dn, ohne Leerzeichen eingeben) </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='mecn' value='{MECN}' size='60' class='medium_form_field'> + </td> + </tr> + <tr height='50'> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Label:</b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[label]' value='{LABEL}' size='60' class='medium_form_field'> + </td> + </tr> + <tr height='50' valign='top'> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Generische Boot Images: </b><br>(Wählen Sie eines aus) </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <select name='gbm' size='5' class='large_form_selectbox'> + <option selected value='none'>----------</option> + <!-- BEGIN DYNAMIC BLOCK: Gbms --> + <option value='{GBMDN}'>{GBMCN} [Abt.: {RBSAU}]</option> + <!-- END DYNAMIC BLOCK: Gbms --> + </select> + </td> + </tr> + <tr height='50'> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Menü Position: </b><br> + (Bitte ohne führende Null) </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='menpos' value='{MAXPOS}' size='2' class='medium_form_field'> + </td> + </tr> + + </table></td> + </tr> + <tr> + <td height='40'> </td> + </tr> + <tr> + <td colspan='2'><h4>Optionale Attribute:</h4></td> + </tr> + <tr><td> + <table cellpadding='7' cellspacing='0' border='1' align='left' width='90%' style='border-width: 0 0 0 0;'> + + <tr> + <td width='35%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>Attribut</b></td> + <td width='65%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>Wert</b></td> + </tr> + + <tr height='50'> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Menu Label:</b> <br>(Wird im Bootmenü statt Label angezeigt) </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[menulabel]' value='{MELABEL}' size='50' class='medium_form_field'> + </td> + </tr> + <tr height='50'> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Menu Passwd:</b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[menupasswd]' value='{MEPASSWD}' size='50' class='medium_form_field'> + </td> + </tr> + <tr height='50'> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Menu Hide:</b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[menuhide]' value='{MEHIDE}' size='50' class='medium_form_field'> + </td> + </tr> + <tr height='50'> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Localboot:</b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[localboot]' value='{LOCALBOOT}' size='50' class='medium_form_field'> + </td> + </tr> + + </table></td> + </tr> + <tr> + <td height='40'></td> + </tr> + <tr> + <td colspan='2'><h4>APPEND Parameter:</h4></td> + </tr> + <tr> + <td height='10'></td> + </tr> + <tr><td> + <table cellpadding='7' cellspacing='0' border='1' align='left' width='90%' style='border-width: 0 0 0 0;'> + + <tr> + <td width='20%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>Attribut</b></td> + <td width='80%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>Wert</b></td> + </tr> + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Client Konfiguration via: </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[clientconfvia]' value='{CCV}' size='30' class='medium_form_field'> + </td> + </tr> + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>vga: </b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[vga]' value='{VGA}' size='30' class='medium_form_field'> + </td> + </tr> + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>splash: </b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[splash]' value='{SPLASH}' size='30' class='medium_form_field'> + </td> + </tr> + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>vci: </b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[vci]' value='{VCI}' size='30' class='medium_form_field'> + </td> + </tr> + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>no ldsc: </b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[noldsc]' value='{NOLDSC}' size='30' class='medium_form_field'> + </td> + </tr> + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>elevator: </b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[elevator]' value='{ELEVATOR}' size='30' class='medium_form_field'> + </td> + </tr> + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>apic: </b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[apic]' value='{APIC}' size='30' class='medium_form_field'> + </td> + </tr> + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Union FS: </b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[unionfs]' value='{UNIONFS}' size='30' class='medium_form_field'> + </td> + </tr> + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>cowloop: </b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[cowloop]' value='{COWLOOP}' size='30' class='medium_form_field'> + </td> + </tr> + + <input type='hidden' name='typ' value='newme'> + <input type='hidden' name='maxpos' value='{MAXPOS}'> + <input type='hidden' name='pxedn' value='{PXEDN}'> + <input type='hidden' name='mnr' value='{MNR}'> + <input type='hidden' name='sbmnr' value='{SBMNR}'> + <input type='hidden' name='mcnr' value='{MCNR}'> + + </table></td> + </tr> + <tr> + <td><input type='Submit' name='apply' value='anlegen' class='small_loginform_button'> + </form></td> + </tr> + + + +</table>
\ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/rbs/new_menuentry.php b/ldap-site-mngmt/webinterface/rbs/new_menuentry.php new file mode 100644 index 00000000..a6ee6e3e --- /dev/null +++ b/ldap-site-mngmt/webinterface/rbs/new_menuentry.php @@ -0,0 +1,166 @@ +<?php + +include('../standard_header.inc.php'); + +# 1. Seitentitel - wird in der Titelleiste des Browser angezeigt. +$titel = "Remote Boot Service Management"; +# 2. Nummer des zugehörigen Hauptmenus (Registerkarte) beginnend bei 0, siehe Dokumentation.doc. +$mainnr = 4; +$mnr = 3; +$sbmnr = -1; +$mcnr = -1; +# 3. Dateiname und evtl. Pfad des Templates für die Webseite +$webseite = "new_menuentry.dwt"; + +include("../class.FastTemplate.php"); + +include('rbs_header.inc.php'); + +################################################################################### + +$sbmnr = $_GET['sbmnr']; + +# Menuleisten erstellen +createMainMenu($rollen, $mainnr); +createRBSMenu($rollen, $mnr, $auDN, $sbmnr); + +################################################################################### + +$mecn = str_replace ( "_", " ", $_GET['mecn']); + +$pxeDN = $_GET['dn']; +$dnexp = ldap_explode_dn($pxeDN, 1); +$pxecn = $dnexp[0]; + +# RBS Daten +$pxe = get_node_data($pxeDN,array("rbservicedn")); +$rbsDN = $pxe['rbservicedn']; +$exp = explode(',',$rbsDN); +$exprbsau = explode('=',$exp[2]); $rbsau = $exprbsau[1]; +$rbsdata = get_node_data($rbsDN,array("cn","nfsserverip","exportpath","tftpserverip","tftppath")); + +# Anzahl Menüeinträge +$menens = get_menuentries($pxeDN,array("dn")); +$maxpos = count($menens)+1; + +# Bootmenu Daten +$template->assign(array("MECN" => $mecn, + "LABEL" => "", + "MELABEL" => "", + "MEDEF" => "", + "MEPASSWD" => "", + "MEHIDE" => "", + "VGA" => "", + "SPLASH" => "", + "NOLDSC" => "", + "ELEVATOR" => "", + "VCI" => "", + "CCV" => "", + "APIC" => "", + "COWLOOP" => "", + "UNIONFS" => "", + "DEBUG" => "", + "LOCALBOOT" => "", + "SUBMENULINK" => "", + "MENPOS" => "", + "MAXPOS" => $maxpos, + "PXEDN" => $pxeDN, + "PXECN" => $pxecn, + "MNR" => $mnr, + "SBMNR" => $sbmnr, + "MCNR" => $mcnr)); + + +# verwendbare GBMs holen +# eigene AU (andere noch über "offer" Attribut in RBS suchen) +$attributes = array("dn","cn","label","kernel","initrd","nfsroot","nbdroot","ipappend"); +$gbm_array = get_menuentries($rbsDN,$attributes); +if (count($gbm_array) != 0){ +$template->define_dynamic("Gbms", "Webseite"); + foreach ($gbm_array as $item){ + $template->assign(array("GBMDN" => $item['dn'], + "GBMCN" => $item['cn'], + "GBMLABEL" => $item['label'], + "RBSAU" => $rbsau)); + $template->parse("GBMS_LIST", ".Gbms"); + } +}else{ + $template->assign(array("GBMDN" => "", + "GBMCN" => "Keine generischen Boot Images verfügbar", + "GBMLABEL" => "Keine generischen Boot Images verfügbar", + "RBSAU" => "")); +} + + +# Alternative RB Dienste holen +$altrbs = get_rbservices($auDN,array("dn","cn")); +if (count($altrbs) != 0){ + for ($i=0; $i < count($altrbs); $i++){ + if ($rbsDN == $altrbs[$i]['dn']){ + array_splice($altrbs, $i, 1); + } + } +} + + +if (count($altrbs) != 0){ +$template->define_dynamic("Altrbs", "Webseite"); + foreach ($altrbs as $item){ + $altrbsexp = explode(',',$item['dn']); + $altrbsau = explode('=',$altrebsexp[2]); + $template->assign(array("ALTRBSDN" => $item['dn'], + "ALTRBSCN" => $item['cn'], + "ALTRBSAU" => "[ ".$altrbsau[1]." ]")); + $template->parse("ALTRBS_LIST", ".Altrbs"); + } +}else{ + $template->assign(array("ALTRBSDN" => "", + "ALTRBSCN" => "", + "ALTRBSAU" => "")); +} + +################################################ +# Bootmenü Einträge + +$menuentries = get_menuentries($pxeDN,array("dn","menuposition","label","menulabel")); +#print_r($menuentries); echo "<br>"; + +$template->define_dynamic("Bootmenu", "Webseite"); + +foreach ($menuentries as $me){ + $template->assign(array("MENDN" => $me['dn'], + "MENULABEL" => $me['menulabel'], + "POSITION" => $me['menuposition'], + "AUDN" => $auDN)); + $template->parse("BOOTMENU_LIST", ".Bootmenu"); +} + + +################################################ +# PXE kopieren + +$hostorgroup = $exp[0]; +$hgexp = explode('=',$exp[0]); + + +$hosts_array = get_hosts($auDN,array("dn","hostname")); +$groups_array = get_groups($auDN,array("dn","cn")); + +$template->define_dynamic("Hosts", "Webseite"); +foreach ($hosts_array as $item){ + $template->assign(array("HDN" => $item['dn'], + "HN" => $item['hostname'])); + $template->parse("HOSTS_LIST", ".Hosts"); +} +$template->define_dynamic("Groups", "Webseite"); +foreach ($groups_array as $item){ + $template->assign(array("GDN" => $item['dn'], + "GN" => $item['cn'])); + $template->parse("GROUPS_LIST", ".Groups"); +} + +################################################################################### + +include("rbs_footer.inc.php"); + +?> diff --git a/ldap-site-mngmt/webinterface/rbs/new_pxe.dwt b/ldap-site-mngmt/webinterface/rbs/new_pxe.dwt new file mode 100644 index 00000000..c97324b5 --- /dev/null +++ b/ldap-site-mngmt/webinterface/rbs/new_pxe.dwt @@ -0,0 +1,157 @@ +<table border='0' cellpadding='5' cellspacing='0' width='100%'> + <tr> + <td colspan='2'><h3>Neues DEFAULT PXE Boot Menü anlegen:</h3></td> + </tr> + <tr> + <td height='10'> </td> + </tr> + <tr> + <td colspan='2'><h4>Allgemein:</h4></td> + </tr> + <tr><td> + <table cellpadding='7' cellspacing='0' border='1' align='left' width='90%' style='border-width: 0 0 0 0;'> + + <form action='pxe_add.php' method='post'> + <tr> + <td width='30%' style='border-color: black; border-style: solid; border-width: 3 0 1 0;'><b>Eindeutiger Name (cn):</b><br>(Bitte ohne Leerzeichen eingeben) </td> + <td colspan='2' style='border-color: black; border-style: solid; border-width: 3 0 1 0;'> + <font size='+2'><b>PXE_</b></font><input type='Text' name='pxecn' value='{PXECN}' size='50' class='medium_form_field'> + </td> + </tr> + <tr valign='top'> + <td width='30%' style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Remote Boot Dienst <br> + auswählen: </b> </td> + <td colspan='2' style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <select name='rbs' size='5' class='medium_form_selectbox'> + <option selected value='none'>----------</option> + + <!-- BEGIN DYNAMIC BLOCK: Altrbs --> + <option value='{ALTRBSDN}'>{ALTRBSCN} {ALTRBSAU}</option> + <!-- END DYNAMIC BLOCK: Altrbs --> + + </select> + </td> + </tr> + <tr valign='top'> + <td width='30%' style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Gültigkeitsdauer <br>(Time Range): </b> </td> + <td width='40%' style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='pxeday' value='{PXEDAY}' size='5' maxlength='5' class='medium_form_field'> + <br> + Eines der folgenden:<br> + + - <b>Datum</b> (Format: dd.mm, z.B. 21.03/01.11) <br> + - <b>Monatstag</b> (Format: dd, z.B. 01 oder 25) <br> + - <b>Wochentag</b> (Format: MO, DI, ... , SO) <br> + - <b>X</b> für <b>täglich</b> + + <td width='30%' style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='pxebeg' value='{PXEBEG}' size='2' maxlength='2' class='medium_form_field'> + <b><font size='+1'>:00</b> - </font> + <input type='Text' name='pxeend' value='{PXEEND}' size='2' maxlength='2' class='medium_form_field'> + <b><font size='+1'>:59</b> Uhr</font><br> + - <b>Uhrzeit</b> (Format: hh, z.B. 07-19)<br> + - <b>X</b> für rund um die Uhr + </td> + </tr> + + </table></td> + </tr> + + <tr> + <td height='40'></td> + </tr> + <tr> + <td colspan='2'><h4>Globale PXE Parameter:</h4></td> + </tr> + + <tr><td> + <table cellpadding='7' cellspacing='0' border='1' align='left' width='90%' style='border-width: 0 0 0 0;'> + + <tr> + <td width='30%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>Attribut</b></td> + <td width='70%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>Wert</b></td> + </tr> + + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Default: </b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[default]' value='{DEFAULT}' size='30' class='medium_form_field'> + <input type='hidden' name='oldattribs[default]' value='{DEFAULT}'> + </td> + </tr> + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Menu Title: </b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[menutitle]' value='{MENTIT}' size='30' class='medium_form_field'> + <input type='hidden' name='oldattribs[menutitle]' value='{MENTIT}'> + </td> + </tr> + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Menu Master Passwd: </b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[menumasterpasswd]' value='{MENMPW}' size='30' class='medium_form_field'> + <input type='hidden' name='oldattribs[menumasterpasswd]' value='{MENMPW}'> + </td> + </tr> + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Timeout: </b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[timeout]' value='{TIMEOUT}' size='30' class='medium_form_field'> + <input type='hidden' name='oldattribs[timeout]' value='{TIMEOUT}'> + </td> + </tr> + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>No Escape: </b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[noescape]' value='{NOESC}' size='30' class='medium_form_field'> + <input type='hidden' name='oldattribs[noescape]' value='{NOESC}'> + </td> + </tr> + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Prompt: </b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[prompt]' value='{PROMPT}' size='30' class='medium_form_field'> + <input type='hidden' name='oldattribs[prompt]' value='{PROMPT}'> + </td> + </tr> + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Allow Options: </b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[allowoptions]' value='{ALLOW}' size='30' class='medium_form_field'> + <input type='hidden' name='oldattribs[allowoptions]' value='{ALLOW}'> + </td> + </tr> + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>On Error: </b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[onerror]' value='{ONERR}' size='30' class='medium_form_field'> + <input type='hidden' name='oldattribs[onerror]' value='{ONERR}'> + </td> + </tr> + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>ON Timeout: </b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[ontimeout]' value='{ONTIME}' size='30' class='medium_form_field'> + <input type='hidden' name='oldattribs[ontimeout]' value='{ONTIME}'> + </td> + </tr> + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Client-Conf Dateiname <br>(File URI): </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='conffile' value='{FILEURI}' size='50' class='medium_form_field'> + + </td> + </tr> + + <input type='hidden' name='oldpxecn' value='{PXECN}'> + <input type='hidden' name='mnr' value='{MNR}'> + <input type='hidden' name='sbmnr' value='{SBMNR}'> + <input type='hidden' name='mcnr' value='{MCNR}'> + </table></td> + </tr> + <tr> + <td><input type='Submit' name='apply' value='anlegen' class='small_loginform_button'> + </form></td> + </tr> + +</table>
\ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/rbs/new_pxe.php b/ldap-site-mngmt/webinterface/rbs/new_pxe.php new file mode 100644 index 00000000..9a6afba0 --- /dev/null +++ b/ldap-site-mngmt/webinterface/rbs/new_pxe.php @@ -0,0 +1,95 @@ +<?php + +include('../standard_header.inc.php'); + +# 1. Seitentitel - wird in der Titelleiste des Browser angezeigt. +$titel = "Remote Boot Service Management"; +# 2. Nummer des zugehörigen Hauptmenus (Registerkarte) beginnend bei 0, siehe Dokumentation.doc. +$mainnr = 4; +$mnr = -1; +$sbmnr = -1; +$mcnr = -1; +# 3. Dateiname und evtl. Pfad des Templates für die Webseite +$webseite = "new_pxe.dwt"; + +include("../class.FastTemplate.php"); + +include('rbs_header.inc.php'); + +################################################################################### + +$mnr = $_GET['mnr']; +$sbmnr = $_GET['sbmnr']; +$mcnr = $_GET['mcnr']; + +# Menuleisten erstellen +createMainMenu($rollen, $mainnr); +createRBSMenu($rollen, $mnr, $auDN, $sbmnr); + +################################################################################### + +$pxecn = str_replace ( "_", " ", $_GET['pxecn']); +$pxeday = str_replace ( "_", " ", $_GET['pxeday']); +$pxebeg = str_replace ( "_", " ", $_GET['pxebeg']); +$pxeend = str_replace ( "_", " ", $_GET['pxeend']); + +$template->assign(array("PXECN" => $pxecn, + "PXEDAY" => $pxeday, + "PXEBEG" => $pxebeg, + "PXEEND" => $pxeend, + "LDAPURI" => "", + "FILEURI" => "", + "RBS" => "", + "RBSAU" => "", + "NFS" => "", + "NFSROOT" => "", + "TFTP" => "", + "TFTPROOT" => "", + "FILE" => "", + "ALLOW" => "", + "CONSOLE" => "", + "DEFAULT" => "menu.c32", + "DISPLAY" => "", + "FONT" => "", + "IMPLICIT" => "", + "KBDMAP" => "", + "MENMPW" => "", + "MENTIT" => "", + "NOESC" => "1", + "ONERR" => "", + "ONTIME" => "", + "PROMPT" => "0", + "SAY" => "", + "SERIAL" => "", + "TIMEOUT" => "600", + "MNR" => $mnr, + "SBMNR" => $sbmnr)); + +############################################# +# RB Dienste holen +$rbsoffers = get_rbsoffers($auDN); + +$template->assign(array("ALTRBSDN" => "", + "ALTRBSCN" => "", + "ALTRBSAU" => "")); + +if (count($rbsoffers) != 0){ +$template->define_dynamic("Altrbs", "Webseite"); + foreach ($rbsoffers as $item){ + $rbsdnexp = ldap_explode_dn($item,1); + $rbsoffcn = $rbsdnexp[0]; + $rbsoffau = $rbsdnexp[2]; + #$auexp = explode(',',$item['auDN']); + #$altrbsau = explode('=',$auexp[0]); + $template->assign(array("ALTRBSDN" => $item, + "ALTRBSCN" => $rbsoffcn, + "ALTRBSAU" => " [ Abt.: ".$rbsoffau." ]")); + $template->parse("ALTRBS_LIST", ".Altrbs"); + } +} + +################################################################################### + +include("rbs_footer.inc.php"); + +?>
\ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/rbs/new_rbservice.dwt b/ldap-site-mngmt/webinterface/rbs/new_rbservice.dwt new file mode 100644 index 00000000..52e693b5 --- /dev/null +++ b/ldap-site-mngmt/webinterface/rbs/new_rbservice.dwt @@ -0,0 +1,117 @@ +<table border='0' cellpadding='5' cellspacing='0' width='100%'> + <tr> + <td colspan='2'><h3>Remote Boot Service anlegen</h3></td> + </tr> + <tr> + <td height='20'></td> + </tr> + <tr><td> + <table cellpadding='7' cellspacing='0' border='1' align='left' width='90%' style='border-width: 0 0 0 0;'> + + <form action='rbservice_add.php' method='post'> + + <tr> + <td width='40%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>Attribut</b></td> + <td width='60%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>Wert</b></td> + </tr> + + <tr height='50'> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Eindeutiger RBS Name (cn):</b><br>(Teil des dn, ohne Leerzeichen eingeben) </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <font size='+2'><b>RBS_</b></font><input type='Text' name='rbscn' value='{RBSCN}' size='40' class='medium_form_field'> + </td> + </tr> + <tr height='50' valign='top'> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <b>Wer soll Dienst nutzen dürfen:</b><br>(Wählen Sie eine Abteilung,<br> + impliziert alle Unterabteilungen) + </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <select name='rbsoffer' size='4' class='medium_form_selectbox'> + <option selected value='{OFFERSELF}'>------ {SELFOU} ------</option> + + <!-- BEGIN DYNAMIC BLOCK: Rbsoffers --> + <option value='{RBSOFFER}'>{RBSOFFEROU}</option> + <!-- END DYNAMIC BLOCK: Rbsoffers --> + + </select> + </td> + </tr> + + </table></td> + </tr> + <tr> + <td height='40'></td> + </tr> + <tr> + <td colspan='2'><h4>Boot Server System:</h4></td> + </tr> + <tr> + <td height='10'></td> + </tr> + <tr><td> + <table cellpadding='7' cellspacing='0' border='1' align='left' width='90%' style='border-width: 0 0 0 0;'> + + <tr valign='top'> + <td width='20%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>Server</b></td> + <td width='30%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>IP Adresse eingeben</b> oder<br><b>Rechner auswählen</b></td> + <td width='50%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>Pfad</b> <br>(auf dem jeweiligen Server)</td> + </tr> + <tr valign='top'> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>TFTP Server: </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='tftpserverip' value='' size='20' class='medium_form_field'> + <select name='tftpserver' size='4' class='small_form_selectbox'> + <option selected value='none'>----------------------------</option> + <!-- BEGIN DYNAMIC BLOCK: TftpHosts --> + <option value='{HDN}'>{HN}</option> + <!-- END DYNAMIC BLOCK: TftpHosts --> + </select> + </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + Initial Boot File <input type='Text' name='attribs[initbootfile]' value='{INITBOOTFILE}' size='25' class='medium_form_field'><br> + Kernel Path <input type='Text' name='attribs[tftpkernelpath]' value='{TFTPKERNEL}' size='25' class='medium_form_field'><br> + PXE Path<input type='Text' name='attribs[tftppxepath]' value='{TFTPPXE}' size='25' class='medium_form_field'><br> + Clientconf Path<input type='Text' name='attribs[tftpclientconfpath]' value='{TFTPCLIENTCONF}' size='25' class='medium_form_field'> + </td> + </tr> + <tr valign='top'> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>NFS Server: </b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='nfsserverip' value='' size='20' class='medium_form_field'> + <select name='nfsserver' size='4' class='small_form_selectbox'> + <option selected value='none'>----------------------------</option> + <!-- BEGIN DYNAMIC BLOCK: NfsHosts --> + <option value='{HDN}'>{HN}</option> + <!-- END DYNAMIC BLOCK: NfsHosts --> + </select> + </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[exportpath]' value='{NFSPATH}' size='25' class='medium_form_field'> + </td> + </tr> + <tr valign='top'> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>NBD Server: </b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='nbdserverip' value='' size='20' class='medium_form_field'> + <select name='nbdserver' size='4' class='small_form_selectbox'> + <option selected value='none'>----------------------------</option> + <!-- BEGIN DYNAMIC BLOCK: NbdHosts --> + <option value='{HDN}'>{HN}</option> + <!-- END DYNAMIC BLOCK: NbdHosts --> + </select> + </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> </td> + </tr> + + <input type='hidden' name='mnr' value='{MNR}'> + <input type='hidden' name='sbmnr' value='{SBMNR}'> + + </table></td> + </tr> + <tr> + <td><input type='Submit' name='apply' value='anlegen' class='small_loginform_button'> + </form></td> + </tr> + +</table>
\ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/rbs/new_rbservice.php b/ldap-site-mngmt/webinterface/rbs/new_rbservice.php new file mode 100644 index 00000000..020e3254 --- /dev/null +++ b/ldap-site-mngmt/webinterface/rbs/new_rbservice.php @@ -0,0 +1,107 @@ +<?php +include('../standard_header.inc.php'); + +# 1. Seitentitel - wird in der Titelleiste des Browser angezeigt. +$titel = "Remote Boot Service Management"; +# 2. Nummer des zugehörigen Hauptmenus (Registerkarte) beginnend bei 0, siehe Dokumentation.doc. +$mainnr = 4; +$mnr = 0; +$sbmnr = -1; +# 3. Dateiname und evtl. Pfad des Templates für die Webseite +$webseite = "new_rbservice.dwt"; + +include("../class.FastTemplate.php"); + +include('rbs_header.inc.php'); + +################################################################################### + +$mnr = $_GET['mnr']; + +# Menuleisten erstellen +createMainMenu($rollen, $mainnr); +createRBSMenu($rollen, $mnr, $auDN, $sbmnr); + +################################################################################### + +# nochmal zur Sicherheit: falls doch RBS angelegt +$rbs_array = get_rbservices($auDN,array("dn","cn")); +if (count($rbs_array) != 0){ + $url = "rbservice.php?mnr=1"; + $seconds = 1; + $mesg .= "<br>Sie werden automatisch auf die nächste Seite geleitet. <br> + Falls nicht, klicken Sie hier <a href=".$url." style='publink'>hier</a>"; + redirect($seconds, $url, $mesg, $addSessionId = TRUE); +} + +$rbscn = str_replace ( "_", " ", $_GET['rbscn']); +$template->assign(array("RBSCN" => $rbscn, + "TFTP" => "", + "TFTPIP" => "", + "INITBOOTFILE" => "", + "TFTPKERNEL" => "", + "TFTPPXE" => "", + "TFTPCLIENTCONF" => "", + "NFS" => "", + "NFSIP" => "", + "NFSPATH" => "", + "NBD" => "", + "NBDIP" => "", + "HDN" => "", + "HN" => "", + "IP" => "", + "OFFERSELF" => $auDN, + "SELFOU" => $au_ou, + "MNR" => $mnr, + "SBMNR" => $sbmnr)); + + +# RBS Anbieten (ausser eigene AU) +$expdn = ldap_explode_dn($auDN, 0); # Mit Merkmalen +$expdn = array_slice($expdn, 2); +$expou = ldap_explode_dn($auDN, 1); # nur Werte +$expou = array_slice($expou, 2, -3); +#print_r($expou); echo "<br>"; +#print_r($expdn); echo "<br>"; +for ($i=0; $i<count($expou); $i++){ + $rbsoffers[$i]['ou'] = $expou[$i]; + $rbsoffers[$i]['dn'] = implode(',',$expdn); + $expdn = array_slice($expdn, 1); +} +#print_r($rbsoffers); + +$template->define_dynamic("Rbsoffers", "Webseite"); +foreach ($rbsoffers as $offer){ + $template->assign(array("RBSOFFER" => $offer['dn'], + "RBSOFFEROU" => $offer['ou'],)); + $template->parse("RBSOFFERS_LIST", ".Rbsoffers"); +} + +### Rechner +$hostorgroup = $exp[0]; +$hosts_array = get_hosts($auDN,array("dn","hostname","ipaddress")); + +$template->define_dynamic("TftpHosts", "Webseite"); +$template->define_dynamic("NfsHosts", "Webseite"); +$template->define_dynamic("NbdHosts", "Webseite"); +foreach ($hosts_array as $item){ + $template->assign(array("HDN" => $item['dn'], + "HN" => $item['hostname'], + "IP" => $item['ipaddress'])); + $template->parse("TFTPHOSTS_LIST", ".TftpHosts"); + $template->assign(array("HDN" => $item['dn'], + "HN" => $item['hostname'], + "IP" => $item['ipaddress'])); + $template->parse("NFSHOSTS_LIST", ".NfsHosts"); + $template->assign(array("HDN" => $item['dn'], + "HN" => $item['hostname'], + "IP" => $item['ipaddress'])); + $template->parse("NBDHOSTS_LIST", ".NbdHosts"); +} + + +################################################################################### + +include("rbs_footer.inc.php"); + +?>
\ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/rbs/no_rbservice.dwt b/ldap-site-mngmt/webinterface/rbs/no_rbservice.dwt new file mode 100644 index 00000000..2d7c1a87 --- /dev/null +++ b/ldap-site-mngmt/webinterface/rbs/no_rbservice.dwt @@ -0,0 +1,22 @@ +<table border='0' cellpadding='5' cellspacing='0' width='100%'> + <tr> + <td colspan='2'><h3>Remote Boot Service </h3> + + <p>Sie haben noch keinen <b>Remote Boot Service</b> eingerichtet.</p> + + <p>Um</p> + + <ul> + <li><p><b>Generische Boot Menüs</b></p></li> + <li><p><b>Default PXE Bootmenüs</b></p></li> + </ul> + + <p>anlegen zu können muss erst ein Remote Boot Service eingerichtet werden.</p> + + <p>Verwenden sie dafür den Link <b>"Remote Boot Service"</b> im Navigationsmenü links, um + zur Eingabemaske zu gelangen.</p> + + </td> + </tr> + +</table>
\ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/rbs/no_rbservice.php b/ldap-site-mngmt/webinterface/rbs/no_rbservice.php new file mode 100644 index 00000000..657e3738 --- /dev/null +++ b/ldap-site-mngmt/webinterface/rbs/no_rbservice.php @@ -0,0 +1,32 @@ +<?php +include('../standard_header.inc.php'); + +# 1. Seitentitel - wird in der Titelleiste des Browser angezeigt. +$titel = "Remote Boot Service Management"; +# 2. Nummer des zugehörigen Hauptmenus (Registerkarte) beginnend bei 0, siehe Dokumentation.doc. +$mainnr = 4; +$mnr = 1; +$sbmnr = -1; +# 3. Dateiname und evtl. Pfad des Templates für die Webseite +$webseite = "no_rbservice.dwt"; + +include("../class.FastTemplate.php"); + +include('rbs_header.inc.php'); + +################################################################################### + +$mnr = $_GET['mnr']; + +# Menuleisten erstellen +createMainMenu($rollen, $mainnr); +createRBSMenu($rollen, $mnr, $auDN, $sbmnr); + +################################################################################### + + +################################################################################### + +include("rbs_footer.inc.php"); + +?>
\ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/rbs/pxe.dwt b/ldap-site-mngmt/webinterface/rbs/pxe.dwt new file mode 100644 index 00000000..4ce35565 --- /dev/null +++ b/ldap-site-mngmt/webinterface/rbs/pxe.dwt @@ -0,0 +1,453 @@ +<table border='0' cellpadding='5' cellspacing='0' width='100%'> + <tr> + <td colspan='2'><h3>PXE Boot Menü <code class='font_object'> {PXECN} </code> </h3></td> + </tr> + <tr> + <td height='10'></td> + </tr> + + <tr> + <td colspan='2'>Klicken Sie auf einen Menüeintrag um zur Detailansicht zu gelangen und den Eintrag bearbeiten zu können</td> + </tr> + <tr> + <td> + <table cellpadding='7' cellspacing='0' border='0' align='left' width='80%' style='border-color: black; border-style: solid; border-width: 2 2 2 2;'> + + <tr> + <td width='8%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'>#</td> + <td width='8%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'>Flags</td> + <td width='64%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'>Menu Label </td> + <td width='5%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'> </td> + <td width='15%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'> </td> + </tr> + + <!-- BEGIN DYNAMIC BLOCK: Bootmenu --> + <form action='delete_confirm.php' method='post'> + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;{BGCDEF}'>{POSITION} </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;{BGCDEF}'>{MEDEF} {MEPWD} {MEHIDE} </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;{BGCDEF}'><font size='+1'>{ANZEIGE} </font></td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;{BGCDEF}'> + <a href='menuposition_up.php?dn={MENDN}&pos={POSITION}&pxedn={PXEDN}&mnr={MNR}&sbmnr={SBMNR}&mcnr={MCNR}'><img style='border-width:0;border-style=none;' src='../pics/up2.gif' height='15'></a> <br> + <a href='menuposition_down.php?dn={MENDN}&pos={POSITION}&pxedn={PXEDN}&mnr={MNR}&sbmnr={SBMNR}&mcnr={MCNR}'><img style='border-width:0;border-style=none;' src='../pics/down2.gif' height='15'></a></td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;{BGCDEF}'> + <input type='hidden' name='dn' value='{MENDN}'> + <input type='hidden' name='name' value='{ANZEIGENAME}'> + <input type='hidden' name='pxedn' value='{PXEDN}'> + <input type='hidden' name='delurl' value='menuentry_delete.php'> + <input type='hidden' name='successurl' value='pxe.php?dn={PXEDN}&mnr={MNR}&sbmnr={SBMNR}&mcnr={MCNR}'> + <input type='hidden' name='backurl' value='pxe.php?dn={PXEDN}&mnr={MNR}&sbmnr={SBMNR}&mcnr={MCNR}'> + <input type='Submit' name='apply' value='löschen' class='small_loginform_button'> + </tr> + </form> + <!-- END DYNAMIC BLOCK: Bootmenu --> + + </table></td> + </tr> + <tr> + <td><h4>Flags:</h4></font> + <ul> + <li><b>D</b> -> Default Menüeintrag</li> + <li><b>P</b> -> Passwort geschützt</li> + <li><b>H</b> -> Hidden</li> + </ul> + </td> + </tr> + <tr> + <td height='20'></td> + </tr> + <tr> + <td colspan='2'><h4>Neuen Menüeintrag anlegen: </h4> + <a href='new_menuentry.php?dn={PXEDN}&mnr={MNR}&sbmnr={SBMNR}&mcnr={MCNR}' style='color:#FFFFFF;' class='small_loginform_button'> zur Eingabemaske </a> </td> + </tr> + <tr> + <td height='10'></td> + </tr> + <tr> + <td colspan='2'><h4>Standard Menüeinträge anlegen:</h4></td> + </tr> + <tr> + <td> + <table cellpadding='7' cellspacing='0' border='0' align='left' width='90%' style='border-color: black; border-style: solid; border-width: 0 0 0 0;'> + + <tr> + <td width='20%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'>Typ </td> + <td width='25%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'> </td> + <td width='25%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'> </td> + <td width='10%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'>Position</td> + <td width='10%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'> </td> + </tr> + <tr valign='top'> + <form action='menuentry_add.php' method='post'> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Localboot</b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + Menu Label<br><input type='Text' name='locallabel' value='' size='20' class='medium_form_field'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + Passwort (optional)<br><input type='Text' name='localpasswd' value='' size='20' class='medium_form_field'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><input type='Text' name='localpos' value='{MAXPOS}' size='2' class='medium_form_field'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><input type='Submit' name='apply' value='anlegen' class='small_loginform_button'></td> + <input type='hidden' name='typ' value='local'> + <input type='hidden' name='maxpos' value='{MAXPOS}'> + <input type='hidden' name='pxedn' value='{PXEDN}'> + <input type='hidden' name='timerange' value='{TIMERANGE}'> + <input type='hidden' name='mnr' value='{MNR}'> + <input type='hidden' name='sbmnr' value='{SBMNR}'> + <input type='hidden' name='mcnr' value='{MCNR}'> + </form> + </tr> + <tr valign='top'> + <form action='menuentry_add.php' method='post'> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Textzeile</b> </td> + <td colspan='2' style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><input type='Text' name='text' value='TEXT' size='50' class='medium_form_field'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><input type='Text' name='textpos' value='{MAXPOS}' size='2' class='medium_form_field'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><input type='Submit' name='apply' value='anlegen' class='small_loginform_button'></td> + <input type='hidden' name='typ' value='text'> + <input type='hidden' name='maxpos' value='{MAXPOS}'> + <input type='hidden' name='pxedn' value='{PXEDN}'> + <input type='hidden' name='timerange' value='{TIMERANGE}'> + <input type='hidden' name='mnr' value='{MNR}'> + <input type='hidden' name='sbmnr' value='{SBMNR}'> + <input type='hidden' name='mcnr' value='{MCNR}'> + </form> + </tr> + <tr valign='top'> + <form action='menuentry_add.php' method='post'> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Leerzeile</b> </td> + <td colspan='2' style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><input type='Text' name='leerpos' value='{MAXPOS}' size='2' class='medium_form_field'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><input type='Submit' name='apply' value='anlegen' class='small_loginform_button'></td> + <input type='hidden' name='typ' value='leer'> + <input type='hidden' name='maxpos' value='{MAXPOS}'> + <input type='hidden' name='pxedn' value='{PXEDN}'> + <input type='hidden' name='timerange' value='{TIMERANGE}'> + <input type='hidden' name='mnr' value='{MNR}'> + <input type='hidden' name='sbmnr' value='{SBMNR}'> + <input type='hidden' name='mcnr' value='{MCNR}'> + </form> + </tr> + <tr valign='top'> + <form action='menuentry_add.php' method='post'> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Verweis zu Submenü</b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'>Submenü Name<br> + <input type='Text' name='submenu' value='' size='20' class='medium_form_field'></td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'>Remote Boot Service + <select name='subrbs' size='3' class='small_form_selectbox'> + <option selected value='none'>----------</option> + <!-- BEGIN DYNAMIC BLOCK: Subrbs --> + <option value='{SUBRBSDN}'>{SUBRBSCN} {SUBRBSAU}</option> + <!-- END DYNAMIC BLOCK: Subrbs --> + </select> + </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><input type='Text' name='submenupos' value='{MAXPOS}' size='2' class='medium_form_field'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><input type='Submit' name='apply' value='anlegen' class='small_loginform_button'></td> + <input type='hidden' name='typ' value='submenu'> + <input type='hidden' name='maxpos' value='{MAXPOS}'> + <input type='hidden' name='pxedn' value='{PXEDN}'> + <input type='hidden' name='timerange' value='{TIMERANGE}'> + <input type='hidden' name='mnr' value='{MNR}'> + <input type='hidden' name='sbmnr' value='{SBMNR}'> + <input type='hidden' name='mcnr' value='{MCNR}'> + </form> + </tr> + + </table></td> + </tr> + + <tr> + <td height='40'></td> + </tr> + <tr> + <td colspan='2'><h4>Allgemeine Parameter:</h4></td> + </tr> + <tr><td> + <table cellpadding='7' cellspacing='0' border='1' align='left' width='90%' style='border-width: 0 0 0 0;'> + + <form action='pxe_change.php' method='post'> + <tr> + <td width='25%' style='border-color: black; border-style: solid; border-width: 3 0 1 0;'><b>Eindeutiger Name (cn):</b><br>(Bitte ohne Leerzeichen eingeben) </td> + <td width='5%' style='border-color: black; border-style: solid; border-width: 3 0 1 0;'> </td> + <td colspan='2' style='border-color: black; border-style: solid; border-width: 3 0 1 0;'> + <font size='+2'><b>PXE_</b></font><input type='Text' name='pxecn' value='{PXECN}' size='50' class='medium_form_field'> + <input type='hidden' name='oldpxecn' value='{PXECN}'> + </td> + </tr> + + <tr valign='top'> + <td width='25%' style='border-color: black; border-style: solid; border-width: 0 0 0 0;'><b>Gültigkeitsdauer <br>(Time Range(s)): </b><br> + Zum Löschen einer Time Range<br>Häkchen setzen </td> + <td width='5%' style='border-color: black; border-style: solid; border-width: 0 0 0 0;'> </td> + <td width='35%' style='border-color: black; border-style: solid; border-width: 0 0 0 0;'> + Eines der folgenden:<br> + + - <b>Datum</b> (dd.mm, z.B. 21.03/01.11) <br> + - <b>Monatstag</b> (dd, z.B. 01 oder 25) <br> + - <b>Wochentag</b> (MO, DI, ... , SO) <br> + - <b>X</b> für <b>täglich</b> + + <td width='35%' style='border-color: black; border-style: solid; border-width: 0 0 0 0;'> + - <b>Uhrzeit</b> (Format: hh, z.B. 07-19)<br> + - <b>X</b> für rund um die Uhr + + </td> + </tr> + + <!-- BEGIN DYNAMIC BLOCK: TRanges --> + <tr valign='top'> + <td width='25%' style='border-color: black; border-style: solid; border-width: 0 0 0 0;'> </td> + <td width='5%' style='border-color: black; border-style: solid; border-width: 0 0 0 0;'> + <input type='checkbox' name='deltr[]' value='{PXEDAY}_{PXEBEG}_{PXEEND}'> + </td> + <td width='35%' style='border-color: black; border-style: solid; border-width: 0 0 0 0;'> + <input type='Text' name='pxeday[]' value='{PXEDAY}' size='5' maxlength='5' class='medium_form_field'> + <input type='hidden' name='oldpxeday[]' value='{PXEDAY}'> <br> + + + <td width='35%' style='border-color: black; border-style: solid; border-width: 0 0 0 0;'> + <input type='Text' name='pxebeg[]' value='{PXEBEG}' size='2' maxlength='2' class='medium_form_field'> + <input type='hidden' name='oldpxebeg[]' value='{PXEBEG}'> <b><font size='+1'>:00</b> - </font> + <input type='Text' name='pxeend[]' value='{PXEEND}' size='2' maxlength='2' class='medium_form_field'> + <input type='hidden' name='oldpxeend[]' value='{PXEEND}'> <b><font size='+1'>:59</b> Uhr</font><br> + </td> + </tr> + <!-- END DYNAMIC BLOCK: TRanges --> + + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'>Neue Time Range hinzufügen </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='newpxeday' value='' size='5' maxlength='5' class='medium_form_field'> + + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='newpxebeg' value='' size='2' maxlength='2' class='medium_form_field'> + <b><font size='+1'>:00</b> - </font> + <input type='Text' name='newpxeend' value='' size='2' maxlength='2' class='medium_form_field'> + <b><font size='+1'>:59</b> Uhr</font><br> + + </td> + </tr> + + </table></td> + </tr> + + + + <tr> + <td height='40'></td> + </tr> + <tr> + <td colspan='2'><h4>Globale PXE Parameter:</h4></td> + </tr> + + <tr><td> + <table cellpadding='7' cellspacing='0' border='1' align='left' width='90%' style='border-width: 0 0 0 0;'> + + <tr> + <td width='20%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>Attribut</b></td> + <td width='80%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>Wert</b></td> + </tr> + + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Default: </b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[default]' value='{DEFAULT}' size='30' class='medium_form_field'> + <input type='hidden' name='oldattribs[default]' value='{DEFAULT}'> + </td> + </tr> + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Menu Title: </b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[menutitle]' value='{MENTIT}' size='30' class='medium_form_field'> + <input type='hidden' name='oldattribs[menutitle]' value='{MENTIT}'> + </td> + </tr> + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Menu Master Passwd: </b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[menumasterpasswd]' value='{MENMPW}' size='30' class='medium_form_field'> + <input type='hidden' name='oldattribs[menumasterpasswd]' value='{MENMPW}'> + </td> + </tr> + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Timeout: </b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[timeout]' value='{TIMEOUT}' size='30' class='medium_form_field'> + <input type='hidden' name='oldattribs[timeout]' value='{TIMEOUT}'> + </td> + </tr> + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>No Escape: </b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[noescape]' value='{NOESC}' size='30' class='medium_form_field'> + <input type='hidden' name='oldattribs[noescape]' value='{NOESC}'> + </td> + </tr> + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Prompt: </b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[prompt]' value='{PROMPT}' size='30' class='medium_form_field'> + <input type='hidden' name='oldattribs[prompt]' value='{PROMPT}'> + </td> + </tr> + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Allow Options: </b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[allowoptions]' value='{ALLOW}' size='30' class='medium_form_field'> + <input type='hidden' name='oldattribs[allowoptions]' value='{ALLOW}'> + </td> + </tr> + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>On Error: </b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[onerror]' value='{ONERR}' size='30' class='medium_form_field'> + <input type='hidden' name='oldattribs[onerror]' value='{ONERR}'> + </td> + </tr> + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>ON Timeout: </b> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[ontimeout]' value='{ONTIME}' size='30' class='medium_form_field'> + <input type='hidden' name='oldattribs[ontimeout]' value='{ONTIME}'> + </td> + </tr> + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>File URI: </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <font size='+1'>tftp://{TFTP}/{TFTPFILE}</font><input type='Text' name='attribs[fileuri]' value='{FILEURI}' size='30' class='medium_form_field'> + <input type='hidden' name='oldattribs[fileuri]' value='{FILEURI}'> + + </td> + </tr> + + </table></td> + </tr> + + <tr> + <td height='20'></td> + </tr> + <tr> + <td colspan='2'><h4>PXE Dateiname:</h4> + Achtung: Änderungen hier können zu nicht verwendeten PXE Dateien führen!<br> + Sie sollten hier nur Änderungen vornehmen, wenn der PXE Datei offensichtlich ein falscher Name zugewiesen ist.<br> + Wird z.B. vom betroffenen Rechner die MAC Adresse geändert, so wird dies vom System automatisch an dieser Stelle nachvollzogen. + Diese Feld dient daher primär der Kontrolle.</td> + </tr> + <tr> + <td> + <table cellpadding='7' cellspacing='0' border='1' align='left' width='90%' style='border-width: 0 0 0 0;'> + + <tr valign='top'> + <td width='40%' style='border-color: black; border-style: solid; border-width: 3 0 1 0;'> + <b>PXE Dateiname(n): </b><br> + Bei PXE von Gruppen ist für jeden Mitgliedsrechner<br> + der PXE Dateiname aufgelistet. + </td> + <td style='border-color: black; border-style: solid; border-width: 3 0 1 0;'> + <!-- BEGIN DYNAMIC BLOCK: Filenames --> + <input type='Text' name='filename[]' value='{FILE}' size='40' class='medium_form_field'> + <input type='hidden' name='oldfilename[]' value='{FILE}'> + <!-- END DYNAMIC BLOCK: Filenames --> + <input type='Text' name='newfilename' value='' size='40' class='medium_form_field'> + </td> + </tr> + + </table></td> + </tr> + <tr> + <td> + <input type='hidden' name='nodedn' value='{NODEDN}'> + <input type='hidden' name='pxedn' value='{PXEDN}'> + <input type='hidden' name='oldpxecn' value='{PXECN}'> + <input type='hidden' name='mnr' value='{MNR}'> + <input type='hidden' name='sbmnr' value='{SBMNR}'> + <input type='hidden' name='mcnr' value='{MCNR}'> + <input type='Submit' name='apply' value='anwenden' class='small_loginform_button'> + </form></td> + </tr> + + + <tr> + <td height='50'></td> + </tr> + + <tr> + <td colspan='2'><h4>PXE Boot Menü <code class='font_object'>{PXECN}</code> kopieren:</h4> + Beachten Sie, dass die Time Ranges des PXE Boot Menüs nicht kopiert werden. Sie müssen diese anschließend + neu setzen. <br> + Geben Sie bitte den eindeutigen Namen des neuen PXE Boot Menüs an.</td> + </tr> + <tr> + <td> + <table cellpadding='7' cellspacing='0' border='0' align='left' width='90%' style='border-width: 0 0 0 0;'> + <form action='pxe_copy.php' method='post'> + + <tr valign='top'> + <td style='border-color: black; border-style: solid; border-width: 3 0 1 0;'><b>Ziel Objekt:</b><br> + (Mehrfachauswahl möglich) </td> + <td colspan='2' style='border-color: black; border-style: solid; border-width: 3 0 1 0;'> + + <select name='copytargets[]' size='10' multiple class='medium_form_selectbox'> + <option selected value='none'>----------------------------</option> + <option value='{DEFDN}'>DEFAULT</option> + + <option value='none'>---- RECHNER -----</option> + <!-- BEGIN DYNAMIC BLOCK: Hosts --> + <option value='{HDN}'>{HN}</option> + <!-- END DYNAMIC BLOCK: Hosts --> + + <option value='none'>---- GRUPPEN -----</option> + <!-- BEGIN DYNAMIC BLOCK: Groups --> + <option value='{GDN}'>{GN}</option> + <!-- END DYNAMIC BLOCK: Groups --> + </select> + </td> + </tr> + <tr> + <td width='30%' style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Eindeutiger Name (cn):</b><br>(Bitte ohne Leerzeichen eingeben) </td> + <td colspan='2' style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <font size='+2'><b>PXE_</b></font><input type='Text' name='pxecncp' value='{PXECN}' size='50' class='medium_form_field'> + <input type='hidden' name='oldpxecncp' value='{PXECN}'> + </td> + </tr> + + <input type='hidden' name='pxedn' value='{PXEDN}'> + <input type='hidden' name='oldpxecn' value='{PXECN}'> + <input type='hidden' name='mnr' value='{MNR}'> + <input type='hidden' name='sbmnr' value='{SBMNR}'> + <input type='hidden' name='mcnr' value='{MCNR}'> + <input type='hidden' name='deltr' value='{DELTR}'> + + </table></td> + </tr><tr><td> + <input type='Submit' name='apply' value='kopieren' class='small_loginform_button'> + </form></td></tr> + + <tr> + <td height='50'></td> + </tr> + + <tr> + <td colspan='2'><h4>PXE Boot Menü <code class='font_object'>{PXECN}</code> löschen:</h4></td> + </tr> + <tr> + <td> + <table cellpadding='7' cellspacing='0' border='0' align='left' width='90%' style='border-width: 0 0 0 0;'> + <form action='delete_confirm.php' method='post'> + + + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 0;'> + Die MachineConfig wird komplett gelöscht. + </tr> + + <input type='hidden' name='dn' value='{PXEDN}'> + <input type='hidden' name='name' value='{PXECN}'> + <input type='hidden' name='delurl' value='pxe_delete.php'> + <input type='hidden' name='successurl' value='pxeconfig_default.php?&mnr={MNR}'> + <input type='hidden' name='backurl' value='pxe.php?dn={PXEDN}&mnr={MNR}&sbmnr={SBMNR}&mcnr={MCNR}'> + + </table></td> + </tr><tr><td> + <input type='Submit' name='apply' value='löschen' class='small_loginform_button'> + </form></td></tr> + +</table> diff --git a/ldap-site-mngmt/webinterface/rbs/pxe.php b/ldap-site-mngmt/webinterface/rbs/pxe.php new file mode 100644 index 00000000..85df99ac --- /dev/null +++ b/ldap-site-mngmt/webinterface/rbs/pxe.php @@ -0,0 +1,221 @@ +<?php + +include('../standard_header.inc.php'); + +# 1. Seitentitel - wird in der Titelleiste des Browser angezeigt. +$titel = "Remote Boot Service Management"; +# 2. Nummer des zugehörigen Hauptmenus (Registerkarte) beginnend bei 0, siehe Dokumentation.doc. +$mainnr = 4; +$mnr = -1; +$sbmnr = -1; +# $mcnr = -1; +# 3. Dateiname und evtl. Pfad des Templates für die Webseite +$webseite = "pxe.dwt"; + +include("../class.FastTemplate.php"); + +include('rbs_header.inc.php'); + +################################################################################### + +$mnr = $_GET['mnr']; +$sbmnr = $_GET['sbmnr']; +$mcnr = $_GET['mcnr']; + +# Menuleisten erstellen +createMainMenu($rollen, $mainnr); +createRBSMenu($rollen, $mnr, $auDN, $sbmnr); + +################################################################################### + +$pxeDN = $_GET['dn']; + +$attributes = array("dn","cn","rbservicedn","filename","timerange","allowoptions","console","default", + "display","font","implicit","kbdmap","menumasterpasswd","menutitle", + "noescape","onerror","ontimeout","prompt","say","serial","timeout","ldapuri","fileuri"); +$pxe = get_node_data($pxeDN,$attributes); +#print_r($pxe); + +$exp = explode(',',$pxeDN); +$node = array_slice($exp,1); +$nodeDN = implode(',',$node); + +# RBS Daten +$rbsDN = $pxe['rbservicedn']; +$exp = explode(',',$rbsDN); +$exprbsau = explode('=',$exp[2]); $rbsau = $exprbsau[1]; +$rbsdata = get_node_data($rbsDN,array("cn","nfsserverip","exportpath","tftpserverip","tftppath","tftpclientconfpath")); + +# Timerange Komponenten +$template->define_dynamic("TRanges", "Webseite"); +if (count($pxe['timerange']) > 1){ + foreach($pxe['timerange'] as $tr){ + $exptime = explode('_',$tr); + $template->assign(array("PXEDAY" => $exptime[0], + "PXEBEG" => $exptime[1], + "PXEEND" => $exptime[2])); + $template->parse("TRANGES_LIST", ".TRanges"); + } +}else{ + $exptime = explode('_',$pxe['timerange']); + $template->assign(array("PXEDAY" => $exptime[0], + "PXEBEG" => $exptime[1], + "PXEEND" => $exptime[2])); + $template->parse("TRANGES_LIST", ".TRanges"); +} + +# Filenames +$template->define_dynamic("Filenames", "Webseite"); +if (count($pxe['filename']) > 1){ + foreach($pxe['filename'] as $fi){ + $template->assign(array("FILE" => $fi)); + $template->parse("FILENAMES_LIST", ".Filenames"); + } +}else{ + $exptime = explode('_',$pxe['filename']); + $template->assign(array("FILE" => $pxe['filename'])); + $template->parse("FILENAMES_LIST", ".Filenames"); +} + +$expcn = explode('_',$pxe['cn']); +$name = array_slice($expcn,1); +$pxecn = implode('_',$name); + +# Bootmenü Einträge +$menuentries = get_menuentries($pxeDN,array("dn","menuposition","label","menulabel","menudefault","menupasswd","menuhide")); +#print_r($menuentries); echo "<br>"; +$maxpos = count($menuentries)+1; + +# Globale Parameter +$template->assign(array("PXEDN" => $pxeDN, + "PXECN" => $pxecn, + "TIMERANGE" => $pxe['timerange'], + "RBS" => $rbsdata['cn'], + "RBSAU" => $rbsau, + "NFS" => $rbsdata['nfsserverip'], + "NFSROOT" => $rbsdata['exportpath'], + "TFTP" => $rbsdata['tftpserverip'], + "TFTPROOT" => $rbsdata['tftppath'], + "TFTPFILE" => $rbsdata['tftpclientconfpath'], + #"LDAP" => LDAP_HOST, + #"LDAPURI" => $pxe['ldapuri'], + "FILEURI" => $pxe['fileuri'], + "FILE" => $pxe['filename'], + "ALLOW" => $pxe['allowoptions'], + "CONSOLE" => $pxe['console'], + "DEFAULT" => $pxe['default'], + "DISPLAY" => $pxe['display'], + "FONT" => $pxe['font'], + "IMPLICIT" => $pxe['implicit'], + "KBDMAP" => $pxe['kbdmap'], + "MENMPW" => $pxe['menumasterpasswd'], + "MENTIT" => $pxe['menutitle'], + "NOESC" => $pxe['noescape'], + "ONERR" => $pxe['onerror'], + "ONTIME" => $pxe['ontimeout'], + "PROMPT" => $pxe['prompt'], + "SAY" => $pxe['say'], + "SERIAL" => $pxe['serial'], + "TIMEOUT" => $pxe['timeout'], + "MAXPOS" => $maxpos, + "NODEDN" => $nodeDN, + "DEFDN" => $rbsDN, + "MNR" => $mnr, + "SBMNR" => $sbmnr, + "MCNR" => $mcnr)); + +# RB Dienste für Submenüeinträge holen +# kommt wohl wieder raus (->Submenüs nur im eigenen RBS Bereich) +$subrbs = get_rbsoffers($auDN); + +# Für Submenü Einträge +$template->assign(array("SUBRBSDN" => "", + "SUBRBSCN" => "", + "SUBRBSAU" => "")); +if (count($subrbs) != 0){ +$template->define_dynamic("Subrbs", "Webseite"); + foreach ($subrbs as $item){ + $rbsdnexp = ldap_explode_dn($item,1); + $subrbscn = $rbsdnexp[0]; + $subrbsau = $rbsdnexp[2]; + #$subrbsexp = explode(',',$item['dn']); + #$subrbsau = explode('=',$subrbsexp[2]); + $template->assign(array("SUBRBSDN" => $item, + "SUBRBSCN" => $subrbscn, + "SUBRBSAU" => "[ ".$subrbsau." ]")); + $template->parse("SUBRBS_LIST", ".Subrbs"); + } +} + + +################################################ +# Bootmenü Einträge + +$template->define_dynamic("Bootmenu", "Webseite"); +$template->assign(array("MENDN" => "", + "MENULABEL" => "", + "ANZEIGE" => "Noch kein Bootmenü Eintrag angelegt", + "MEDEF" => "", + "MEPWD" => "", + "MEHIDE" => "", + "BGCDEF" => "", + "POSITION" => "")); +foreach ($menuentries as $me){ + $anzeige = ""; + if ($me['label'] != "" && $me['menulabel'] == ""){$anzeige .= $me['label'];} + if ($me['menulabel'] != ""){$anzeige .= $me['menulabel'];} + if ($me['menudefault'] == 1){$medef = "<b>D</b>"; $bgcdef = "background-color:#EEDD82;";} + if ($me['menupasswd'] != ""){$mepwd = "<b>P</b>";} + if ($me['menuhide'] == 1){$mehide = "<b>H</b>"; $bgcdef = "background-color:#A0A0A0;";} + $template->assign(array("MENDN" => $me['dn'], + "ANZEIGE" => "<a href='menuentry.php?dn=".$me['dn']."&mnr=".$mnr."&sbmnr=".$sbmnr."&mcnr=".$mcnr."' class='headerlink'>".$anzeige."</a>", + "ANZEIGENAME" => $anzeige, + "POSITION" => $me['menuposition'], + "MEDEF" => $medef, + "MEPWD" => $mepwd, + "MEHIDE" => $mehide, + "BGCDEF" => $bgcdef, + "AUDN" => $auDN)); + $template->parse("BOOTMENU_LIST", ".Bootmenu"); + $medef = ""; + $bgcdef = ""; +} + + + +################################################ +# PXE kopieren + +$hostorgroup = $exp[0]; +$hgexp = explode('=',$exp[0]); + +$hosts_array = get_hosts($auDN,array("dn","hostname")); +$groups_array = get_groups($auDN,array("dn","cn")); + +$template->define_dynamic("Hosts", "Webseite"); +foreach ($hosts_array as $item){ + $template->assign(array("HDN" => $item['dn'], + "HN" => $item['hostname'])); + $template->parse("HOSTS_LIST", ".Hosts"); +} +$template->define_dynamic("Groups", "Webseite"); +foreach ($groups_array as $item){ + $template->assign(array("GDN" => $item['dn'], + "GN" => $item['cn'])); + $template->parse("GROUPS_LIST", ".Groups"); +} + + +# falls TR vorhanden dann soll sie gelöscht werden (flag deltr setzen) +if (count($pxe['timerange']) != 0){ + $template->assign(array("DELTR" => "1")); +} +else{ + $template->assign(array("DELTR" => "0")); +} + +################################################################################### + +include("rbs_footer.inc.php"); + +?> diff --git a/ldap-site-mngmt/webinterface/rbs/pxe_add.php b/ldap-site-mngmt/webinterface/rbs/pxe_add.php new file mode 100644 index 00000000..4b314ab1 --- /dev/null +++ b/ldap-site-mngmt/webinterface/rbs/pxe_add.php @@ -0,0 +1,118 @@ +<?php +include('../standard_header.inc.php'); + +$pxecn = $_POST['pxecn']; $pxecn = htmlentities($pxecn); +$rbsDN = $_POST['rbs']; +#print_r($rbsDN); +$pxeday = $_POST['pxeday']; $pxeday = htmlentities($pxeday); +$pxebeg = $_POST['pxebeg']; $pxebeg = htmlentities($pxebeg); +$pxeend = $_POST['pxeend']; $pxeend = htmlentities($pxeend); + +$conffile = $_POST['conffile']; $conffile = htmlentities($conffile); + +$pxeattribs = $_POST['pxeattribs']; +if (count($pxeattribs) != 0){ + foreach (array_keys($pxeattribs) as $key){ + $pxeatts[$key] = htmlentities($pxeattribs[$key]); + } +} +# print_r($pxeatts); echo "<br><br>"; +$mnr = $_POST['mnr']; +$sbmnr = $_POST['sbmnr']; +$mcnr = $_POST['mcnr']; + + +$seconds = 2; +$get_pxecn = str_replace ( " ", "_", $pxecn ); +$get_pxeday = str_replace ( " ", "_", $pxeday ); +$get_pxebeg = str_replace ( " ", "_", $pxebeg ); +$get_pxeend = str_replace ( " ", "_", $pxeend ); +$url = "new_pxe.php?pxecn=".$get_pxecn."&pxeday=".$get_pxeday."&pxebeg=".$get_pxebeg."&pxeend=".$get_pxeend."&mnr=".$mnr."&sbmnr=".$sbmnr; + +echo " +<html> +<head> + <title>Computers Management</title> + <link rel='stylesheet' href='../styles.css' type='text/css'> +</head> +<body> +<table border='0' cellpadding='30' cellspacing='0'> +<tr><td>"; + +if ( $pxecn != "" && $pxecn != "Hier_PXE_NAME_eintragen" && $rbsDN != "none" ){ + + $pxecn = "PXE_".$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); + + $pxetimerange = ""; + + if ( $pxeday != "" && $pxebeg != "" && $pxeend != "" && $pxebeg <= $pxeend ){ + + # TimeRange Syntax checken + $syntax = new Syntaxcheck; + if ($syntax->check_timerange_syntax($pxeday,$pxebeg,$pxeend)){ + + # in Grossbuchstaben + if (preg_match("/([a-z]+)/",$pxeday)){$pxeday = strtoupper($pxeday);} + if (preg_match("/([a-z]+)/",$pxebeg)){$pxebeg = strtoupper($pxebeg);} + if (preg_match("/([a-z]+)/",$pxeend)){$pxeend = strtoupper($pxeend);} + + # führende Nullen weg + $pxebeg = preg_replace ( '/0([0-9])/', '$1', $pxebeg); + $pxeend = preg_replace ( '/0([0-9])/', '$1', $pxeend); + + # TimeRange auf Überschneidung mit vorhandenen checken + if(check_timerange_pxe($pxeday,$pxebeg,$pxeend,$rbsDN,"")){ + $pxetimerange = $pxeday."_".$pxebeg."_".$pxeend; + } + else{ + $mesg = "Es existiert bereits ein PXE Boot Menü, das sich mit der eingegebenen Time Range + überschneidet!<br> + Das neue PXE Boot Menü wird ohne Time Range angelegt.<br> + Bitte geben Sie diese anschließend ein.<br><br>"; + } + } + else{ + $mesg = "Falsche Syntax in der Time-Range-Eingabe! Das neue PXE Boot Menü wird ohne Time Range angelegt.<br> + Bitte geben Sie diese anschließend ein.<br><br>"; + } + } + else{ + $mesg = "Keine vollständige Time-Range-Eingabe! Das neue PXE Boot Menü wird ohne Time Range angelegt.<br> + Bitte geben Sie diese anschließend ein.<br><br>"; + } + + $pxeDN = "cn=".$pxecn.",".$rbsDN; + $filename = array("default"); + #$ldapuri = LDAP_HOST."/dn=cn=computers,".$auDN; + + if (add_pxe($pxeDN,$pxecn,$rbsDN,$pxetimerange,$pxeattribs,$filename,$conffile)){ + $mesg .= "<br>Neues PXE Boot Menü erfolgreich angelegt<br>"; + $url = "pxe.php?dn=".$pxeDN."&mnr=".$mnr."&sbmnr=".$sbmnr."&mcnr=".$mcnr; + } + else{ + $mesg .= "<br>Fehler beim anlegen des PXE Boot Menüs!<br>"; + } +} + +elseif ( $pxecn == "" || $pxecn == "Hier_PXE_NAME_eintragen" || $rbsDN == "none" ){ + + $mesg = "Sie haben den Namen des neuen PXE Boot Menüs nicht angegeben oder den + Remote Boot Dienst nicht ausgewählt. Beide sind aber ein notwendige Attribute.<br> + Bitte geben Sie sie an.<br><br>"; + $url = "new_pxe.php?pxecn=Hier_PXE_NAME_eintragen&pxeday=".$get_pxeday."&pxebeg=".$get_pxebeg."&pxeend=".$get_pxeend."&mnr=".$mnr."&sbmnr=".$sbmnr; +} + + + +$mesg .= "<br>Sie werden automatisch auf die vorherige Seite zurückgeleitet. <br> + Falls nicht, klicken Sie hier <a href=".$url." style='publink'>back</a>"; +redirect($seconds, $url, $mesg, $addSessionId = TRUE); + +echo "</td></tr></table></body> +</html>"; +?>
\ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/rbs/pxe_change.php b/ldap-site-mngmt/webinterface/rbs/pxe_change.php new file mode 100644 index 00000000..d122a830 --- /dev/null +++ b/ldap-site-mngmt/webinterface/rbs/pxe_change.php @@ -0,0 +1,434 @@ +<?php +include('../standard_header.inc.php'); + +$pxecn = "PXE_".$_POST['pxecn']; + +$pxeday = $_POST['pxeday']; +$pxebeg = $_POST['pxebeg']; +$pxeend = $_POST['pxeend']; +foreach (array_keys($pxeday) as $key){ + $pxeday[$key] = htmlentities($pxeday[$key]); +} +foreach (array_keys($pxebeg) as $key){ + $pxebeg[$key] = htmlentities($pxebeg[$key]); +} +foreach (array_keys($pxeend) as $key){ + $pxeend[$key] = htmlentities($pxeend[$key]); +} + +$deltr = $_POST['deltr']; + +$newpxeday = $_POST['newpxeday']; $newpxeday = htmlentities($newpxeday); +$newpxebeg = $_POST['newpxebeg']; $newpxebeg = htmlentities($newpxebeg); +$newpxeend = $_POST['newpxeend']; $newpxeend = htmlentities($newpxeend); + +$oldpxeday = $_POST['oldpxeday']; +$oldpxebeg = $_POST['oldpxebeg']; +$oldpxeend = $_POST['oldpxeend']; + +$pxeDN = $_POST['pxedn']; +$oldpxecn = "PXE_".$_POST['oldpxecn']; + +$rbs = $_POST['rbs']; +$filename = $_POST['filename']; +if (count($filename) != 0){ + foreach (array_keys($filename) as $key){ + $file[$key] = htmlentities($filename[$key]); + } +} +$oldfilename = $_POST['oldfilename']; +if (count($oldfilename) != 0){ + foreach (array_keys($oldfilename) as $key){ + $oldfile[$key] = htmlentities($oldfilename[$key]); + } +} +$newfilename = $_POST['newfilename']; $newfilename = htmlentities($newfilename); + +$nodeDN = $_POST['nodedn']; +$mnr = $_POST['mnr']; +$sbmnr = $_POST['sbmnr']; +$mcnr = $_POST['mcnr']; + +# sonstige Attribute +$attribs = $_POST['attribs']; +if (count($attribs) != 0){ + foreach (array_keys($attribs) as $key){ + $atts[$key] = htmlentities($attribs[$key]); + } +} +#print_r($atts); echo "<br><br>"; +$oldattribs = $_POST['oldattribs']; +if (count($oldattribs) != 0){ + foreach (array_keys($oldattribs) as $key){ + $oldatts[$key] = htmlentities($oldattribs[$key]); + } +} +#print_r($oldatts); echo "<br><br>"; + + +$seconds = 2; +$url = "pxe.php?dn=".$pxeDN."&mnr=".$mnr."&sbmnr=".$sbmnr."&mcnr=".$mcnr; + +echo " +<html> +<head> + <title>Computers Management</title> + <link rel='stylesheet' href='../styles.css' type='text/css'> +</head> +<body> +<table border='0' cellpadding='30' cellspacing='0'> +<tr><td>"; + +############################################## +# PXE CN (DN) + +if ( $oldpxecn == $pxecn ){ + # $mesg = "keine Aenderung<br>"; +} + +if ( $oldpxecn != "" && $pxecn != "" && $oldpxecn != $pxecn ){ + echo "PXE Name aendern<br>"; + # hier noch Syntaxcheck + # Formulareingaben anpassen + $exppxe = explode(" ",$pxecn); + foreach ($exppxe as $word){$expuc[] = ucfirst($word);} + $pxecn = implode(" ",$expuc); + $pxecn = preg_replace ( '/\s+([0-9A-Z])/', '$1', $pxecn); + + $newpxeDN = "cn=".$pxecn.",".$nodeDN; + print_r($newpxeDN); echo "<br><br>"; + + if(modify_pxe_dn($pxeDN, $newpxeDN)){ + $mesg = "PXE Name erfolgreich geändert<br><br>"; + $pxeDN = $newpxeDN; + }else{ + $mesg = "Fehler beim ändern des PXE Namen!<br><br>"; + } + + + # newsubmenu holen... + $url = "pxe.php?dn=".$newpxeDN."&mnr=".$mnr."&sbmnr=".$sbmnr."&mcnr=".$mcnr; +} + +if ( $oldpxecn != "" && $pxecn == "" ){ + echo "Gruppenname loeschen!<br> + Dieses ist Teil des DN, Sie werden das PXE Boot Menü komplett löschen<br><br>"; + echo "Wollen Sie das PXE Boot Menü <b>".$oldpxecn."</b> wirklich löschen?<br><br> + <form action='pxe_delete.php' method='post'> + Falls ja:<br><br> + <input type='hidden' name='dn' value='".$pxeDN."'> + <input type='hidden' name='name' value='".$oldpxecn."'> + <input type='Submit' name='apply' value='löschen' class='small_loginform_button'><br><br> + </form> + <form action='".$url."' method='post'> + Falls, nein:<br><br> + <input type='Submit' name='apply' value='zurück' class='small_loginform_button'> + </form>"; + $seconds = 600; +} + +########################################## +# Remote Boot Dienst + +if ($rbs != "none"){ + $exp = explode(',',$rbs); + $exprbscn = explode('=',$exp[0]); + $rbscn = $exprbscn[1]; + $exprbsau = explode('=',$exp[2]); + $rbsau = $exprbsau[1]; + + $entryrbs ['rbservicedn'] = $rbs; + if ($result = ldap_mod_replace($ds,$pxeDN,$entryrbs)){ + $mesg = "Remote Boot Service erfolgreich zu <b>".$rbscn."[Abt.: ".$rbsau."]</b> geändert<br><br>"; + }else{ + $mesg = "Fehler beim ändern des Remote Boot Services zu <b>".$rbscn."</b>!<br><br>"; + } +} + + +########################################## +# bereits vorhandene TimeRange(s) bearbeiten + +$entrymodtr = array(); +$modtr = 0; +# TimeRanges zusammensetzen +# $t = 0; # Laufvariable für $entrymodtr, da nicht jede Timerange ok sein muss +for ($i=0; $i<count($pxeday); $i++){ + +$oldpxetimerange = $oldpxeday[$i]."_".$oldpxebeg[$i]."_".$oldpxeend[$i]; + +if ( ($pxebeg[$i] <= $pxeend[$i]) && ( ($pxeday[$i] != $oldpxeday[$i] && $pxeday[$i] != "") || ($pxebeg[$i] != $oldpxebeg[$i] && $pxebeg[$i] != "") || ($pxeend[$i] != $oldpxeend[$i] && $pxeend[$i] != "")) ){ + + + # TimeRange Syntax checken + $syntax = new Syntaxcheck; + if ($syntax->check_timerange_syntax($pxeday[$i],$pxebeg[$i],$pxeend[$i])){ + + # in Grossbuchstaben + if (preg_match("/([a-z]+)/",$pxeday[$i])){$pxeday[$i] = strtoupper($pxeday[$i]);} + if (preg_match("/([a-z]+)/",$pxebeg[$i])){$pxebeg[$i] = strtoupper($pxebeg[$i]);} + if (preg_match("/([a-z]+)/",$pxeend[$i])){$pxeend[$i] = strtoupper($pxeend[$i]);} + + # führende Nullen weg + $pxebeg[$i] = preg_replace ( '/0([0-9])/', '$1', $pxebeg[$i]); + $pxeend[$i] = preg_replace ( '/0([0-9])/', '$1', $pxeend[$i]); + + # TimeRange auf Überschneidung mit vorhandenen checken außer mit eigener alter TR da diese + # ja geändert werden soll + if(check_timerange_pxe($pxeday[$i],$pxebeg[$i],$pxeend[$i],$nodeDN,$oldpxetimerange)){ + + $pxetimerange = $pxeday[$i]."_".$pxebeg[$i]."_".$pxeend[$i]; + $entrymodtr ['timerange'][$i] = $pxetimerange; + $modtr = 1; + + } + else{ + $mesg = "Es existiert bereits ein PXE Boot Menü, das sich mit der eingegebenen Time Range + überschneidet!<br> + Bitte geben Sie eine andere Time Range ein.<br><br>"; + $entrymodtr ['timerange'][$i] = $oldpxetimerange; + } + } + else{ + $mesg = "Falsche Syntax in der Timerange-Eingabe!<br> + Bitte geben Sie die erneut Time Range ein.<br><br>"; + $entrymodtr ['timerange'][$i] = $oldpxetimerange; + } + +} + + +elseif ( $pxeday[$i] == "" || $pxebeg[$i] == "" || $pxeend[$i] == "" || $pxebeg[$i] > $pxeend[$i]){ + + $mesg = "Sie haben die Time Range <b>Nr.".$i."</b> nicht vollständig angegeben. Diese ist aber ein notwendiges Attribut.<br> + Diese Time Range wird nicht bearbeitet.<br><br>"; + $entrymodtr ['timerange'][$i] = $oldpxetimerange; +} + +else{$entrymodtr ['timerange'][$i] = $oldpxetimerange;} +} # Ende for-Schleife für jede Timerange +# jetzt noch alle gesammelten Änderungen Durchführen ... +if ($modtr == 1){ + # erst ändern + echo "Ändern: "; print_r($entrymodtr); echo "<br>"; + if($result = ldap_mod_replace($ds,$pxeDN,$entrymodtr)){ + $mesg = "TimeRanges erfolgreich geändert<br><br>"; + }else{ + $mesg = "Fehler beim ändern der TimeRanges!<br><br>"; + } +} + + +if ( count($deltr) != 0 && $modtr == 0 ){ + # Time Range löschen + $j = 0; + foreach ($deltr as $delrange){ + $entrydeltr ['timerange'][$j] = $delrange; + $j++; + } + # dann löschen + echo "Löschen: "; print_r($entrydeltr); echo "<br>"; + if($result = ldap_mod_del($ds,$pxeDN,$entrydeltr)){ + $mesg = "TimeRanges erfolgreich gelöscht<br><br>"; + }else{ + $mesg = "Fehler beim löschen der TimeRanges!<br><br>"; + } +}elseif(count($deltr) != 0 && $modtr == 1){ + echo "Nur Ändern (gleichzeitig Löschen und Ändern geht nicht)"; +} + +##################################### +# TimeRange hinzufügen + +if ( $newpxeday != "" && $newpxebeg != "" && $newpxeend != "" && $newpxebeg <= $newpxeend ){ + + # TimeRange Syntax checken + $syntax = new Syntaxcheck; + if ($syntax->check_timerange_syntax($newpxeday,$newpxebeg,$newpxeend)){ + + # in Grossbuchstaben + if (preg_match("/([a-z]+)/",$newpxeday)){$newpxeday = strtoupper($newpxeday);} + if (preg_match("/([a-z]+)/",$newpxebeg)){$newpxebeg = strtoupper($newpxebeg);} + if (preg_match("/([a-z]+)/",$newpxeend)){$newpxeend = strtoupper($newpxeend);} + + # führende Nullen weg + $newpxebeg = preg_replace ( '/0([0-9])/', '$1', $newpxebeg); + $newpxeend = preg_replace ( '/0([0-9])/', '$1', $newpxeend); + + # TimeRange auf Überschneidung mit vorhandenen checken + if(check_timerange_pxe($newpxeday,$newpxebeg,$newpxeend,$nodeDN,"")){ + + $newpxetimerange = $newpxeday."_".$newpxebeg."_".$newpxeend; + $entrytr ['timerange'] = $newpxetimerange; + if($result = ldap_mod_add($ds,$pxeDN,$entrytr)){ + $mesg = "Zusätzliche TimeRange erfolgreich eingetragen<br><br>"; + }else{ + $mesg = "Fehler beim eintragen der zusätzlichen TimeRange!<br><br>"; + } + }else{ + $mesg = "Es existiert bereits ein PXE Boot Menü, das sich mit der eingegebenen Time Range + überschneidet!<br> + Bitte geben Sie eine andere Time Range ein.<br><br>"; + } + }else{ + $mesg = "Falsche Syntax in der Timerange-Eingabe!<br> + Bitte geben Sie die erneut Time Range ein.<br><br>"; + } +} + + +##################################### +# PXE Filename(s) + +$filemod = array(); +$modfi = 0; +$filedel = array(); +$delfi = 0; +$j = 0; + +if (count($file) != 0){ + +for ($i=0; $i<count($file); $i++){ + + if ( $oldfile[$i] == $file[$i] ){ + $filemod ['filename'][$i] = $oldfile[$i]; + # $mesg = "keine Aenderung<br>"; + } + + if ( $oldfile[$i] != "" && $file[$i] != "" && $oldfile[$i] != $file[$i] ){ + echo "PXE Dateinamen aendern<br> + Vorsicht dies kann eine nicht verwendbare PXE Datei zur Folge haben!<br><br>"; + # hier noch Syntaxcheck + $filemod ['filename'][$i] = $file[$i]; + $modfi = 1; + } + + if ( $oldfile[$i] != "" && $file[$i] == "" ){ + echo "PXE Dateinamen loeschen!<br> + Achtung: aus ihren PXE Daten wird keine PXE Datei mehr generiert.<br> + Sie sind solange nicht mehr für den PXE Bootvorgang verwendbar bis Sie einen neuen Dateinamen anlegen!<br><br>"; + $filemod ['filename'][$i] = $oldfile[$i]; + $filedel ['filename'][$j] = $oldfile[$i]; + $j++; + $delfi = 1; + $seconds = 4; + } +} +#erst ändern +if ($modfi == 1){ + echo "Ändern: "; print_r($filemod); echo "<br>"; + if(ldap_mod_replace($ds,$pxeDN,$filemod)){ + $mesg = "PXE Dateiname(n) erfolgreich geändert<br><br>"; + }else{ + $mesg = "Fehler beim ändern des(r) PXE Dateinamens!<br><br>"; + } + $modfi = 0; +} +# dann löschen +if ($delfi == 1){ + echo "Löschen: "; print_r($filedel); echo "<br>"; + if(ldap_mod_del($ds,$pxeDN,$filedel)){ + $mesg = "PXE Dateiname(n) erfolgreich gelöscht<br><br>"; + }else{ + $mesg = "Fehler beim löschen des PXE Dateinamens !<br><br>"; + } + $delfi = 0; +} + +} + +# PXE Dateiname neu anlegen +if ($newfilename == ""){ +} +if ($newfilename != ""){ + echo "PXE Dateiname hinzufügen"; + $fileadd ['filename'] = $newfilename; + if(ldap_mod_add($ds,$pxeDN,$fileadd)){ + $mesg = "PXE Dateiname <b>".$newfilename."</b> erfolgreich angelegt<br><br>"; + }else{ + $mesg = "Fehler beim anlegen des PXE Dateinamens ".$newfilename." !<br><br>"; + } +} + + +################################################################## +# Restliche Attribute + +$entryadd = array(); +$entrymod = array(); +$entrydel = array(); + +foreach (array_keys($atts) as $key){ + + if ( $oldatts[$key] == $atts[$key] ){ + + } + 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 "<br>"; +#print_r($entrymod); echo "<br>"; +#print_r($entrydel); echo "<br>"; + + +if (count($entryadd) != 0 ){ + #print_r($entryadd); echo "<br>"; + #echo "neu anlegen<br>"; + foreach (array_keys($entryadd) as $key){ + $addatts .= "<b>".$key."</b>,"; + } + if(ldap_mod_add($ds,$pxeDN,$entryadd)){ + $mesg = "Attribute ".$addatts." erfolgreich eingetragen<br><br>"; + }else{ + $mesg = "Fehler beim eintragen der Attribute ".$addatts."<br><br>"; + } +} + +if (count($entrymod) != 0 ){ + #print_r($entrymod); echo "<br>"; + #echo "ändern<br>"; + foreach (array_keys($entrymod) as $key){ + $modatts .= "<b>".$key."</b>,"; + } + if(ldap_mod_replace($ds,$pxeDN,$entrymod)){ + $mesg = "Attribute ".$modatts." erfolgreich geaendert<br><br>"; + }else{ + $mesg = "Fehler beim aendern der Attribute ".$modatts."<br><br>"; + } +} + +if (count($entrydel) != 0 ){ + #print_r($entrydel); echo "<br>"; + #echo "löschen<br>"; + foreach (array_keys($entrydel) as $key){ + $delatts .= "<b>".$key."</b>,"; + } + if(ldap_mod_del($ds,$pxeDN,$entrydel)){ + $mesg = "Attribute ".$delatts." erfolgreich geloescht<br><br>"; + }else{ + $mesg = "Fehler beim loeschen der Attribute ".$delatts."<br><br>"; + } +} + + + + + +$mesg .= "<br>Sie werden automatisch auf die vorherige Seite zurückgeleitet. <br> + Falls nicht, klicken Sie hier <a href=".$url." style='publink'>back</a>"; +redirect($seconds, $url, $mesg, $addSessionId = TRUE); + +echo "</td></tr></table></body> +</html>"; +?>
\ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/rbs/pxe_copy.php b/ldap-site-mngmt/webinterface/rbs/pxe_copy.php new file mode 100644 index 00000000..92e6ba0b --- /dev/null +++ b/ldap-site-mngmt/webinterface/rbs/pxe_copy.php @@ -0,0 +1,189 @@ +<?php +include('../standard_header.inc.php'); + +$pxeDN = $_POST['pxedn']; +$pxecn = "PXE_".$_POST['pxecncp']; +$oldpxecn = "PXE_".$_POST['oldpxecncp']; + +$deltr = $_POST['deltr']; + +$oldpxeday = $_POST['oldpxedaycp']; $oldpxeday = htmlentities($oldpxeday); +$oldpxebeg = $_POST['oldpxebegcp']; $oldpxebeg = htmlentities($oldpxebeg); +$oldpxeend = $_POST['oldpxeendcp']; $oldpxeend = htmlentities($oldpxeend); + +$nodeDN = $_POST['nodedn']; +$mnr = $_POST['mnr']; +$sbmnr = $_POST['sbmnr']; +$mcnr = $_POST['mcnr']; + +$copytargets = $_POST['copytargets']; +#print_r($copytargets); echo "<br>"; +$n = array_keys($copytargets,'none'); +#print_r($n); echo "<br>"; +for ($i=0; $i<count($n); $i++){ + $match = array_search('none',$copytargets); + array_splice($copytargets, $match, 1); +} +#print_r($copytargets); echo "<br>"; + + +$seconds = 2; +$url = "pxe.php?dn=".$pxeDN."&mnr=".$mnr."&sbmnr=".$sbmnr."&mcnr=".$mcnr; + +echo " +<html> +<head> + <title>Computers Management</title> + <link rel='stylesheet' href='../styles.css' type='text/css'> +</head> +<body> +<table border='0' cellpadding='30' cellspacing='0'> +<tr><td>"; + +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 <br> + Das PXE Bootmenü wird nicht angelegt. <br> + <br> + Tragen Sie zuerst eine MAC ein!<br><br>"; + } + } + 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 <b>".$macdata['hostname']."</b> ist keine MAC Adresse eingetragen <br> + Das PXE Bootmenü für die Gruppe wird nicht angelegt. <br> + <br> + Tragen Sie zuerst bei Rechner <b>".$macdata['hostname']."</b> eine MAC ein!<br><br>"; + } + } + } + if (count($members) == 1){ + $macdata = get_node_data($members['member'], array("hwaddress")); + if ($macdata['hwaddress'] == ""){ + $nomac = 1; + echo "Für den Gruppen-Rechner <b>".$macdata['hostname']."</b> ist keine MAC Adresse eingetragen <br> + Das PXE Bootmenü für die Gruppe wird nicht angelegt. <br> + <br> + Tragen Sie zuerst bei Rechner <b>".$macdata['hostname']."</b> eine MAC ein!<br><br>"; + } + } + } + + $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!<br> + Bitte geben Sie einen anderen Namen ein.<br><br>"; + $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]; + + $oldpxetimerange = $oldpxeday."_".$oldpxebeg."_".$oldpxeend; + $newpxeDN = "cn=".$pxecn.",".$targetDN; + print_r($newpxeDN); echo "<br>"; + + if (dive_into_tree_cp($pxeDN,$newpxeDN)){ + + $delfileuri = 0; + # Filename anpassen + if ($targettype == "rbs"){ + $entrymod ['filename'] = "default"; + } + if ($targettype == "computers"){ + $macdata = get_node_data($targetDN, array("hwaddress")); + $entrymod ['filename'] = "01-".$macdata['hwaddress']; + $delfileuri = 1; + #$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")); + $entrymod ['filename'][] = "01-".$macdata['hwaddress']; + $delfileuri = 1; + #$entrymod ['fileuri'] = $target.".tgz"; + } + } + } + if(ldap_mod_replace($ds,$newpxeDN,$entrymod)){ + if($deltr == 1){ + # Timeranges und FileURI im neuen Objekt löschen + $entrydel ['timerange'] = array(); + if ($delfileuri == 1){ + $entrydel ['fileuri'] = array(); + } + if ( ldap_mod_del($ds,$newpxeDN,$entrydel) ){ + $mesg .= "<br>PXE Boot Menü erfolgreich nach ".$target[1]." kopiert<br>"; + } + else{ + ldap_delete($ds,$newpxeDN); + $mesg .= "<br>Fehler beim kopieren des PXE Boot Menüs nach <b>".$target[1]."</b><br>"; + } + } + } + else{ + ldap_delete($ds,$newpxeDN); + $mesg .= "<br>Fehler beim kopieren des PXE Boot Menüs nach <b>".$target[1]."</b><br>"; + } + } + else{ + $mesg .= "<br>Fehler beim kopieren des PXE Boot Menüs nach <b>".$target[1]."</b><br>"; + } + } + } + } + else{ + $mesg .= "<br>Sie haben kein Ziel angegeben!<br>"; + } +} + +elseif ( $pxecn == ""){ + + $mesg = "Sie haben den Namen des neuen PXE Boot Menüs nicht angegeben. Dieser ist aber ein notwendiges Attribut.<br> + Bitte geben Sie ihn an.<br><br>"; + $url = "pxe.php?dn=".$pxeDN."&mnr=".$mnr."&sbmnr=".$sbmnr."&mcnr=".$mcnr; +} + + + +$mesg .= "<br>Sie werden automatisch auf die vorherige Seite zurückgeleitet. <br> + Falls nicht, klicken Sie hier <a href=".$url." style='publink'>back</a>"; +redirect($seconds, $url, $mesg, $addSessionId = TRUE); + +echo "</td></tr></table></body> +</html>"; +?>
\ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/rbs/pxe_delete.php b/ldap-site-mngmt/webinterface/rbs/pxe_delete.php new file mode 100644 index 00000000..a1b7a060 --- /dev/null +++ b/ldap-site-mngmt/webinterface/rbs/pxe_delete.php @@ -0,0 +1,42 @@ +<?php +include('../standard_header.inc.php'); + +$pxeDN = $_POST['dn']; +$oldpxecn = $_POST['name']; + +$mnr = $_POST['mnr']; +$sbmnr = $_POST['sbmnr']; +$mcnr = $_POST['mcnr']; + +$seconds = 1; +$url = $_POST['successurl']; + +echo " +<html> +<head> + <title>Computers Management</title> + <link rel='stylesheet' href='../styles.css' type='text/css'> +</head> +<body> +<table border='0' cellpadding='30' cellspacing='0'> +<tr><td>"; + +if ( $pxeDN != ""){ + + if ( dive_into_tree_del($pxeDN,"") ){ + $mesg = "PXE Boot Menü <b>".$pxecn."</b> erfolgreich gelöscht!<br><br>"; + } + else{ + $mesg = "Fehler beim löschen des PXE Boot Menüs <b>".$pxecn."</b> !<br><br>"; + } + +} + + +$mesg .= "<br>Sie werden automatisch auf die vorherige Seite zurückgeleitet. <br> + Falls nicht, klicken Sie hier <a href=".$url." style='publink'>back</a>"; +redirect($seconds, $url, $mesg, $addSessionId = TRUE); + +echo "</td></tr></table></body> +</html>"; +?>
\ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/rbs/pxe_wochenplan.php b/ldap-site-mngmt/webinterface/rbs/pxe_wochenplan.php new file mode 100644 index 00000000..7cb4d394 --- /dev/null +++ b/ldap-site-mngmt/webinterface/rbs/pxe_wochenplan.php @@ -0,0 +1,154 @@ +<?php + +##################################### +# Wochenübersicht + +$template->assign(array("A0" => "","B0" => "","C0" => "","D0" => "","E0" => "","F0" => "","G0" => "", + "A1" => "","B1" => "","C1" => "","D1" => "","E1" => "","F1" => "","G1" => "", + "A2" => "","B2" => "","C2" => "","D2" => "","E2" => "","F2" => "","G2" => "", + "A3" => "","B3" => "","C3" => "","D3" => "","E3" => "","F3" => "","G3" => "", + "A4" => "","B4" => "","C4" => "","D4" => "","E4" => "","F4" => "","G4" => "", + "A5" => "","B5" => "","C5" => "","D5" => "","E5" => "","F5" => "","G5" => "", + "A6" => "","B6" => "","C6" => "","D6" => "","E6" => "","F6" => "","G6" => "", + "A7" => "","B7" => "","C7" => "","D7" => "","E7" => "","F7" => "","G7" => "", + "A8" => "","B8" => "","C8" => "","D8" => "","E8" => "","F8" => "","G8" => "", + "A9" => "","B9" => "","C9" => "","D9" => "","E9" => "","F9" => "","G9" => "", + "A10" => "","B10" => "","C10" => "","D10" => "","E10" => "","F10" => "","G10" => "", + "A11" => "","B11" => "","C11" => "","D11" => "","E11" => "","F11" => "","G11" => "", + "A12" => "","B12" => "","C12" => "","D12" => "","E12" => "","F12" => "","G12" => "", + "A13" => "","B13" => "","C13" => "","D13" => "","E13" => "","F13" => "","G13" => "", + "A14" => "","B14" => "","C14" => "","D14" => "","E14" => "","F14" => "","G14" => "", + "A15" => "","B15" => "","C15" => "","D15" => "","E15" => "","F15" => "","G15" => "", + "A16" => "","B16" => "","C16" => "","D16" => "","E16" => "","F16" => "","G16" => "", + "A17" => "","B17" => "","C17" => "","D17" => "","E17" => "","F17" => "","G17" => "", + "A18" => "","B18" => "","C18" => "","D18" => "","E18" => "","F18" => "","G18" => "", + "A19" => "","B19" => "","C19" => "","D19" => "","E19" => "","F19" => "","G19" => "", + "A20" => "","B20" => "","C20" => "","D20" => "","E20" => "","F20" => "","G20" => "", + "A21" => "","B21" => "","C21" => "","D21" => "","E21" => "","F21" => "","G21" => "", + "A22" => "","B22" => "","C22" => "","D22" => "","E22" => "","F22" => "","G22" => "", + "A23" => "","B23" => "","C23" => "","D23" => "","E23" => "","F23" => "","G23" => "")); + +#print_r($timeranges); echo "<br>"; + +# vom spezifischsten zum unspezifischsten : +# FR_0_7 -> FR_X_X -> X_0_7 -> X_X_X +$daytime = array(); +$timex = array(); +$dayx = array(); +$allx = array(); +$legend = array(); +if(count($timeranges) != 0){ +foreach ($timeranges as $tr){ + if (count($tr[0]) > 1){ + foreach ($tr as $item){ + if ($item[0] != "X" && $item[1] != "X" && $item[2] != "X" && ($item[0] == "MO" || $item[0] == "DI" || $item[0] == "MI" || $item[0] == "DO" || $item[0] == "FR" || $item[0] == "SA" || $item[0] == "SO")){ + $daytime[] = $item; + } + if ($item[0] != "X" && $item[1] == "X" && $item[2] == "X"){ + $timex[] = $item; + } + if ($item[0] == "X" && $item[1] != "X" && $item[2] != "X"){ + $dayx[] = $item; + } + if ($item[0] == "X" && $item[1] == "X" && $item[2] == "X"){ + $allx[] = $item; + } + } + }else{ + if ($tr[0] != "X" && $tr[1] != "X" && $tr[2] != "X" && ($tr[0] == "MO" || $tr[0] == "DI" || $tr[0] == "MI" || $tr[0] == "DO" || $tr[0] == "FR" || $tr[0] == "SA" || $tr[0] == "SO")){ + $daytime[] = $tr; + } + if ($tr[0] != "X" && $tr[1] == "X" && $tr[2] == "X"){ + $timex[] = $tr; + } + if ($tr[0] == "X" && $tr[1] != "X" && $tr[2] != "X"){ + $dayx[] = $tr; + } + if ($tr[0] == "X" && $tr[1] == "X" && $tr[2] == "X"){ + $allx[] = $tr; + } + } +} + +#print_r($daytime); echo "<br>"; +#print_r($timex); echo "<br>"; +#print_r($dayx); echo "<br>"; +#print_r($allx); echo "<br>"; + +$daycode = array("MO" => "A", "DI" => "B", "MI" => "C", "DO" => "D", "FR" => "E", "SA" => "F", "SO" => "G"); +$allxcolors = array("#BEBEBE","A0A0A0","#696969","#EEDFCC","#D8BFD8","#505050"); +$dayxcolors = array("#483D8B","#7B68EE","#191970","#8470FF","#708090","#6A5ACD"); +$timexcolors = array("#CDC673","#A2CD5A","#BDB76B","#8B864E","#6B8E23","#CDBE70"); +$daytimecolors = array("880000","#CD6839","#CC3300","#CC6600","#993300","#8B4C39"); + + +if (count($allx) != 0){ + $c = 0; + foreach ($allx as $range){ + foreach ($daycode as $dc){ + for ($i = 0; $i <= 23; $i++){ + $template->assign(array($dc.$i => "background-color:".$allxcolors[$c].";")); + } + } + $legend[] = array($range ,$allxcolors[$c]); + $c++; + } +} + +if (count($dayx) != 0){ + $c = 0; + foreach ($dayx as $range){ + foreach ($daycode as $dc){ + for ($i = $range[1]; $i<= $range[2]; $i++){ + $template->assign(array($dc.$i => "background-color:".$dayxcolors[$c].";")); + } + } + $legend[] = array($range ,$dayxcolors[$c]); + $c++; + } +} + +if (count($timex) != 0){ + $c = 0; + foreach ($timex as $range){ + $dc = $daycode[$range[0]]; + for ($i = 0; $i<= 23; $i++){ + $template->assign(array($dc.$i => "background-color:".$timexcolors[$c].";")); + } + $legend[] = array($range ,$timexcolors[$c]); + $c++; + } +} + +if (count($daytime) != 0){ + $c = 0; + foreach ($daytime as $range){ + $dc = $daycode[$range[0]]; + for ($i = $range[1]; $i<= $range[2]; $i++){ + $template->assign(array($dc.$i => "background-color:".$daytimecolors[$c].";")); + } + $legend[] = array($range ,$daytimecolors[$c]); + $c++; + } +} + +} + +$template->assign(array("DESCRIPTION" => "")); +#print_r($legend); +if (count($legend) != 0){ + $template->define_dynamic("Legende", "Webseite"); + foreach ($legend as $item){ + # Timerange Komponente + $color = $item[1]; + $template->assign(array("TR1" => $item[0][0], + "TR2" => $item[0][1], + "TR3" => $item[0][2], + "CN" => $item[0][3], + "COLOR" => $color)); + $template->parse("LEGENDE_LIST", ".Legende"); + } +} + + +?>
\ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/rbs/pxeconfig_default.dwt b/ldap-site-mngmt/webinterface/rbs/pxeconfig_default.dwt new file mode 100644 index 00000000..bb630723 --- /dev/null +++ b/ldap-site-mngmt/webinterface/rbs/pxeconfig_default.dwt @@ -0,0 +1,323 @@ +<table border='0' cellpadding='5' cellspacing='0' width='100%'> + <tr> + <td colspan='2'><h3>Default PXE Boot Menüs <code class='font_object'> {AU} </code> </h3></td> + </tr> + <tr> + <td height='10'></td> + </tr> + <tr><td> + <table cellpadding='7' cellspacing='0' border='1' align='left' width='90%' style='border-width: 0 0 0 0;'> + <tr> + <td width='40%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>PXE Boot Menü</b></td> + <td width='60%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>Gültigkeitsdauer (Time Range)</b></td> + </tr> + + + + <!-- BEGIN DYNAMIC BLOCK: Pxeconf --> + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'>{PXECN} </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'>{TRANGES} </td> + </tr> + <!-- END DYNAMIC BLOCK: Pxeconf --> + + </table></td> + </tr> + <tr> + <td height='50'></td> + </tr> + + <tr> + <td colspan='2'><h4>Wochen Übersicht:</h4></td> + </tr> + <tr> + <td height='10'></td> + </tr> + <tr><td> + <table cellpadding='0' cellspacing='0' border='1' align='left' width='90%' style='border-width: 0 0 0 0;'> + <tr align='center'> + <td width='9%' style='border-color: black; border-style: solid; border-width: 2 0 2 2;'><b>Uhrzeit</b></td> + <td width='13%' style='border-color: black; border-style: solid; border-width: 2 0 2 1;'><b>Montag</b></td> + <td width='13%' style='border-color: black; border-style: solid; border-width: 2 0 2 1;'><b>Dienstag</b></td> + <td width='13%' style='border-color: black; border-style: solid; border-width: 2 0 2 1;'><b>Mittwoch</b></td> + <td width='13%' style='border-color: black; border-style: solid; border-width: 2 0 2 1;'><b>Donnerstag</b></td> + <td width='13%' style='border-color: black; border-style: solid; border-width: 2 0 2 1;'><b>Freitag</b></td> + <td width='13%' style='border-color: black; border-style: solid; border-width: 2 0 2 1;'><b>Samstag</b></td> + <td width='13%' style='border-color: black; border-style: solid; border-width: 2 2 2 1;'><b>Sonntag</b></td> + </tr> + <tr heigth='2' align='center'> + <td width='9%' style='border-color: black; border-style: solid; border-width: 0 0 0 2;'>0</td> + <td width='13%' style='border-color: black; border-style: solid; border-width: 0 0 0 1;{A0}'> </td> + <td width='13%' style='border-color: black; border-style: solid; border-width: 0 0 0 1;{B0}'> </td> + <td width='13%' style='border-color: black; border-style: solid; border-width: 0 0 0 1;{C0}'> </td> + <td width='13%' style='border-color: black; border-style: solid; border-width: 0 0 0 1;{D0}'> </td> + <td width='13%' style='border-color: black; border-style: solid; border-width: 0 0 0 1;{E0}'> </td> + <td width='13%' style='border-color: black; border-style: solid; border-width: 0 0 0 1;{F0}'> </td> + <td width='13%' style='border-color: black; border-style: solid; border-width: 0 2 0 1;{G0}'> </td> + </tr> + <tr heigth='2' align='center'> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 2;'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{A1}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{B1}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{C1}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{D1}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{E1}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{F1}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 2 0 1;{G1}'> </td> + </tr> + <tr heigth='2' align='center'> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 2;'>2</td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{A2}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{B2}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{C2}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{D2}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{E2}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{F2}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 2 0 1;{G2}'> </td> + </tr> + <tr heigth='2' align='center'> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 2;'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{A3}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{B3}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{C3}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{D3}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{E3}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{F3}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 2 0 1;{G3}'> </td> + </tr> + <tr heigth='2' align='center'> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 2;'>4</td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{A4}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{B4}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{C4}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{D4}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{E4}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{F4}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 2 0 1;{G4}'> </td> + </tr> + <tr heigth='2' align='center'> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 2;'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{A5}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{B5}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{C5}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{D5}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{E5}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{F5}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 2 0 1;{G5}'> </td> + </tr> + <tr heigth='2' align='center'> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 2;'>6</td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{A6}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{B6}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{C6}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{D6}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{E6}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{F6}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 2 0 1;{G6}'> </td> + </tr> + <tr heigth='2' align='center'> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 2;'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{A7}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{B7}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{C7}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{D7}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{E7}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{F7}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 2 0 1;{G7}'> </td> + </tr> + <tr heigth='2' align='center'> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 2;'>8</td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{A8}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{B8}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{C8}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{D8}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{E8}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{F8}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 2 0 1;{G8}'> </td> + </tr> + <tr heigth='2' align='center'> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 2;'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{A9}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{B9}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{C9}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{D9}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{E9}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{F9}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 2 0 1;{G9}'> </td> + </tr> + <tr heigth='2' align='center'> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 2;'>10</td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{A10}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{B10}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{C10}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{D10}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{E10}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{F10}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 2 0 1;{G10}'> </td> + </tr> + <tr heigth='2' align='center'> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 2;'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{A11}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{B11}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{C11}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{D11}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{E11}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{F11}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 2 0 1;{G11}'> </td> + </tr> + <tr heigth='2' align='center'> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 2;'>12</td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{A12}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{B12}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{C12}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{D12}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{E12}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{F12}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 2 0 1;{G12}'> </td> + </tr> + <tr heigth='2' align='center'> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 2;'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{A13}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{B13}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{C13}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{D13}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{E13}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{F13}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 2 0 1;{G13}'> </td> + </tr> + <tr heigth='2' align='center'> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 2;'>14</td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{A14}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{B14}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{C14}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{D14}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{E14}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{F14}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 2 0 1;{G14}'> </td> + </tr> + <tr heigth='2' align='center'> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 2;'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{A15}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{B15}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{C15}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{D15}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{E15}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{F15}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 2 0 1;{G15}'> </td> + </tr> + <tr heigth='2' align='center'> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 2;'>16</td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{A16}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{B16}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{C16}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{D16}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{E16}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{F16}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 2 0 1;{G16}'> </td> + </tr> + <tr heigth='2' align='center'> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 2;'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{A17}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{B17}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{C17}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{D17}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{E17}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{F17}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 2 0 1;{G17}'> </td> + </tr> + <tr heigth='2' align='center'> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 2;'>18</td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{A18}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{B18}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{C18}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{D18}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{E18}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{F18}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 2 0 1;{G18}'> </td> + </tr> + <tr heigth='2' align='center'> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 2;'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{A19}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{B19}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{C19}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{D19}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{E19}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{F19}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 2 0 1;{G19}'> </td> + </tr> + <tr heigth='2' align='center'> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 2;'>20</td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{A20}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{B20}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{C20}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{D20}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{E20}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{F20}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 2 0 1;{G20}'> </td> + </tr> + <tr heigth='2' align='center'> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 2;'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{A21}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{B21}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{C21}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{D21}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{E21}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 1;{F21}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 2 0 1;{G21}'> </td> + </tr> + <tr heigth='2' align='center'> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 2;'>22</td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{A22}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{B22}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{C22}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{D22}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{E22}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 0 0 1;{F22}'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 2 0 1;{G22}'> </td> + </tr> + <tr heigth='2' align='center'> + <td style='border-color: black; border-style: solid; border-width: 0 0 2 2;'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 2 1;{A23}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 2 1;{B23}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 2 1;{C23}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 2 1;{D23}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 2 1;{E23}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 2 1;{F23}'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 2 2 1;{G23}'> </td> + </tr> + + </table></td> + </tr> + + <tr> + <td height='10'></td> + </tr> + <tr> + <td colspan='2'><h4>Legende:</h4></td> + </tr> + <tr><td> + <table cellpadding='3' cellspacing='3' border='1' align='left' width='50%' style='border-width: 0 0 0 0;'> + <tr> + <td width='65%' style='border-color: black; border-style: solid; border-width: 0 0 0 0;'><b>PXE Boot Menü</b></td> + <td width='5%' style='border-color: black; border-style: solid; border-width: 0 0 0 0;'> </td> + <td width='30%' style='border-color: black; border-style: solid; border-width: 0 0 0 0;'><b>Farbe</b></td> + </tr> + + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 0;'>Keine PXE Definition </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 0;'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 1 1 1;'> </td> + </tr> + + <!-- BEGIN DYNAMIC BLOCK: Legende --> + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 0;'>{CN} </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 0;'> </td> + <td style='border-color: black; border-style: solid; border-width: 1 1 1 1;background-color:{COLOR};'> </td> + </tr> + <!-- END DYNAMIC BLOCK: Legende --> + + </table></td> + </tr> + +</table> diff --git a/ldap-site-mngmt/webinterface/rbs/pxeconfig_default.php b/ldap-site-mngmt/webinterface/rbs/pxeconfig_default.php new file mode 100644 index 00000000..f9a2b7db --- /dev/null +++ b/ldap-site-mngmt/webinterface/rbs/pxeconfig_default.php @@ -0,0 +1,77 @@ +<?php + +include('../standard_header.inc.php'); + +# 1. Seitentitel - wird in der Titelleiste des Browser angezeigt. +$titel = "Remote Boot Service Management"; +# 2. Nummer des zugehörigen Hauptmenus (Registerkarte) beginnend bei 0, siehe Dokumentation.doc. +$mainnr = 4; +$mnr = 3; +$sbmnr = -1; +$mcnr = -1; +# 3. Dateiname und evtl. Pfad des Templates für die Webseite +$webseite = "pxeconfig_default.dwt"; + +include("../class.FastTemplate.php"); + +include('rbs_header.inc.php'); + +################################################################################### + +$mnr = $_GET['mnr']; + +# Menuleisten erstellen +createMainMenu($rollen, $mainnr); +createRBSMenu($rollen, $mnr, $auDN, $sbmnr); + +################################################################################### + +$template->assign(array("PXEDN" => "", + "PXECN" => "Noch kein Default PXE Boot Menü angelegt", + "TRANGES" => "", + "RBS" => "", + "CN" => "")); + +# rbservice und pxe daten (voerst nur ein rbs) +$rbs_array = get_rbservices($auDN,array("dn","cn")); +$rbsDN = $rbs_array[0]['dn']; +$pxe_array = get_pxeconfigs($rbsDN,array("dn","cn","timerange","rbservicedn")); +# print_r($pxe_array); + +$template->define_dynamic("Pxeconf", "Webseite"); + +for ($i=0; $i<count($pxe_array); $i++){ + # Timerange Komponenten + $trange = ""; + if (count($pxe_array[$i]['timerange']) > 1 ){ + foreach ($pxe_array[$i]['timerange'] as $tr){ + $exptime = array_merge(explode('_',$tr),$pxe_array[$i]['cn']); + $timeranges[$i][] = $exptime; # Für grafische Wo-Ansicht + if ($exptime[0] == "X"){$exptime[0]="täglich";} + # if ($exptime[1] == "X" && $exptime[2] == "X"){$exptime[1] = ""; $exptime[2]= "";} + $trange .= $exptime[0].", von ".$exptime[1].":00 bis ".$exptime[2].":59 / "; + } + }else{ + $exptime = array_merge(explode('_',$pxe_array[$i]['timerange']), $pxe_array[$i]['cn']); + $timeranges[$i] = $exptime; # Für grafische Wo-Ansicht + if ($exptime[0] == "X"){$exptime[0]="täglich";} + # if ($exptime[1] == "X" && $exptime[2] == "X"){$exptime[1] = ""; $exptime[2]= "";} + $trange .= $exptime[0].", von ".$exptime[1].":00 bis ".$exptime[2].":59"; + } + + $template->assign(array("PXEDN" => $pxe_array[$i]['dn'], + "PXECN" => $pxe_array[$i]['cn'], + "TRANGES" => $trange, + "RBS" => $pxe_array[$i]['rbservicedn'], + "AUDN" => $auDN)); + $template->parse("PXECONF_LIST", ".Pxeconf"); +} + +include("pxe_wochenplan.php"); + + +################################################################################### + +include("rbs_footer.inc.php"); + +?> diff --git a/ldap-site-mngmt/webinterface/rbs/rbs.dwt b/ldap-site-mngmt/webinterface/rbs/rbs.dwt new file mode 100644 index 00000000..ec6d0cbc --- /dev/null +++ b/ldap-site-mngmt/webinterface/rbs/rbs.dwt @@ -0,0 +1,79 @@ +<html> + +<head> + <title>{SEITENTITEL}</title> + <link rel='stylesheet' href='../styles.css' type='text/css'></head> +<body> + +<table cellpadding='0' cellspacing='0' border='0' width='95%' height='8%'> + <tr> + <td width='35%'> + <table cellpadding='5' cellspacing='0' border='0' width='100%'> + <tr valign='top'> + <td width='1'></td> + <td><h2>Rechner und IP Management</h2></td> + </tr> + </table> + </td> + + <td width='40%'> + <table cellpadding='5' cellspacing='0' border='0' width='100%'> + <tr valign='top' align='left'> + <td> + <h4><a href='../start.php' class='headerlink'>Startseite</a> + >> <a href='../au/au.php' class='headerlink'>{AU}</a> [ {DOMAIN} ]</h4> + </td> + </tr> + </table> + </td> + <td width='25%'> + <table cellpadding='5' cellspacing='0' border='0' width='100%' align='right'> + <tr valign='top' align='right'> + <td> + {LOGIN} + </td> + </tr> + </table> + </td> + </tr> +</table> + +<table cellpadding='5' cellspacing='0' border='0' width='95%' height='7%'> +<tr> + <td>{MAINMENU}</td> +</tr> +</table> + +<hr align='center' width='98%' noshade> + + + +<table cellpadding='5' cellspacing='0' border='0' width='100%' height='85%'> + + <tr valign='top' height='100%'> + <td width='28%'> + <table cellpadding='5' cellspacing='0' border='0' width='100%'> + <tr><td> + + {NAVIGATION} + + </td></tr> + </table> + </td> + + <td width='72%'> + <table cellpadding='5' cellspacing='0' border='0' width='100%'> + <tr><td> + + {HAUPTFENSTER} + + </td></tr> + </table> + </td> + + </tr> +</table> + +</body> + +</html> diff --git a/ldap-site-mngmt/webinterface/rbs/rbs.php b/ldap-site-mngmt/webinterface/rbs/rbs.php new file mode 100644 index 00000000..3460afa0 --- /dev/null +++ b/ldap-site-mngmt/webinterface/rbs/rbs.php @@ -0,0 +1,30 @@ +<?php +include('../standard_header.inc.php'); + +# 1. Seitentitel - wird in der Titelleiste des Browser angezeigt. +$titel = "Remote Boot Service Management"; +# 2. Nummer des zugehörigen Hauptmenus (Registerkarte) beginnend bei 0, siehe Dokumentation.doc. +$mainnr = 4; +$mnr = -1; +$sbmnr = -1; +# 3. Dateiname und evtl. Pfad des Templates für die Webseite +$webseite = "rbs_start.dwt"; + +include("../class.FastTemplate.php"); + +include('rbs_header.inc.php'); + +################################################################################### + +$mnr = $_GET['mnr']; +$sbmnr = $_GET['sbmnr']; + +# Menuleisten erstellen +createMainMenu($rollen, $mainnr); +createRBSMenu($rollen, $mnr, $auDN, $sbmnr); + +################################################################################### + +include("rbs_footer.inc.php"); + +?>
\ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/rbs/rbs_footer.inc.php b/ldap-site-mngmt/webinterface/rbs/rbs_footer.inc.php new file mode 100644 index 00000000..311721c5 --- /dev/null +++ b/ldap-site-mngmt/webinterface/rbs/rbs_footer.inc.php @@ -0,0 +1,18 @@ +<?php + +$template->assign(array("PFAD" => $START_PATH)); + +# Daten in die Vorlage parsen +$template->parse("LOGIN", "Login"); +$template->parse("MAINMENU", "Mmenu"); +$template->parse("NAVIGATION", "Menu"); +$template->parse("HAUPTFENSTER", "Webseite"); +$template->parse("PAGE", "Vorlage"); + +# Fertige Seite an den Browser senden +$template->FastPrint("PAGE"); + +# Abmelden vom LDAP +ldap_unbind($ds); + +?>
\ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/rbs/rbs_header.inc.php b/ldap-site-mngmt/webinterface/rbs/rbs_header.inc.php new file mode 100644 index 00000000..fb7e0751 --- /dev/null +++ b/ldap-site-mngmt/webinterface/rbs/rbs_header.inc.php @@ -0,0 +1,21 @@ +<?php +include("rbs_menu.php"); + +$template = new FastTemplate("."); + +# dem erstellten Template-Objekt eine Vorlage zuweisen +$definedTemplates = array("Vorlage" => "rbs.dwt", + "Login" => "../logout_form.inc.dwt", + "Mmenu" => "../hauptmenue.dwt", + "Menu" => "menu.dwt", + "Webseite" => $webseite); +if (isset($additionalTemplates)) { + foreach ($additionalTemplates as $templateKey => $templateFile) { + $definedTemplates[$templateKey] = $templateFile; + } +} +$template->define($definedTemplates); + +$template->assign(array("SEITENTITEL" => $titel, "ROLLE" => "mainadmin", "AU" => $au_ou, "DOMAIN" => $assocdom, "USERCN" => $usercn)); + +?>
\ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/rbs/rbs_menu.php b/ldap-site-mngmt/webinterface/rbs/rbs_menu.php new file mode 100644 index 00000000..76a786c2 --- /dev/null +++ b/ldap-site-mngmt/webinterface/rbs/rbs_menu.php @@ -0,0 +1,215 @@ +<?php + +function createRBSMenu($rollen, $mnr, $auDN, $sbmnr) { + global $template; + global $START_PATH; + + # rbservices (momentan nur für einen RBS konzipiert) + $rbs_array = get_rbservices($auDN,array("dn","cn")); + if (count($rbs_array) == 0){ + $rbslink = "new_rbservice.php?mnr=1"; + $gbmlink = "no_rbservice.php?mnr=2"; + $pxelink = "no_rbservice.php?mnr=3"; + } + else { + $rbslink = "rbservice.php?mnr=1"; + $gbmlink = "gbm_overview.php?mnr=2"; + $pxelink = "pxeconfig_default.php?mnr=3"; + } + $rbsDN = $rbs_array[0]['dn']; + + # Struktur der Registerkartenleiste + $hauptmenu = array(array("link" => "rbs.php?mnr=0", + "text" => "Übersicht", + "zugriff" => "alle"), + array("link" => $rbslink, + "text" => "Remote Boot Service", + "zugriff" => array("MainAdmin","HostAdmin")), + array("link" => $gbmlink, + "text" => "Generische Bootmenüs", + "zugriff" => array("MainAdmin","HostAdmin")), + array("link" => $pxelink, + "text" => "Default PXE", + "zugriff" => array("MainAdmin","HostAdmin"))); + #print_r($hauptmenu); + + # Generische Bootmenüs + $gbm = array(); + if (count($rbs_array) != 0){ + $generic_bms = get_menuentries($rbsDN, array("dn","cn")); + for ($g=0;$g<count($generic_bms);$g++){ + $gbm[] = array("link" => "gbm.php?dn=".$generic_bms[$g]['dn']."&mnr=2&sbmnr=".$g, + "text" => $generic_bms[$g]['cn'], + "zugriff" => array("MainAdmin","HostAdmin")); + } + $gbm [] = array("link" => "new_gbm.php?mnr=2&sbmnr=".$g, + "text" => "Neues Generisches BM", + "zugriff" => array("MainAdmin","HostAdmin")); + } + + # default pxe-configs + $pxe = array(); + if (count($rbs_array) != 0){ + $pxe_array = get_pxeconfigs($rbsDN,array("dn","cn","timerange")); + for($n=0;$n<count($pxe_array);$n++){ + $pxe [] = array("link" => "pxe.php?dn=".$pxe_array[$n]['dn']."&mnr=3&sbmnr=".$n, + "text" => $pxe_array[$n]['cn'], + "zugriff" => array("MainAdmin","HostAdmin")); + } + $pxe [] = array("link" => "new_pxe.php?mnr=3&sbmnr=".$n, + "text" => "Neues Default PXE", + "zugriff" => array("MainAdmin","HostAdmin")); + } + $submenu = array(array(), + array(), + $gbm, + $pxe); + + #$rollen = array_keys($roles); + + # Zusammenstellen der Menuleiste + $template->define_dynamic("Hauptmenu", "Menu"); + $template->define_dynamic("Submenu", "Menu"); + $i=0; + $maxmenu = count($hauptmenu); + + foreach($hauptmenu as $item) { + $template->clear_parse("SUBMENU_LIST"); + + if($item['zugriff'] === "alle" || vergleicheArrays($rollen , $item['zugriff'])) { + + $subempty = 0; + $j=0; + $maxsub = count($submenu[$mnr]); + if($maxsub > 0){ + foreach($submenu[$mnr] as $item2) { + + if($item2['zugriff'] === "alle" || vergleicheArrays($rollen, $item2['zugriff'])) { + if($i != $mnr){ + $template->assign(array("SUB" => "")); + # "LINK_S" => "", + # "TEXT_S" => "")); + $template->parse("SUBMENU_LIST", ".Submenu"); + $template->clear_dynamic("Submenu"); + } + else{ + if ($j==0) { + if ($sbmnr==0) { + if($maxsub == 1){$zwisch="branchbottom2";} + else {$zwisch="branch2";} + $lastaktive=true; + $farb="#505050"; + } + else{ + if($maxsub == 1){$zwisch="branchbottom2";} + else {$zwisch="branch2";} + $farb="#A0A0A0"; + $lastaktive=false; + } + } + else { + if ($sbmnr==$j) { + if($maxsub == $j+1){$zwisch="branchbottom2";} + else {$zwisch="branch2";} + $lastaktive=true; + $farb="#505050"; + } + else { + $farb="#A0A0A0"; + if($maxsub == $j+1){$zwisch="branchbottom2";} + else {$zwisch="branch2";} + # if ($lastaktive) {$zwisch="branch";} + # else {$zwisch="branch";} + $lastaktive=false; + } + } + $htmlcode= " + <tr height='4'> + <td></td><td align='right'><img src='../pics/line2.gif' height='4'></td><td></td><td></td> + </tr> + <tr> + <td width='8%'> </td> + <td width='8%' align='right'><img src='../pics/".$zwisch.".gif'></td>
+ <td width='74%' align='left' style='border-width:1 1 1 1;border-color:#000000;border-style:solid;padding:2;padding-left:30px;background-color:{FARBE_S}'> + <a href='".$item2['link']."' style='text-decoration:none'><b class='standard_schrift'>".$item2['text']."</b></a></td> + <td width='10%'> </td> + </tr> + "; + $template->assign(array("SUB" => $htmlcode)); + $template->assign(array("FARBE_S" => $farb)); + $template->parse("SUBMENU_LIST", ".Submenu"); + $template->clear_dynamic("Submenu"); + } + } + else { + $subempty++; + } + $j=$j+1; + } + } + if($subempty == count($submenu[$mnr])) { + $template->assign(array("SUB" => "")); + # "LINK_S" => "", + # "TEXT_S" => "")); + $template->parse("SUBMENU_LIST", ".Submenu"); + $template->clear_dynamic("Submenu"); + } + if ($i==0) { + if ($mnr==0) { + if(count($submenu[$i][0]) != 0){ + if($maxmenu == 1){$zwisch="";} # {$zwisch="<img style='border-width:0;border-style=none;' src='../pics/minus2.gif'>";} + else {$zwisch="";} + }else{$zwisch="";} + $lastaktive=true; + $farb="#505050"; + } + else{ + if(count($submenu[$i][0]) != 0){ + if($maxmenu == 1){$zwisch="<a href='{LINK_M}' style='border-style=none;text-decoration:none'> + <img style='border-width:0;border-style=none;' src='../pics/plus2.gif'></a>";} + else {$zwisch="<a href='{LINK_M}' style='border-style=none;text-decoration:none'> + <img style='border-width:0;border-style=none;' src='../pics/plus2.gif'></a>";} + }else{$zwisch="";} + $farb="#A0A0A0"; + $lastaktive=false; + } + } + else { + if ($mnr==$i) { + if(count($submenu[$mnr][0]) != 0){ + if($maxmenu == $i+1){$zwisch="";} + else {$zwisch="";} + }else{$zwisch="";} + $lastaktive=true; + $farb="#505050"; + } + else { + $farb="#A0A0A0"; + if(count($submenu[$i][0]) != 0){ + if($maxmenu == $i+1){$zwisch="<a href='{LINK_M}' style='border-style=none;text-decoration:none'> + <img style='border-width:0;border-style=none;' src='../pics/plus2.gif'></a>";} + else {$zwisch="<a href='{LINK_M}' style='border-style=none;text-decoration:none'> + <img style='border-width:0;border-style=none;' src='../pics/plus2.gif'></a>";} + }else{$zwisch="";} + #if ($lastaktive) {$zwisch="";} + #else {$zwisch="";} + $lastaktive=false; + } + } + $template->assign(array("ICON" => $zwisch, + "FARBE" => $farb, + "LINK_M" => $item["link"], + "TEXT_M" => $item["text"])); + $template->parse("HAUPTMENU_LIST", ".Hauptmenu"); + $template->clear_dynamic("Hauptmenu"); + } + $i=$i+1; + } + if ($lastaktive) {$template->assign(array("ENDE" => ""));} + else{ + $template->assign(array("ENDE" => "")); + } + +} + +?>
\ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/rbs/rbs_start.dwt b/ldap-site-mngmt/webinterface/rbs/rbs_start.dwt new file mode 100644 index 00000000..3436b4ee --- /dev/null +++ b/ldap-site-mngmt/webinterface/rbs/rbs_start.dwt @@ -0,0 +1,41 @@ +<table border='0' cellpadding='5' cellspacing='0' width='90%'> + <tr> + <td colspan='2'><h3>Modul - Remote Boot Services (PXE) Management: </h3></td> + </tr> + <tr> + <td height='10'></td> + </tr> + <tr> + <td> + <p>Dieses Modul dient der Verwaltung ihres <b>Remote Boot Services (RBS)</b><br> + Benutzen Sie die Navigation links, um die einzelnen Verwaltungsbereiche anzusteuern:</p> + <ul> + <li><p><b>Remote Boot Service</b></p> + Allgemeine Einstellungen Ihres Remote Boot Service.<br> + Falls Sie noch keinen RBS angelegt haben, können Sie dies hier tun. <br> + Daneben können Sie hier ihr RBS Bootserver-System (TFTP-, NFS-, NBD-Server) verwalten. + </li> + <li><p><b>Generische Boot Menüs</b></p> + Generische Boot Menues die Sie Nutzern ihres RBS anbieten wollen.<br> + Hier verwalten Sie Generische Boot Menues (GBM) oder legen neue an.<br><br> + GBMs enthalten alle Komponenten eines PXE Bootmenüs, welche + auf ihrem Bootserver-System gespeichert und von Ihnen verwaltet werden, d.h. + Kernel-Images, Initial-Ramdisks (initrd), usw. Diese sind unabhängig + von den PXE-Parametern, die das eigentliche Aussehen eines PXE Bootmenüs bestimmen, + wie z.B. Menu-Zeilen, oder PXE Parametern welche zur Bootclient Konfiguration verwendet + werden.<br> + Nutzer ihres RBS können aus diesen GBMs dann ihre individuellen PXE Boot + Menüs zusammenstellen. + + </li> + <li><p><b>Default PXE</b></p> + Default PXE Boot Konfigurationen, fuer die bootende Rechner ohne spezifische + PXEs.<br> + Hier können Sie Default PXEs anlegen und verwalten. + </li> + </ul> + + </td> + </tr> + +</table>
\ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/rbs/rbservice.dwt b/ldap-site-mngmt/webinterface/rbs/rbservice.dwt new file mode 100644 index 00000000..c2af43fb --- /dev/null +++ b/ldap-site-mngmt/webinterface/rbs/rbservice.dwt @@ -0,0 +1,228 @@ +<table border='0' cellpadding='5' cellspacing='0' width='100%'> + <tr> + <td colspan='2'><h3>Remote Boot Service <code class='font_object'> {RBSCN} </code> </h3></td> + </tr> + <tr> + <td height='20'></td> + </tr> + <tr><td> + <table cellpadding='7' cellspacing='0' border='1' align='left' width='90%' style='border-width: 0 0 0 0;'> + + <form action='rbservice_change.php' method='post'> + + <tr> + <td width='40%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>Attribut</b></td> + <td width='60%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>Wert</b></td> + </tr> + + <tr height='50'> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Eindeutiger RBS Name (cn):</b><br>(Teil des dn, ohne Leerzeichen eingeben) </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <font size='+2'><b>RBS_</b></font><input type='Text' name='rbscn' value='{RBSCN}' size='40' class='medium_form_field'> + <input type='hidden' name='oldrbscn' value='{RBSCN}'> + </td> + </tr> + <tr height='50'> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 0;'><b>Dienst kann momentan genutzt werden von:</b><br></td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 0;'>Abteilung<b> {RBSOFFERNOW}</b> (und allen Unterabteilungen) + </td> + </tr> + <tr height='50' valign='top'> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><b>Ändern:</b><br>(Wählen Sie eine andere Abteilung)</td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <select name='rbsoffer' size='5' class='medium_form_selectbox'> + <option selected value='none'>----------</option> + + <!-- BEGIN DYNAMIC BLOCK: Rbsoffers --> + <option value='{RBSOFFER}'>{RBSOFFEROU}</option> + <!-- END DYNAMIC BLOCK: Rbsoffers --> + + <option value='off'>------ ABSCHALTEN ------</option> + + </select> + <input type='hidden' name='oldrbsoffer' value='{RBSOFFERNOWDN}'> + </td> + </tr> + + </table></td> + </tr> + <tr> + <td height='40'></td> + </tr> + <tr> + <td colspan='2'><h4>Boot Server System:</h4></td> + </tr> + <tr> + <td height='10'></td> + </tr> + <tr><td> + <table cellpadding='7' cellspacing='0' border='1' align='left' width='90%' style='border-width: 0 0 0 0;'> + + <tr valign='top'> + <td width='20%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>Server</b></td> + <td width='30%' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>IP Adresse<br>(Rechner ändern)</b></td> + <td colspan='2' style='border-color: black; border-style: solid; border-width: 0 0 3 0;'><b>Server Pfade</b></td> + </tr> + + <tr valign='top'> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 0;'><b>TFTP Server: </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 0;'> + <input type='Text' name='tftpserverip' value='{TFTPIP}' size='15' class='medium_form_field'> + <input type='hidden' name='oldtftpserverip' value='{TFTPIP}'></td> + <td width='15%' style='border-color: black; border-style: solid; border-width: 0 0 0 0;'>Init Boot File</td> + <td width='35%' style='border-color: black; border-style: solid; border-width: 0 0 0 0;'> + <input type='Text' name='attribs[initbootfile]' value='{INITBOOTFILE}' size='25' class='medium_form_field'> + <input type='hidden' name='oldattribs[initbootfile]' value='{INITBOOTFILE}'></td> + </tr> + <tr valign='top'> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 0;'><font size='+1'>{TFTP}</font></td> + <td rowspan='3' style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <select name='tftpserver' size='4' class='small_form_selectbox'> + <option selected value='none'>----------------------------</option> + <!-- BEGIN DYNAMIC BLOCK: TftpHosts --> + <option value='{HDN}'>{HN}</option> + <!-- END DYNAMIC BLOCK: TftpHosts --> + </select></td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 0;'>PXE Path</td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 0;'> + <input type='Text' name='attribs[tftppxepath]' value='{TFTPPXE}' size='25' class='medium_form_field'> + <input type='hidden' name='oldattribs[tftppxepath]' value='{TFTPPXE}'></td> + </tr> + <tr valign='top'> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 0;'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 0;'>Kernel Path</td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 0;'> + <input type='Text' name='attribs[tftpkernelpath]' value='{TFTPKERNEL}' size='25' class='medium_form_field'> + <input type='hidden' name='oldattribs[tftpkernelpath]' value='{TFTPKERNEL}'></td> + </tr> + <tr valign='top'> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'>Clientconf Path</td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <input type='Text' name='attribs[tftpclientconfpath]' value='{TFTPCLIENTCONF}' size='25' class='medium_form_field'> + <input type='hidden' name='oldattribs[tftpclientconfpath]' value='{TFTPCLIENTCONF}'></td> + <input type='hidden' name='oldtftpserverdn' value='{TFTPDN}'> + </tr> + + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 0;'><b>NFS Server: </b></td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 0;'> + <input type='Text' name='nfsserverip' value='{NFSIP}' size='15' class='medium_form_field'> + <input type='hidden' name='oldnfsserverip' value='{NFSIP}'></td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 0;'>Export Path</td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 0;'> + <input type='Text' name='attribs[exportpath]' value='{NFSPATH}' size='25' class='medium_form_field'> + <input type='hidden' name='oldattribs[exportpath]' value='{NFSPATH}'></td> + </tr> + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><font size='+1'>{NFS}</font> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <select name='nfsserver' size='4' class='small_form_selectbox'> + <option selected value='none'>----------------------------</option> + <!-- BEGIN DYNAMIC BLOCK: NfsHosts --> + <option value='{HDN}'>{HN}</option> + <!-- END DYNAMIC BLOCK: NfsHosts --> + </select> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> </td> + <input type='hidden' name='oldnfsserverdn' value='{NFSDN}'> + </tr> + + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 0;'><b>NBD Server: </b></td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 0;'> + <input type='Text' name='nbdserverip' value='{NBDIP}' size='15' class='medium_form_field'> + <input type='hidden' name='oldnbdserverip' value='{NBDIP}'></td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 0;'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 0;'> </td> + </tr> + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'><font size='+1'>{NBD}</font> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> + <select name='nbdserver' size='4' class='small_form_selectbox'> + <option selected value='none'>----------------------------</option> + <!-- BEGIN DYNAMIC BLOCK: NbdHosts --> + <option value='{HDN}'>{HN}</option> + <!-- END DYNAMIC BLOCK: NbdHosts --> + </select></td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> </td> + <td style='border-color: black; border-style: solid; border-width: 0 0 1 0;'> </td> + <input type='hidden' name='oldnbdserverdn' value='{NBDDN}'> + </tr> + + <input type='hidden' name='rbsdn' value='{RBSDN}'> + <input type='hidden' name='mnr' value='{MNR}'> + <input type='hidden' name='sbmnr' value='{SBMNR}'> + + </table></td> + </tr> + <tr> + <td><input type='Submit' name='apply' value='anwenden' class='small_loginform_button'> + </form></td> + </tr> + + + <tr> + <td height='50'></td> + </tr> + <tr> + <td colspan='2'><h3>Config File für PXE Generator Script</h3></td> + </tr> + <tr> + <td colspan='2'>Speichern Sie dieses als <b>pxegen.conf.pl</b> im gleichen Verzeichnis wie ihr PXE Generator Skript <b>pxe_generator.pl</b></td> + </tr> + <tr> + <td> + <table cellpadding='20' cellspacing='0' border='0' align='left' width='80%' style='border-color: black; border-style: solid; border-width: 2 2 2 2;'> + + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 0;'> + $ldaphost= "{PXEGENLDAP}"; <br> + $basedn= "{PXEGENBASE}"; <br> + $userdn= "{PXEGENUDN}"; <br> + $passwd= "{PXEGENPW}"; <br> + $rbsdn= "{PXEGENRBS}"; + </td> + </tr> + + + </table></td> + </tr> + + + + <tr> + <td height='60'></td> + </tr> + + <tr> + <td colspan='2'><h4>Remote Boot Service <code class='font_object'>{RBSCN}</code> löschen:</h4></td> + </tr> + <tr> + <td> + <table cellpadding='7' cellspacing='0' border='0' align='left' width='90%' style='border-width: 0 0 0 0;'> + <form action='delete_confirm.php' method='post'> + + + <tr> + <td style='border-color: black; border-style: solid; border-width: 0 0 0 0;'> + Der Remote Boot Dienst wird komplett gelöscht, <br> + d.h. inklusive aller angelegten Generischen PXE Bootmenüs und Default PXEs. + </tr> + + <input type='hidden' name='dn' value='{RBSDN}'> + <input type='hidden' name='name' value='{RBSCN}'> + <input type='hidden' name='type' value='rbs'> + <input type='hidden' name='delurl' value='rbservice_delete.php'> + <input type='hidden' name='backurl' value='rbservice.php?dn={RBSDN}&mnr={MNR}'> + + </table></td> + </tr> + <tr> + <td> + <input type='Submit' name='apply' value='löschen' class='small_loginform_button'> + </form></td> + </tr> + + +</table>
\ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/rbs/rbservice.php b/ldap-site-mngmt/webinterface/rbs/rbservice.php new file mode 100644 index 00000000..73dde633 --- /dev/null +++ b/ldap-site-mngmt/webinterface/rbs/rbservice.php @@ -0,0 +1,148 @@ +<?php +include('../standard_header.inc.php'); + +# 1. Seitentitel - wird in der Titelleiste des Browser angezeigt. +$titel = "Remote Boot Service Management"; +# 2. Nummer des zugehörigen Hauptmenus (Registerkarte) beginnend bei 0, siehe Dokumentation.doc. +$mainnr = 4; +$mnr = 0; +$sbmnr = -1; +# 3. Dateiname und evtl. Pfad des Templates für die Webseite +$webseite = "rbservice.dwt"; + +include("../class.FastTemplate.php"); + +include('rbs_header.inc.php'); + +################################################################################### + +$mnr = $_GET['mnr']; + +# Menuleisten erstellen +createMainMenu($rollen, $mainnr); +createRBSMenu($rollen, $mnr, $auDN, $sbmnr); + +################################################################################### + +$template->assign(array("RBSDN" => "", + "CN" => "", + "TFTP" => "", + "TFTPIP" => "", + "INITBOOTFILE" => "", + "TFTPKERNEL" => "", + "TFTPPXE" => "", + "TFTPCLIENTCONF" => "", + "NFS" => "", + "NFSIP" => "", + "NFSPATH" => "", + "NBD" => "", + "NBDIP" => "", + "RBSOFFERNOWDN" => "", + "RBSOFFERNOW" => "", + "HDN" => "", + "HN" => "", + "IP" => "")); + +# RBS Daten +$rbs_array = get_rbservices($auDN,array("dn","cn")); +$rbsDN = $rbs_array[0]['dn']; +$attributes = array("dn","cn","rbsofferdn","tftpserverip","tftpkernelpath","tftpclientconfpath","tftppxepath", + "nfsserverip","exportpath","nbdserverip","initbootfile"); +$rbs_data = get_node_data($rbsDN, $attributes); + +# RBS Anbieten +# momentanes Offer +$offerexp = ldap_explode_dn($rbs_data['rbsofferdn'], 1); +$rbsoffernow = $offerexp[0]; +# alternative Offers +$expdn = ldap_explode_dn($auDN, 0); # Mit Merkmalen +$expdn = array_slice($expdn, 1); +$expou = ldap_explode_dn($auDN, 1); # nur Werte +$expou = array_slice($expou, 1, -3); +#print_r($expou); echo "<br>"; +#print_r($expdn); echo "<br>"; +for ($i=0; $i<count($expou); $i++){ + $rbsoffers[$i]['ou'] = $expou[$i]; + $rbsoffers[$i]['dn'] = implode(',',$expdn); + $expdn = array_slice($expdn, 1); +} +#print_r($rbsoffers); + +$expcn = explode('_',$rbs_data['cn']); +$name = array_slice($expcn,1); +$rbscn = implode('_',$name); + +# Server Hostnamen holen +$tftpserver = get_hostname_from_ip($rbs_data['tftpserverip'],$auDN); +$nfsserver = get_hostname_from_ip($rbs_data['nfsserverip'],$auDN); +$nbdserver = get_hostname_from_ip($rbs_data['nbdserverip'],$auDN); + +$template->assign(array("RBSDN" => $rbs_data['dn'], + "RBSCN" => $rbscn, + "TFTP" => $tftpserver['hostname'], + "TFTPDN" => $tftpserver['dn'], + "TFTPIP" => $rbs_data['tftpserverip'], + "INITBOOTFILE" => $rbs_data['initbootfile'], + "TFTPKERNEL" => $rbs_data['tftpkernelpath'], + "TFTPPXE" => $rbs_data['tftppxepath'], + "TFTPCLIENTCONF" => $rbs_data['tftpclientconfpath'], + "NFS" => $nfsserver['hostname'], + "NFSDN" => $nfsserver['dn'], + "NFSIP" => $rbs_data['nfsserverip'], + "NFSPATH" => $rbs_data['exportpath'], + "NBD" => $nbdserver['hostname'], + "NBDDN" => $nbdserver['dn'], + "NBDIP" => $rbs_data['nbdserverip'], + "RBSOFFERNOWDN" => $rbs_data['rbsofferdn'], + "RBSOFFERNOW" => $rbsoffernow, + "MNR" => $mnr, + "SBMNR" => $sbmnr)); + +$template->define_dynamic("Rbsoffers", "Webseite"); +foreach ($rbsoffers as $offer){ + $template->assign(array("RBSOFFER" => $offer['dn'], + "RBSOFFEROU" => $offer['ou'],)); + $template->parse("RBSOFFERS_LIST", ".Rbsoffers"); +} + +### Rechner +$hostorgroup = $exp[0]; +$hosts_array = get_hosts($auDN,array("dn","hostname","ipaddress")); + +$template->define_dynamic("TftpHosts", "Webseite"); +$template->define_dynamic("NfsHosts", "Webseite"); +$template->define_dynamic("NbdHosts", "Webseite"); +foreach ($hosts_array as $item){ + $template->assign(array("HDN" => $item['dn'], + "HN" => $item['hostname'], + "IP" => $item['ipaddress'])); + $template->parse("TFTPHOSTS_LIST", ".TftpHosts"); + $template->assign(array("HDN" => $item['dn'], + "HN" => $item['hostname'], + "IP" => $item['ipaddress'])); + $template->parse("NFSHOSTS_LIST", ".NfsHosts"); + $template->assign(array("HDN" => $item['dn'], + "HN" => $item['hostname'], + "IP" => $item['ipaddress'])); + $template->parse("NBDHOSTS_LIST", ".NbdHosts"); +} + +################################################ +# PXE Generator Skript Config +$pxegen_ldap = "ldap://".LDAP_HOST; +$pxegen_base = "ou=RIPM,".$suffix; +$pxegen_udn = $userDN; +$pxegen_pw = $userPassword; +$pxegen_rbsdn = $rbsDN; +$template->assign(array("PXEGENLDAP" => $pxegen_ldap, + "PXEGENBASE" => $pxegen_base, + "PXEGENUDN" => $pxegen_udn, + "PXEGENPW" => $pxegen_pw, + "PXEGENRBS" => $pxegen_rbsdn)); + + +################################################################################### + +include("rbs_footer.inc.php"); + +?>
\ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/rbs/rbservice_add.php b/ldap-site-mngmt/webinterface/rbs/rbservice_add.php new file mode 100644 index 00000000..54494999 --- /dev/null +++ b/ldap-site-mngmt/webinterface/rbs/rbservice_add.php @@ -0,0 +1,140 @@ +<?php +include('../standard_header.inc.php'); + +$rbscn = $_POST['rbscn']; $rbscn = htmlentities($rbscn); + +$nodeDN = "cn=rbs,".$auDN; + +$rbsoffer = $_POST['rbsoffer']; + +$tftpserverip = $_POST['tftpserverip']; +$nfsserverip = $_POST['nfsserverip']; +$nbdserverip = $_POST['nbdserverip']; + +$tftpserver = $_POST['tftpserver']; +$nfsserver = $_POST['nfsserver']; +$nbdserver = $_POST['nbdserver']; + +$host_array = get_hosts($auDN,array("dn","hostname","ipaddress")); + +$mnr = $_POST['mnr']; +$sbmnr = $_POST['sbmnr']; +$mcnr = $_POST['mcnr']; + +# sosntige Attribute +$attribs = $_POST['attribs']; +if (count($attribs) != 0){ + foreach (array_keys($attribs) as $key){ + $atts[$key] = htmlentities($attribs[$key]); + } +} +#print_r($atts); echo "<br><br>"; + + +$get_rbscn = str_replace ( " ", "_", $rbscn ); +$seconds = 300; +$url = "new_rbservice.php?&mnr=1"; + +echo " +<html> +<head> + <title>Computers Management</title> + <link rel='stylesheet' href='../styles.css' type='text/css'> +</head> +<body> +<table border='0' cellpadding='30' cellspacing='0'> +<tr><td>"; + +if ( $rbscn != "" && $rbscn != "Hier_RBS_NAME_eintragen" ){ + + $rbscn = "RBS_".$rbscn; + + # Formulareingaben anpassen + $exprbs = explode(" ",$rbscn); + foreach ($exprbs as $word){$expuc[] = ucfirst($word);} + $rbscn = implode(" ",$expuc); + $rbscn = preg_replace ( '/\s+([0-9A-Z])/', '$1', $rbscn); + + $rbsDN = "cn=".$rbscn.",".$nodeDN; + print_r($rbsDN); echo "<br><br>"; + + # Server_array zusammenstellen + $server = array(); + # TFTP Server + if ($tftpserverip != ""){ + if ($syntax->check_ip_syntax($tftpserverip)){ + $tftpserverip = htmlentities($tftpserverip); + $mesg .= "Suche nach dem Rechner mit IP ".$tftpserverip." :<br>"; + foreach ($host_array as $host){ + $hostipexp = explode('_',$host['ipaddress']); + $hostip = $hostipexp[0]; + if ($tftpserverip == $hostip){ + $server ['tftp'] = $tftpserverip; + break; + }else{ + $mesg .= "Rechner ".$host['hostname'].": keine Übereinstimmung mit eingegebener IP ".$tftpserverip."!<br>"; + } + } + }else{$mesg .= "Falsche IP Syntax!<br>";} + } + # NFS Server + if ( $nfsserverip != "" ){ + if ($syntax->check_ip_syntax($nfsserverip)){ + $nfsserverip = htmlentities($nfsserverip); + $mesg .= "Suche nach dem Rechner mit IP ".$nfsserverip." :<br>"; + foreach ($host_array as $host){ + $hostipexp = explode('_',$host['ipaddress']); + $hostip = $hostipexp[0]; + if ($nfsserverip == $hostip){ + $server ['nfs'] = $nfsserverip; + break; + }else{ + $mesg .= "Rechner ".$host['hostname'].": keine Übereinstimmung mit eingegebener IP ".$nfsserverip."!<br>"; + } + } + }else{$mesg .= "Falsche IP Syntax!<br>";} + } + # NBD Server + if ( $nbdserverip != "" ){ + if ($syntax->check_ip_syntax($nbdserverip)){ + $nbdserverip = htmlentities($nbdserverip); + $mesg .= "Suche nach dem Rechner mit IP ".$nbdserverip." :<br>"; + foreach ($host_array as $host){ + $hostipexp = explode('_',$host['ipaddress']); + $hostip = $hostipexp[0]; + if ($nbdserverip == $hostip){ + $server ['nbd'] = $nbdserverip; + break; + }else{ + $mesg .= "Rechner ".$host['hostname'].": keine Übereinstimmung mit eingegebener IP ".$nbdserverip."!<br>"; + } + } + }else{$mesg .= "Falsche IP Syntax!<br>";} + } + echo "Server Array: ";print_r($server); echo "<br>"; + + if (add_rbs($rbsDN,$rbscn,$rbsoffer,$server,$atts)){ + $mesg .= "<br>Remote Boot Service erfolgreich angelegt<br>"; + $url = "rbservice.php?mnr=1"; + }else{ + $mesg .= "<br>Fehler beim anlegen des Remote Boot Services!<br>"; + } +} + +elseif ( $rbscn == "" || $rbscn == "Hier_RBS_NAME_eintragen" ){ + + $mesg = "Sie haben den Namen des neuen Remote Boot Service nicht angegeben. Dieser ist + aber ein notwendiges Attribut.<br> + Bitte geben Sie ihn an.<br><br>"; + $url = "new_rbservice.php?rbscn=Hier_RBS_NAME_eintragen&mnr=1"; +} + + + +$mesg .= "<br>Sie werden automatisch auf die vorherige Seite zurückgeleitet. <br> + Falls nicht, klicken Sie hier <a href=".$url." style='publink'>back</a>"; +redirect($seconds, $url, $mesg, $addSessionId = TRUE); + +echo "</td></tr></table></body> +</html>"; +?>
\ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/rbs/rbservice_change.php b/ldap-site-mngmt/webinterface/rbs/rbservice_change.php new file mode 100644 index 00000000..e5419c36 --- /dev/null +++ b/ldap-site-mngmt/webinterface/rbs/rbservice_change.php @@ -0,0 +1,337 @@ +<?php +include('../standard_header.inc.php'); + +$rbscn = "RBS_".$_POST['rbscn']; +$oldrbscn = "RBS_".$_POST['oldrbscn']; +$rbsoffer = $_POST['rbsoffer']; +$oldrbsoffer = $_POST['oldrbsoffer']; + +$tftpserverip = $_POST['tftpserverip']; +$oldtftpserverip = $_POST['oldtftpserverip']; +$nfsserverip = $_POST['nfsserverip']; +$oldnfsserverip = $_POST['oldnfsserverip']; +$nbdserverip = $_POST['nbdserverip']; +$oldnbdserverip = $_POST['oldnbdserverip']; + +$tftpserver = $_POST['tftpserver']; +$nfsserver = $_POST['nfsserver']; +$nbdserver = $_POST['nbdserver']; +$oldtftpserverdn = $_POST['oldtftpserverdn']; +$oldnfsserverdn = $_POST['oldnfsserverdn']; +$oldnbdserverdn = $_POST['oldnbdserverdn']; + +$host_array = get_hosts($auDN,array("dn","hostname","ipaddress")); + +$rbsDN = $_POST['rbsdn']; +$nodeDN = "cn=rbs,".$auDN; + +$mnr = $_POST['mnr']; +$sbmnr = $_POST['sbmnr']; +$mcnr = $_POST['mcnr']; + +# sosntige Attribute +$attribs = $_POST['attribs']; +if (count($attribs) != 0){ + foreach (array_keys($attribs) as $key){ + $atts[$key] = htmlentities($attribs[$key]); + } +} +#print_r($atts); echo "<br><br>"; +$oldattribs = $_POST['oldattribs']; +if (count($oldattribs) != 0){ + foreach (array_keys($oldattribs) as $key){ + $oldatts[$key] = htmlentities($oldattribs[$key]); + } +} +#print_r($oldatts); echo "<br><br>"; + + +$seconds = 2; +$url = "rbservice.php?&mnr=1"; + +echo " +<html> +<head> + <title>Computers Management</title> + <link rel='stylesheet' href='../styles.css' type='text/css'> +</head> +<body> +<table border='0' cellpadding='30' cellspacing='0'> +<tr><td>"; + +############################################## +# RBS CN (DN) + +if ( $oldrbscn == $rbscn ){ + # $mesg = "keine Aenderung<br>"; +} + +if ( $oldrbscn != "" && $rbscn != "" && $oldrbscn != $rbscn ){ + echo "RBS Name aendern<br>"; + # hier noch Syntaxcheck + # Formulareingaben anpassen + $exprbs = explode(" ",$rbscn); + foreach ($exprbs as $word){$expuc[] = ucfirst($word);} + $rbscn = implode(" ",$expuc); + $rbscn = preg_replace ( '/\s+([0-9A-Z])/', '$1', $rbscn); + + $newrbsDN = "cn=".$rbscn.",".$nodeDN; + print_r($newrbsDN); echo "<br><br>"; + + if(move_subtree($rbsDN, $newrbsDN)){ + adjust_rbs_dn($newrbsDN, $rbsDN); + $rbsDN = $newrbsDN; + $mesg = "RBS Name erfolgreich geändert<br><br>"; + }else{ + $mesg = "Fehler beim ändern des RBS Namen!<br><br>"; + } +} + +if ( $oldrbscn != "" && $rbscn == "" ){ + echo "Gruppenname loeschen!<br> + Dieses ist Teil des DN, Sie werden den RBS komplett löschen<br><br>"; + echo "Wollen Sie den RBS Dienst <b>".$oldrbscn."</b> wirklich löschen?<br><br> + <form action='rbservice_delete.php' method='post'> + Falls ja:<br><br> + <input type='hidden' name='dn' value='".$pxeDN."'> + <input type='hidden' name='name' value='".$oldrbscn."'> + <input type='Submit' name='apply' value='löschen' class='small_loginform_button'><br><br> + </form> + <form action='".$url."' method='post'> + Falls, nein:<br><br> + <input type='Submit' name='apply' value='zurück' class='small_loginform_button'> + </form>"; + $seconds = 600; +} + + +##################################### +# Offer ändern + +if ( $rbsoffer != "none" && $rbsoffer == $oldrbsoffer ){ + $mesg = "Sie haben die gleiche Abteilung ausgewählt<br> + Keine Änderung!"; +} + +if ( $rbsoffer != "none" && $rbsoffer != $oldrbsoffer ){ + $entryoffer ['rbsofferdn'] = $rbsoffer; + if(ldap_mod_replace($ds,$rbsDN,$entryoffer)){ + $mesg = "RBS Offer erfolgreich geändert<br><br>"; + } + else{ + $mesg = "Fehler beim ändern des RBS Offers!<br><br>"; + } +} + + +##################################### +# Server ändern über IP Feld + +$syntax = new Syntaxcheck; + +if ( $tftpserverip != "" && $tftpserverip != $oldtftpserverip ){ + + if ($syntax->check_ip_syntax($tftpserverip)){ + $tftpserverip = htmlentities($tftpserverip); + + $mesg .= "Suche nach dem Rechner mit IP ".$tftpserverip." :<br>"; + foreach ($host_array as $host){ + $hostipexp = explode('_',$host['ipaddress']); + $hostip = $hostipexp[0]; + if ($tftpserverip == $hostip){ + $entrytftp ['tftpserverip'] = $tftpserverip; + if (ldap_mod_replace($ds,$rbsDN,$entrytftp)){ + $mesg .= "Treffer: Rechner ".$host['hostname']."<br>TFTP Server erfolgreich geändert<br>"; + }else{ + $mesg .= "Fehler beim ändern des TFTP Servers!<br>"; + } + break; + }else{ + $mesg .= "Rechner ".$host['hostname'].": keine Übereinstimmung mit eingegebener IP ".$tftpserverip."!<br>"; + } + } + } + else{ + $mesg .= "Falsche IP Syntax!<br>"; + } +} + +if ( $nfsserverip != "" && $nfsserverip != $oldnfsserverip ){ + + if ($syntax->check_ip_syntax($nfsserverip)){ + $nfsserverip = htmlentities($nfsserverip); + + $mesg .= "Suche nach dem Rechner mit IP ".$nfsserverip." :<br>"; + foreach ($host_array as $host){ + $hostipexp = explode('_',$host['ipaddress']); + $hostip = $hostipexp[0]; + if ($nfsserverip == $hostip){ + $entrytnfs ['nfsserverip'] = $nfsserverip; + if (ldap_mod_replace($ds,$rbsDN,$entrytnfs)){ + $mesg .= "Treffer: Rechner ".$host['hostname']."<br>NFS Server erfolgreich geändert<br>"; + }else{ + $mesg .= "Fehler beim ändern des NFS Servers!<br>"; + } + break; + }else{ + $mesg .= "Rechner ".$host['hostname'].": keine Übereinstimmung mit eingegebener IP ".$nfsserverip."!<br>"; + } + } + } + else{ + $mesg .= "Falsche IP Syntax!<br>"; + } +} + +if ( $nbdserverip != "" && $nbdserverip != $oldnbdserverip ){ + + if ($syntax->check_ip_syntax($nbdserverip)){ + $nbdserverip = htmlentities($nbdserverip); + + $mesg .= "Suche nach dem Rechner mit IP ".$nbdserverip." :<br>"; + foreach ($host_array as $host){ + $hostipexp = explode('_',$host['ipaddress']); + $hostip = $hostipexp[0]; + if ($nbdserverip == $hostip){ + $entrytnbd ['nbdserverip'] = $nbdserverip; + if (ldap_mod_replace($ds,$rbsDN,$entrytnbd)){ + $mesg .= "Treffer: Rechner ".$host['hostname']."<br>NBD Server erfolgreich geändert<br>"; + }else{ + $mesg .= "Fehler beim ändern des NBD Servers!<br>"; + } + break; + }else{ + $mesg .= "Rechner ".$host['hostname'].": keine Übereinstimmung mit eingegebener IP ".$nbdserverip."!<br>"; + } + } + } + else{ + $mesg .= "Falsche IP Syntax!<br>"; + } +} + +##################################### +# Server ändern über Hostname + +if ($tftpserver != "none" && $tftpserver != $oldtftpserverdn){ + + $host = get_host_ip($tftpserver); + $hostipexp = explode('_',$host['ipaddress']); + $hostip = $hostipexp[0]; + $entrytftp ['tftpserverip'] = $hostip; + if (ldap_mod_replace($ds,$rbsDN,$entrytftp)){ + $mesg .= "TFTP Server erfolgreich geändert<br>"; + }else{ + $mesg .= "Fehler beim ändern des TFTP Servers!<br>"; + } + +} + +if ($nfsserver != "none" && $nfsserver != $oldnfsserverdn){ + + $host = get_host_ip($nfsserver); + $hostipexp = explode('_',$host['ipaddress']); + $hostip = $hostipexp[0]; + $entrynfs ['nfsserverip'] = $hostip; + if (ldap_mod_replace($ds,$rbsDN,$entrynfs)){ + $mesg .= "NFS Server erfolgreich geändert<br>"; + }else{ + $mesg .= "Fehler beim ändern des NFS Servers!<br>"; + } + +} + +if ($nbdserver != "none" && $nbdserver != $oldnbdserverdn){ + + $host = get_host_ip($nbdserver); + $hostipexp = explode('_',$host['ipaddress']); + $hostip = $hostipexp[0]; + $entrytnbd ['nbdserverip'] = $hostip; + if (ldap_mod_replace($ds,$rbsDN,$entrytnbd)){ + $mesg .= "NBD Server erfolgreich geändert<br>"; + }else{ + $mesg .= "Fehler beim ändern des NBD Servers!<br>"; + } + +} + +##################################### +# Restliche Attribute + +$entryadd = array(); +$entrymod = array(); +$entrydel = array(); + +foreach (array_keys($atts) as $key){ + + if ( $oldatts[$key] == $atts[$key] ){ + + } + 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 "<br>"; +#print_r($entrymod); echo "<br>"; +#print_r($entrydel); echo "<br>"; + + +if (count($entryadd) != 0 ){ + #print_r($entryadd); echo "<br>"; + #echo "neu anlegen<br>"; + foreach (array_keys($entryadd) as $key){ + $addatts .= "<b>".$key."</b>,"; + } + if(ldap_mod_add($ds,$rbsDN,$entryadd)){ + $mesg = "Attribute ".$addatts." erfolgreich eingetragen<br><br>"; + }else{ + $mesg = "Fehler beim eintragen der Attribute ".$addatts."<br><br>"; + } +} + +if (count($entrymod) != 0 ){ + #print_r($entrymod); echo "<br>"; + #echo "ändern<br>"; + foreach (array_keys($entrymod) as $key){ + $modatts .= "<b>".$key."</b>,"; + } + if(ldap_mod_replace($ds,$rbsDN,$entrymod)){ + $mesg = "Attribute ".$modatts." erfolgreich geaendert<br><br>"; + }else{ + $mesg = "Fehler beim aendern der Attribute ".$modatts."<br><br>"; + } +} + +if (count($entrydel) != 0 ){ + #print_r($entrydel); echo "<br>"; + #echo "löschen<br>"; + foreach (array_keys($entrydel) as $key){ + $delatts .= "<b>".$key."</b>,"; + } + if(ldap_mod_del($ds,$rbsDN,$entrydel)){ + $mesg = "Attribute ".$delatts." erfolgreich geloescht<br><br>"; + }else{ + $mesg = "Fehler beim loeschen der Attribute ".$delatts."<br><br>"; + } +} + + + + +$mesg .= "<br>Sie werden automatisch auf die vorherige Seite zurückgeleitet. <br> + Falls nicht, klicken Sie hier <a href=".$url." style='publink'>back</a>"; +redirect($seconds, $url, $mesg, $addSessionId = TRUE); + +echo "</td></tr></table></body> +</html>"; +?>
\ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/rbs/rbservice_delete.php b/ldap-site-mngmt/webinterface/rbs/rbservice_delete.php new file mode 100644 index 00000000..919987bd --- /dev/null +++ b/ldap-site-mngmt/webinterface/rbs/rbservice_delete.php @@ -0,0 +1,41 @@ +<?php +include('../standard_header.inc.php'); + +$rbsDN = $_POST['dn']; +$rbscn = $_POST['name']; + +$seconds = 100; +$url = 'rbs.php'; + +echo " +<html> +<head> + <title>Computers Management</title> + <link rel='stylesheet' href='../styles.css' type='text/css'> +</head> +<body> +<table border='0' cellpadding='30' cellspacing='0'> +<tr><td>"; + +if ( $rbsDN != ""){ + + if ( dive_into_tree_del($rbsDN,"") ){ + clean_up_del_rbs($rbsDN); + $mesg = "Remote Boot Service <b>".$rbscn."</b> erfolgreich gelöscht!<br><br>"; + } + else{ + $mesg = "Fehler beim löschen des Remote Boot Services <b>".$rbscn."</b> !<br><br>"; + } + +} + + + + +$mesg .= "<br>Sie werden automatisch auf die vorherige Seite zurückgeleitet. <br> + Falls nicht, klicken Sie hier <a href=".$url." style='publink'>back</a>"; +redirect($seconds, $url, $mesg, $addSessionId = TRUE); + +echo "</td></tr></table></body> +</html>"; +?>
\ No newline at end of file |