From 4ebb5b26a90443031290ac6c61d686a9496d8838 Mon Sep 17 00:00:00 2001 From: arjen Date: Thu, 13 Feb 2003 09:01:29 +0000 Subject: [PATCH] All web interface pages use the page class. --- src/web/log.php | 136 +++++++++++++++++++----------------------- src/web/login.php | 109 +++++++++++---------------------- src/web/notification.php | 11 ++-- src/web/objects.php | 71 +++++++++++----------- src/web/parameter.php | 82 ++++++++----------------- src/web/parameter_compare.php | 62 +++++++------------ src/web/users.php | 99 +++++++++++++++++------------- 7 files changed, 248 insertions(+), 322 deletions(-) diff --git a/src/web/log.php b/src/web/log.php index 96ac2cd..aa5ca97 100644 --- a/src/web/log.php +++ b/src/web/log.php @@ -1,96 +1,84 @@ + Revision 1.2 2003/02/05 09:48:14 arjen + Added display and handling of notifications - - - - - -GNUCoMo login +******************************/ - - - -read("gnucomo"); - - // Connect to the database - $conn = pg_connect($config->Database($_SESSION['username'], $_SESSION['password'])); - - if (!empty($_GET['oid'])) + function Body() { - $res = pg_exec("SELECT objectname FROM object WHERE objectid=" . $_GET['oid']); - $obj = pg_fetch_object($res, 0); - echo "

Log for " . $obj->objectname . "


"; + if (!empty($_GET['oid'])) + { + $res = pg_exec($this->database, "SELECT objectname FROM object WHERE objectid=" . $_GET['oid']); + $obj = pg_fetch_object($res, 0); + echo "

Log for " . $obj->objectname . "


