mirror of
https://github.com/jellyfin/jellyfin-web.git
synced 2024-11-18 03:18:19 -07:00
175 lines
5.0 KiB
JavaScript
175 lines
5.0 KiB
JavaScript
define(['fetchHelper', 'jQuery', 'registrationServices'], function (fetchHelper, $, registrationServices) {
|
|
'use strict';
|
|
|
|
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 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 () {
|
|
|
|
var page = this;
|
|
loadUserInfo(page);
|
|
load(page);
|
|
});
|
|
|
|
}); |