Просмотр исходного кода

Add JDownloader Support (myjd_api)
- create arrays for running and grabbed items
- detect empty arrays correctly

rix1337 7 лет назад
Родитель
Сommit
ebfad28a17
2 измененных файлов с 48 добавлено и 2 удалено
  1. 1 1
      api/functions/homepage-connect-functions.php
  2. 47 1
      js/functions.js

+ 1 - 1
api/functions/homepage-connect-functions.php

@@ -762,7 +762,7 @@ function jdownloaderConnect()
                 if ($packages['linkgrabber_offline']) {
                     $grabbed = array_merge($grabbed, $packages['linkgrabber_offline']);
                 }
-                $api['content']['historyItems'] = $grabbed;
+                $api['content']['grabberItems'] = $grabbed;
 
                 $status = array($temp['downloader_state'], $temp['grabber_collecting'], $temp['update_ready']);
                 $api['content']['$status'] = $status;

+ 47 - 1
js/functions.js

@@ -1895,6 +1895,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')){
@@ -4849,9 +4851,53 @@ function requestList (list, type, page=1) {
 function buildDownloaderItem(array, source, type='none'){
     //console.log(array);
     var queue = '';
-    var history = '';
+    var grabber = '';
     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;
+                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){
+                grabber = '<tr><td class="max-texts" lang="en">Nothing in Linkgrabbber</td></tr>';
+            }
+            $.each(array.content.grabberItems, function(i,v) {
+                grabber += `
+                <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>';