|
|
@@ -1183,7 +1183,7 @@ function loadMarketplaceThemesItems(themes){
|
|
|
<td>`+v.category+`</td>
|
|
|
<td>`+v.status+`</td>
|
|
|
<td style="text-align:center"><button type="button" onclick='aboutTheme(`+JSON.stringify(v)+`);' class="btn btn-success btn-outline btn-circle btn-lg popup-with-form" href="#about-theme-form" data-effect="mfp-3d-unfold"><i class="fa fa-info"></i></button></td>
|
|
|
- <td style="text-align:center"><button type="button" onclick='installTheme(`+JSON.stringify(v)+`);' class="btn btn-info btn-outline btn-circle btn-lg"><i class="`+installButton+`"></i></button></td>
|
|
|
+ <td style="text-align:center"><button type="button" onclick='installTheme(`+JSON.stringify(v)+`);themeAnalytics("`+ v.name +`");' class="btn btn-info btn-outline btn-circle btn-lg"><i class="`+installButton+`"></i></button></td>
|
|
|
<td style="text-align:center"><button type="button" onclick='removeTheme(`+JSON.stringify(v)+`);' class="btn btn-danger btn-outline btn-circle btn-lg" `+removeButton+`><i class="fa fa-trash"></i></button></td>
|
|
|
</tr>
|
|
|
`;
|
|
|
@@ -1483,7 +1483,6 @@ function installTheme(theme=null){
|
|
|
orgErrorAlert('<h4>' + e + '</h4>' + formatDebug(data));
|
|
|
return false;
|
|
|
}
|
|
|
- console.log(data);
|
|
|
if(html.data.substr(0, 7) == 'Success'){
|
|
|
var newThemes = html.data.split('!@!');
|
|
|
activeInfo.settings.misc.installedThemes = newThemes[1];
|
|
|
@@ -1895,6 +1894,8 @@ function checkTabHomepageItem(id, name, url, urlLocal){
|
|
|
addEditHomepageItem(id,'Plex');
|
|
|
}else if(name.includes('emby') || url.includes('emby') || urlLocal.includes('emby')){
|
|
|
addEditHomepageItem(id,'Emby');
|
|
|
+ }else if(name.includes('jdownloader') || url.includes('jdownloader') || urlLocal.includes('jdownloader')){
|
|
|
+ addEditHomepageItem(id,'jDownloader');
|
|
|
}else if(name.includes('sab') || url.includes('sab') || urlLocal.includes('sab')){
|
|
|
addEditHomepageItem(id,'SabNZBD');
|
|
|
}else if(name.includes('nzbget') || url.includes('nzbget') || urlLocal.includes('nzbget')){
|
|
|
@@ -3287,15 +3288,24 @@ function sponsorAbout(id,array){
|
|
|
function buildSponsor(array){
|
|
|
var sponsors = '';
|
|
|
$.each(array, function(i,v) {
|
|
|
- var sponsorAboutModal = (v.about) ? 'data-toggle="modal" data-target="#sponsor-'+i+'-modal"' : 'onclick="window.open(\''+ v.website +'\', \'_blank\')"';
|
|
|
+ var hasCoupon = '';
|
|
|
+ if(v.about){
|
|
|
+ if(v.coupon){
|
|
|
+ hasCoupon = `
|
|
|
+ <span class="text-center has-coupon-text">Has Coupon</span>
|
|
|
+ <span class="text-center has-coupon"><i class="fa fa-ticket" aria-hidden="true"></i></span>
|
|
|
+ `;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ var sponsorAboutModal = (v.about) ? 'data-toggle="modal" data-target="#sponsor-'+i+'-modal" onclick="sponsorAnalytics(\''+v.company_name+'\');"' : 'onclick="window.open(\''+ v.website +'\', \'_blank\');sponsorAnalytics(\''+v.company_name+'\');"';
|
|
|
sponsors += `
|
|
|
<!-- /.usercard -->
|
|
|
<div class="item lazyload recent-sponsor mouse imageSource mouse" `+sponsorAboutModal+` data-src="`+v.logo+`">
|
|
|
<span class="elip recent-title">`+v.company_name+`</span>
|
|
|
+ `+ hasCoupon +`
|
|
|
</div>
|
|
|
<!-- /.usercard-->
|
|
|
`;
|
|
|
-
|
|
|
});
|
|
|
sponsors += `
|
|
|
<!-- /.usercard -->
|
|
|
@@ -3315,6 +3325,46 @@ function buildSponsorModal(array){
|
|
|
});
|
|
|
return sponsors;
|
|
|
}
|
|
|
+function sponsorAnalytics(sponsor_name){
|
|
|
+ var uuid = activeInfo.settings.misc.uuid;
|
|
|
+ $.ajax({
|
|
|
+ type: 'POST',
|
|
|
+ url: 'https://api.organizr.app/',
|
|
|
+ data: {
|
|
|
+ 'sponsor_name': sponsor_name,
|
|
|
+ 'user_uuid': uuid,
|
|
|
+ 'cmd': 'sponsor'
|
|
|
+ },
|
|
|
+ cache: false,
|
|
|
+ async: true,
|
|
|
+ complete: function(xhr, status) {
|
|
|
+ if (xhr.status === 200) {
|
|
|
+ var result = $.parseJSON(xhr.responseText);
|
|
|
+ console.log(result.response.message);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+}
|
|
|
+function themeAnalytics(theme_name){
|
|
|
+ var uuid = activeInfo.settings.misc.uuid;
|
|
|
+ $.ajax({
|
|
|
+ type: 'POST',
|
|
|
+ url: 'https://api.organizr.app/',
|
|
|
+ data: {
|
|
|
+ 'theme_name': theme_name,
|
|
|
+ 'user_uuid': uuid,
|
|
|
+ 'cmd': 'theme'
|
|
|
+ },
|
|
|
+ cache: false,
|
|
|
+ async: true,
|
|
|
+ complete: function(xhr, status) {
|
|
|
+ if (xhr.status === 200) {
|
|
|
+ var result = $.parseJSON(xhr.responseText);
|
|
|
+ console.log(result.response.message);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+}
|
|
|
function updateBar(){
|
|
|
return `
|
|
|
<div class="white-box m-0">
|
|
|
@@ -4359,6 +4409,7 @@ function buildRecent(array, type){
|
|
|
`+dropdownMenu+`
|
|
|
<hr class="hidden-xs"><div class="clearfix"></div>
|
|
|
</div>
|
|
|
+ <div class="clearfix"></div>
|
|
|
`;
|
|
|
}else{
|
|
|
var header = `
|
|
|
@@ -4455,6 +4506,7 @@ function buildPlaylist(array, type){
|
|
|
</div>
|
|
|
<hr class="hidden-xs"><div class="clearfix"></div>
|
|
|
</div>
|
|
|
+ <div class="clearfix"></div>
|
|
|
`;
|
|
|
}else{
|
|
|
var header = `
|
|
|
@@ -4537,6 +4589,7 @@ function buildRequest(array){
|
|
|
</div>
|
|
|
<hr class="hidden-xs"><div class="clearfix"></div>
|
|
|
</div>
|
|
|
+ <div class="clearfix"></div>
|
|
|
`;
|
|
|
}else{
|
|
|
var header = `
|
|
|
@@ -4852,6 +4905,67 @@ function buildDownloaderItem(array, source, type='none'){
|
|
|
var history = '';
|
|
|
var count = 0;
|
|
|
switch (source) {
|
|
|
+ case 'jdownloader':
|
|
|
+ if(array.content === false){
|
|
|
+ queue = '<tr><td class="max-texts" lang="en">Connection Error to ' + source + '</td></tr>';
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ /*
|
|
|
+ if(array.content.$status[0] != 'RUNNING'){
|
|
|
+ var state = `<a href="#"><span class="downloader mouse" data-source="jdownloader" data-action="resume" data-target="main"><i class="fa fa-play"></i></span></a>`;
|
|
|
+ var active = 'grayscale';
|
|
|
+ }else{
|
|
|
+ var state = `<a href="#"><span class="downloader mouse" data-source="jdownloader" data-action="pause" data-target="main"><i class="fa fa-pause"></i></span></a>`;
|
|
|
+ var active = '';
|
|
|
+ }
|
|
|
+ $('.jdownloader-downloader-action').html(state);
|
|
|
+ */
|
|
|
+
|
|
|
+ if(array.content.queueItems.length == 0){
|
|
|
+ queue = '<tr><td class="max-texts" lang="en">Nothing in queue</td></tr>';
|
|
|
+ }
|
|
|
+ $.each(array.content.queueItems, function(i,v) {
|
|
|
+ count = count + 1;
|
|
|
+ if(v.speed == null){
|
|
|
+ if(v.percentage == '100'){
|
|
|
+ v.speed = '--';
|
|
|
+ }else{
|
|
|
+ v.speed = 'Stopped';
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(v.eta == null){
|
|
|
+ if(v.percentage == '100'){
|
|
|
+ v.eta = 'Complete';
|
|
|
+ }else{
|
|
|
+ v.eta = '--';
|
|
|
+ }
|
|
|
+ }
|
|
|
+ queue += `
|
|
|
+ <tr>
|
|
|
+ <td class="max-texts">`+v.name+`</td>
|
|
|
+ <td class="hidden-xs">`+v.speed+`</td>
|
|
|
+ <td class="hidden-xs" alt="`+v.done+`">`+v.size+`</td>
|
|
|
+ <td class="hidden-xs">`+v.eta+`</td>
|
|
|
+ <td class="text-right">
|
|
|
+ <div class="progress progress-lg m-b-0">
|
|
|
+ <div class="progress-bar progress-bar-info" style="width: `+v.percentage+`%;" role="progressbar">`+v.percentage+`%</div>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ `;
|
|
|
+ });
|
|
|
+ if(array.content.grabberItems.length == 0){
|
|
|
+ history = '<tr><td class="max-texts" lang="en">Nothing in Linkgrabbber</td></tr>';
|
|
|
+ }
|
|
|
+ $.each(array.content.grabberItems, function(i,v) {
|
|
|
+ history += `
|
|
|
+ <tr>
|
|
|
+ <td class="max-texts">`+ v.name+`</td>
|
|
|
+ </tr>
|
|
|
+ `;
|
|
|
+ });
|
|
|
+ break;
|
|
|
case 'sabnzbd':
|
|
|
if(array.content === false){
|
|
|
queue = '<tr><td class="max-texts" lang="en">Connection Error to ' + source + '</td></tr>';
|
|
|
@@ -5165,6 +5279,7 @@ function buildDownloader(source){
|
|
|
var queueButton = 'QUEUE';
|
|
|
var historyButton = 'HISTORY';
|
|
|
switch (source) {
|
|
|
+ case 'jdownloader':
|
|
|
case 'sabnzbd':
|
|
|
case 'nzbget':
|
|
|
var queue = true;
|
|
|
@@ -5231,6 +5346,7 @@ function buildDownloader(source){
|
|
|
`+menu+`
|
|
|
<hr class="hidden-xs"><div class="clearfix"></div>
|
|
|
</div>
|
|
|
+ <div class="clearfix"></div>
|
|
|
`;
|
|
|
}else{
|
|
|
var header = `
|
|
|
@@ -5259,6 +5375,7 @@ function buildDownloaderCombined(source){
|
|
|
var queueButton = 'QUEUE';
|
|
|
var historyButton = 'HISTORY';
|
|
|
switch (source) {
|
|
|
+ case 'jdownloader':
|
|
|
case 'sabnzbd':
|
|
|
case 'nzbget':
|
|
|
var queue = true;
|
|
|
@@ -5324,6 +5441,7 @@ function buildDownloaderCombined(source){
|
|
|
`+mainMenu+`
|
|
|
<div class="clearfix"></div>
|
|
|
</div>
|
|
|
+ <div class="clearfix"></div>
|
|
|
`;
|
|
|
}else{
|
|
|
var header = `
|
|
|
@@ -5471,7 +5589,9 @@ function buildHealthChecks(array){
|
|
|
</div>
|
|
|
<div class="clearfix"></div>
|
|
|
<!-- .cards -->
|
|
|
- `+buildHealthChecksItem(array.content.checks)+`
|
|
|
+ <div class="healthCheckCards">
|
|
|
+ `+buildHealthChecksItem(array.content.checks)+`
|
|
|
+ </div>
|
|
|
<!-- /.cards-->
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -5585,6 +5705,9 @@ function homepageDownloader(type, timeout){
|
|
|
var timeout = (typeof timeout !== 'undefined') ? timeout : activeInfo.settings.homepage.refresh.homepageDownloadRefresh;
|
|
|
//if(isHidden()){ return; }
|
|
|
switch (type) {
|
|
|
+ case 'jdownloader':
|
|
|
+ var action = 'getJdownloader';
|
|
|
+ break;
|
|
|
case 'sabnzbd':
|
|
|
var action = 'getSabnzbd';
|
|
|
break;
|
|
|
@@ -6948,6 +7071,20 @@ function launch(){
|
|
|
getPingList(json);
|
|
|
}
|
|
|
loadCustomJava(json.appearance);
|
|
|
+ if(getCookie('lockout')){
|
|
|
+ $('.show-login').click();
|
|
|
+ setTimeout(function(){
|
|
|
+ $('div.login-box').block({
|
|
|
+ message: '<h5><i class="fa fa-close"></i> Locked Out!</h4>',
|
|
|
+ css: {
|
|
|
+ color: '#fff',
|
|
|
+ border: '1px solid #e91e63',
|
|
|
+ backgroundColor: '#f44336'
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }, 1000);
|
|
|
+ setTimeout(function(){ location.reload() }, 60000);
|
|
|
+ }
|
|
|
break;
|
|
|
default:
|
|
|
console.error('Organizr Function: Action not set or defined');
|