f7d4c025734280bfbc8f3c0985e33a05bfa921fc
[gnucomo.git] / src / web / parameter.php
1 <?php 
2
3 /**************************************************************************
4 ** This is free software; you can redistribute it and/or modify it under the
5 ** terms of the GNU General Public License, see the file COPYING.
6 ***************************************************************************/
7
8 /*
9  *
10  * Objects Administration page.
11  * Input parameters: action (POST) : empty, 'Create'
12  *                   objname (POST) : name of the object to create or remove
13  */
14
15 session_start();
16 require_once('classes/gnucomo_config.php');
17
18 /*  Local functions */
19
20 function object_selection($db, $skip_oid)
21 {
22    /*  Create and print an HTML option list of objects */
23
24    $res = pg_exec("SELECT objectid, objectname FROM object WHERE objectid != " . $skip_oid);
25    for ($row = 0; $row < pg_numrows($res); $row++)
26    {
27       $obj = pg_fetch_object($res, $row);
28       echo "<option value='" . $obj->objectid . "'>";
29       echo $obj->objectname;
30       echo "</option>";
31    }
32 }
33 ?>
34
35 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
36 <html>
37 <head>
38 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
39 <link rel='stylesheet' href='gnucomo.css' type='text/css'>
40 <title>GNUCoMo login</title>
41
42 <script language='JavaScript'>
43 function CheckCreate(f)
44 {
45    if (f.objectname.value == "")
46    {
47       alert("You must supply a name");
48       return false;
49    }
50    return true;
51 }
52
53 function CheckRemove(f)
54 {
55    var message = "Are you sure you want to remove object ";
56    message += f.objectname.value;
57    message += " ?";
58
59    return confirm(message);
60 }
61
62 </script>
63
64 </head>
65 <body>
66 <?php
67 if (empty($_SESSION['username']))
68 {
69    echo "Please log in first.";
70 }
71 else
72 {
73
74    $config = new gnucomo_config;
75
76    $config->read("gnucomo");
77
78    //  Connect to the database
79    $conn = pg_connect($config->Database($_SESSION['username'], $_SESSION['password']));
80
81    if (!empty($_GET['oid']))
82    {
83       $res = pg_exec($conn, "SELECT objectname FROM object WHERE objectid=" . $_GET['oid']);
84       $obj = pg_fetch_object($res, 0);
85       echo "<h1>Parameters for " . $obj->objectname . "</h1>";
86
87       $res = pg_exec("SELECT paramid, class, name, description FROM parameter "
88                      ."WHERE objectid=" . $_GET['oid']);
89       
90      ?>
91      <form action='parameter_compare.php' method='post'>
92        <input type='hidden' name='oid' value='<?php echo $_GET['oid'] ?>'>
93        Compare to object:
94        <select>
95          <?php object_selection($conn, $_GET['oid']); ?>
96        </select>
97        <input type='submit' value=' Show Difference'>
98      </form>
99      <?php
100       echo "<hr>";
101       echo "<table>";
102       $row = 0;
103       while ($row < pg_numrows($res))
104       {
105          $par = pg_fetch_object($res, $row);
106          ?>
107          <tr><td align='center'>
108             <?php echo $par->class?>
109          </td><td>
110             <?php echo $par->name?>
111          </td><td>
112             <?php echo $par->description?>
113          </td><td>
114             <?php
115                $r = pg_exec($conn, "SELECT name, value FROM property WHERE paramid='" . $par->paramid . "'");
116                for ($p = 0; $p < pg_numrows($r); $p++)
117                {
118                   $prop = pg_fetch_object($r, $p);
119                   echo $prop->name . "=" . $prop->value . " ";
120                }
121             ?>
122          </td></tr>
123          <?php
124          $row++;
125       }
126       echo "</table>";
127    }
128 }
129 ?>
130
131 </body>
132 </html>