diff --git a/phpBB/adm/admin_permissions.php b/phpBB/adm/admin_permissions.php index befd8aeaaa..b67315f150 100644 --- a/phpBB/adm/admin_permissions.php +++ b/phpBB/adm/admin_permissions.php @@ -240,20 +240,40 @@ switch ($submit) // Logging ... first grab user or groupnames ... - $sql = ($ug_type == 'group') ? 'SELECT group_name as name FROM ' . GROUPS_TABLE . ' WHERE group_id' : 'SELECT username as name FROM ' . USERS_TABLE . ' WHERE user_id'; + $sql = ($ug_type == 'group') ? 'SELECT group_name as name, group_type FROM ' . GROUPS_TABLE . ' WHERE group_id' : 'SELECT username as name FROM ' . USERS_TABLE . ' WHERE user_id'; $sql .= ' IN (' . implode(', ', array_map('intval', $ug_data)) . ')'; $result = $db->sql_query($sql); $l_ug_list = ''; while ($row = $db->sql_fetchrow($result)) { - $l_ug_list .= (($ug_list != '') ? ', ' : '') . $row['name']; + $l_ug_list .= (($l_ug_list != '') ? ', ' : '') . ((isset($row['group_type']) && $row['group_type'] == GROUP_SPECIAL) ? '' . $user->lang['G_' . $row['name']] . '' : $row['name']); } $db->sql_freeresult($result); foreach (array_keys($auth_settings) as $submode) { - add_log('admin', 'LOG_ACL_' . strtoupper($submode) . '_ADD', $l_ug_list); + if (!in_array(0, $forum_id[$submode])) + { + // Grab the forum details if non-zero forum_id + $sql = 'SELECT forum_name + FROM ' . FORUMS_TABLE . " + WHERE forum_id IN ($sql_forum_id)"; + $result = $db->sql_query($sql); + + $l_forum_list = ''; + while ($row = $db->sql_fetchrow($result)) + { + $l_forum_list .= (($l_forum_list != '') ? ', ' : '') . $row['forum_name']; + } + $db->sql_freeresult($result); + + add_log('admin', 'LOG_ACL_' . strtoupper($submode) . '_ADD', $l_forum_list, $l_ug_list); + } + else + { + add_log('admin', 'LOG_ACL_' . strtoupper($submode) . '_ADD', $l_ug_list); + } } unset($l_ug_list); } @@ -297,19 +317,39 @@ switch ($submit) // Logging ... first grab user or groupnames ... - $sql = ($ug_type == 'group') ? 'SELECT group_name as name FROM ' . GROUPS_TABLE . ' WHERE group_id' : 'SELECT username as name FROM ' . USERS_TABLE . ' WHERE user_id'; + $sql = ($ug_type == 'group') ? 'SELECT group_name as name, group_type FROM ' . GROUPS_TABLE . ' WHERE group_id' : 'SELECT username as name FROM ' . USERS_TABLE . ' WHERE user_id'; $sql .= ' IN (' . implode(', ', array_map('intval', $ug_data)) . ')'; $result = $db->sql_query($sql); $l_ug_list = ''; while ($row = $db->sql_fetchrow($result)) { - $l_ug_list .= (($ug_list != '') ? ', ' : '') . $row['name']; + $l_ug_list .= (($l_ug_list != '') ? ', ' : '') . ((isset($row['group_type']) && $row['group_type'] == GROUP_SPECIAL) ? '' . $user->lang['G_' . $row['name']] . '' : $row['name']); } $db->sql_freeresult($result); - add_log('admin', 'LOG_ACL_' . strtoupper($which_mode) . '_DEL', $l_ug_list); + // Grab the forum details if non-zero forum_id + if (!in_array(0, $forum_id[$which_mode])) + { + $sql = 'SELECT forum_name + FROM ' . FORUMS_TABLE . " + WHERE forum_id IN ($sql_forum_id)"; + $result = $db->sql_query($sql); + + $l_forum_list = ''; + while ($row = $db->sql_fetchrow($result)) + { + $l_forum_list .= (($l_forum_list != '') ? ', ' : '') . $row['forum_name']; + } + $db->sql_freeresult($result); + + add_log('admin', 'LOG_ACL_' . strtoupper($which_mode) . '_DEL', $l_forum_list, $l_ug_list); + } + else + { + add_log('admin', 'LOG_ACL_' . strtoupper($which_mode) . '_DEL', $l_ug_list); + } trigger_error($user->lang['AUTH_UPDATED']); break; @@ -409,11 +449,14 @@ if (in_array($mode, array('user', 'group', 'forum', 'mod')) && empty($submit))