r1459 + getRSUforRack() accepts rack data now
authorDenis Ovsienko <infrastation@yandex.ru>
Sat, 29 Dec 2007 15:44:28 +0000 (15:44 +0000)
committerDenis Ovsienko <infrastation@yandex.ru>
Sat, 29 Dec 2007 15:44:28 +0000 (15:44 +0000)
+ welcome getRSUforRackRow()

inc/functions.php
inc/interface.php

index 8d0f06fe8d9222b830f2e5bbff53eae5aca4deda..705c4759ca1673f170ef83ffef9a2bdf4ae67793 100644 (file)
@@ -1061,14 +1061,13 @@ function buildVServiceName ($vsinfo = NULL)
 
 // rackspace usage for a single rack
 // (T + W + U) / (height * 3 - A)
-function getRSUforRack ($rack_id = 0)
+function getRSUforRack ($data = NULL)
 {
-       if ($rack_id == 0)
+       if ($data == NULL)
        {
                showError ('Invalid argument', __FUNCTION__);
                return NULL;
        }
-       $data = getRackData ($rack_id);
        $counter = array ('A' => 0, 'U' => 0, 'T' => 0, 'W' => 0, 'F' => 0);
        for ($unit_no = $data['height']; $unit_no > 0; $unit_no--)
                for ($locidx = 0; $locidx < 3; $locidx++)
@@ -1076,4 +1075,20 @@ function getRSUforRack ($rack_id = 0)
        return ($counter['T'] + $counter['W'] + $counter['U']) / ($data['height'] * 3 - $counter['A']);
 }
 
+// Same for row.
+function getRSUforRackRow ($rowData = NULL)
+{
+       if ($rowData == NULL)
+       {
+               showError ('Invalid argument', __FUNCTION__);
+               return NULL;
+       }
+       $counter = array ('A' => 0, 'U' => 0, 'T' => 0, 'W' => 0, 'F' => 0);
+       foreach ($rowData as $data)
+               for ($unit_no = $data['height']; $unit_no > 0; $unit_no--)
+                       for ($locidx = 0; $locidx < 3; $locidx++)
+                               $counter[$data[$unit_no][$locidx]['state']]++;
+       return ($counter['T'] + $counter['W'] + $counter['U']) / ($data['height'] * 3 - $counter['A']);
+}
+
 ?>
index bbfd957d33d3d59eadd00016af75b6cc89d140b2..8941c2a6171a2a3c2bb4cea1a8b94b873d30fc82 100644 (file)
@@ -2575,7 +2575,7 @@ function renderRackPage ($rack_id)
        echo "<tr><th width='50%' class=tdright>Name:</th><td class=tdleft>${rackData['name']}</td></tr>\n";
        echo "<tr><th width='50%' class=tdright>Height:</th><td class=tdleft>${rackData['height']}</td></tr>\n";
        echo "<tr><th width='50%' class=tdright>Utilization:</th><td class=tdleft>";
-       renderProgressBar (getRSUforRack ($rack_id));
+       renderProgressBar (getRSUforRack ($rackData));
        echo "</td></tr>\n";
        if (!empty ($rackData['comment']))
                echo "<tr><th width='50%' class=tdright>Comment:</th><td class=tdleft>${rackData['comment']}</td></tr>\n";