r2047 + rack imaging code overhaul and cleanup
authorDenis Ovsienko <infrastation@yandex.ru>
Mon, 7 Jul 2008 23:02:25 +0000 (23:02 +0000)
committerDenis Ovsienko <infrastation@yandex.ru>
Mon, 7 Jul 2008 23:02:25 +0000 (23:02 +0000)
inc/functions.php
inc/interface.php
render_image.php

index 24ebf72161a68b9af20fb66b6c1029bdcd336040..e62e9ff7153d7015b91a4c36235be1b24840a3ae 100644 (file)
@@ -1633,4 +1633,14 @@ function getRackCodeStats ()
        return $ret;
 }
 
+function getRackImageWidth ()
+{
+       return 3 + getConfigVar ('rtwidth_0') + getConfigVar ('rtwidth_1') + getConfigVar ('rtwidth_2') + 3;
+}
+
+function getRackImageHeight ($units)
+{
+       return 3 + 3 + $units * 2;
+}
+
 ?>
index af1f2ac6225c88cc4c115adaeedcf205419dcfa0..ac244934395a27f10bc5afcfb947932f8cd029b0 100644 (file)
@@ -68,7 +68,7 @@ function renderRackspace ()
        // generate thumb gallery
        $rackrowList = getRackspace ($tagfilter);
        global $root, $nextorder;
-       $rackwidth = getConfigVar ('rtwidth_0') + getConfigVar ('rtwidth_1') + getConfigVar ('rtwidth_2');
+       $rackwidth = getRackImageWidth();
        $order = 'odd';
        foreach ($rackrowList as $rackrow)
        {
@@ -81,7 +81,7 @@ function renderRackspace ()
                {
                        echo "<td align=center><a href='${root}?page=rack&rack_id=${rack['id']}'>";
                        echo "<img border=0 width=${rackwidth} height=";
-                       echo 3 + 3 + $rack['height'] * 2;
+                       echo getRackImageHeight ($rack['height']);
                        echo " title='${rack['height']} units'";
                        echo "src='render_image.php?img=minirack&rack_id=${rack['id']}'>";
                        echo "<br>${rack['name']}</a></td>";
@@ -93,7 +93,7 @@ function renderRackspace ()
        echo "</td></tr></table>\n";
 }
 
-function renderRow ($row_id)
+function renderRow ($row_id = 0)
 {
        if ($row_id == 0)
        {
@@ -125,15 +125,14 @@ function renderRow ($row_id)
        echo "</td><td class=pcright rowspan=2>";
 
        global $root, $nextorder;
-       $rackwidth = getConfigVar ('rtwidth_0') + getConfigVar ('rtwidth_1') + getConfigVar ('rtwidth_2');
+       $rackwidth = getRackImageWidth() * getConfigVar ('ROW_SCALE');
        $order = 'odd';
        startPortlet ('Racks');
        echo "<table border=0 cellspacing=5 align='center'><tr>";
        foreach ($rackList as $rack)
        {
                echo "<td align=center class=row_${order}><a href='${root}?page=rack&rack_id=${rack['id']}'>";
-               echo "<img border=0 width=" . $rackwidth * getConfigVar ('ROW_SCALE') . " height=";
-               echo (3 + 3 + $rack['height'] * 2) * getConfigVar ('ROW_SCALE');
+               echo "<img border=0 width=${rackwidth} height=" . (getRackImageHeight ($rack['height']) * getConfigVar ('ROW_SCALE'));
                echo " title='${rack['height']} units'";
                echo "src='render_image.php?img=minirack&rack_id=${rack['id']}'>";
                echo "<br>${rack['name']}</a></td>";
index 443109e5418fe48dd5dedfdcab120edc216dc2f4..9ee256c870676bb7811ee65d03503804e18c0cab 100644 (file)
@@ -74,7 +74,7 @@ function renderRackThumb ($rack_id = 0)
 }
 
 // Output a binary string containing the PNG minirack.
-function generateMiniRack ($rack_id)
+function generateMiniRack ($rack_id = 0)
 {
        if (($rackData = getRackData ($rack_id, TRUE)) == NULL)
        {
@@ -89,6 +89,7 @@ function generateMiniRack ($rack_id)
                1 => getConfigVar ('rtwidth_1'),
                2 => getConfigVar ('rtwidth_2')
        );
+       $rtdepth = 9;
        $offset[0] = 3;
        $offset[1] = 3 + $rtwidth[0];
        $offset[2] = 3 + $rtwidth[0] + $rtwidth[1];
@@ -100,10 +101,12 @@ function generateMiniRack ($rack_id)
        $color = array();
        foreach (array ('F', 'A', 'U', 'T', 'Th', 'Tw', 'Thw') as $statecode)
                $color[$statecode] = colorFromHex ($img, getConfigVar ('color_' . $statecode));
-       imagerectangle ($img, 0, 0, $totalwidth - 1, $totalheight - 1, colorFromHex ($img, '000000'));
-       imagerectangle ($img, 1, 1, $totalwidth - 2, $totalheight - 2, colorFromHex ($img, 'c0c0c0'));
-       imagerectangle ($img, 2, 2, $totalwidth - 3, $totalheight - 3, colorFromHex ($img, '000000'));
-       for ($unit_no = $rackData['height']; $unit_no > 0; $unit_no--)
+       $color['black'] = colorFromHex ($img, '000000');
+       $color['gray'] = colorFromHex ($img, 'c0c0c0');
+       imagerectangle ($img, 0, 0, $totalwidth - 1, $totalheight - 1, $color['black']);
+       imagerectangle ($img, 1, 1, $totalwidth - 2, $totalheight - 2, $color['gray']);
+       imagerectangle ($img, 2, 2, $totalwidth - 3, $totalheight - 3, $color['black']);
+       for ($unit_no = 1; $unit_no <= $rackData['height']; $unit_no++)
        {
                for ($locidx = 0; $locidx < 3; $locidx++)
                {