|
|
|
@ -1586,18 +1586,24 @@ namespace MediaBrowser.Controller.Entities
|
|
|
|
|
list.AddRange(parent.Tags);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
foreach (var folder in LibraryManager.GetCollectionFolders(this))
|
|
|
|
|
{
|
|
|
|
|
list.AddRange(folder.Tags);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return list.Distinct(StringComparer.OrdinalIgnoreCase).ToList();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private bool IsVisibleViaTags(User user)
|
|
|
|
|
{
|
|
|
|
|
if (user.GetPreference(PreferenceKind.BlockedTags).Any(i => Tags.Contains(i, StringComparison.OrdinalIgnoreCase)))
|
|
|
|
|
var allTags = GetInheritedTags();
|
|
|
|
|
if (user.GetPreference(PreferenceKind.BlockedTags).Any(i => allTags.Contains(i, StringComparison.OrdinalIgnoreCase)))
|
|
|
|
|
{
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var allowedTagsPreference = user.GetPreference(PreferenceKind.AllowedTags);
|
|
|
|
|
if (allowedTagsPreference.Any() && !allowedTagsPreference.Any(i => Tags.Contains(i, StringComparison.OrdinalIgnoreCase)))
|
|
|
|
|
if (allowedTagsPreference.Length != 0 && !allowedTagsPreference.Any(i => allTags.Contains(i, StringComparison.OrdinalIgnoreCase)))
|
|
|
|
|
{
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|