| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 | using MediaBrowser.Common.Configuration;using MediaBrowser.Controller.Entities;using System.IO;using System.Linq;namespace MediaBrowser.Server.Implementations.Collections{    public class CollectionsDynamicFolder : IVirtualFolderCreator    {        private readonly IApplicationPaths _appPaths;        public CollectionsDynamicFolder(IApplicationPaths appPaths)        {            _appPaths = appPaths;        }        public BasePluginFolder GetFolder()        {            var path = Path.Combine(_appPaths.DataPath, "collections");            Directory.CreateDirectory(path);            return new ManualCollectionsFolder            {                Path = path            };        }    }    public class ManualCollectionsFolder : BasePluginFolder    {        public ManualCollectionsFolder()        {            Name = "Collections";        }        public override bool IsVisible(User user)        {            if (!GetChildren(user, true).Any())            {                return false;            }            return base.IsVisible(user);        }        public override bool IsHidden        {            get            {                return !ActualChildren.Any() || base.IsHidden;            }        }    }}
 |