Allow viewing users belonging to a particular user group

This commit is contained in:
Kasun Chathuranga 2013-07-14 00:29:23 +05:30
parent c0fc4b7d1b
commit 0c29eb758a
2 changed files with 54 additions and 8 deletions

View File

@ -3132,6 +3132,45 @@ function PMA_getHtmlForDisplayUserOverviewPage($link_edit, $pmaThemeImage,
return $html_output;
}
/**
* Return HTML to list the users belonging to a given user group
*
* @param string $userGroup user group name
*
* @return HTML to list the users belonging to a given user group
*/
function PMA_getHtmlForListingUsersofAGroup($userGroup)
{
$html_output = '<h2>' . sprintf(__('Users of \'%s\' user group'), $userGroup)
. '</h2>';
$usersTable = PMA_Util::backquote($GLOBALS['cfg']['Server']['pmadb'])
. "." . PMA_Util::backquote($GLOBALS['cfg']['Server']['users']);
$sql_query = "SELECT `username` FROM " . $usersTable
. " WHERE `usergroup`='" . $userGroup . "'";
$result = PMA_queryAsControlUser($sql_query, false);
if ($result) {
$html_output .= '<table>'
. '<thead><tr><th>#</th><th>' . __('User') . '</th></tr></thead>'
. '<tbody>';
$i = 0;
while ($row = $GLOBALS['dbi']->fetchRow($result)) {
$i++;
$html_output .= '<tr>'
. '<td>' . $i . ' </td>'
. '<td>' . htmlspecialchars($row[0]) . '</td>'
. '</tr>';
}
$html_output .= '</tbody>'
. '</table>';
} else {
$html_output .= '<p>'
. __('No users were found belonging to this user group')
. '</p>';
}
return $html_output;
}
/**
* Returns HTML for the 'user groups' table
*
@ -3168,6 +3207,11 @@ function PMA_getHtmlForUserGroupsTable()
$html_output .= '<td>' . _getAllowedTabNames($row, 'table') . '</td>';
$html_output .= '<td>';
$html_output .= '<a class="" href="server_user_groups.php?'
. PMA_generate_common_url() . '&viewUsers=1&userGroup='
. urlencode($row['usergroup']) . '">'
. PMA_Util::getIcon('b_usrlist.png', __('View users')) . '</a>';
$html_output .= '&nbsp;&nbsp;';
$html_output .= '<a class="" href="server_user_groups.php?'
. PMA_generate_common_url() . '&editUserGroup=1&userGroup='
. urlencode($row['usergroup']) . '">'

View File

@ -38,17 +38,19 @@ if (! empty($_REQUEST['editUserGroupSubmit'])) {
PMA_editUserGroup($_REQUEST['userGroup']);
}
if (isset($_REQUEST['viewUsers'])) {
// Display users belonging to a user group
$response->addHTML(PMA_getHtmlForListingUsersofAGroup($_REQUEST['userGroup']));
}
if (isset($_REQUEST['addUserGroup'])) {
// Add user group
$response->addHTML(
PMA_getHtmlToEditUserGroup()
);
// Display add user group dialog
$response->addHTML(PMA_getHtmlToEditUserGroup());
} elseif (isset($_REQUEST['editUserGroup'])) {
// Add user group
$response->addHTML(
PMA_getHtmlToEditUserGroup($_REQUEST['userGroup'])
);
// Display edit user group dialog
$response->addHTML(PMA_getHtmlToEditUserGroup($_REQUEST['userGroup']));
} else {
// Display user groups table
$response->addHTML(PMA_getHtmlForUserGroupsTable());
}