function renderRow($row_id) { $rowInfo = getRowInfo($row_id); $cellfilter = getCellFilter(); $rackList = applyCellFilter('rack', $cellfilter, $row_id); $summary = array(); $summary['Name'] = $rowInfo['name']; if ($rowInfo['location_id']) { $summary['Location'] = mkA($rowInfo['location'], 'location', $rowInfo['location_id']); } $summary['Racks'] = $rowInfo['count']; $summary['Units'] = $rowInfo['sum']; $summary['% used'] = getProgressBar(getRSUforRow($rackList)); foreach (getAttrValuesSorted($row_id) as $record) { if ($record['value'] != '' and permitted(NULL, NULL, NULL, array(array('tag' => '$attr_' . $record['id'])))) { $summary['{sticker}' . $record['name']] = formatAttributeValue($record); } } // Main layout starts. echo "<table border=0 class=objectview cellspacing=0 cellpadding=0>"; // Left portlet with row information. echo "<tr><td class=pcleft>"; renderEntitySummary($rowInfo, 'Summary', $summary); renderCellFilterPortlet($cellfilter, 'rack', $rackList, array('row_id' => $row_id)); renderFilesPortlet('row', $row_id); echo "</td><td class=pcright>"; global $nextorder; $rackwidth = getRackImageWidth() * getConfigVar('ROW_SCALE'); // Maximum number of racks per row is proportionally less, but at least 1. $maxPerRow = max(floor(getConfigVar('RACKS_PER_ROW') / getConfigVar('ROW_SCALE')), 1); $rackListIdx = 0; $order = 'odd'; startPortlet('Racks'); echo "<table border=0 cellspacing=5 align='center'><tr>"; foreach ($rackList as $rack) { if ($rackListIdx % $maxPerRow == 0) { if ($rackListIdx > 0) { echo '</tr>'; } echo '<tr>'; } $class = $rack['has_problems'] == 'yes' ? 'error' : $order; echo "<td align=center valign=bottom class=row_{$class}><a href='" . makeHref(array('page' => 'rack', 'rack_id' => $rack['id'])) . "'>"; echo "<img border=0 width={$rackwidth} height=" . getRackImageHeight($rack['height']) * getConfigVar('ROW_SCALE'); echo " title='{$rack['height']} units'"; echo "src='?module=image&img=midirack&rack_id={$rack['id']}&scale=" . getConfigVar('ROW_SCALE') . "'>"; echo "<br>{$rack['name']}</a></td>"; $order = $nextorder[$order]; $rackListIdx++; } echo "</tr></table>\n"; finishPortlet(); echo "</td></tr></table>"; }
function renderRow($row_id) { $rowInfo = getRowInfo($row_id); $cellfilter = getCellFilter(); $rackList = filterCellList(listCells('rack', $row_id), $cellfilter['expression']); // Main layout starts. echo "<table border=0 class=objectview cellspacing=0 cellpadding=0>"; // Left portlet with row information. echo "<tr><td class=pcleft>"; startPortlet($rowInfo['name']); echo "<table border=0 cellspacing=0 cellpadding=3 width='100%'>\n"; echo "<tr><th width='50%' class=tdright>Racks:</th><td class=tdleft>{$rowInfo['count']}</td></tr>\n"; echo "<tr><th width='50%' class=tdright>Units:</th><td class=tdleft>{$rowInfo['sum']}</td></tr>\n"; echo "<tr><th width='50%' class=tdright>% used:</th><td class=tdleft>"; renderProgressBar(getRSUforRow($rackList)); echo "</td></tr>\n"; echo "</table><br>\n"; finishPortlet(); renderCellFilterPortlet($cellfilter, 'rack', $rackList, array('row_id' => $row_id)); echo "</td><td class=pcright>"; global $nextorder; $rackwidth = getRackImageWidth() * getConfigVar('ROW_SCALE'); // Maximum number of racks per row is proportionally less, but at least 1. $maxPerRow = max(floor(getConfigVar('RACKS_PER_ROW') / getConfigVar('ROW_SCALE')), 1); $rackListIdx = 0; $order = 'odd'; startPortlet('Racks'); echo "<table border=0 cellspacing=5 align='center'><tr>"; foreach ($rackList as $rack) { if ($rackListIdx % $maxPerRow == 0) { if ($rackListIdx > 0) { echo '</tr>'; } echo '<tr>'; } $class = $rack['has_problems'] == 'yes' ? 'error' : $order; echo "<td align=center valign=bottom class=row_{$class}><a href='" . makeHref(array('page' => 'rack', 'rack_id' => $rack['id'])) . "'>"; echo "<img border=0 width={$rackwidth} height=" . getRackImageHeight($rack['height']) * getConfigVar('ROW_SCALE'); echo " title='{$rack['height']} units'"; echo "src='?module=image&img=minirack&rack_id={$rack['id']}'>"; echo "<br>{$rack['name']}</a></td>"; $order = $nextorder[$order]; $rackListIdx++; } echo "</tr></table>\n"; finishPortlet(); echo "</td></tr></table>"; }