فهرست منبع

update inherited images

Luke Pulverenti 8 سال پیش
والد
کامیت
dcaf8356e6

+ 2 - 2
Emby.Server.Implementations/Data/SqliteItemRepository.cs

@@ -3758,10 +3758,10 @@ namespace Emby.Server.Implementations.Data
 
             if (query.MinDateLastSavedForUser.HasValue)
             {
-                whereClauses.Add("DateLastSaved>=@MinDateLastSaved");
+                whereClauses.Add("DateLastSaved>=@MinDateLastSavedForUser");
                 if (statement != null)
                 {
-                    statement.TryBind("@MinDateLastSaved", query.MinDateLastSavedForUser.Value);
+                    statement.TryBind("@MinDateLastSavedForUser", query.MinDateLastSavedForUser.Value);
                 }
             }
 

+ 12 - 5
Emby.Server.Implementations/Dto/DtoService.cs

@@ -1464,9 +1464,9 @@ namespace Emby.Server.Implementations.Dto
             }
         }
 
-        private BaseItem GetImageDisplayParent(BaseItem item)
+        private BaseItem GetImageDisplayParent(BaseItem currentItem, BaseItem originalItem)
         {
-            var musicAlbum = item as MusicAlbum;
+            var musicAlbum = currentItem as MusicAlbum;
             if (musicAlbum != null)
             {
                 var artist = musicAlbum.GetMusicArtist(new DtoOptions(false));
@@ -1476,7 +1476,14 @@ namespace Emby.Server.Implementations.Dto
                 }
             }
 
-            return item.DisplayParent ?? item.GetParent();
+            var parent = currentItem.DisplayParent ?? currentItem.GetParent();
+
+            if (parent == null && !(originalItem is UserRootFolder) && !(originalItem is UserView) && !(originalItem is AggregateFolder) && !(originalItem is ICollectionFolder) && !(originalItem is Channel))
+            {
+                parent = _libraryManager.GetCollectionFolders(originalItem).FirstOrDefault();
+            }
+
+            return parent;
         }
 
         private void AddInheritedImages(BaseItemDto dto, BaseItem item, DtoOptions options, BaseItem owner)
@@ -1503,7 +1510,7 @@ namespace Emby.Server.Implementations.Dto
             var isFirst = true;
 
             while (((!dto.HasLogo && logoLimit > 0) || (!dto.HasArtImage && artLimit > 0) || (!dto.HasThumb && thumbLimit > 0) || parent is Series) &&
-                (parent = parent ?? (isFirst ? GetImageDisplayParent(item) ?? owner : parent)) != null)
+                (parent = parent ?? (isFirst ? GetImageDisplayParent(item, item) ?? owner : parent)) != null)
             {
                 if (parent == null)
                 {
@@ -1560,7 +1567,7 @@ namespace Emby.Server.Implementations.Dto
                     break;
                 }
 
-                parent = GetImageDisplayParent(parent);
+                parent = GetImageDisplayParent(parent, item);
             }
         }
 

+ 2 - 0
Emby.Server.Implementations/Session/SessionManager.cs

@@ -1622,6 +1622,8 @@ namespace Emby.Server.Implementations.Session
                 TranscodingInfo = session.NowPlayingItem == null ? null : session.TranscodingInfo
             };
 
+            dto.ServerId = _appHost.SystemId;
+
             if (session.UserId.HasValue)
             {
                 dto.UserId = session.UserId.Value.ToString("N");

+ 9 - 0
MediaBrowser.Controller/Channels/Channel.cs

@@ -32,6 +32,15 @@ namespace MediaBrowser.Controller.Channels
             return base.IsVisible(user);
         }
 
+        [IgnoreDataMember]
+        public override bool SupportsInheritedParentImages
+        {
+            get
+            {
+                return false;
+            }
+        }
+
         [IgnoreDataMember]
         public override SourceType SourceType
         {

+ 11 - 0
MediaBrowser.Controller/Collections/ManualCollectionsFolder.cs

@@ -1,4 +1,5 @@
 using MediaBrowser.Controller.Entities;
+using MediaBrowser.Model.Serialization;
 
 namespace MediaBrowser.Controller.Collections
 {
@@ -18,11 +19,21 @@ namespace MediaBrowser.Controller.Collections
             }
         }
 
