mirror of
https://github.com/jellyfin/jellyfin-web.git
synced 2024-11-17 19:08:18 -07:00
188 lines
5.3 KiB
JavaScript
188 lines
5.3 KiB
JavaScript
define(['fetchHelper', 'jQuery', 'registrationservices'], function (fetchHelper, $, registrationServices) {
|
|
|
|
function load(page) {
|
|
Dashboard.showLoadingMsg();
|
|
|
|
ApiClient.getPluginSecurityInfo().then(function (info) {
|
|
|
|
$('#txtSupporterKey', page).val(info.SupporterKey);
|
|
|
|
if (info.SupporterKey && !info.IsMBSupporter) {
|
|
page.querySelector('#txtSupporterKey').classList.add('invalidEntry');
|
|
$('.notSupporter', page).show();
|
|
} else {
|
|
page.querySelector('#txtSupporterKey').classList.remove('invalidEntry');
|
|
$('.notSupporter', page).hide();
|
|
}
|
|
|
|
Dashboard.hideLoadingMsg();
|
|
});
|
|
}
|
|
|
|
function loadUserInfo(page) {
|
|
|
|
Dashboard.getPluginSecurityInfo().then(function (info) {
|
|
|
|
if (info.IsMBSupporter) {
|
|
$('.supporterContainer', page).addClass('hide');
|
|
} else {
|
|
$('.supporterContainer', page).removeClass('hide');
|
|
}
|
|
});
|
|
}
|
|
|
|
function retrieveSupporterKey() {
|
|
Dashboard.showLoadingMsg();
|
|
var form = this;
|
|
|
|
var email = $('#txtEmail', form).val();
|
|
|
|
var url = "https://mb3admin.com/admin/service/supporter/retrievekey?email=" + email;
|
|
console.log(url);
|
|
fetchHelper.ajax({
|
|
|
|
url: url,
|
|
type: 'POST',
|
|
dataType: 'json'
|
|
|
|
}).then(function (result) {
|
|
|
|
Dashboard.hideLoadingMsg();
|
|
if (result.Success) {
|
|
require(['toast'], function (toast) {
|
|
toast(Globalize.translate('MessageKeyEmailedTo').replace("{0}", email));
|
|
});
|
|
} else {
|
|
require(['toast'], function (toast) {
|
|
toast(result.ErrorMessage);
|
|
});
|
|
}
|
|
console.log(result);
|
|
|
|
});
|
|
|
|
return false;
|
|
}
|
|
|
|
var SupporterKeyPage = {
|
|
|
|
updateSupporterKey: function () {
|
|
|
|
Dashboard.showLoadingMsg();
|
|
var form = this;
|
|
|
|
var key = $('#txtSupporterKey', form).val();
|
|
|
|
var info = {
|
|
SupporterKey: key
|
|
};
|
|
|
|
ApiClient.updatePluginSecurityInfo(info).then(function () {
|
|
|
|
Dashboard.resetPluginSecurityInfo();
|
|
Dashboard.hideLoadingMsg();
|
|
|
|
if (key) {
|
|
|
|
Dashboard.alert({
|
|
message: Globalize.translate('MessageKeyUpdated'),
|
|
title: Globalize.translate('HeaderConfirmation')
|
|
});
|
|
|
|
} else {
|
|
Dashboard.alert({
|
|
message: Globalize.translate('MessageKeyRemoved'),
|
|
title: Globalize.translate('HeaderConfirmation')
|
|
});
|
|
}
|
|
|
|
var page = $(form).parents('.page')[0];
|
|
|
|
load(page);
|
|
});
|
|
|
|
return false;
|
|
},
|
|
|
|
linkSupporterKeys: function () {
|
|
|
|
Dashboard.showLoadingMsg();
|
|
var form = this;
|
|
|
|
var email = $('#txtNewEmail', form).val();
|
|
var newkey = $('#txtNewKey', form).val();
|
|
var oldkey = $('#txtOldKey', form).val();
|
|
|
|
var url = "https://mb3admin.com/admin/service/supporter/linkKeys";
|
|
console.log(url);
|
|
fetchHelper.ajax({
|
|
|
|
url: url,
|
|
type: 'POST',
|
|
dataType: 'json',
|
|
query: {
|
|
email: email,
|
|
newkey: newkey,
|
|
oldkey: oldkey
|
|
}
|
|
|
|
}).then(function (result) {
|
|
|
|
Dashboard.hideLoadingMsg();
|
|
if (result.Success) {
|
|
require(['toast'], function (toast) {
|
|
toast(Globalize.translate('MessageKeysLinked'));
|
|
});
|
|
} else {
|
|
require(['toast'], function (toast) {
|
|
toast(result.ErrorMessage);
|
|
});
|
|
}
|
|
console.log(result);
|
|
|
|
});
|
|
|
|
return false;
|
|
}
|
|
};
|
|
|
|
function getTabs() {
|
|
return [
|
|
{
|
|
href: 'about.html',
|
|
name: Globalize.translate('TabAbout')
|
|
},
|
|
{
|
|
href: 'supporterkey.html',
|
|
name: Globalize.translate('TabEmbyPremiere')
|
|
}];
|
|
}
|
|
|
|
function onSupporterLinkClick(e) {
|
|
|
|
registrationServices.showPremiereInfo();
|
|
e.preventDefault();
|
|
e.stopPropagation();
|
|
}
|
|
|
|
$(document).on('pageinit', "#supporterKeyPage", function () {
|
|
|
|
var page = this;
|
|
$('#supporterKeyForm', this).on('submit', SupporterKeyPage.updateSupporterKey);
|
|
$('#lostKeyForm', this).on('submit', retrieveSupporterKey);
|
|
$('#linkKeysForm', this).on('submit', SupporterKeyPage.linkSupporterKeys);
|
|
|
|
page.querySelector('.benefits').innerHTML = Globalize.translate('HeaderSupporterBenefit', '<a class="lnkPremiere" href="http://emby.media/premiere" target="_blank">', '</a>');
|
|
|
|
page.querySelector('.lnkPremiere').addEventListener('click', onSupporterLinkClick);
|
|
|
|
}).on('pageshow', "#supporterKeyPage", function () {
|
|
|
|
LibraryMenu.setTabs('helpadmin', 1, getTabs);
|
|
|
|
var page = this;
|
|
loadUserInfo(page);
|
|
load(page);
|
|
});
|
|
|
|
}); |