function getProgressBar($percentage = 0, $theme = '', $inline = FALSE) { $done = (int) ($percentage * 100); if (!$inline) { $src = "?module=progressbar&done={$done}" . (empty($theme) ? '' : "&theme={$theme}"); } else { $bk_request = $_REQUEST; $_REQUEST['theme'] = $theme; $src = 'data:image/png;base64,' . chunk_split(base64_encode(getOutputOf('renderProgressBarImage', $done))); $_REQUEST = $bk_request; header('Content-type: text/html'); } $ret = "<img width=100 height=10 border=0 title='{$done}%' src='{$src}'>"; return $ret; }
function renderIPNetwork($id) { global $pageno; $realm = $pageno; // 'ipv4net', 'ipv6net' $range = spotEntity($realm, $id); loadIPAddrList($range); echo "<table border=0 class=objectview cellspacing=0 cellpadding=0>"; echo "<tr><td colspan=2 align=center><h1>{$range['ip']}/{$range['mask']}</h1><h2>"; echo htmlspecialchars($range['name'], ENT_QUOTES, 'UTF-8') . "</h2></td></tr>\n"; echo "<tr><td class=pcleft width='50%'>"; // render summary portlet $summary = array(); $summary['%% used'] = getRenderedIPNetCapacity($range); $summary = getRenderedIPNetBacktrace($range) + $summary; if ($realm == 'ipv4net') { $summary[] = array('Netmask:', ip4_format($range['mask_bin'])); $summary[] = array('Netmask:', "0x" . strtoupper(implode('', unpack('H*', $range['mask_bin'])))); $summary['Wildcard bits'] = ip4_format(~$range['mask_bin']); } $reuse_domain = considerConfiguredConstraint($range, '8021Q_MULTILINK_LISTSRC'); $domainclass = array(); foreach (array_count_values(reduceSubarraysToColumn($range['8021q'], 'domain_id')) as $domain_id => $vlan_count) { $domainclass[$domain_id] = $vlan_count == 1 ? '' : ($reuse_domain ? '{trwarning}' : '{trerror}'); } foreach ($range['8021q'] as $item) { $summary[] = array($domainclass[$item['domain_id']] . 'VLAN:', formatVLANAsHyperlink(getVLANInfo($item['domain_id'] . '-' . $item['vlan_id']))); } if (getConfigVar('EXT_IPV4_VIEW') == 'yes' and count($routers = findRouters($range['addrlist']))) { $summary['Routed by'] = ''; foreach ($routers as $rtr) { $summary['Routed by'] .= getOutputOf('renderRouterCell', $rtr['ip_bin'], $rtr['iface'], spotEntity('object', $rtr['id'])); } } $summary['tags'] = ''; renderEntitySummary($range, 'summary', $summary); if (strlen($range['comment'])) { startPortlet('Comment'); echo '<div class=commentblock>' . string_insert_hrefs(htmlspecialchars($range['comment'], ENT_QUOTES, 'UTF-8')) . '</div>'; finishPortlet(); } renderFilesPortlet($realm, $id); echo "</td>\n"; echo "<td class=pcright>"; startPortlet('details'); renderIPNetworkAddresses($range); finishPortlet(); echo "</td></tr></table>\n"; }
function renderIPNetwork($id) { global $pageno; $realm = $pageno; // 'ipv4net', 'ipv6net' $range = spotEntity($realm, $id); loadIPAddrList($range); echo "<table border=0 class=objectview cellspacing=0 cellpadding=0>"; echo "<tr><td colspan=2 align=center><h1>{$range['ip']}/{$range['mask']}</h1><h2>"; echo htmlspecialchars($range['name'], ENT_QUOTES, 'UTF-8') . "</h2></td></tr>\n"; echo "<tr><td class=pcleft width='50%'>"; // render summary portlet $summary = array(); $summary['%% used'] = getRenderedIPNetCapacity($range); $summary = array_merge($summary, getRenderedIPNetBacktrace($range)); if ($realm == 'ipv4net') { $summary[] = array('Netmask:', ip4_format($range['mask_bin'])); $summary[] = array('Netmask:', "0x" . strtoupper(implode('', unpack('H*', $range['mask_bin'])))); $summary['Wildcard bits'] = ip4_format(~$range['mask_bin']); } foreach ($range['8021q'] as $item) { $vlaninfo = getVLANInfo($item['domain_id'] . '-' . $item['vlan_id']); $summary[] = array('VLAN:', '<a href="' . makeHref(array('page' => 'vlan', 'vlan_ck' => $vlaninfo['vlan_ck'])) . '">' . formatVLANName($vlaninfo, 'markup long') . '</a>'); } if (getConfigVar('EXT_IPV4_VIEW') == 'yes' and count($routers = findRouters($range['addrlist']))) { $summary['Routed by'] = ''; foreach ($routers as $rtr) { $summary['Routed by'] .= getOutputOf('renderRouterCell', $rtr['ip_bin'], $rtr['iface'], spotEntity('object', $rtr['id'])); } } $summary['tags'] = ''; renderEntitySummary($range, 'summary', $summary); if (strlen($range['comment'])) { startPortlet('Comment'); echo '<div class=commentblock>' . string_insert_hrefs(htmlspecialchars($range['comment'], ENT_QUOTES, 'UTF-8')) . '</div>'; finishPortlet(); } renderFilesPortlet($realm, $id); echo "</td>\n"; echo "<td class=pcright>"; startPortlet('details'); renderIPNetworkAddresses($range); finishPortlet(); echo "</td></tr></table>\n"; }
function renderPopupHTML() { global $pageno, $tabno; header('Content-Type: text/html; charset=UTF-8'); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" style="height: 100%;"> <?php assertStringArg('helper'); $text = ''; switch ($_REQUEST['helper']) { case 'objlist': $pageno = 'object'; $tabno = 'default'; fixContext(); assertPermission(); $text .= getOutputOf('renderPopupObjectSelector'); break; case 'portlist': $pageno = 'depot'; $tabno = 'default'; fixContext(); assertPermission(); $text .= '<div style="background-color: #f0f0f0; border: 1px solid #3c78b5; padding: 10px; height: 100%; text-align: center; margin: 5px;">'; if (isset($_REQUEST['do_link'])) { $text .= getOutputOf('callHook', 'handlePopupPortLink'); } else { $text .= getOutputOf('callHook', 'renderPopupPortSelector'); } $text .= '</div>'; break; case 'inet4list': $pageno = 'ipv4space'; $tabno = 'default'; fixContext(); assertPermission(); $text .= getOutputOf('renderPopupIPv4Selector'); break; default: throw new InvalidRequestArgException('helper', $_REQUEST['helper']); } echo '<head><title>RackTables pop-up</title>'; printPageHeaders(); echo '</head>'; echo '<body style="height: 100%;">' . $text . '</body>'; ?> </html> <?php }
function renderSearchNewIP4Range() { global $pTable; // prepare $cellfilter $cellfilter = getCellFilter(); if ($cellfilter['is_empty'] || !isset($_REQUEST['cfp'])) { if (defined('SPARE_SEARCH_PREDICATE') && isset($pTable[SPARE_SEARCH_PREDICATE])) { $_REQUEST['cfp'] = array(SPARE_SEARCH_PREDICATE); $cellfilter = getCellFilter(); } } $mask = NULL; if (!empty($_REQUEST['pref_len'])) { $mask = intval($_REQUEST['pref_len']); } $nets = array(); foreach (filterCellList(listCells('ipv4net'), $cellfilter['expression']) as $net) { if (!isset($mask)) { $nets[] = $net; } elseif ($net['mask'] <= $mask) { $is_aggregate = FALSE; foreach ($net['atags'] as $atag) { if ($atag['tag'] == '$aggregate') { $is_aggregate = TRUE; } elseif (preg_match('/^\\$spare_(\\d+)$/', $atag['tag'], $m) && $mask >= $m[1]) { $nets[] = $net; continue 2; } } if (!$is_aggregate) { $nets[] = $net; } } } $filter = getOutputOf('renderCellFilterPortlet', $cellfilter, 'ipv4net', $nets); echo '<table width="100%"><tr valign=top>'; echo '<td>'; startPortlet("Results (" . count($nets) . ")"); echo '<ul class="spare-nets">'; foreach ($nets as $net) { echo '<li>'; renderNetCellForAlloc($net, $mask); echo '</li>'; } echo '</ul>'; finishPortlet(); echo '</td>'; echo '<td width="33%">'; echo preg_replace_callback('/(<form[^<>]*>)/', 'generatePrefixLengthInput', $filter); echo '</td>'; echo '</tr></table>'; addCSS(<<<END ul.spare-nets { \tlist-style: none; \tpadding: 0px; } ul.spare-nets li { \tmargin: 5px 0px; } END , TRUE); }
function linkmgmt_opPortLinkDialog() { // portlist::var_dump_html($_REQUEST); header('Content-Type: text/html; charset=UTF-8'); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" style="height: 100%;"> <?php $text = '<div style="background-color: #f0f0f0; border: 1px solid #3c78b5; padding: 10px; text-align: center; margin: 5px;">'; if (permitted(NULL, NULL, "set_link")) { if (isset($_REQUEST['do_link'])) { $text .= getOutputOf('linkmgmt_oplinkPort'); } else { if (isset($_REQUEST['byname'])) { $text .= getOutputOf('linkmgmt_renderPopupPortSelectorbyName'); } else { $text .= getOutputOf('linkmgmt_renderPopupPortSelector'); } } } else { $text .= "Permission denied!"; } $text .= '</div>'; echo '<head><title>RackTables pop-up</title>'; printPageHeaders(); echo '</head>'; echo '<body style="height: 100%;">' . $text . '</body>'; ?> </html> <?php exit; }