"; - $res = pg_exec("SELECT object_timestamp, servicecode, rawdata FROM log " - ."WHERE objectid=" . $_GET['oid']); + $res = pg_exec($this->database, "SELECT object_timestamp, servicecode, rawdata FROM log " + ."WHERE objectid=" . $_GET['oid']); - echo ""; - $row = 0; - while ($row < pg_numrows($res)) - { - $log = pg_fetch_object($res, $row); - ?> - - "; + $row = 0; + while ($row < pg_numrows($res)) + { + $log = pg_fetch_object($res, $row); + ?> + + "; } - echo "
- object_timestamp?> - - servicecode?> - - rawdata?> -
+ object_timestamp?> + + servicecode?> + + rawdata?> +
"; } } -?> - - +$page = new log_page("Gnucomo system logs"); + +$page->Showpage(); + +?> diff --git a/src/web/login.php b/src/web/login.php index a204320..ffbc65a 100755 --- a/src/web/login.php +++ b/src/web/login.php @@ -1,83 +1,44 @@ - - - - - -GNUCoMo login - - -read("gnucomo"); +ini_set('include_path', '.:./classes:../phpclasses'); +require_once('page.class.php'); - // connect to the database - //echo "Database connection = " . $config->Database($name, $passw) . "
"; - $conn = pg_connect($config->Database($name, $passw)); +$login_page = new page("Gnucomo Login"); - if ( !$conn ) - { - echo "Error connecting, try again."; - echo login_form(); - } - else - { - $sql = "SELECT * FROM usr WHERE username='$name'"; - $res = pg_exec( $conn, $sql ); - if ($res && pg_numrows($res) == 1) - { - echo "
Database login OK.
"; - session_register('username'); - $_SESSION["username"] = $name; - session_register('password'); - $_SESSION["password"] = $passw; - } - else - { - // User not found in database. Check if we have any users at all. +$login_page->Showpage(); - $res = pg_exec($conn, "SELECT count(username) FROM usr"); - $nusers = pg_fetch_object($res, 0); - $nusers = $nusers->count; - if ($nusers == 0) - { - echo "
No users in database. Authentication granted.
"; - session_register('username'); - $_SESSION["username"] = $name; - session_register('password'); - $_SESSION["password"] = $passw; - } - else - { - echo "
User $name not found in database.
"; - } - } - } -} -else -{ - echo login_form(); - $_SESSION["login"] = true; -} -} -else -{ - echo "Logged in as " . $_SESSION['username'] . "
"; -} ?> - - diff --git a/src/web/notification.php b/src/web/notification.php index 57a3c04..c2791e8 100644 --- a/src/web/notification.php +++ b/src/web/notification.php @@ -9,7 +9,7 @@ *********************** ** FILE NAME : notification.php ** SYSTEM NAME : Gnucomo - Gnu Computer Monitoring -** VERSION NUMBER : $Revision: 1.1 $ +** VERSION NUMBER : $Revision: 1.2 $ ** ** DESCRIPTION : Display and handle notifications. ** There are two major views to this page: either a list of @@ -36,14 +36,17 @@ /***************************** $Log: notification.php,v $ - Revision 1.1 2003-02-05 09:48:14 arjen + Revision 1.2 2003-02-13 09:01:29 arjen + All web interface pages use the page class. + + Revision 1.1 2003/02/05 09:48:14 arjen Added display and handling of notifications ******************************/ -// RCSID = "$Id: notification.php,v 1.1 2003-02-05 09:48:14 arjen Exp $"; +// RCSID = "$Id: notification.php,v 1.2 2003-02-13 09:01:29 arjen Exp $"; -ini_set('include_path', './classes:../phpclasses'); +ini_set('include_path', '.:./classes:../phpclasses'); require_once('page.class.php'); diff --git a/src/web/objects.php b/src/web/objects.php index 6c7120b..d7d7c33 100644 --- a/src/web/objects.php +++ b/src/web/objects.php @@ -9,7 +9,7 @@ *********************** ** FILE NAME : objects.php ** SYSTEM NAME : Gnucomo - Gnu Computer Monitoring -** VERSION NUMBER : $Revision: 1.4 $ +** VERSION NUMBER : $Revision: 1.5 $ ** ** DESCRIPTION : Objects Administration page. ** Input parameters: action (POST) : empty, 'Create' @@ -23,13 +23,16 @@ ******************************** ** ORIGINAL AUTHOR : Arjen Baart - arjen@andromeda.nl ** CREATION DATE : Dec 04, 2002 -** LAST UPDATE : Feb 03, 2003 +** LAST UPDATE : Feb 08, 2003 ** MODIFICATIONS : **************************************************************************/ /***************************** $Log: objects.php,v $ - Revision 1.4 2003-02-13 08:48:23 arjen + Revision 1.5 2003-02-13 09:01:29 arjen + All web interface pages use the page class. + + Revision 1.4 2003/02/13 08:48:23 arjen Added log, notification and parameter counters to the 'object' table. Counting these things at the time a user interface needs them is too slow. Other programs, like gcm_daemon en gcm_input should prepare @@ -43,20 +46,18 @@ ******************************/ -// RCSID = "$Id: objects.php,v 1.4 2003-02-13 08:48:23 arjen Exp $"; +// RCSID = "$Id: objects.php,v 1.5 2003-02-13 09:01:29 arjen Exp $"; -session_start(); -require_once('classes/gnucomo_config.php'); -?> +ini_set('include_path', '.:./classes:../phpclasses'); + +require_once('page.class.php'); - - - - - -GNUCoMo login +function clientscripts() +{ +?> - - Objects Administration
"; - $config = new gnucomo_config; - - $config->read("gnucomo"); +class object_page extends page +{ - // Connect to the database - $conn = pg_connect($config->Database($_SESSION['username'], $_SESSION['password'])); + function Body() + { + clientscripts(); + echo "

Objects Administration


"; if (isset($_POST['action']) && $_POST['action'] == 'Create' && !empty($_POST['objectname'])) { - pg_exec($conn, "INSERT INTO object (objectname, log_count, parameter_count, notification_count) VALUES ('" - . $_POST['objectname'] . "', '0', '0', '0')"); + pg_exec($this->database, "INSERT INTO object (objectname, log_count, parameter_count, notification_count) + VALUES ('" . $_POST['objectname'] . "', '0', '0', '0')"); } if (isset($_POST['action']) && $_POST['action'] == 'Remove' && !empty($_POST['objectname'])) { - pg_exec($conn, "DELETE FROM object WHERE objectname='" . $_POST['objectname'] . "'"); + pg_exec($this->database, "DELETE FROM object WHERE objectname='" . $_POST['objectname'] . "'"); } - $res = pg_exec($conn, "SELECT objectid,objectname, log_count, notification_count FROM object ORDER BY objectname"); + $res = pg_exec($this->database, "SELECT objectid,objectname, log_count, notification_count + FROM object ORDER BY objectname"); echo ""; $obj = 0; @@ -124,7 +119,7 @@ else $nr_logs = $u->log_count; $count_logs = $count_logs + $nr_logs; - $r = pg_exec ($conn, "SELECT count(paramid) FROM parameter WHERE objectid='" + $r = pg_exec ($this->database, "SELECT count(paramid) FROM parameter WHERE objectid='" . $u->objectid . "'"); $r = pg_fetch_object($r, 0); @@ -159,7 +154,6 @@ else echo ""; echo "
$count_notifications Notifications
"; -} ?>

Create new object:

@@ -171,5 +165,14 @@ Objects name (FQDN):

- - +Showpage(); + +?> + diff --git a/src/web/parameter.php b/src/web/parameter.php index f02148f..42a0e58 100644 --- a/src/web/parameter.php +++ b/src/web/parameter.php @@ -9,7 +9,7 @@ *********************** ** FILE NAME : parameter.php ** SYSTEM NAME : Gnucomo - Gnu Computer Monitoring -** VERSION NUMBER : $Revision: 1.2 $ +** VERSION NUMBER : $Revision: 1.3 $ ** ** DESCRIPTION : ** @@ -21,22 +21,27 @@ ******************************** ** ORIGINAL AUTHOR : Arjen Baart - arjen@andromeda.nl ** CREATION DATE : Dec 04, 2002 -** LAST UPDATE : Feb 03, 2003 +** LAST UPDATE : Feb 08, 2003 ** MODIFICATIONS : **************************************************************************/ /***************************** $Log: parameter.php,v $ - Revision 1.2 2003-02-05 09:47:39 arjen + Revision 1.3 2003-02-13 09:01:29 arjen + All web interface pages use the page class. + + Revision 1.2 2003/02/05 09:47:39 arjen Display the difference of all package class parameters for two objects ******************************/ -// RCSID = "$Id: parameter.php,v 1.2 2003-02-05 09:47:39 arjen Exp $"; +// RCSID = "$Id: parameter.php,v 1.3 2003-02-13 09:01:29 arjen Exp $"; + +ini_set('include_path', '.:./classes:../phpclasses'); + +require_once('page.class.php'); -session_start(); -require_once('classes/gnucomo_config.php'); /* Local functions */ @@ -53,61 +58,20 @@ function object_selection($db, $skip_oid) echo ""; } } -?> - - - - - -GNUCoMo login - - - - -read("gnucomo"); - - // Connect to the database - $conn = pg_connect($config->Database($_SESSION['username'], $_SESSION['password'])); + function Body() + { if (!empty($_GET['oid'])) { - $res = pg_exec($conn, "SELECT objectname FROM object WHERE objectid=" . $_GET['oid']); + $res = pg_exec($this->database, "SELECT objectname FROM object WHERE objectid=" . $_GET['oid']); $obj = pg_fetch_object($res, 0); echo "

Parameters for " . $obj->objectname . "

"; - $res = pg_exec("SELECT paramid, class, name, description FROM parameter " + $res = pg_exec($this->database, "SELECT paramid, class, name, description FROM parameter " ."WHERE objectid=" . $_GET['oid'] . "order by class, name"); ?> @@ -115,7 +79,7 @@ else '> Compare to object: @@ -136,7 +100,8 @@ else description?> paramid . "'"); + $r = pg_exec($this->database, "SELECT name, value FROM property + WHERE paramid='" . $par->paramid . "'"); for ($p = 0; $p < pg_numrows($r); $p++) { $prop = pg_fetch_object($r, $p); @@ -149,8 +114,11 @@ else } echo ""; } + } } -?> - - +$page = new param_page("Gnucomo Parameters"); + +$page->Showpage(); + +?> diff --git a/src/web/parameter_compare.php b/src/web/parameter_compare.php index ea2e258..60df21c 100644 --- a/src/web/parameter_compare.php +++ b/src/web/parameter_compare.php @@ -9,7 +9,7 @@ *********************** ** FILE NAME : parameter_compare.php ** SYSTEM NAME : Gnucomo - Gnu Computer Monitoring -** VERSION NUMBER : $Revision: 1.2 $ +** VERSION NUMBER : $Revision: 1.3 $ ** ** DESCRIPTION : ** @@ -27,28 +27,20 @@ /***************************** $Log: parameter_compare.php,v $ - Revision 1.2 2003-02-05 09:47:39 arjen + Revision 1.3 2003-02-13 09:01:29 arjen + All web interface pages use the page class. + + Revision 1.2 2003/02/05 09:47:39 arjen Display the difference of all package class parameters for two objects ******************************/ -// RCSID = "$Id: parameter_compare.php,v 1.2 2003-02-05 09:47:39 arjen Exp $"; - -session_start(); -require_once('classes/gnucomo_config.php'); -?> +// RCSID = "$Id: parameter_compare.php,v 1.3 2003-02-13 09:01:29 arjen Exp $"; - - - - - -Parameter comparison +ini_set('include_path', '.:./classes:../phpclasses'); +require_once('page.class.php'); - - -"; } -if (empty($_SESSION['username'])) +class param_diff extends page { - echo "Please log in first."; -} -else -{ - - $config = new gnucomo_config; - - $config->read("gnucomo"); - - // Connect to the database - $conn = pg_connect($config->Database($_SESSION['username'], $_SESSION['password'])); + function Body() + { if (!empty($_POST['oid'])) { - $res = pg_exec("SELECT objectid, objectname FROM object WHERE objectid=" . $_POST['oid']); + $res = pg_exec($this->database, "SELECT objectid, objectname FROM object WHERE objectid=" . $_POST['oid']); $obj = pg_fetch_object($res, 0); echo "

" . $_POST['class'] . " parameters for " . $obj->objectname; - $res = pg_exec("SELECT objectid, objectname FROM object WHERE objectid=" . $_POST['compare_to']); + $res = pg_exec($this->database, "SELECT objectid, objectname FROM object WHERE objectid=" . $_POST['compare_to']); $cmp_obj = pg_fetch_object($res, 0); echo " compared to " . $cmp_obj->objectname . "


"; - $res = pg_exec("SELECT objectid, paramid, name FROM parameter " + $res = pg_exec($this->database, "SELECT objectid, paramid, name FROM parameter " . "WHERE objectid=" . $obj->objectid . " OR objectid=" . $cmp_obj->objectid . " AND class='" . $_POST['class'] . "' ORDER BY name, objectid"); - ?> - \n"; echo "" . $obj->objectname . ""; echo "" . $cmp_obj->objectname . "\n"; @@ -162,8 +143,8 @@ else /* Both objects have this parameter */ $row++; - $pr = param_properties($conn, $par->paramid); - $prnext = param_properties($conn, $nextpar->paramid); + $pr = param_properties($this->database, $par->paramid); + $prnext = param_properties($this->database, $nextpar->paramid); if (property_compare($pr, $prnext)) { display_parameter($par->name, $pr); @@ -190,7 +171,7 @@ else { /* Only one of the objects has this parameter */ - $pr = param_properties($conn, $par->paramid); + $pr = param_properties($this->database, $par->paramid); if ($par->objectid == $obj->objectid) { @@ -213,8 +194,11 @@ else } echo "\n"; } + } } -?> - - +$page = new param_diff("Gnucomo Parameter Comparison"); + +$page->Showpage(); + +?> diff --git a/src/web/users.php b/src/web/users.php index 8263151..300c4fb 100644 --- a/src/web/users.php +++ b/src/web/users.php @@ -1,28 +1,49 @@ - - - - - - -GNUCoMo login - - - User Administration
"; - - $config = new gnucomo_config; - - $config->read("gnucomo"); - // Connect to the database - $conn = pg_connect($config->Database($_SESSION['username'], $_SESSION['password'])); +class user_page extends page +{ + function Body() + { + echo "

