function getExpirationsText()
{
    $row_format = "%3s|%-30s|%-15s|%-15s|%s\r\n";
    $ret = '';
    $breakdown = array();
    $breakdown[21] = array(array('from' => -365, 'to' => 0, 'title' => 'has expired within last year'), array('from' => 0, 'to' => 30, 'title' => 'expires within 30 days'));
    $breakdown[22] = $breakdown[21];
    $breakdown[24] = $breakdown[21];
    $attrmap = getAttrMap();
    foreach ($breakdown as $attr_id => $sections) {
        $ret .= $attrmap[$attr_id]['name'] . "\r\n";
        $ret .= "===========================================\r\n";
        foreach ($sections as $section) {
            $count = 1;
            $result = scanAttrRelativeDays($attr_id, $section['from'], $section['to']);
            if (!count($result)) {
                continue;
            }
            $ret .= $section['title'] . "\r\n";
            $ret .= "-----------------------------------------------------------------------------------\r\n";
            $ret .= sprintf($row_format, '#', 'Name', 'Asset Tag', 'OEM S/N 1', 'Date Warranty Expires');
            $ret .= "-----------------------------------------------------------------------------------\r\n";
            foreach ($result as $row) {
                $object = spotEntity('object', $row['object_id']);
                $attributes = getAttrValues($object['id']);
                $ret .= sprintf($row_format, $count, $object['dname'], $object['asset_no'], array_key_exists(1, $attributes) ? $attributes[1]['a_value'] : '', datetimestrFromTimestamp($row['uint_value']));
                $count++;
            }
            $ret .= "-----------------------------------------------------------------------------------\r\n";
        }
        $ret .= "\r\n";
    }
    return $ret;
}
예제 #2
0
파일: interface.php 프로젝트: xtha/salt
function renderExpirations()
{
    global $nextorder;
    $breakdown = array();
    $breakdown[21] = array(array('from' => -365, 'to' => 0, 'class' => 'has_problems_', 'title' => 'has expired within last year'), array('from' => 0, 'to' => 30, 'class' => 'row_', 'title' => 'expires within 30 days'), array('from' => 30, 'to' => 60, 'class' => 'row_', 'title' => 'expires within 60 days'), array('from' => 60, 'to' => 90, 'class' => 'row_', 'title' => 'expires within 90 days'));
    $breakdown[22] = $breakdown[21];
    $breakdown[24] = $breakdown[21];
    $attrmap = getAttrMap();
    foreach ($breakdown as $attr_id => $sections) {
        startPortlet($attrmap[$attr_id]['name']);
        foreach ($sections as $section) {
            $count = 1;
            $order = 'odd';
            $result = scanAttrRelativeDays($attr_id, $section['from'], $section['to']);
            echo '<table align=center width=60% border=0 cellpadding=5 cellspacing=0 align=center class=cooltable>';
            echo "<caption>{$section['title']}</caption>\n";
            if (!count($result)) {
                echo "<tr><td colspan=4>(none)</td></tr></table><br>\n";
                continue;
            }
            echo '<tr valign=top><th align=center>Count</th><th align=center>Name</th>';
            echo "<th align=center>Asset Tag</th><th align=center>OEM S/N 1</th><th align=center>Date Warranty <br> Expires</th></tr>\n";
            foreach ($result as $row) {
                $date_value = datetimestrFromTimestamp($row['uint_value']);
                $object = spotEntity('object', $row['object_id']);
                $attributes = getAttrValues($object['id']);
                $oem_sn_1 = array_key_exists(1, $attributes) ? $attributes[1]['a_value'] : '&nbsp;';
                echo '<tr class=' . $section['class'] . $order . ' valign=top>';
                echo "<td>{$count}</td>";
                echo '<td>' . mkA($object['dname'], 'object', $object['id']) . '</td>';
                echo "<td>{$object['asset_no']}</td>";
                echo "<td>{$oem_sn_1}</td>";
                echo "<td>{$date_value}</td>";
                echo "</tr>\n";
                $order = $nextorder[$order];
                $count++;
            }
            echo "</table><br>\n";
        }
        finishPortlet();
    }
}