diff options
Diffstat (limited to 'ldap-site-mngmt/webinterface/rbs/new_menuentry.php')
| -rw-r--r-- | ldap-site-mngmt/webinterface/rbs/new_menuentry.php | 166 |
1 files changed, 166 insertions, 0 deletions
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"); + +?> |
