diff options
Diffstat (limited to 'MediaBrowser.Controller/Entities/BaseItem.cs')
| -rw-r--r-- | MediaBrowser.Controller/Entities/BaseItem.cs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs index 0b61262dc..990ea49f6 100644 --- a/MediaBrowser.Controller/Entities/BaseItem.cs +++ b/MediaBrowser.Controller/Entities/BaseItem.cs @@ -1073,6 +1073,11 @@ namespace MediaBrowser.Controller.Entities throw new ArgumentNullException("user"); } + if (!IsVisibleViaTags(user)) + { + return false; + } + var maxAllowedRating = user.Configuration.MaxParentalRating; if (maxAllowedRating == null) @@ -1103,6 +1108,21 @@ namespace MediaBrowser.Controller.Entities return value.Value <= maxAllowedRating.Value; } + private bool IsVisibleViaTags(User user) + { + var hasTags = this as IHasTags; + + if (hasTags != null) + { + if (user.Configuration.BlockedTags.Any(i => hasTags.Tags.Contains(i, StringComparer.OrdinalIgnoreCase))) + { + return false; + } + } + + return true; + } + /// <summary> /// Gets the block unrated value. /// </summary> |
