diff options
Diffstat (limited to 'MediaBrowser.Server.Implementations')
5 files changed, 37 insertions, 3 deletions
diff --git a/MediaBrowser.Server.Implementations/Connect/ConnectManager.cs b/MediaBrowser.Server.Implementations/Connect/ConnectManager.cs index 52c21af68..c9b690086 100644 --- a/MediaBrowser.Server.Implementations/Connect/ConnectManager.cs +++ b/MediaBrowser.Server.Implementations/Connect/ConnectManager.cs @@ -1,5 +1,6 @@ using MediaBrowser.Common.Configuration; using MediaBrowser.Common.Net; +using MediaBrowser.Common.Security; using MediaBrowser.Controller; using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Connect; @@ -38,6 +39,7 @@ namespace MediaBrowser.Server.Implementations.Connect private readonly IServerConfigurationManager _config; private readonly IUserManager _userManager; private readonly IProviderManager _providerManager; + private readonly ISecurityManager _securityManager; private ConnectData _data = new ConnectData(); @@ -102,7 +104,7 @@ namespace MediaBrowser.Server.Implementations.Connect IEncryptionManager encryption, IHttpClient httpClient, IServerApplicationHost appHost, - IServerConfigurationManager config, IUserManager userManager, IProviderManager providerManager) + IServerConfigurationManager config, IUserManager userManager, IProviderManager providerManager, ISecurityManager securityManager) { _logger = logger; _appPaths = appPaths; @@ -113,6 +115,7 @@ namespace MediaBrowser.Server.Implementations.Connect _config = config; _userManager = userManager; _providerManager = providerManager; + _securityManager = securityManager; _userManager.UserConfigurationUpdated += _userManager_UserConfigurationUpdated; _config.ConfigurationUpdated += _config_ConfigurationUpdated; @@ -1054,6 +1057,34 @@ namespace MediaBrowser.Server.Implementations.Connect } } + public async Task<ConnectSupporterSummary> GetConnectSupporterSummary() + { + if (!_securityManager.IsMBSupporter) + { + return new ConnectSupporterSummary(); + } + + var url = GetConnectUrl("keyAssociation"); + + url += "?serverId=" + ConnectServerId; + url += "&supporterKey=" + _securityManager.SupporterKey; + + var options = new HttpRequestOptions + { + Url = url, + CancellationToken = CancellationToken.None + }; + + SetServerAccessToken(options); + SetApplicationHeader(options); + + // No need to examine the response + using (var stream = (await _httpClient.SendAsync(options, "GET").ConfigureAwait(false)).Content) + { + return _json.DeserializeFromStream<ConnectSupporterSummary>(stream); + } + } + public async Task Authenticate(string username, string passwordMd5) { if (string.IsNullOrWhiteSpace(username)) diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json index d3693840a..9e0260f3c 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json @@ -36,6 +36,8 @@ "MessageKeyUpdated": "Thank you. Your supporter key has been updated.", "MessageKeyRemoved": "Thank you. Your supporter key has been removed.", "ErrorLaunchingChromecast": "There was an error launching chromecast. Please ensure your device is connected to your wireless network.", + "MessageErrorLoadingSupporterInfo": "There was an error loading supporter information. Please try again later.", + "MessageLinkYourSupporterKey": "Link your supporter key with up to {0} Media Browser Connect members to enjoy free access to the following apps:", "ValueTimeLimitSingleHour": "Time limit: 1 hour", "ValueTimeLimitMultiHour": "Time limit: {0} hours", "PluginCategoryGeneral": "General", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/server.json b/MediaBrowser.Server.Implementations/Localization/Server/server.json index 54ade1332..2f4470c96 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/server.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/server.json @@ -48,6 +48,8 @@ "LabelDashboardSourcePathHelp": "If running the server from source, specify the path to the dashboard-ui folder. All web client files will be served from this location.", "ButtonConvertMedia": "Convert media", "ButtonOrganize": "Organize", + "LinkedToMediaBrowserConnect": "Linked to Media Browser Connect", + "HeaderSupporterBenefits": "Supporter Benefits", "LabelPinCode": "Pin code:", "ButtonOk": "Ok", "ButtonCancel": "Cancel", diff --git a/MediaBrowser.Server.Implementations/Sync/ServerSyncScheduledTask.cs b/MediaBrowser.Server.Implementations/Sync/ServerSyncScheduledTask.cs index 33b1e13bd..148602bd4 100644 --- a/MediaBrowser.Server.Implementations/Sync/ServerSyncScheduledTask.cs +++ b/MediaBrowser.Server.Implementations/Sync/ServerSyncScheduledTask.cs @@ -59,7 +59,7 @@ namespace MediaBrowser.Server.Implementations.Sync { return new ITaskTrigger[] { - new IntervalTrigger { Interval = TimeSpan.FromHours(6) } + new IntervalTrigger { Interval = TimeSpan.FromHours(3) } }; } diff --git a/MediaBrowser.Server.Implementations/Sync/SyncManager.cs b/MediaBrowser.Server.Implementations/Sync/SyncManager.cs index 5540c3d59..6e55688a8 100644 --- a/MediaBrowser.Server.Implementations/Sync/SyncManager.cs +++ b/MediaBrowser.Server.Implementations/Sync/SyncManager.cs @@ -15,7 +15,6 @@ using MediaBrowser.Controller.MediaEncoding; using MediaBrowser.Controller.Playlists; using MediaBrowser.Controller.Sync; using MediaBrowser.Controller.TV; -using MediaBrowser.Model.Dlna; using MediaBrowser.Model.Dto; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Events; |
