*** empty log message ***
authorarjen <arjen>
Sat, 10 Jan 2004 20:03:02 +0000 (20:03 +0000)
committerarjen <arjen>
Sat, 10 Jan 2004 20:03:02 +0000 (20:03 +0000)
src/web/users.php

index 3af9ea5..ef2ab22 100644 (file)
@@ -9,7 +9,7 @@
 ***********************
 **      FILE NAME      : users.php
 **      SYSTEM NAME    : Gnucomo - Gnu Computer Monitoring
-**      VERSION NUMBER : $Revision: 1.3 $
+**      VERSION NUMBER : $Revision: 1.4 $
 **
 **  DESCRIPTION      :  User Administration page.
 **                      Input parameters: action (POST) : empty, 'Create'
 
 /*****************************
    $Log: users.php,v $
-   Revision 1.3  2003-02-21 08:44:19  arjen
+   Revision 1.4  2004-01-10 20:03:02  arjen
+   *** empty log message ***
+
+   Revision 1.3  2003/02/21 08:44:19  arjen
    Add a new user and make him/her a member of a group.
    Change of passwords added.
 
@@ -38,7 +41,7 @@
 
 ******************************/
 
-// RCSID = "$Id: users.php,v 1.3 2003-02-21 08:44:19 arjen Exp $";
+// RCSID = "$Id: users.php,v 1.4 2004-01-10 20:03:02 arjen Exp $";
 
 ini_set('include_path', '.:./classes:../phpclasses');
 
@@ -102,15 +105,15 @@ class user_page extends page
 
    function Body()
    {
-   echo "<h1>User Administration</h1><hr>";
 
    if (isset($_POST['action']) && $_POST['action'] == 'Create' && !empty($_POST['username']))
    {
       $query = "CREATE USER " . $_POST['username'] . " PASSWORD '"
                       . $_POST['passwd'] . "' IN GROUP " . $_POST['group'];
-      if (pg_exec($this->database, $query) == FALSE)
+      if (pg_exec($this->database, $query) == FALSE &&
+                  strstr(pg_errormessage($this->database), "already exists") == false)
       {
-         echo "You can not create a new user.<br>";
+         echo "You can not create a new user: " . pg_errormessage($this->database) . ".<br>";
       }
       else
       {
@@ -131,7 +134,51 @@ class user_page extends page
                                " PASSWORD '" . $_POST['passwd'] . "'");
    }
 
-   $res = pg_exec($this->database, "SELECT username, security_level FROM usr ORDER BY username");
+   if (isset($_GET['username']))
+   {
+      echo "<h1>Detailed information for user " . $_GET['username'] . "</h1><br>\n";
+
+      if (isset($_POST['action']) && $_POST['action'] == 'Save Changes')
+      {
+         $qry = "UPDATE usr SET display_name='" . $_POST['dspname'] . "'";
+         $qry .= ", email='" . $_POST['email'] . "'";
+         $qry .= ", security_level='" . $_POST['seclevel'] . "'";
+         $qry .= " WHERE username='" . $_GET['username'] . "'";
+
+         pg_exec($this->database, $qry);
+      }
+      $res = pg_exec($this->database, "SELECT * from usr
+                                       WHERE username='" . $_GET['username'] . "'");
+      $usr = pg_fetch_object($res, 0);
+
+      echo "<form action='users.php?username=" . $usr->username . "' method='POST'>";
+      echo "<table>";
+
+      echo "<tr><td>Display name</td><td><input name='dspname' type='text' value='";
+      echo $usr->display_name . "'></td></tr>";
+      echo "<tr><td>Email address</td><td><input name='email' type='text' value='";
+      echo $usr->email . "'></td></tr>";
+
+      echo "<tr><td>Security level</td><td><select name='seclevel'>";
+      for ($seclevel = 1; $seclevel < 6; $seclevel++)
+      {
+         echo "<option value='$seclevel'";
+         if ($seclevel == $usr->security_level)
+         {
+            echo " selected='true'";
+         }
+         echo ">$seclevel</option>\n";
+      }
+      echo "</select></td></tr>";
+      echo "</table>";
+      echo "<input type='submit' name='action' value='Save Changes'>";
+      echo "</form>";
+   }
+   else
+   {
+   echo "<h1>User Administration</h1><hr>";
+   $res = pg_exec($this->database, "SELECT username, display_name, email, security_level
+                                    FROM usr ORDER BY username");
 
    echo "<table>";
    $usr = 0;
@@ -139,9 +186,13 @@ class user_page extends page
    {
       $u = pg_fetch_object($res, $usr);
       ?>
-      <tr><td align='center'><img src='user.png'><br>
+      <tr><td align='center'><a href='users.php?username=<?php echo $u->username ?>'><img src='user.png'></a><br>
              <b><?php echo $u->username ?></b>
       </td><td>
+         <?php echo $u->display_name ?>
+      </td><td>
+         <?php echo $u->email ?>
+      </td><td>
          Sec. Level <?php echo $u->security_level ?>
       </td><td>
           <?php if ($_SESSION['username'] != $u->username)
@@ -196,6 +247,7 @@ Verify password: <input type='password' name='pwverify'>
 </form>
 <?php
    }
+   }
 }
 
 $page = new user_page("Gnucomo User Administration");