r1492 + learn to list RS pools
authorDenis Ovsienko <infrastation@yandex.ru>
Fri, 11 Jan 2008 17:49:16 +0000 (17:49 +0000)
committerDenis Ovsienko <infrastation@yandex.ru>
Fri, 11 Jan 2008 17:49:16 +0000 (17:49 +0000)
inc/database.php
inc/interface.php
inc/navigation.php
inc/pagetitles.php

index e784cd1..ba2ed6d 100644 (file)
@@ -2186,4 +2186,24 @@ function getVSList ()
        return $vslist;
 }
 
+// Return the list of RS pool, indexed by pool id.
+function getRSPoolList ()
+{
+       global $dbxlink;
+       $query = "select id, vs_id, name, vsconfig, rsconfig from IPRSPool order by vs_id, name";
+       $result = $dbxlink->query ($query);
+       if ($result == NULL)
+       {
+               showError ('SQL query failed', __FUNCTION__);
+               return NULL;
+       }
+       $pool_list = array ();
+       while ($row = $result->fetch (PDO::FETCH_ASSOC))
+               foreach (array ('vs_id', 'name', 'vsconfig', 'rsconfig') as $cname)
+                       $pool_list[$row['id']][$cname] = $row[$cname];
+       $result->closeCursor();
+       return $pool_list;
+}
+
+
 ?>
index dca4516..3f42fff 100644 (file)
@@ -3858,4 +3858,31 @@ function renderVSList ()
        echo "</table>";
 }
 
+function renderRSPoolList ()
+{
+       global $root;
+       $pool_list = getRSPoolList();
+       if ($pool_list == NULL)
+       {
+               showError ('getRSPoolList() failed', __FUNCTION__);
+               return;
+       }
+       $vsinfocache = array();
+       echo "<table class=widetable border=0 cellpadding=10 cellspacing=0 align=center>\n";
+       echo "<tr><th>parent VS</th><th>name</th><th>VS configuration</th><th>RS configuration</th></tr>";
+       foreach ($pool_list as $pool_id => $pool_info)
+       {
+               if (!isset ($vsinfocache[$pool_info['vs_id']]))
+                       $vsinfocache[$pool_info['vs_id']] = getVServiceInfo ($pool_info['vs_id']);
+               echo "<tr><td><a href='${root}?page=vservice&id=${pool_info['vs_id']}'>";
+               echo buildVServiceName ($vsinfocache[$pool_info['vs_id']]) . '</a></td>';
+               echo "<td><a href='${root}?page=rspool&id=${pool_id}'>";
+               echo (empty ($pool_info['name']) ? 'ANONYMOUS' : $pool_info['name']) . '</a></td>';
+               echo "<td><pre>${pool_info['vsconfig']}</pre></td>";
+               echo "<td><pre>${pool_info['rsconfig']}</pre></td>";
+               echo "</tr>\n";
+       }
+       echo "</table>";
+}
+
 ?>
index 40c8ac4..4cae1c2 100644 (file)
@@ -161,8 +161,10 @@ $tab['vservice']['default'] = 'View';
 $tab['vservice']['configs'] = '[Configuration]';
 $tabhandler['vservice']['default'] = 'renderVirtualService';
 
-$page['rspools']['title'] = '[RS pools]';
+$page['rspools']['title'] = 'RS pools';
 $page['rspools']['parent'] = 'ipv4space';
+$tab['rspools']['default'] = 'View';
+$tabhandler['rspools']['default'] = 'renderRSPoolList';
 
 $page['rspool']['title_handler'] = 'dynamic_title_rspool';
 $page['rspool']['parent'] = 'rspools';
index 411a68d..b572db2 100644 (file)
@@ -117,7 +117,7 @@ function dynamic_title_rspool ()
                case 'rspool':
                        assertUIntArg ('id');
                        $poolInfo = getRSPoolInfo ($_REQUEST['id']);
-                       $ret['name'] = 'RS pool' . (empty ($poolInfo['name']) ? '' : ' "' . $poolInfo['name'] . '"');
+                       $ret['name'] = empty ($poolInfo['name']) ? '' : 'ANONYMOUS' . $poolInfo['name'];
                        $ret['params']['id'] = $_REQUEST['id'];
                        break;
                default: