aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Entities/BaseItem.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Controller/Entities/BaseItem.cs')
-rw-r--r--MediaBrowser.Controller/Entities/BaseItem.cs20
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>