1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-01-17 22:28:46 +01:00

[ticket/16973] Use actual role ids for comparison of orphaned roles

PHPBB3-16973
This commit is contained in:
Marc Alexander 2022-03-17 18:12:35 +01:00
parent 2e37b2dc2d
commit 91f2f2c6f1
No known key found for this signature in database
GPG Key ID: 50E0D2423696F995

View File

@ -30,13 +30,17 @@ class remove_orphaned_roles extends \phpbb\db\migration\migration
public function acl_remove_orphaned_roles()
{
$role_ids = [];
$auth_role_ids = [];
$sql = 'SELECT auth_role_id
FROM ' . ACL_GROUPS_TABLE . '
WHERE auth_role_id <> 0
AND forum_id = 0';
$result = $this->db->sql_query($sql);
$auth_role_ids = array_keys($this->db->sql_fetchrowset($result));
while ($row = $this->db->sql_fetchrow($result))
{
$auth_role_ids[] = $row['auth_role_id'];
}
$this->db->sql_freeresult($result);
if (count($auth_role_ids))
@ -45,7 +49,10 @@ class remove_orphaned_roles extends \phpbb\db\migration\migration
FROM ' . ACL_ROLES_TABLE . '
WHERE ' . $this->db->sql_in_set('role_id', $auth_role_ids);
$result = $this->db->sql_query($sql);
$role_ids = array_keys($this->db->sql_fetchrowset($result));
while ($row = $this->db->sql_fetchrow($result))
{
$role_ids[] = $row['role_id'];
}
$this->db->sql_freeresult($result);
}