diff --git a/modules/user/user.module b/modules/user/user.module index 92e0cee34db39c1d6029afa3f203e3b088991fb7..4ee3ae7ae5f5690ad38baa11ffeb7fcddd766fc3 100644 --- a/modules/user/user.module +++ b/modules/user/user.module @@ -1851,11 +1851,7 @@ function user_admin_perm_submit($form_id, $form_values) { // Delete, so if we clear every checkbox we reset that role; // otherwise permissions are active and denied everywhere. db_query('DELETE FROM {permission} WHERE rid = %d', $role->rid); - foreach ($form_values[$role->rid] as $key => $value) { - if (!$value) { - unset($form_values[$role->rid][$key]); - } - } + $form_values[$role->rid] = array_filter($form_values[$role->rid]); if (count($form_values[$role->rid])) { db_query("INSERT INTO {permission} (rid, perm) VALUES (%d, '%s')", $role->rid, implode(', ', array_keys($form_values[$role->rid]))); }