$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'], "MAXPOS" => $maxpos, "NODEDN" => $nodeDN, "NODE" => $nodednarray[0], "DEFDN" => "cn=rbs," . $auDN, "PXELINK" => "<a href='pxe.php?dn=" . $pxeDN . "&mnr=" . $mnr . "' class='headerlink'>", "OPTLINK" => "<a href='pxe_globals.php?dn=" . $pxeDN . "&mnr=" . $mnr . "' class='headerlink'>", "MNR" => $mnr, "SBMNR" => $sbmnr)); # 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 . " ]"));
<?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 = "";
} } 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']));
function cleanup_menupositions($pxeDN) { global $ds, $suffix, $auDN, $ldapError; $me = get_menuentries($pxeDN, array("dn", "menuposition")); if (count($me) != 0) { foreach ($me as $item) { $pos = $item['menuposition']; $pos = preg_replace('/0([0-9])/', '$1', $pos); $menpos[$pos] = $item['dn']; ksort($menpos); } $p = 1; foreach ($menpos as $item) { if (strlen($p) == 1) { $p = "0" . $p; } $entry['menuposition'] = $p; ldap_mod_replace($ds, $item, $entry); $p++; } } }
$webseite = "gbm_overview.dwt"; include 'rbs_header.inc.php'; ################################################################################### $mnr = -1; $sbmnr = -1; $mcnr = -1; $mnr = $_GET['mnr']; $sbmnr = $_GET['sbmnr']; # Menuleisten erstellen createMainMenu($rollen, $mainnr); createRBSMenu($rollen, $mnr, $auDN, $sbmnr); ################################################################################### $rbsDN = $_GET['rbsdn']; $template->assign(array("GBMDN" => "", "GBMCN" => "Noch keine Generischen Boot Menüs angelegt", "KERNEL" => "", "FS" => "")); # 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"; } $gbmname = "<a href='gbm.php?dn=" . $gbm['dn'] . "&mnr=" . $mnr . "&sbmnr=" . $sbmnr . "' class='headerlink'>" . $gbm['cn'] . "</a>"; $template->assign(array("GBMDN" => $gbm['dn'], "GBMCN" => $gbmname, "KERNEL" => $gbm['kernel'], "FS" => $fs, "MNR" => $mnr, "SBMNR" => $sbmnr, "RBSDN" => $rbsDN)); $template->parse("GENERICBM_LIST", ".Genericbm"); } ################################################################################### include "rbs_footer.inc.php";
$rbsoffsorted = array_merge($rbsaudn, $rbsoffers); } } #print_r($rbsoffsorted);echo "<br><br>"; # RBS Offers nun in der Reihenfolge erst eigene AU dann Rest ... $attributes = array("dn", "cn", "label", "kernel", "initrd", "nfsroot", "nbdroot", "ipappend"); $template->assign(array("GBMDN" => "", "GBMCN" => "Keine generischen Boot Images verfügbar", "RBSCN" => "", "RBSAU" => "")); if (count($rbsoffsorted) != 0) { $template->define_dynamic("Rbs", "Webseite"); $template->define_dynamic("Gbms", "Webseite"); foreach ($rbsoffsorted as $rbsoff) { $template->clear_parse("GBMS_LIST"); #print_r($rbsoff);echo "<br><br>"; $rbsdnexp = ldap_explode_dn($rbsoff, 1); $rbsoffcn = $rbsdnexp[0]; $rbsoffau = $rbsdnexp[2]; $gbm_array = get_menuentries($rbsoff, $attributes); if (count($gbm_array) != 0) { foreach ($gbm_array as $item) { $template->assign(array("GBMDN" => $item['dn'], "GBMCN" => $item['cn'])); $template->parse("GBMS_LIST", ".Gbms"); $template->clear_dynamic("Gbms"); } } $template->assign(array("RBSCN" => $rbsoffcn, "RBSAU" => $rbsoffau)); $template->parse("RBS_LIST", ".Rbs"); $template->clear_dynamic("Rbs"); } } ################################################################################### include "computers_footer.inc.php";
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";