$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, "TIMERANGE" => $timerange, "MNR" => $mnr, "SBMNR" => $sbmnr, "MCNR" => $mcnr)); #$template->define_dynamic("Submenulink", "Webseite"); #if (count($me['submenulink']) != 0){ # foreach ($me['submenulink'] as $sbml){ # $template->assign(array("SUBMENULINK" => $sbml)); # $template->parse("SUBMENULINK_LIST", ".Submenulink"); # } #} # 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"); }
$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) $rbsoffers = get_rbsoffers($auDN); # eigene AU if (count($rbsoffers) != 0) { $rbservices = get_rbservices($auDN, array("dn")); # wenn eigene RBS anbietet dann diese GBMs als erstes (oben in der Liste) if (count($rbservices) != 0) { foreach ($rbservices as $rbs) { for ($i = 0; $i < count($rbsoffers); $i++) { if ($rbs['dn'] == $rbsoffers[$i]) { array_splice($rbsoffers, $i, 1); } } } # momentan maximal ein RBS in der AU $rbsaudn[] = $rbservices[0]['dn']; $rbsoffsorted = array_merge($rbsaudn, $rbsoffers); } else { for ($i = 0; $i < count($rbsoffers); $i++) { if ($rbsDN == $rbsoffers[$i]) {
# 3. Dateiname und evtl. Pfad des Templates für die Webseite $webseite = "gbm.dwt"; include 'rbs_header.inc.php'; ################################################################################### $mnr = -1; $sbmnr = -1; $mnr = $_GET['mnr']; $sbmnr = $_GET['sbmnr']; # Menuleisten erstellen createMainMenu($rollen, $mainnr); createRBSMenu($rollen, $mnr, $auDN, $sbmnr); ################################################################################### $gbmDN = $_GET['dn']; $template->assign(array("TFTPROOT" => "", "TFTPKERNEL" => "", "TFTPPXE" => "", "TFTPCLIENTCONF" => "", "NFS" => "", "NFSPATH" => "", "NBD" => "")); # 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", "tftpserverip", "tftproot", "tftpkernelpath", "tftpclientconfpath", "tftppxepath", "nfsserverip", "exportpath", "nbdserverip", "fileserveruri")); $template->assign(array("RBSCN" => $rbs_data['cn'], "TFTPIP" => $rbs_data['tftpserverip'], "TFTPROOT" => $rbs_data['tftproot'], "TFTPKERNEL" => $rbs_data['tftpkernelpath'], "TFTPPXE" => $rbs_data['tftppxepath'], "TFTPCLIENTCONF" => $rbs_data['tftpclientconfpath'], "NFS" => $rbs_data['nfsserverip'], "NFSPATH" => $rbs_data['exportpath'], "NBD" => $rbs_data['nbdserverip'])); $template->assign(array("GBMDN" => $gbmDN, "GBMCN" => "", "LABEL" => "", "KERNEL" => "", "INITRD" => "", "FSTYPE" => "", "ROOTFS" => "", "DEBUG" => "", "MISC" => "", "IPAPPEND" => "")); # GBM Daten $attributes = array("dn", "cn", "label", "kernel", "initrd", "rootfs", "rootfstype", "rootfspath", "debug", "appendmisc", "ipappend"); $gbm = get_node_data($gbmDN, $attributes); $selectboxmax = count($rbs_data['fileserveruri']) + 1; $fsuriselectbox = "<select name='rootfs' size='" . $selectboxmax . "' class='rootfs_form_selectbox'>\n <option value='none'>---------------------------------</option>"; if ($rbs_data['fileserveruri'] != "") { foreach ($rbs_data['fileserveruri'] as $fsuri) { $fsuriselectbox .= "<option value='" . $fsuri . "'>" . $fsuri . "</option>"; } }
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")); # Struktur der Registerkartenleiste $hauptmenu = array(array("link" => "rbs.php?mnr=0", "text" => "Übersicht", "zugriff" => "alle")); $submenu = array(array()); $n = 1; if (count($rbs_array) != 0) { for ($i = 0; $i < count($rbs_array); $i++) { $hauptmenu[] = array("link" => "rbservice.php?rbsdn=" . $rbs_array[$i]['dn'] . "&mnr=" . $n, "text" => $rbs_array[$i]['cn'], "zugriff" => array("MainAdmin", "RbsAdmin")); $submenu[] = array(array("link" => "gbm_overview.php?rbsdn=" . $rbs_array[$i]['dn'] . "&mnr=" . $n . "&sbmnr=0", "text" => "Generische Bootmenüs", "zugriff" => array("MainAdmin", "RbsAdmin")), array("link" => "pxeconfig_default.php?rbsdn=" . $rbs_array[$i]['dn'] . "&mnr=" . $n . "&sbmnr=1", "text" => "Default PXE Configs", "zugriff" => array("MainAdmin", "RbsAdmin")), array("link" => "new_gbm.php?rbsdn=" . $rbs_array[$i]['dn'] . "&mnr=" . $n . "&sbmnr=2", "text" => "Neues GBM anlegen", "zugriff" => array("MainAdmin", "RbsAdmin")), array("link" => "new_pxe.php?rbsdn=" . $rbs_array[$i]['dn'] . "&mnr=" . $n . "&sbmnr=3", "text" => "Neue PXE Config anlegen", "zugriff" => array("MainAdmin", "RbsAdmin"))); $n++; } } $hauptmenu[] = array("link" => "new_rbservice.php?&mnr=" . $n, "text" => "Neuen RBS anlegen", "zugriff" => array("MainAdmin", "RbsAdmin")); $submenu[] = array(); #print_r($hauptmenu); echo "<br><br>"; #print_r($submenu); # 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 = "\n\t\t \t\t<tr height='4'>\n\t\t\t\t\t\t<td></td><td align='right'><img src='../pics/line2.gif' height='4'></td><td></td><td></td>\n\t\t \t\t</tr>\n\t\t \t\t<tr>\n\t\t\t\t\t\t<td width='8%'> </td>\n\t\t\t\t\t\t<td width='8%' align='right'><img src='../pics/" . $zwisch . ".gif'></td>\r\n\t\t \t\t\t<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}'> \n\t\t \t\t\t<a href='" . $item2['link'] . "' style='text-decoration:none'><code class='submenue_schrift'>" . $item2['text'] . "</code></a></td>\n\t\t\t\t\t\t<td width='10%'> </td> \t\t\t\t\t\t\n\t\t\t\t\t</tr>\n\t\t\t\t\t"; $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 = ""; } 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'>\n \t<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'>\n \t<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'>\n \t<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'>\n \t<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" => "")); } }