ce19381028a2a9f83b80d16c2ffaa40f41afb10f
[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.4 $
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 08, 2003
25 **      MODIFICATIONS   : 
26 **************************************************************************/
27
28 /*****************************
29    $Log: parameter.php,v $
30    Revision 1.4  2003-02-21 08:50:12  arjen
31    Database optimizations.
32
33    Revision 1.3  2003/02/13 09:01:29  arjen
34    All web interface pages use the page class.
35
36    Revision 1.2  2003/02/05 09:47:39  arjen
37    Display the difference of all package class parameters for two objects
38
39 ******************************/
40
41 // RCSID = "$Id: parameter.php,v 1.4 2003-02-21 08:50:12 arjen Exp $";
42
43
44 ini_set('include_path', '.:./classes:../phpclasses');
45
46 require_once('page.class.php');
47
48
49 /*  Local functions */
50
51 function object_selection($db, $skip_oid)
52 {
53    /*  Create and print an HTML option list of objects */
54
55    $res = pg_exec("SELECT objectid, objectname FROM object WHERE objectid != " . $skip_oid);
56    for ($row = 0; $row < pg_numrows($res); $row++)
57    {
58       $obj = pg_fetch_object($res, $row);
59       echo "<option value='" . $obj->objectid . "'>";
60       echo $obj->objectname;
61       echo "</option>";
62    }
63 }
64
65 class param_page extends page
66 {
67
68    function Body()
69    {
70
71    if (!empty($_GET['oid']))
72    {
73       $res = pg_exec($this->database, "SELECT objectname FROM object WHERE objectid=CAST('" . $_GET['oid']."' AS BIGINT)");
74       $obj = pg_fetch_object($res, 0);
75       echo "<h1>Parameters for " . $obj->objectname . "</h1>";
76
77       $res = pg_exec($this->database, "SELECT paramid, class, name, description FROM parameter "
78                      ."WHERE objectid= CAST('" . $_GET['oid'] . "' AS BIGINT) order by class, name");
79       
80      ?>
81      <form action='parameter_compare.php' method='post'>
82        <input type='hidden' name='oid' value='<?php echo $_GET['oid'] ?>'>
83        Compare to object:
84        <select name='compare_to'>
85          <?php object_selection($this->database, $_GET['oid']); ?>
86        </select>
87        <input type='hidden' name='class' value='package'>
88        <input type='submit' value=' Show Difference'>
89      </form>
90      <?php
91       echo "<hr>";
92       echo "<table>";
93       $row = 0;
94       while ($row < pg_numrows($res))
95       {
96          $par = pg_fetch_object($res, $row);
97          ?>
98          <tr><td align='center'>
99             <?php echo $par->class?>
100          </td><td>
101             <?php echo $par->name?>
102          </td><td>
103             <?php echo $par->description?>
104          </td><td>
105             <?php
106                $r = pg_exec($this->database, "SELECT name, value FROM property
107                                               WHERE paramid=CAST('" . $par->paramid . "' AS BIGINT)");
108                for ($p = 0; $p < pg_numrows($r); $p++)
109                {
110                   $prop = pg_fetch_object($r, $p);
111                   echo $prop->name . "=" . $prop->value . " ";
112                }
113             ?>
114          </td></tr>
115          <?php
116          $row++;
117       }
118       echo "</table>";
119    }
120    }
121 }
122
123 $page = new param_page("Gnucomo Parameters");
124
125 $page->Showpage();
126
127 ?>