aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MediaBrowser.Common.Implementations/BaseApplicationHost.cs4
-rw-r--r--MediaBrowser.Common.Implementations/Security/PluginSecurityManager.cs10
-rw-r--r--MediaBrowser.Controller/Entities/Folder.cs4
-rw-r--r--MediaBrowser.Controller/Providers/Music/LastfmBaseProvider.cs4
-rw-r--r--MediaBrowser.WebDashboard/Html/scripts/AddPluginPage.js4
5 files changed, 17 insertions, 9 deletions
diff --git a/MediaBrowser.Common.Implementations/BaseApplicationHost.cs b/MediaBrowser.Common.Implementations/BaseApplicationHost.cs
index 1789ab298..40c91979d 100644
--- a/MediaBrowser.Common.Implementations/BaseApplicationHost.cs
+++ b/MediaBrowser.Common.Implementations/BaseApplicationHost.cs
@@ -500,14 +500,14 @@ namespace MediaBrowser.Common.Implementations
if (ConfigurationManager.CommonConfiguration.RunAtStartup)
{
//Copy our shortut into the startup folder for this user
- File.Copy(ProductShortcutPath, Environment.GetFolderPath(Environment.SpecialFolder.Startup), true);
+ File.Copy(ProductShortcutPath, Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Startup),Path.GetFileName(ProductShortcutPath) ?? "MBstartup.lnk"), true);
}
else
{
//Remove our shortcut from the startup folder for this user
try
{
- File.Delete(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Startup), Path.GetFileName(ProductShortcutPath)));
+ File.Delete(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Startup), Path.GetFileName(ProductShortcutPath) ?? "MBstartup.lnk"));
}
catch (FileNotFoundException)
{
diff --git a/MediaBrowser.Common.Implementations/Security/PluginSecurityManager.cs b/MediaBrowser.Common.Implementations/Security/PluginSecurityManager.cs
index c345e122f..6ac4d2d5d 100644
--- a/MediaBrowser.Common.Implementations/Security/PluginSecurityManager.cs
+++ b/MediaBrowser.Common.Implementations/Security/PluginSecurityManager.cs
@@ -47,6 +47,13 @@ namespace MediaBrowser.Common.Implementations.Security
private IJsonSerializer _jsonSerializer;
private IApplicationHost _appHost;
private IEnumerable<IRequiresRegistration> _registeredEntities;
+ protected IEnumerable<IRequiresRegistration> RegisteredEntities
+ {
+ get
+ {
+ return _registeredEntities ?? (_registeredEntities = _appHost.GetExports<IRequiresRegistration>());
+ }
+ }
/// <summary>
/// Initializes a new instance of the <see cref="PluginSecurityManager" /> class.
@@ -61,7 +68,6 @@ namespace MediaBrowser.Common.Implementations.Security
_appHost = appHost;
_httpClient = httpClient;
_jsonSerializer = jsonSerializer;
- _registeredEntities = _appHost.GetExports<IRequiresRegistration>();
MBRegistration.Init(appPaths);
}
@@ -74,7 +80,7 @@ namespace MediaBrowser.Common.Implementations.Security
var tasks = new List<Task>();
ResetSupporterInfo();
- tasks.AddRange(_registeredEntities.Select(i => i.LoadRegistrationInfoAsync()));
+ tasks.AddRange(RegisteredEntities.Select(i => i.LoadRegistrationInfoAsync()));
await Task.WhenAll(tasks);
}
diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs
index ef34742df..b46447f5a 100644
--- a/MediaBrowser.Controller/Entities/Folder.cs
+++ b/MediaBrowser.Controller/Entities/Folder.cs
@@ -699,9 +699,9 @@ namespace MediaBrowser.Controller.Entities
await Task.WhenAll(saveTasks).ConfigureAwait(false);
- //and save children in repo...
+ //and save children in repo... but never save virtual plugin folders as they will always be re-created by the plugin
Logger.Info("*** Saving " + newChildren.Count + " children for " + Name);
- await Kernel.Instance.ItemRepository.SaveChildren(Id, newChildren, CancellationToken.None).ConfigureAwait(false);
+ await Kernel.Instance.ItemRepository.SaveChildren(Id, newChildren.Where(c => !(c is BasePluginFolder)), CancellationToken.None).ConfigureAwait(false);
}
if (changedArgs.HasChange)
diff --git a/MediaBrowser.Controller/Providers/Music/LastfmBaseProvider.cs b/MediaBrowser.Controller/Providers/Music/LastfmBaseProvider.cs
index 97bfa4570..ff4e66da0 100644
--- a/MediaBrowser.Controller/Providers/Music/LastfmBaseProvider.cs
+++ b/MediaBrowser.Controller/Providers/Music/LastfmBaseProvider.cs
@@ -1,6 +1,7 @@
using System.Collections.Generic;
using System.Net;
using MediaBrowser.Common.Net;
+using MediaBrowser.Common.Extensions;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Model.Entities;
@@ -228,7 +229,8 @@ namespace MediaBrowser.Controller.Providers.Music
cancellationToken.ThrowIfCancellationRequested();
- if (!ConfigurationManager.Configuration.SaveLocalMeta || !HasLocalMeta(item) || (force && !HasLocalMeta(item)) || (RefreshOnVersionChange && item.ProviderData[Id].ProviderVersion != ProviderVersion))
+ var providerData = item.ProviderData.GetValueOrDefault(Id, new BaseProviderInfo { ProviderId = Id });
+ if (!ConfigurationManager.Configuration.SaveLocalMeta || !HasLocalMeta(item) || (force && !HasLocalMeta(item)) || (RefreshOnVersionChange && providerData.ProviderVersion != ProviderVersion))
{
try
{
diff --git a/MediaBrowser.WebDashboard/Html/scripts/AddPluginPage.js b/MediaBrowser.WebDashboard/Html/scripts/AddPluginPage.js
index 8b45747bb..24f7581e9 100644
--- a/MediaBrowser.WebDashboard/Html/scripts/AddPluginPage.js
+++ b/MediaBrowser.WebDashboard/Html/scripts/AddPluginPage.js
@@ -52,8 +52,8 @@
if (new Date(pkg.expDate).getTime() < new Date(1970, 1, 1).getTime()) {
regStatus += "This feature has no registration information";
} else {
- if (pkg.expDate <= new Date().getTime()) {
- regStatus += "The trial period for this feature has expired on this machine";
+ if (new Date(pkg.expDate).getTime() <= new Date().getTime()) {
+ regStatus += "The trial period for this feature has expired";
} else {
regStatus += "The trial period for this feature will expire in " + Math.round((new Date(pkg.expDate).getTime() - new Date().getTime()) / (86400000)) + " day(s)";
}