mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-04 05:25:01 +02:00
Almost but not quite ... wouldn't update user levels for former mods who've been removed from auth_access ... doh
git-svn-id: file:///svn/phpbb/trunk@2229 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
parent
81fc6e2d22
commit
33a6fbcda0
@ -417,13 +417,48 @@ if ( isset($HTTP_POST_VARS['submit']) && ( ( $mode == "user" && $user_id ) || (
|
||||
//
|
||||
// Update user level to user for appropriate users
|
||||
//
|
||||
$sql = "SELECT u.user_id, SUM(aa.auth_mod) AS mod
|
||||
FROM " . AUTH_ACCESS_TABLE . " aa, " . USER_GROUP_TABLE . " ug, " . USERS_TABLE . " u
|
||||
WHERE ug.group_id = aa.group_id
|
||||
AND u.user_id = ug.user_id
|
||||
AND u.user_level NOT IN (" . USER . ", " . ADMIN . ")
|
||||
GROUP BY u.user_id
|
||||
HAVING mod = 0";
|
||||
switch ( SQL_LAYER )
|
||||
{
|
||||
case 'postgresql':
|
||||
$sql = "SELECT u.user_id
|
||||
FROM " . USERS_TABLE . " u, " . USER_GROUP_TABLE . " ug, " . AUTH_ACCESS_TABLE . " aa
|
||||
WHERE ug.user_id = u.user_id
|
||||
AND aa.group_id = ug.group_id
|
||||
AND u.user_level NOT IN (" . USER . ", " . ADMIN . ")
|
||||
GROUP BY u.user_id
|
||||
HAVING SUM(aa.auth_mod) = 0
|
||||
UNION (
|
||||
SELECT u.user_id
|
||||
FROM " . USERS_TABLE . " u
|
||||
WHERE NOT EXISTS (
|
||||
SELECT aa.auth_mod
|
||||
FROM " . USER_GROUP_TABLE . " ug, " . AUTH_ACCESS_TABLE . " aa
|
||||
WHERE ug.user_id = u.user_id
|
||||
AND aa.group_id = ug.group_id
|
||||
)
|
||||
AND u.user_level NOT IN (" . USER . ", " . ADMIN . ")
|
||||
GROUP BY u.user_id
|
||||
)";
|
||||
break;
|
||||
case 'oracle':
|
||||
$sql = "SELECT u.user_id, SUM(aa.auth_mod) AS mod
|
||||
FROM " . USERS_TABLE . " u, " . USER_GROUP_TABLE . " ug, " . AUTH_ACCESS_TABLE . " aa
|
||||
WHERE ug.user_id = u.user_id(+)
|
||||
AND aa.group_id = ug.group_id(+)
|
||||
AND u.user_level NOT IN (" . USER . ", " . ADMIN . ")
|
||||
GROUP BY u.user_id
|
||||
HAVING mod = 0";
|
||||
break;
|
||||
default:
|
||||
$sql = "SELECT u.user_id, SUM(aa.auth_mod) AS mod
|
||||
FROM ( ( " . USERS_TABLE . " u
|
||||
LEFT JOIN " . USER_GROUP_TABLE . " ug ON ug.user_id = u.user_id )
|
||||
LEFT JOIN " . AUTH_ACCESS_TABLE . " aa ON aa.group_id = ug.group_id )
|
||||
WHERE u.user_level NOT IN (" . USER . ", " . ADMIN . ")
|
||||
GROUP BY u.user_id
|
||||
HAVING mod = 0";
|
||||
break;
|
||||
}
|
||||
if ( !($result = $db->sql_query($sql)) )
|
||||
{
|
||||
message_die(GENERAL_ERROR, "Couldn't obtain user/group permissions", "", __LINE__, __FILE__, $sql);
|
||||
@ -432,7 +467,7 @@ if ( isset($HTTP_POST_VARS['submit']) && ( ( $mode == "user" && $user_id ) || (
|
||||
$unset_mod = "";
|
||||
while( $row = $db->sql_fetchrow($result) )
|
||||
{
|
||||
$unset_mod .= ( ( $unset_mod != "" ) ? ", " : "" ) . $row['user_id'];
|
||||
echo $unset_mod .= ( ( $unset_mod != "" ) ? ", " : "" ) . $row['user_id'];
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user