diff options
Diffstat (limited to 'OpenSim/Framework/EstateSettings.cs')
-rw-r--r-- | OpenSim/Framework/EstateSettings.cs | 37 |
1 files changed, 25 insertions, 12 deletions
diff --git a/OpenSim/Framework/EstateSettings.cs b/OpenSim/Framework/EstateSettings.cs index 3aec437..4c9f6e9 100644 --- a/OpenSim/Framework/EstateSettings.cs +++ b/OpenSim/Framework/EstateSettings.cs | |||
@@ -363,30 +363,43 @@ namespace OpenSim.Framework | |||
363 | return false; | 363 | return false; |
364 | } | 364 | } |
365 | 365 | ||
366 | public bool IsBanned(UUID avatarID) | ||
367 | { | ||
368 | if (!IsEstateManagerOrOwner(avatarID)) | ||
369 | { | ||
370 | foreach (EstateBan ban in l_EstateBans) | ||
371 | if (ban.BannedUserID == avatarID) | ||
372 | return true; | ||
373 | } | ||
374 | return false; | ||
375 | } | ||
376 | |||
366 | public bool IsBanned(UUID avatarID, int userFlags) | 377 | public bool IsBanned(UUID avatarID, int userFlags) |
367 | { | 378 | { |
368 | foreach (EstateBan ban in l_EstateBans) | 379 | if (!IsEstateManagerOrOwner(avatarID)) |
380 | { | ||
381 | foreach (EstateBan ban in l_EstateBans) | ||
369 | if (ban.BannedUserID == avatarID) | 382 | if (ban.BannedUserID == avatarID) |
370 | return true; | 383 | return true; |
371 | 384 | ||
372 | if (!IsEstateManagerOrOwner(avatarID) && !HasAccess(avatarID)) | 385 | if (!HasAccess(avatarID)) |
373 | { | ||
374 | if (DenyMinors) | ||
375 | { | 386 | { |
376 | if ((userFlags & 32) == 0) | 387 | if (DenyMinors) |
377 | { | 388 | { |
378 | return true; | 389 | if ((userFlags & 32) == 0) |
390 | { | ||
391 | return true; | ||
392 | } | ||
379 | } | 393 | } |
380 | } | 394 | if (DenyAnonymous) |
381 | if (DenyAnonymous) | ||
382 | { | ||
383 | if ((userFlags & 4) == 0) | ||
384 | { | 395 | { |
385 | return true; | 396 | if ((userFlags & 4) == 0) |
397 | { | ||
398 | return true; | ||
399 | } | ||
386 | } | 400 | } |
387 | } | 401 | } |
388 | } | 402 | } |
389 | |||
390 | return false; | 403 | return false; |
391 | } | 404 | } |
392 | 405 | ||