+        [IgnoreDataMember]
+        public override bool SupportsInheritedParentImages
+        {
+            get
+            {
+                return false;
+            }
+        }
+
         public bool IsHiddenFromUser(User user)
         {
             return !ConfigurationManager.Configuration.DisplayCollectionsView;
         }
 
+        [IgnoreDataMember]
         public override string CollectionType
         {
             get { return Model.Entities.CollectionType.BoxSets; }

+ 9 - 0
MediaBrowser.Controller/Entities/Audio/MusicArtist.cs

@@ -35,6 +35,15 @@ namespace MediaBrowser.Controller.Entities.Audio
             }
         }
 
+        [IgnoreDataMember]
+        public override bool SupportsInheritedParentImages
+        {
+            get
+            {
+                return false;
+            }
+        }
+
         [IgnoreDataMember]
         public override bool SupportsCumulativeRunTimeTicks
         {

+ 10 - 0
MediaBrowser.Controller/Entities/BasePluginFolder.cs

@@ -9,6 +9,7 @@ namespace MediaBrowser.Controller.Entities
     /// </summary>
     public abstract class BasePluginFolder : Folder, ICollectionFolder
     {
+        [IgnoreDataMember]
         public virtual string CollectionType
         {
             get { return null; }
@@ -24,6 +25,15 @@ namespace MediaBrowser.Controller.Entities
             return true;
         }
 
+        [IgnoreDataMember]
+        public override bool SupportsInheritedParentImages
+        {
+            get
+            {
+                return false;
+            }
+        }
+
         [IgnoreDataMember]
         public override bool SupportsPeople
         {

+ 9 - 0
MediaBrowser.Controller/Entities/CollectionFolder.cs

@@ -49,6 +49,15 @@ namespace MediaBrowser.Controller.Entities
             }
         }
 
+        [IgnoreDataMember]
+        public override bool SupportsInheritedParentImages
+        {
+            get
+            {
+                return false;
+            }
+        }
+
         public override bool CanDelete()
         {
             return false;

+ 9 - 0
MediaBrowser.Controller/Entities/Folder.cs

@@ -65,6 +65,15 @@ namespace MediaBrowser.Controller.Entities
             get { return false; }
         }
 
+        [IgnoreDataMember]
+        public override bool SupportsInheritedParentImages
+        {
+            get
+            {
+                return true;
+            }
+        }
+
         [IgnoreDataMember]
         public override bool SupportsPlayedStatus
         {

+ 9 - 0
MediaBrowser.Controller/Entities/GameSystem.cs

@@ -35,6 +35,15 @@ namespace MediaBrowser.Controller.Entities
             }
         }
 
+        [IgnoreDataMember]
+        public override bool SupportsInheritedParentImages
+        {
+            get
+            {
+                return false;
+            }
+        }
+
         /// <summary>
         /// Gets or sets the game system.
         /// </summary>

+ 10 - 0
MediaBrowser.Controller/Entities/Movies/BoxSet.cs

@@ -29,6 +29,7 @@ namespace MediaBrowser.Controller.Entities.Movies
             Shares = new List<Share>();
         }
 
+        [IgnoreDataMember]
         protected override bool FilterLinkedChildrenPerUser
         {
             get
@@ -37,6 +38,15 @@ namespace MediaBrowser.Controller.Entities.Movies
             }
         }
 
+        [IgnoreDataMember]
+        public override bool SupportsInheritedParentImages
+        {
+            get
+            {
+                return false;
+            }
+        }
+
         public List<Guid> LocalTrailerIds { get; set; }
         public List<Guid> RemoteTrailerIds { get; set; }
 

+ 9 - 0
MediaBrowser.Controller/Entities/PhotoAlbum.cs

@@ -21,5 +21,14 @@ namespace MediaBrowser.Controller.Entities
                 return false;
             }
         }
+
+        [IgnoreDataMember]
+        public override bool SupportsInheritedParentImages
+        {
+            get
+            {
+                return false;
+            }
+        }
     }
 }

+ 9 - 0
MediaBrowser.Controller/Entities/TV/Series.cs

@@ -53,6 +53,15 @@ namespace MediaBrowser.Controller.Entities.TV
             }
         }
 
