function renderSLBEntityCell($cell, $highlighted = FALSE) { $class = "slbcell realm-{$cell['realm']} id-{$cell['id']}"; $a_class = $highlighted ? 'highlight' : ''; echo "<table class='{$class}'>"; switch ($cell['realm']) { case 'object': echo "<tr><td><a class='{$a_class}' href='index.php?page=object&object_id={$cell['id']}'>{$cell['dname']}</a>"; echo "</td></tr><tr><td>"; printImageHREF('LB'); echo "</td></tr>"; break; case 'ipv4vs': echo "<tr><td rowspan=3 width='5%'>"; printImageHREF('VS'); echo "</td><td>"; echo "<a class='{$a_class}' href='index.php?page=ipv4vs&vs_id={$cell['id']}'>"; echo $cell['dname'] . "</a></td></tr><tr><td>"; echo $cell['name'] . '</td></tr>'; break; case 'ipvs': echo "<tr><td rowspan=3 width='5%'>"; printImageHREF('VS'); echo "</td><td>"; echo "<a class='{$a_class}' href='index.php?page=ipvs&vs_id={$cell['id']}'>"; echo $cell['name'] . "</a></td></tr>"; break; case 'ipv4rspool': echo "<tr><td>"; echo "<a class='{$a_class}' href='index.php?page=ipv4rspool&pool_id={$cell['id']}'>"; echo !strlen($cell['name']) ? "ANONYMOUS pool [{$cell['id']}]" : stringForTD($cell['name']); echo "</a></td></tr><tr><td>"; printImageHREF('RS pool'); if ($cell['rscount']) { echo ' <small>(' . $cell['rscount'] . ')</small>'; } echo "</td></tr>"; break; } echo "<tr><td>"; echo count($cell['etags']) ? "<small>" . serializeTags($cell['etags']) . "</small>" : ' '; echo "</td></tr></table>"; }
function printTagTRs($cell, $baseurl = '') { if (getConfigVar('SHOW_EXPLICIT_TAGS') == 'yes' and count($cell['etags'])) { echo "<tr><th width='50%' class=tagchain>Explicit tags:</th><td class=tagchain>"; echo serializeTags($cell['etags'], $baseurl) . "</td></tr>\n"; } if (getConfigVar('SHOW_IMPLICIT_TAGS') == 'yes' and count($cell['itags'])) { echo "<tr><th width='50%' class=tagchain>Implicit tags:</th><td class=tagchain>"; echo serializeTags($cell['itags'], $baseurl) . "</td></tr>\n"; } if (getConfigVar('SHOW_AUTOMATIC_TAGS') == 'yes' and count($cell['atags'])) { echo "<tr><th width='50%' class=tagchain>Automatic tags:</th><td class=tagchain>"; echo serializeTags($cell['atags']) . "</td></tr>\n"; } }
public function dispatch() { header('Content-Type: text/html; charset=UTF-8'); echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">' . "\n"; echo '<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">' . "\n"; echo "<head><title>RackTables: access denied</title>\n"; printPageHeaders(); echo "</head><body>"; global $pageno, $tabno, $user_given_tags, $target_given_tags, $auto_tags, $expl_tags, $impl_tags; echo "<table border=1 cellspacing=0 cellpadding=3 width='50%' align=center>\n"; echo '<tr><th colspan=2><h3>' . getImageHREF('DENIED') . ' access denied '; echo getImageHREF('DENIED') . '</h3></th></tr>'; echo "<tr><th width='50%' class=tagchain>User given tags:</th><td class=tagchain>"; echo serializeTags($user_given_tags) . " </td></tr>\n"; echo "<tr><th width='50%' class=tagchain>Target given tags:</th><td class=tagchain>"; echo serializeTags($target_given_tags) . " </td></tr>\n"; echo "<tr><th width='50%' class=tagchain>Effective explicit tags:</th><td class=tagchain>"; echo serializeTags($expl_tags) . " </td></tr>\n"; echo "<tr><th width='50%' class=tagchain>Effective implicit tags:</th><td class=tagchain>"; echo serializeTags($impl_tags) . " </td></tr>\n"; echo "<tr><th width='50%' class=tagchain>Automatic tags:</th><td class=tagchain>"; echo serializeTags($auto_tags) . " </td></tr>\n"; echo "<tr><th width='50%' class=tdright>Requested page:</th><td class=tdleft>{$pageno}</td></tr>\n"; echo "<tr><th width='50%' class=tdright>Requested tab:</th><td class=tdleft>{$tabno}</td></tr>\n"; echo "<tr><td colspan=2 align=center>Click <a href='index.php?logout'>here</a> to logout.</td></tr>\n"; echo "</table>\n"; echo "</body></html>"; }
function renderIPVSConvert($vs_id) { $old_vs_list = callHook('getVSIDsByGroup', $vs_id); $grouped = array(); $used_tags = array(); foreach ($old_vs_list as $old_vs_id) { $vsinfo = spotEntity('ipv4vs', $old_vs_id); foreach ($vsinfo['etags'] as $taginfo) { $used_tags[$taginfo['id']] = $taginfo; } $port_key = $vsinfo['proto'] . '-' . $vsinfo['vport']; $grouped[$port_key][] = $vsinfo; } startPortlet("Found " . count($old_vs_list) . " matching VS"); printOpFormIntro('convert'); if (count($used_tags)) { echo '<p>Assign these tags to VS group:</p>'; foreach ($used_tags as $taginfo) { echo '<p><label><input type=checkbox checked name="taglist[]" value="' . htmlspecialchars($taginfo['id'], ENT_QUOTES) . '""> ' . serializeTags(array($taginfo)) . '<label>'; } } echo '<p>Import settings of these VS:</p>'; echo '<table align=center><tr>'; foreach ($grouped as $port_key => $list) { echo '<th>' . $port_key . '</th>'; } echo '</tr><tr>'; foreach ($grouped as $port_key => $list) { echo '<td><table>'; foreach ($list as $vsinfo) { echo '<tr><td><input type=checkbox name="vs_list[]" checked value="' . htmlspecialchars($vsinfo['id'], ENT_QUOTES) . '"></td><td>'; renderSLBEntityCell($vsinfo); echo '</td></tr>'; } echo '</table></td>'; } echo '</tr></table>'; printImageHREF('next', "Import settings of the selected services", TRUE); echo '</form>'; finishPortlet(); }
function render8021QStatus() { global $dqtitle; echo '<table border=0 class=objectview cellspacing=0 cellpadding=0>'; echo '<tr valign=top><td class=pcleft width="40%">'; if (!count($vdlist = getVLANDomainStats())) { startPortlet('no VLAN domains'); } else { startPortlet('VLAN domains (' . count($vdlist) . ')'); echo '<table cellspacing=0 cellpadding=5 align=center class=widetable>'; echo '<tr><th>description</th><th>VLANs</th><th>switches</th><th>'; echo getImageHREF('net') . '</th><th>ports</th></tr>'; $stats = array(); $columns = array('vlanc', 'switchc', 'ipv4netc', 'portc'); foreach ($columns as $cname) { $stats[$cname] = 0; } foreach ($vdlist as $vdom_id => $dominfo) { foreach ($columns as $cname) { $stats[$cname] += $dominfo[$cname]; } echo '<tr align=left><td>' . mkA(niftyString($dominfo['description']), 'vlandomain', $vdom_id) . '</td>'; foreach ($columns as $cname) { echo '<td>' . $dominfo[$cname] . '</td>'; } echo '</tr>'; } if (count($vdlist) > 1) { echo '<tr align=left><td>total:</td>'; foreach ($columns as $cname) { echo '<td>' . $stats[$cname] . '</td>'; } echo '</tr>'; } echo '</table>'; } finishPortlet(); echo '</td><td class=pcleft width="40%">'; if (!count($vstlist = listCells('vst'))) { startPortlet('no switch templates'); } else { startPortlet('switch templates (' . count($vstlist) . ')'); echo '<table cellspacing=0 cellpadding=5 align=center class=widetable>'; echo '<tr><th>description</th><th>rules</th><th>switches</th></tr>'; foreach ($vstlist as $vst_id => $vst_info) { echo '<tr align=left valign=top><td>'; echo mkA(niftyString($vst_info['description']), 'vst', $vst_id); if (count($vst_info['etags'])) { echo '<br><small>' . serializeTags($vst_info['etags']) . '</small>'; } echo '</td>'; echo "<td>{$vst_info['rulec']}</td><td>{$vst_info['switchc']}</td></tr>"; } echo '</table>'; } finishPortlet(); echo '</td><td class=pcright>'; startPortlet('deploy queues'); $total = 0; echo '<table border=0 cellspacing=0 cellpadding=3 width="100%">'; foreach (get8021QDeployQueues() as $qcode => $qitems) { echo '<tr><th width="50%" class=tdright>' . mkA($dqtitle[$qcode], 'dqueue', $qcode) . ':</th>'; echo '<td class=tdleft>' . count($qitems) . '</td></tr>'; $total += count($qitems); } echo '<tr><th width="50%" class=tdright>Total:</th>'; echo '<td class=tdleft>' . $total . '</td></tr>'; echo '</table>'; finishPortlet(); echo '</td></tr></table>'; }
function renderNetCellForAlloc($cell, $needed_mask = NULL) { if (empty($cell['spare_ranges']) and $cell['kidc'] == 0 and $cell['mask'] < 31) { $cell['spare_ranges'][$cell['mask'] + 1][] = $cell['ip_bin']; $cell['spare_ranges'][$cell['mask'] + 1][] = ip_last($cell) & ip4_mask($cell['mask'] + 1); } $ranges = array_keys($cell['spare_ranges']); sort($ranges, SORT_NUMERIC); foreach ($ranges as &$range) { $suffix = count($cell['spare_ranges'][$range]) <= 1 ? '' : '<small> x ' . count($cell['spare_ranges'][$range]) . '</small>'; $range = '<a href="' . makeHref(array('page' => 'ipv4space', 'tab' => 'newrange', 'set-prefix' => ip_format($cell['spare_ranges'][$range][0]) . '/' . $range)) . '">/' . $range . '</a>' . $suffix; } $spare_cidr = NULL; if (isset($needed_mask)) { for ($i = $needed_mask; $i > 0; $i--) { if (!empty($cell['spare_ranges'][$i])) { $spare_cidr = ip_format($cell['spare_ranges'][$i][0]) . '/' . $needed_mask; break; } } } echo "<table class='slbcell vscell'><tr><td rowspan=3 width='5%'>"; printImageHREF('NET'); echo '</td>'; echo "<td><a href='index.php?page={$cell['realm']}&id={$cell['id']}'>{$cell['ip']}/{$cell['mask']}</a>"; echo getRenderedIPNetCapacity($cell); echo '</td></tr>'; echo "<tr><td>"; if (strlen($cell['name'])) { echo "<strong>" . niftyString($cell['name']) . "</strong>"; } else { echo "<span class=sparenetwork>no name</span>"; } // render VLAN echo '<div class="vlan">' . implode(', ', $ranges) . '</div>'; renderNetVLAN($cell); echo "</td></tr>"; echo '<tr><td>'; echo count($cell['etags']) ? "<small>" . serializeTags($cell['etags']) . "</small>" : ' '; if (isset($spare_cidr)) { echo "<div class='vlan'><a href=\"" . makeHref(array('page' => 'ipv4space', 'tab' => 'newrange', 'set-prefix' => $spare_cidr)) . "\">Allocate /{$needed_mask}</a></div>"; } echo "</td></tr></table>"; }
function lm_renderObjectCell($cell) { echo "<table class='slbcell vscell'><tr><td rowspan=2 width='5%'>"; printImageHREF('OBJECT'); echo '</td><td>'; echo mkA('<strong>' . niftyString($cell['dname']) . '</strong>', 'object', $cell['id']); echo '</td></tr><tr><td>'; echo count($cell['etags']) ? "<small>" . serializeTags($cell['etags']) . "</small>" : ' '; echo "</td></tr></table>"; }
function renderMyAccount() { global $remote_username, $remote_displayname, $expl_tags, $impl_tags, $auto_tags; startPortlet('Current user info'); echo '<div style="text-align: left; display: inline-block;">'; echo "<table>"; echo "<tr><th>Login:</th><td>{$remote_username}</td></tr>\n"; echo "<tr><th>Name:</th><td>{$remote_displayname}</td></tr>\n"; echo "<tr><th>Explicit tags:</th><td>" . serializeTags(getExplicitTagsOnly($expl_tags)) . "</td></tr>\n"; echo "<tr><th>Implicit tags:</th><td>" . serializeTags($impl_tags) . "</td></tr>\n"; echo "<tr><th>Automatic tags:</th><td>" . serializeTags($auto_tags) . "</td></tr>\n"; echo '</table></div>'; }