User Administration


"; if (isset($_POST['action']) && $_POST['action'] == 'Create' && !empty($_POST['username'])) { - pg_exec($conn, "CREATE USER " . $_POST['username'] . " PASSWORD '" + pg_exec($this->database, "CREATE USER " . $_POST['username'] . " PASSWORD '" . $_POST['passwd'] . "'"); - pg_exec($conn, "INSERT INTO usr (username, security_level) VALUES ('" + pg_exec($this->database, "INSERT INTO usr (username, security_level) VALUES ('" . $_POST['username'] . "','" . $_POST['seclevel'] . "')"); } if (isset($_POST['action']) && $_POST['action'] == 'Remove' && !empty($_POST['username'])) { - pg_exec($conn, "DELETE FROM usr WHERE username='" . $_POST['username'] . "'"); - pg_exec($conn, "DROP USER " . $_POST['username']); + pg_exec($this->database, "DELETE FROM usr WHERE username='" . $_POST['username'] . "'"); + pg_exec($this->database, "DROP USER " . $_POST['username']); } - $res = pg_exec($conn, "SELECT username, security_level FROM usr"); + $res = pg_exec($this->database, "SELECT username, security_level FROM usr"); echo ""; $usr = 0; @@ -117,7 +129,6 @@ else } echo "
"; -} ?>

Create new user:

@@ -139,5 +150,13 @@ Verify password:

- - + +Showpage(); + +?> -- 2.11.0