f02148f6624449e5fc9853cbb55830f8bdd15ed3
[gnucomo.git] / src / web / parameter.php
1 <?php 
2
3 /**************************************************************************
4 **  (c) Copyright 2003, Andromeda Technology & Automation
5 ** This is free software; you can redistribute it and/or modify it under the
6 ** terms of the GNU General Public License, see the file COPYING.
7 ***************************************************************************
8 ** MODULE INFORMATION *
9 ***********************
10 **      FILE NAME      : parameter.php
11 **      SYSTEM NAME    : Gnucomo - Gnu Computer Monitoring
12 **      VERSION NUMBER : $Revision: 1.2 $
13 **
14 **  DESCRIPTION      : 
15 **
16 **  EXPORTED OBJECTS : 
17 **  LOCAL    OBJECTS : 
18 **  MODULES  USED    :
19 ***************************************************************************
20 **  ADMINISTRATIVE INFORMATION *
21 ********************************
22 **      ORIGINAL AUTHOR : Arjen Baart - arjen@andromeda.nl
23 **      CREATION DATE   : Dec 04, 2002
24 **      LAST UPDATE     : Feb 03, 2003
25 **      MODIFICATIONS   : 
26 **************************************************************************/
27
28 /*****************************
29    $Log: parameter.php,v $
30    Revision 1.2  2003-02-05 09:47:39  arjen
31    Display the difference of all package class parameters for two objects
32
33 ******************************/
34
35 // RCSID = "$Id: parameter.php,v 1.2 2003-02-05 09:47:39 arjen Exp $";
36
37
38 session_start();
39 require_once('classes/gnucomo_config.php');
40
41 /*  Local functions */
42
43 function object_selection($db, $skip_oid)
44 {
45    /*  Create and print an HTML option list of objects */
46
47    $res = pg_exec("SELECT objectid, objectname FROM object WHERE objectid != " . $skip_oid);
48    for ($row = 0; $row < pg_numrows($res); $row++)
49    {
50       $obj = pg_fetch_object($res, $row);
51       echo "<option value='" . $obj->objectid . "'>";
52       echo $obj->objectname;
53       echo "</option>";
54    }
55 }
56 ?>
57
58 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
59 <html>
60 <head>
61 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
62 <link rel='stylesheet' href='gnucomo.css' type='text/css'>
63 <title>GNUCoMo login</title>
64
65 <script language='JavaScript'>
66 function CheckCreate(f)
67 {
68    if (f.objectname.value == "")
69    {
70       alert("You must supply a name");
71       return false;
72    }
73    return true;
74 }
75
76 function CheckRemove(f)
77 {
78    var message = "Are you sure you want to remove object ";
79    message += f.objectname.value;
80    message += " ?";
81
82    return confirm(message);
83 }
84
85 </script>
86
87 </head>
88 <body>
89 <?php
90 if (empty($_SESSION['username']))
91 {
92    echo "Please log in first.";
93 }
94 else
95 {
96
97    $config = new gnucomo_config;
98
99    $config->read("gnucomo");
100
101    //  Connect to the database
102    $conn = pg_connect($config->Database($_SESSION['username'], $_SESSION['password']));
103
104    if (!empty($_GET['oid']))
105    {
106       $res = pg_exec($conn, "SELECT objectname FROM object WHERE objectid=" . $_GET['oid']);
107       $obj = pg_fetch_object($res, 0);
108       echo "<h1>Parameters for " . $obj->objectname . "</h1>";
109
110       $res = pg_exec("SELECT paramid, class, name, description FROM parameter "
111                      ."WHERE objectid=" . $_GET['oid'] . "order by class, name");
112       
113      ?>
114      <form action='parameter_compare.php' method='post'>
115        <input type='hidden' name='oid' value='<?php echo $_GET['oid'] ?>'>
116        Compare to object:
117        <select name='compare_to'>
118          <?php object_selection($conn, $_GET['oid']); ?>
119        </select>
120        <input type='hidden' name='class' value='package'>
121        <input type='submit' value=' Show Difference'>
122      </form>
123      <?php
124       echo "<hr>";
125       echo "<table>";
126       $row = 0;
127       while ($row < pg_numrows($res))
128       {
129          $par = pg_fetch_object($res, $row);
130          ?>
131          <tr><td align='center'>
132             <?php echo $par->class?>
133          </td><td>
134             <?php echo $par->name?>
135          </td><td>
136             <?php echo $par->description?>
137          </td><td>
138             <?php
139                $r = pg_exec($conn, "SELECT name, value FROM property WHERE paramid='" . $par->paramid . "'");
140                for ($p = 0; $p < pg_numrows($r); $p++)
141                {
142                   $prop = pg_fetch_object($r, $p);
143                   echo $prop->name . "=" . $prop->value . " ";
144                }
145             ?>
146          </td></tr>
147          <?php
148          $row++;
149       }
150       echo "</table>";
151    }
152 }
153 ?>
154
155 </body>
156 </html>