| @@ 226-241 (lines=16) @@ | ||
| 223 | } |
|
| 224 | ||
| 225 | return $required == $matches; |
|
| 226 | case self::MODE_NONE: |
|
| 227 | // There must be no overlap between any of the array values |
|
| 228 | ||
| 229 | foreach ($auth as $set => $values) { |
|
| 230 | if (isset($attr[$set]) && count( |
|
| 231 | array_intersect( |
|
| 232 | (array)$attr[$set], |
|
| 233 | $values |
|
| 234 | ) |
|
| 235 | ) |
|
| 236 | ) { |
|
| 237 | return false; |
|
| 238 | } |
|
| 239 | } |
|
| 240 | ||
| 241 | return true; |
|
| 242 | case self::MODE_OR: |
|
| 243 | // At least one match must be present |
|
| 244 | foreach ($auth as $set => $values) { |
|
| @@ 242-256 (lines=15) @@ | ||
| 239 | } |
|
| 240 | ||
| 241 | return true; |
|
| 242 | case self::MODE_OR: |
|
| 243 | // At least one match must be present |
|
| 244 | foreach ($auth as $set => $values) { |
|
| 245 | if (isset($attr[$set]) && count( |
|
| 246 | array_intersect( |
|
| 247 | (array)$attr[$set], |
|
| 248 | $values |
|
| 249 | ) |
|
| 250 | ) |
|
| 251 | ) { |
|
| 252 | return true; |
|
| 253 | } |
|
| 254 | } |
|
| 255 | ||
| 256 | return false; |
|
| 257 | default: |
|
| 258 | throw new \InvalidArgumentException('Durrrr'); |
|
| 259 | } |
|