Allow setting admin privileges in the user mananger
This commit is contained in:
committed by
WineHQ
parent
efae38f6bf
commit
82ab0c467f
@@ -23,18 +23,6 @@ require_once(BASE."include/util.php");
|
|||||||
<td> Real Name </td>
|
<td> 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> Administrator </td>
|
|
||||||
<td> <input type="checkbox" name="sHasAdmin" "<?php echo $sHasAdmin; ?>" value="on"> </td>
|
|
||||||
</tr>
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan=2> </td>
|
<td colspan=2> </td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -46,7 +45,7 @@ function build_prefs_list($oUser)
|
|||||||
if($r->name == "debug")
|
if($r->name == "debug")
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
$input = html_select("pref_$r->name", explode('|', $r->value_list),
|
$input = html_select("pref_$r->name", explode('|', $r->value_list),
|
||||||
$oUser->getpref($r->name, $r->def_value));
|
$oUser->getpref($r->name, $r->def_value));
|
||||||
echo html_tr(array(" $r->description", $input));
|
echo html_tr(array(" $r->description", $input));
|
||||||
@@ -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(
|
||||||
|
" Administrator",
|
||||||
|
"<input type=\"checkbox\" name=\"bIsAdmin\" value=\"true\" ".
|
||||||
|
"$sAdminChecked />"
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
echo "<tr><td> Wine version </td><td>";
|
echo "<tr><td> Wine version </td><td>";
|
||||||
make_bugzilla_version_list("sWineRelease", $sWineRelease);
|
make_bugzilla_version_list("sWineRelease", $sWineRelease);
|
||||||
echo "</td></tr>";
|
echo "</td></tr>";
|
||||||
@@ -79,7 +88,7 @@ if($_SESSION['current']->hasPriv("admin") &&
|
|||||||
is_numeric($aClean['iUserId']) &&
|
is_numeric($aClean['iUserId']) &&
|
||||||
is_numeric($aClean['iLimit']) &&
|
is_numeric($aClean['iLimit']) &&
|
||||||
in_array($aClean['sOrderBy'],array("email","realname","created"))
|
in_array($aClean['sOrderBy'],array("email","realname","created"))
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
$oUser = new User($aClean['iUserId']);
|
$oUser = new User($aClean['iUserId']);
|
||||||
} else
|
} else
|
||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user