| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 | using MediaBrowser.Common.Configuration;using MediaBrowser.Controller.Entities;using MediaBrowser.Controller.Playlists;using System.Collections.Generic;using System.IO;using System.Linq;using CommonIO;using MediaBrowser.Common.IO;namespace MediaBrowser.Server.Implementations.Playlists{    public class PlaylistsFolder : BasePluginFolder    {        public PlaylistsFolder()        {            Name = "Playlists";        }        public override bool IsVisible(User user)        {            return base.IsVisible(user) && GetChildren(user, false).Any();        }        protected override IEnumerable<BaseItem> GetEligibleChildrenForRecursiveChildren(User user)        {            return GetRecursiveChildren(i => i is Playlist);        }        public override bool IsHidden        {            get            {                return true;            }        }        public override string CollectionType        {            get { return Model.Entities.CollectionType.Playlists; }        }    }    public class PlaylistsDynamicFolder : IVirtualFolderCreator    {        private readonly IApplicationPaths _appPaths;        private readonly IFileSystem _fileSystem;        public PlaylistsDynamicFolder(IApplicationPaths appPaths, IFileSystem fileSystem)        {            _appPaths = appPaths;            _fileSystem = fileSystem;        }        public BasePluginFolder GetFolder()        {            var path = Path.Combine(_appPaths.DataPath, "playlists");			_fileSystem.CreateDirectory(path);            return new PlaylistsFolder            {                Path = path            };        }    }}
 |