From 614c1ea4c82797a9bd5d573f3630064a93a55b3d Mon Sep 17 00:00:00 2001 From: Eric Schultz Date: Tue, 7 May 2019 17:57:32 -0500 Subject: [PATCH] Allow multiple mappings in IPBGroupMap --- includes/IPBAuth.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/includes/IPBAuth.php b/includes/IPBAuth.php index 2c386e1..861f320 100644 --- a/includes/IPBAuth.php +++ b/includes/IPBAuth.php @@ -206,9 +206,10 @@ public static function updateUser(&$user) if (is_array($groupmap)) { foreach ($groupmap as $ug_wiki => $ug_ipb) { $user_has_ug = in_array($ug_wiki, $user->getEffectiveGroups()); - if (in_array($ug_ipb, $groups) && !$user_has_ug) { + $user_needs_ug = !empty(array_uintersect((array)$ug_ipb, $groups, 'version_compare')); + if ($user_needs_ug && !$user_has_ug) { $user->addGroup($ug_wiki); - } elseif (!in_array($ug_ipb, $groups) && $user_has_ug) { + } elseif (!$user_needs_ug && $user_has_ug) { $user->removeGroup($ug_wiki); } }