From: Matthias Schmidt Date: Tue, 27 Dec 2016 13:32:50 +0000 (+0100) Subject: Fix MultiSelectOptionType::checkUser() X-Git-Tag: 3.0.0_RC_3~25^2~1 X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=bff09daf03ad85a1164cb8cd099b389a99876bcd;p=GitHub%2FWoltLab%2FWCF.git Fix MultiSelectOptionType::checkUser() --- diff --git a/wcfsetup/install/files/lib/system/option/MultiSelectOptionType.class.php b/wcfsetup/install/files/lib/system/option/MultiSelectOptionType.class.php index 61a41a1194..6578ad2f84 100644 --- a/wcfsetup/install/files/lib/system/option/MultiSelectOptionType.class.php +++ b/wcfsetup/install/files/lib/system/option/MultiSelectOptionType.class.php @@ -106,9 +106,10 @@ class MultiSelectOptionType extends SelectOptionType { public function checkUser(User $user, Option $option, $value) { if (!is_array($value) || empty($value)) return false; - $optionValues = explode('\n', $user->getUserOption($option->optionName)); + $optionValues = explode("\n", $user->getUserOption($option->optionName)); - return count(array_diff($optionValues, $value)) > 0; + // check if the user has selected all options in $value array + return count(array_intersect($value, $optionValues)) === count($value); } /**