diff options
Diffstat (limited to 'MediaBrowser.Controller')
| -rw-r--r-- | MediaBrowser.Controller/Channels/Channel.cs | 2 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Entities/BaseItem.cs | 27 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Entities/Folder.cs | 2 |
3 files changed, 7 insertions, 24 deletions
diff --git a/MediaBrowser.Controller/Channels/Channel.cs b/MediaBrowser.Controller/Channels/Channel.cs index ab76f4e67..b6514ca0a 100644 --- a/MediaBrowser.Controller/Channels/Channel.cs +++ b/MediaBrowser.Controller/Channels/Channel.cs @@ -74,7 +74,7 @@ namespace MediaBrowser.Controller.Channels return false; } - protected override bool IsTagFilterEnforced(TagFilterMode mode) + protected override bool IsAllowTagFilterEnforced() { return false; } diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs index 75a09a7b0..89706f917 100644 --- a/MediaBrowser.Controller/Entities/BaseItem.cs +++ b/MediaBrowser.Controller/Entities/BaseItem.cs @@ -1080,31 +1080,14 @@ namespace MediaBrowser.Controller.Entities if (hasTags != null) { - if (user.Policy.TagFilters.Any(i => !IsTagFilterAccepted(hasTags, i))) + var policy = user.Policy; + if (policy.BlockedTags.Any(i => hasTags.Tags.Contains(i, StringComparer.OrdinalIgnoreCase))) { return false; } - } - - return true; - } - - private bool IsTagFilterAccepted(IHasTags hasTags, TagFilter filter) - { - if (IsTagFilterEnforced(filter.Mode)) - { - if (filter.Mode == TagFilterMode.Block) - { - // If content has the tag, it's not allowed - if (hasTags.Tags.Contains(filter.Tag, StringComparer.OrdinalIgnoreCase)) - { - return false; - } - } - else if (filter.Mode == TagFilterMode.Allow) + if (policy.AllowedTags.Length > 0 && IsAllowTagFilterEnforced()) { - // If content doesn't have the tag, it's not allowed - if (!hasTags.Tags.Contains(filter.Tag, StringComparer.OrdinalIgnoreCase)) + if (policy.AllowedTags.Any(i => !hasTags.Tags.Contains(i, StringComparer.OrdinalIgnoreCase))) { return false; } @@ -1114,7 +1097,7 @@ namespace MediaBrowser.Controller.Entities return true; } - protected virtual bool IsTagFilterEnforced(TagFilterMode mode) + protected virtual bool IsAllowTagFilterEnforced() { return true; } diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs index fe9bea53b..0d9bb03ac 100644 --- a/MediaBrowser.Controller/Entities/Folder.cs +++ b/MediaBrowser.Controller/Entities/Folder.cs @@ -80,7 +80,7 @@ namespace MediaBrowser.Controller.Entities } } - protected override bool IsTagFilterEnforced(TagFilterMode mode) + protected override bool IsAllowTagFilterEnforced() { if (this is ICollectionFolder) { |
