Example #1
0
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>";
}
Example #2
0
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>";
}