+        [IgnoreDataMember]
+        public override bool SupportsInheritedParentImages
+        {
+            get
+            {
+                return false;
+            }
+        }
+
         public List<Guid> LocalTrailerIds { get; set; }
         public List<Guid> RemoteTrailerIds { get; set; }
 

+ 9 - 0
MediaBrowser.Controller/Entities/UserRootFolder.cs

@@ -33,6 +33,15 @@ namespace MediaBrowser.Controller.Entities
             }
         }
 
+        [IgnoreDataMember]
+        public override bool SupportsInheritedParentImages
+        {
+            get
+            {
+                return false;
+            }
+        }
+
         [IgnoreDataMember]
         public override bool SupportsPlayedStatus
         {

+ 9 - 0
MediaBrowser.Controller/Entities/UserView.cs

@@ -40,6 +40,15 @@ namespace MediaBrowser.Controller.Entities
             return list;
         }
 
+        [IgnoreDataMember]
+        public override bool SupportsInheritedParentImages
+        {
+            get
+            {
+                return false;
+            }
+        }
+
         [IgnoreDataMember]
         public override bool SupportsPlayedStatus
         {

+ 9 - 0
MediaBrowser.Controller/Entities/Video.cs

@@ -43,6 +43,15 @@ namespace MediaBrowser.Controller.Entities
             }
         }
 
+        [IgnoreDataMember]
+        public override bool SupportsInheritedParentImages
+        {
+            get
+            {
+                return true;
+            }
+        }
+
         [IgnoreDataMember]
         public override bool SupportsPositionTicksResume
         {

+ 9 - 0
MediaBrowser.Controller/LiveTv/RecordingGroup.cs

@@ -26,6 +26,15 @@ namespace MediaBrowser.Controller.LiveTv
             }
         }
 
+        [IgnoreDataMember]
+        public override bool SupportsInheritedParentImages
+        {
+            get
+            {
+                return false;
+            }
+        }
+
         [IgnoreDataMember]
         public override SourceType SourceType
         {

+ 9 - 0
MediaBrowser.Controller/Playlists/Playlist.cs

@@ -32,6 +32,15 @@ namespace MediaBrowser.Controller.Playlists
             }
         }
 
+        [IgnoreDataMember]
+        public override bool SupportsInheritedParentImages
+        {
+            get
+            {
+                return false;
+            }
+        }
+
         [IgnoreDataMember]
         public override bool SupportsPlayedStatus
         {

+ 2 - 1
MediaBrowser.Model/Session/PlaystateCommand.cs

@@ -37,6 +37,7 @@ namespace MediaBrowser.Model.Session
         /// <summary>
         /// The fast forward
         /// </summary>
-        FastForward
+        FastForward,
+        PlayPause
     }
 }

+ 2 - 0
MediaBrowser.Model/Session/SessionInfoDto.cs

@@ -26,6 +26,8 @@ namespace MediaBrowser.Model.Session
         /// <value>The id.</value>
         public string Id { get; set; }
 
+        public string ServerId { get; set; }
+
         /// <summary>
         /// Gets or sets the user id.
         /// </summary>

+ 9 - 0
MediaBrowser.Server.Implementations/Devices/CameraUploadsFolder.cs

@@ -33,6 +33,15 @@ namespace MediaBrowser.Server.Implementations.Devices
             get { return Model.Entities.CollectionType.Photos; }
         }
 
+        [IgnoreDataMember]
+        public override bool SupportsInheritedParentImages
+        {
+            get
+            {
+                return false;
+            }
+        }
+
         public override string GetClientTypeName()
         {
             return typeof(CollectionFolder).Name;

+ 9 - 0
MediaBrowser.Server.Implementations/Playlists/ManualPlaylistsFolder.cs

@@ -37,6 +37,15 @@ namespace MediaBrowser.Server.Implementations.Playlists
             }
         }
 
+        [IgnoreDataMember]
+        public override bool SupportsInheritedParentImages
+        {
+            get
+            {
+                return false;
+            }
+        }
+
         [IgnoreDataMember]
         public override string CollectionType
         {

+ 1 - 1
SharedVersion.cs

@@ -1,3 +1,3 @@
 using System.Reflection;
 
-[assembly: AssemblyVersion("3.2.20.16")]
+[assembly: AssemblyVersion("3.2.20.17")]