r1441 + initial VS rendering
authorDenis Ovsienko <infrastation@yandex.ru>
Thu, 27 Dec 2007 20:20:54 +0000 (20:20 +0000)
committerDenis Ovsienko <infrastation@yandex.ru>
Thu, 27 Dec 2007 20:20:54 +0000 (20:20 +0000)
inc/database.php
inc/interface.php

index 19a4e34a737389d99b682e3c72751952240602ef..5ae4ab8b4666a415097ba8a6038b20cf51aeff5f 100644 (file)
@@ -2001,7 +2001,36 @@ function getSLBSummary ()
                }
                $ret[$vsid]['rspools'][$row['object_id']] = $row['rscount'];
        }
+       $result->closeCursor();
        return $ret;
 }
 
+function getVServiceInfo ($vsid = 0)
+{
+       global $dbxlink;
+       $query = "select inet_ntoa(vip) as vip, vport, proto, name, vsconfig, default_rsconfig, " .
+               "rs.id as rsid, inet_ntoa(rs.rsip) as rsip, rsport as rsport from " .
+               "IPVirtualService as vs inner join IPRealServer as rs on vs.vsid = rs.vsid " .
+               "where vs.vsid = ${vsid} order by rsip, rsport";
+       $result = $dbxlink->query ($query);
+       if ($result == NULL)
+       {
+               showError ('SQL query failed', __FUNCTION__);
+               return NULL;
+       }
+       $vsinfo = array ();
+       while ($row = $result->fetch (PDO::FETCH_ASSOC))
+       {
+               if (!isset ($vsinfo['vip']))
+               {
+                       foreach (array ('vip', 'vport', 'proto', 'name', 'vsconfig', 'default_rsconfig') as $cname)
+                               $vsinfo[$cname] = $row[$cname];
+                       $vsinfo['rslist'] = array();
+               }
+               $vsinfo['rslist'][] = array ('rsid' => $row['rsid'], 'rsip' => $row['rsip'], 'rsport' => $row['rsport']);
+       }
+       $result->closeCursor();
+       return $vsinfo;
+}
+
 ?>
index 53e181481b4c2f3e3cbf40f0cbd34b68618d7ca2..15eba52287d254d3a85df72c617169f31af3f525 100644 (file)
@@ -3579,9 +3579,17 @@ function renderLVSConfig ($object_id = 0)
        echo '</pre>';
 }
 
-function renderVirtualService ()
+function renderVirtualService ($vsid = 0)
 {
-       dragon();
+       if ($vsid <= 0)
+       {
+               showError ('Invalid vsid', __FUNCTION__);
+               return;
+       }
+       $vsinfo = getVServiceInfo ($vsid);
+echo '<pre>';
+print_r ($vsinfo);
+echo '</pre>';
 }
 
 ?>