From: arjen Date: Fri, 6 Dec 2002 22:38:15 +0000 (+0000) Subject: A slightly functional web interface (initial revision) X-Git-Tag: V0_0_3~1 X-Git-Url: http://www.andromeda.nl/gitweb/?p=gnucomo.git;a=commitdiff_plain;h=2c526e6f51e950a158d37ed6597b823b4cff7b30 A slightly functional web interface (initial revision) --- diff --git a/src/web/functions.php b/src/web/functions.php index 9dfa47e..2151df2 100755 --- a/src/web/functions.php +++ b/src/web/functions.php @@ -1,4 +1,4 @@ -"; $login .= "

GNU Computer Monitoring

"; + $login .= "

Version 0.0.3, December 6, 2003

"; $login .= "
"; $login .= ""; - $login .= ""; + $login .= ""; $login .= "
GnuCoMo logoGnuCoMo logo
"; $login .= " "; $login .= " "; diff --git a/src/web/log.php b/src/web/log.php new file mode 100644 index 0000000..96ac2cd --- /dev/null +++ b/src/web/log.php @@ -0,0 +1,96 @@ + + + + + + + +GNUCoMo login + + + + + +read("gnucomo"); + + // Connect to the database + $conn = pg_connect($config->Database($_SESSION['username'], $_SESSION['password'])); + + if (!empty($_GET['oid'])) + { + $res = pg_exec("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']); + + echo "
"; + $row = 0; + while ($row < pg_numrows($res)) + { + $log = pg_fetch_object($res, $row); + ?> + + "; + } +} +?> + + + diff --git a/src/web/login.php b/src/web/login.php index 871bd10..a204320 100755 --- a/src/web/login.php +++ b/src/web/login.php @@ -1,6 +1,6 @@ @@ -12,47 +12,71 @@ include "functions.php"; read("gnucomo"); - //echo "Database Access string = " . $config->Database(); - - $conn = pg_connect($config->Database()); - // connect to the database - //$conn = pg_Connect( "host=$pgsqlhost port=$pgsqlport dbname=$dbname user=$name password=$passw" ); - if( !$conn ) { - echo "Error connecting, try again."; - echo login_form(); - $_SESSION["login"] = true; - } else { - $sql = "SELECT * FROM user_gnucomo WHERE username='$name' and password='$passw'"; - $res = query( $conn, $sql ); + // connect to the database + //echo "Database connection = " . $config->Database($name, $passw) . "
"; + $conn = pg_connect($config->Database($name, $passw)); - if( $res[0] ) { - if ($res[2] == 1) - { - $arr = pg_fetch_array( $res[1], 0 ); - $_SESSION["login.ini"] = $arr; - } - else - { - echo "Login incorrect.
"; - } + 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. - // user is authorised, step to next page. - echo "Ok!"; - } else { - pgsql_error( "SQL: error.
" . $res[3] ); - } - } -} else { - echo login_form(); - $_SESSION["login"] = true; + $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/logo.png b/src/web/logo.png new file mode 100644 index 0000000..da250ee Binary files /dev/null and b/src/web/logo.png differ diff --git a/src/web/logout.php b/src/web/logout.php new file mode 100644 index 0000000..887d79f --- /dev/null +++ b/src/web/logout.php @@ -0,0 +1,12 @@ +GnuCoMo Web Interface - Objects - Users - Packages + Objects + UsersChange Password - Logout + Logout
diff --git a/src/web/objects.php b/src/web/objects.php new file mode 100644 index 0000000..27cd03c --- /dev/null +++ b/src/web/objects.php @@ -0,0 +1,127 @@ + + + + + + + +GNUCoMo login + + + + + +Objects Administration
"; + + $config = new gnucomo_config; + + $config->read("gnucomo"); + + // Connect to the database + $conn = pg_connect($config->Database($_SESSION['username'], $_SESSION['password'])); + + + if (isset($_POST['action']) && $_POST['action'] == 'Create' && !empty($_POST['objectname'])) + { + pg_exec($conn, "INSERT INTO object (objectname) VALUES ('" + . $_POST['objectname'] . "')"); + } + + if (isset($_POST['action']) && $_POST['action'] == 'Remove' && !empty($_POST['objectname'])) + { + pg_exec($conn, "DELETE FROM object WHERE objectname='" . $_POST['objectname'] . "'"); + } + + $res = pg_exec($conn, "SELECT objectid,objectname FROM object"); + + echo "
+ object_timestamp?> + + servicecode?> + + rawdata?> +
"; + $obj = 0; + while ($obj < pg_numrows($res)) + { + $u = pg_fetch_object($res, $obj); + $r = pg_exec($conn, "SELECT count(logid) FROM log WHERE objectid='" + . $u->objectid . "'"); + $r = pg_fetch_object($r, 0); + + $nr_logs = $r->count; + + $r = pg_exec ($conn, "SELECT count(paramid) FROM parameter WHERE objectid='" + . $u->objectid . "'"); + $r = pg_fetch_object($r, 0); + + $nr_params = $r->count; + ?> + + "; + +} +?> + +

