Allow setting admin privileges in the user mananger

This commit is contained in:
Alexander Nicolaysen Sørnes
2007-04-17 23:21:34 +00:00
committed by WineHQ
parent efae38f6bf
commit 82ab0c467f
2 changed files with 24 additions and 23 deletions

View File

@@ -23,18 +23,6 @@ require_once(BASE."include/util.php");
<td> &nbsp; Real Name </td> <td> &nbsp; Real Name </td>
<td> <input type="text" name="sUserRealname" value="<?php echo $sUserRealname; ?>"> </td> <td> <input type="text" name="sUserRealname" value="<?php echo $sUserRealname; ?>"> </td>
</tr> </tr>
<?php
// if we manage another user we can give him administrator rights
if($oUser->iUserId == $aClean['iUserId'])
{
?>
<tr>
<td> &nbsp; Administrator </td>
<td> <input type="checkbox" name="sHasAdmin" "<?php echo $sHasAdmin; ?>" value="on"> </td>
</tr>
<?php
}
?>
<tr> <tr>
<td colspan=2>&nbsp;</td> <td colspan=2>&nbsp;</td>
</tr> </tr>

View File

@@ -11,10 +11,9 @@
* - sUserEmail, e-mail address * - sUserEmail, e-mail address
* - sUserRealname, user's real name * - sUserRealname, user's real name
* - sWineRelease, user's Wine release * - sWineRelease, user's Wine release
* - sHasAdmin, "on" if user is an administrator * - bIsAdmin, true if user is an administrator
* *
* TODO: * TODO:
* - rename sHasAdmin with bIsAdmin
* - document iLimit and sOrderBy * - document iLimit and sOrderBy
* - replace sOrderBy with iOrderBy and use constants for each accepted value * - replace sOrderBy with iOrderBy and use constants for each accepted value
* - add a field to prefs_list to flag the user level for the pref * - add a field to prefs_list to flag the user level for the pref
@@ -59,12 +58,22 @@ function show_user_fields($oUser)
$sUserEmail = $oUser->sEmail; $sUserEmail = $oUser->sEmail;
$sWineRelease = $oUser->sWineRelease; $sWineRelease = $oUser->sWineRelease;
if($oUser->hasPriv("admin")) if($oUser->hasPriv("admin"))
$sHasAdmin = 'checked="true"'; $sAdminChecked = 'checked="true"';
else else
$sHasAdmin = ""; $sAdminChecked = "";
include(BASE."include/form_edit.php"); include(BASE."include/form_edit.php");
// Edit admin privilege
if($_SESSION['current']->hasPriv("admin"))
{
echo html_tr(array(
"&nbsp; Administrator",
"<input type=\"checkbox\" name=\"bIsAdmin\" value=\"true\" ".
"$sAdminChecked />"
));
}
echo "<tr><td>&nbsp; Wine version </td><td>"; echo "<tr><td>&nbsp; Wine version </td><td>";
make_bugzilla_version_list("sWineRelease", $sWineRelease); make_bugzilla_version_list("sWineRelease", $sWineRelease);
echo "</td></tr>"; echo "</td></tr>";
@@ -123,14 +132,18 @@ if($aClean['sSubmit'] == "Update")
if ($oUser->update() == SUCCESS) if ($oUser->update() == SUCCESS)
{ {
addmsg("Preferences Updated", "green"); addmsg("Preferences Updated", "green");
// we were managing an user, let's go back to the admin after updating tha admin status // we were managing an user, let's go back to the admin after
if($oUser->iUserId == $aClean['iUserId'] && $_SESSION['current']->hasPriv("admin")) // updating tha admin status
if($oUser->iUserId == $aClean['iUserId'] &&
$_SESSION['current']->hasPriv("admin"))
{ {
if($aClean['sHasAdmin']=="on") if($aClean['bIsAdmin'] == "true")
$oUser->addPriv("admin"); $oUser->addPriv("admin");
else else
$oUser->delPriv("admin"); $oUser->delPriv("admin");
util_redirect_and_exit(BASE."admin/adminUsers.php?iUserId=".$oUser->iUserId."&sSearch=".$aClean['sSearch']."&iLimit=".$aClean['iLimit']."&sOrderBy=".$aClean['sOrderBy']."&sSubmit=true"); util_redirect_and_exit(BASE."admin/adminUsers.php?iUserId=".$oUser->iUserId.
"&sSearch=".$aClean['sSearch']."&iLimit=".$aClean['iLimit'].
"&sOrderBy=".$aClean['sOrderBy']."&sSubmit=true");
} }
} }
else else