***********************
** 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.
******************************/
-// 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');
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
{
" 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;
{
$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>
</form>
<?php
}
+ }
}
$page = new user_page("Gnucomo User Administration");