Create new object:

+

+ +
+Objects name (FQDN): +
+ + +

+ + diff --git a/src/web/parameter.php b/src/web/parameter.php new file mode 100644 index 0000000..f7d4c02 --- /dev/null +++ b/src/web/parameter.php @@ -0,0 +1,132 @@ +objectid . "'>"; + echo $obj->objectname; + echo ""; + } +} +?> + + + + + + +GNUCoMo login + + + + + +read("gnucomo"); + + // Connect to the database + $conn = pg_connect($config->Database($_SESSION['username'], $_SESSION['password'])); + + if (!empty($_GET['oid'])) + { + $res = pg_exec($conn, "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 " + ."WHERE objectid=" . $_GET['oid']); + + ?> + + '> + Compare to object: + + + + "; + echo "

+ objectname ?> +
+ Log entries + + Parameters + + + + + +
"; + $row = 0; + while ($row < pg_numrows($res)) + { + $par = pg_fetch_object($res, $row); + ?> + + "; + } +} +?> + + + diff --git a/src/web/parameter_compare.php b/src/web/parameter_compare.php new file mode 100644 index 0000000..dfae1f5 --- /dev/null +++ b/src/web/parameter_compare.php @@ -0,0 +1,109 @@ + + + + + + + +GNUCoMo login + + + + + +read("gnucomo"); + + // Connect to the database + $conn = pg_connect($config->Database($_SESSION['username'], $_SESSION['password'])); + + if (!empty($_GET['oid'])) + { + $res = pg_exec("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 " + ."WHERE objectid=" . $_GET['oid']); + + ?> + + + "; + $row = 0; + while ($row < pg_numrows($res)) + { + $par = pg_fetch_object($res, $row); + ?> + + "; + } +} +?> + + + diff --git a/src/web/users.php b/src/web/users.php new file mode 100644 index 0000000..8263151 --- /dev/null +++ b/src/web/users.php @@ -0,0 +1,143 @@ + + + + + + + +GNUCoMo login + + + + + +User Administration
"; + + $config = new gnucomo_config; + + $config->read("gnucomo"); + + // Connect to the database + $conn = pg_connect($config->Database($_SESSION['username'], $_SESSION['password'])); + + + if (isset($_POST['action']) && $_POST['action'] == 'Create' && !empty($_POST['username'])) + { + pg_exec($conn, "CREATE USER " . $_POST['username'] . " PASSWORD '" + . $_POST['passwd'] . "'"); + pg_exec($conn, "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']); + } + + $res = pg_exec($conn, "SELECT username, security_level FROM usr"); + + echo "
+ class?> + + name?> + + description?> + + paramid . "'"); + for ($p = 0; $p < pg_numrows($r); $p++) + { + $prop = pg_fetch_object($r, $p); + echo $prop->name . "=" . $prop->value . " "; + } + ?> +
+ class?> + + name?> + + description?> + + paramid . "'"); + for ($p = 0; $p < pg_numrows($r); $p++) + { + $prop = pg_fetch_object($r, $p); + echo $prop->name . "=" . $prop->value . " "; + } + ?> +
"; + $usr = 0; + while ($usr < pg_numrows($res)) + { + $u = pg_fetch_object($res, $usr); + ?> + + "; + +} +?> + +

Create new user:

+

+ +
+User name: +Security level: +
+Password: +Verify password: +
+ + +

+ +

+ username ?> +
+ Sec. Level security_level ?> + + username) + { + ?> +
+ + +
+ +