Procházet zdrojové kódy

added radarrConnectQueue function for api

CauseFX před 5 roky
rodič
revize
b3d6879fb0
1 změnil soubory, kde provedl 43 přidání a 1 odebrání
  1. 43 1
      api/functions/homepage-connect-functions.php

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

@@ -4,7 +4,10 @@ function homepageConnect($array)
 {
 	switch ($array['data']['action']) {
 		case 'getSonarrQueue':
-			return (qualifyRequest($GLOBALS['homepageSonarrAuth'])) ? sonarrConnectQueue() : false;
+			return (qualifyRequest($GLOBALS['homepageSonarrQueueAuth'])) ? sonarrConnectQueue() : false;
+			break;
+		case 'getRadarrQueue':
+			return (qualifyRequest($GLOBALS['homepageRadarrQueueAuth'])) ? radarrConnectQueue() : false;
 			break;
 		case 'getPlexStreams':
 			return (qualifyRequest($GLOBALS['homepagePlexStreamsAuth'])) ? plexConnect('streams') : false;
@@ -1277,6 +1280,45 @@ function sonarrConnectQueue()
 	}
 	return false;
 }
+function radarrConnectQueue()
+{
+	$radarrQueueItems = array();
+	if ($GLOBALS['homepageRadarrEnabled'] && qualifyRequest($GLOBALS['homepageRadarrAuth']) && !empty($GLOBALS['radarrURL']) && !empty($GLOBALS['radarrToken'])) {
+		$radarrs = array();
+		$radarrURLList = explode(',', $GLOBALS['radarrURL']);
+		$radarrTokenList = explode(',', $GLOBALS['radarrToken']);
+		if (count($radarrURLList) == count($radarrTokenList)) {
+			foreach ($radarrURLList as $key => $value) {
+				$radarrs[$key] = array(
+					'url' => $value,
+					'token' => $radarrTokenList[$key]
+				);
+			}
+			foreach ($radarrs as $key => $value) {
+				try {
+					$radarr = new Kryptonit3\Sonarr\Sonarr($value['url'], $value['token']);
+					$radarr = $radarr->getQueue();
+					$downloadList = json_decode($radarr, true);
+					if (is_array($downloadList) || is_object($downloadList)) {
+						$radarrQueue = (array_key_exists('error', $downloadList)) ? '' : $downloadList;
+					} else {
+						$radarrQueue = '';
+					}
+					if (!empty($radarrQueue)) {
+						$radarrQueueItems = array_merge($radarrQueueItems, $radarrQueue);
+					}
+				} catch (Exception $e) {
+					writeLog('error', 'Radarr Connect Function - Error: ' . $e->getMessage(), 'SYSTEM');
+				}
+			}
+			$api['content']['queueItems'] = $radarrQueueItems;
+			$api['content']['historyItems'] = false;
+			$api['content'] = isset($api['content']) ? $api['content'] : false;
+			return $api;
+		}
+	}
+	return false;
+}
 function getCalendar()
 {
 	$startDate = date('Y-m-d', strtotime("-" . $GLOBALS['calendarStart'] . " days"));