r2028 + more fixes to the SLB editing code
authorDenis Ovsienko <infrastation@yandex.ru>
Fri, 4 Jul 2008 13:13:00 +0000 (13:13 +0000)
committerDenis Ovsienko <infrastation@yandex.ru>
Fri, 4 Jul 2008 13:13:00 +0000 (13:13 +0000)
inc/database.php
inc/interface.php

index 7b62eb69f099c8984d44f1ec241de54b33405a3e..2806e536e7fe93cba32c524cc2d2cfe0abf2bb97 100644 (file)
@@ -2310,7 +2310,7 @@ function getRSPoolList ($tagfilter = array(), $tfmode = 'any')
        $query = "select pool.id, pool.name, count(rspool_id) as refcnt, pool.vsconfig, pool.rsconfig " .
                "from IPRSPool as pool left join IPLoadBalancer as lb on pool.id = lb.rspool_id " .
                "left join TagStorage on pool.id = TagStorage.target_id and target_realm = 'ipv4rspool' " .
-               "where true ${whereclause} group by pool.id order by pool.id, name";
+               "where true ${whereclause} group by pool.id order by pool.name, pool.id";
        $result = useSelectBlade ($query, __FUNCTION__);
        $ret = array ();
        while ($row = $result->fetch (PDO::FETCH_ASSOC))
index d0735919ef58be8e43cce40672ccf954df1ea3de..1ec68389848d050ba7fbf9aa4f61e483081e2e1a 100644 (file)
@@ -5005,15 +5005,39 @@ function renderObjectSLB ($object_id)
 {
        global $root, $pageno, $tabno, $nextorder;
        showMessageOrError();
-       $vslist = getRSPoolsForObject ($object_id);
+       $vs_list = $rsplist = array();
+       foreach (getVSList() as $vsid => $vsinfo)
+               $vs_list[$vsid] = buildVServiceName ($vsinfo) . (empty ($vsinfo['name']) ? '' : " (${vsinfo['name']})");
+       foreach (getRSPoolList() as $pool_id => $poolInfo)
+               $rsplist[$pool_id] = $poolInfo['name'];
+
+       startPortlet ('Add new');
+       echo "<table cellspacing=0 cellpadding=5 align=center class=widetable>\n";
+       echo "<form action='${root}process.php' method=post>";
+       echo "<input type=hidden name=page value='${pageno}'>\n";
+       echo "<input type=hidden name=tab value='${tabno}'>\n";
+       echo "<input type=hidden name=op value=addLB>";
+       echo "<input type=hidden name=object_id value='${object_id}'>";
+       echo "<tr valign=top><th>VS / RS pool</th><td class=tdleft>";
+       printSelect ($vs_list, 'vs_id');
+       echo "</td><td>";
+       printSelect ($rsplist, 'pool_id');
+       echo "</td><td>";
+       printImageHREF ('add', 'Configure LB', TRUE, 2);
+       echo "</td></tr>\n";
+       echo "<tr><th>VS config</th><td colspan=2><textarea name=vsconfig rows=10 cols=80></textarea></td></tr>";
+       echo "<tr><th>RS config</th><td colspan=2><textarea name=rsconfig rows=10 cols=80></textarea></td></tr>";
+       echo "</form></table>\n";
+       finishPortlet();
 
-       if (count ($vslist))
+       $myvslist = getRSPoolsForObject ($object_id);
+       if (count ($myvslist))
        {
-               startPortlet ('Manage existing (' . count ($vslist) . ')');
+               startPortlet ('Manage existing (' . count ($myvslist) . ')');
                echo "<table cellspacing=0 cellpadding=5 align=center class=cooltable>\n";
                echo "<tr><th>&nbsp;</th><th>VS</th><th>RS pool</th><th>VS config</th><th>RS config</th><th>&nbsp;</th></tr>\n";
                $order = 'odd';
-               foreach ($vslist as $vs_id => $vsinfo)
+               foreach ($myvslist as $vs_id => $vsinfo)
                {
                        echo "<form action='${root}process.php' method=post>";
                        echo "<input type=hidden name=page value='${pageno}'>\n";
@@ -5025,9 +5049,11 @@ function renderObjectSLB ($object_id)
                        echo "<tr valign=top class=row_${order}><td><a href='${root}process.php?page=${pageno}&tab=${tabno}&op=delLB&pool_id=${vsinfo['pool_id']}&object_id=${object_id}&vs_id=${vs_id}'>";
                        printImageHREF ('delete', 'Unconfigure');
                        echo "</a></td>";
-                       echo "<td class=tdleft><a href='${root}?page=ipv4vs&vs_id=${vs_id}'>";
-                       echo buildVServiceName ($vsinfo) . "</a></td>";
-                       echo "<td class=tdleft><a href='${root}?page=ipv4rsp&pool_id=${pool_id}'>${rspinfo['name']}</a></td>";
+                       echo "</td><td class=tdleft><a href='${root}?page=ipv4vs&vs_id=${vs_id}'>";
+                       echo buildVServiceName ($vsinfo) . "</a>";
+                       if (!empty ($vsinfo['name']))
+                               echo '<br>' . $vsinfo['name'];
+                       echo "</td><td class=tdleft>" . $rsplist[$vsinfo['pool_id']] . "</td>";
                        echo "<td><textarea name=vsconfig>${vsinfo['vsconfig']}</textarea></td>";
                        echo "<td><textarea name=rsconfig>${vsinfo['rsconfig']}</textarea></td><td>";
                        printImageHREF ('save', 'Save changes', TRUE);
@@ -5037,30 +5063,6 @@ function renderObjectSLB ($object_id)
                echo "</table>\n";
                finishPortlet();
        }
-
-       $vs_list = $rsplist = array();
-       foreach (getVSList() as $vsid => $vsinfo)
-               $vs_list[$vsid] = buildVServiceName ($vsinfo) . (empty ($vsinfo['name']) ? '' : " (${vsinfo['name']})");
-       foreach (getRSPoolList() as $pool_id => $poolInfo)
-               $rsplist[$pool_id] = $poolInfo['name'];
-       startPortlet ('Add new');
-       echo "<table cellspacing=0 cellpadding=5 align=center class=widetable>\n";
-       echo "<form action='${root}process.php' method=post>";
-       echo "<input type=hidden name=page value='${pageno}'>\n";
-       echo "<input type=hidden name=tab value='${tabno}'>\n";
-       echo "<input type=hidden name=op value=addLB>";
-       echo "<input type=hidden name=object_id value='${object_id}'>";
-       echo "<tr valign=top><th>RS pool / VS</th><td class=tdleft>";
-       printSelect ($rsplist, 'pool_id');
-       echo "</td><td>";
-       printSelect ($vs_list, 'vs_id');
-       echo "</td><td>";
-       printImageHREF ('add', 'Configure LB', TRUE, 2);
-       echo "</td></tr>\n";
-       echo "<tr><th>VS config</th><td colspan=2><textarea name=vsconfig rows=10 cols=80></textarea></td></tr>";
-       echo "<tr><th>RS config</th><td colspan=2><textarea name=rsconfig rows=10 cols=80></textarea></td></tr>";
-       echo "</form></table>\n";
-       finishPortlet();
 }
 
 function renderEditRSPool ($pool_id)