aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2015-02-09 01:56:45 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2015-02-09 01:56:45 -0500
commitf03f2346f387010c84159ac2d2b3b22e9cc3b5c6 (patch)
treed0b5ce8a551cc3d32b22813dfffef7a5e8a38277 /MediaBrowser.Controller
parentd5c4655361c0567d6a97b9bd68552ee654e91d62 (diff)
revise opt-in tags
Diffstat (limited to 'MediaBrowser.Controller')
-rw-r--r--MediaBrowser.Controller/Channels/Channel.cs2
-rw-r--r--MediaBrowser.Controller/Entities/BaseItem.cs27
-rw-r--r--MediaBrowser.Controller/Entities/Folder.cs2
3 files changed, 7 insertions, 24 deletions
diff --git a/MediaBrowser.Controller/Channels/Channel.cs b/MediaBrowser.Controller/Channels/Channel.cs
index ab76f4e67f..b6514ca0a6 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 75a09a7b04..89706f9177 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 fe9bea53b1..0d9bb03acf 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)
{