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