Răsfoiți Sursa

Add option to show Sonarr unmonitored shows to calendar

Matt Ohm 8 ani în urmă
părinte
comite
c3485921b1
6 a modificat fișierele cu 24 adăugiri și 7 ștergeri
  1. 1 0
      config/configDefaults.php
  2. 6 2
      css/style.css
  3. 5 3
      functions.php
  4. 1 0
      lang/en.ini
  5. 6 0
      settings.php
  6. 5 2
      vendor/kryptonit3/sonarr/src/Sonarr.php

+ 1 - 0
config/configDefaults.php

@@ -35,6 +35,7 @@ return array(
 	"sonarrURL" => "",
 	"sonarrKey" => "",
 	"sonarrHomeAuth" => false,
+  "sonarrUnmonitored" => false,
 	"sickrageURL" => "",
 	"sickrageKey" => "",
 	"sickrageHomeAuth" => false,

+ 6 - 2
css/style.css

@@ -1093,6 +1093,10 @@ body {
   background: #E9585B !important;
 }
 
+.light-gray-bg {
+  background: #808080 !important;
+}
+
 .red-orange-bg {
   background: #e53935 !important;
 }
@@ -1113,11 +1117,11 @@ body {
   background: #37474f !important;
 }
 
-.green-bg, .blue-bg, .yellow-bg, .red-bg, .indigo-bg, .gray-bg, .grayish-blue-bg, .orange-bg, .red-orange-bg, .light-blue-bg {
+.green-bg, .blue-bg, .yellow-bg, .red-bg, .indigo-bg, .gray-bg, .grayish-blue-bg, .orange-bg, .red-orange-bg, .light-blue-bg .light-gray-bg {
   color: #fff !important;
 }
 
-.green-bg .content-tools > a, .blue-bg .content-tools > a, .yellow-bg .content-tools > a, .red-bg .content-tools > a, .indigo-bg .content-tools > a, .gray-bg .content-tools > a, .grayish-blue-bg .content-tools > a, .orange-bg .content-tools > a, .red-orange-bg .content-tools > a, .light-blue-bg .content-tools > a {
+.light-gray-bg .content-tools > a, .green-bg .content-tools > a, .blue-bg .content-tools > a, .yellow-bg .content-tools > a, .red-bg .content-tools > a, .indigo-bg .content-tools > a, .gray-bg .content-tools > a, .grayish-blue-bg .content-tools > a, .orange-bg .content-tools > a, .red-orange-bg .content-tools > a, .light-blue-bg .content-tools > a, .light-gray-bg .content-tools > a {
   color: #fff !important;
 }
 

+ 5 - 3
functions.php

@@ -3236,7 +3236,8 @@ function getSonarrCalendar($array){
         if (new DateTime() < new DateTime($episodeAirDate)) { $unaired = true; }
 
         $downloaded = $child['hasFile'];
-        if($downloaded == "0" && isset($unaired) && $episodePremier == "true"){ $downloaded = "light-blue-bg"; }elseif($downloaded == "0" && isset($unaired)){ $downloaded = "indigo-bg"; }elseif($downloaded == "1"){ $downloaded = "green-bg";}else{ $downloaded = "red-bg"; }
+        $monitored = $child['monitored'];
+        if($downloaded == "0" && isset($unaired) && $episodePremier == "true"){ $downloaded = "light-blue-bg"; }elseif(isset($unaired) && $monitored == "0"){ $downloaded = "light-gray-bg"; }elseif($downloaded == "0" && isset($unaired)){ $downloaded = "indigo-bg"; }elseif($downloaded == "1"){ $downloaded = "green-bg";}else{ $downloaded = "red-bg"; }
 
         //$gotCalendar .= "{ title: \"$seriesName\", start: \"$episodeAirDate\", className: \"$downloaded tvID--$episodeID\", imagetype: \"tv\" }, \n";
 		array_push($gotCalendar, array(
@@ -4267,8 +4268,9 @@ function getCalendar(){
 	$calendarItems = array();
 	if (SONARRURL != "" && qualifyUser(SONARRHOMEAUTH)){
 		try {
-			$sonarrCalendar = getSonarrCalendar($sonarr->getCalendar($startDate, $endDate));
-			if(!empty($sonarrCalendar)) { $calendarItems = array_merge($calendarItems, $sonarrCalendar); }
+			$sonarrCalendar = getSonarrCalendar($sonarr->getCalendar($startDate, $endDate, SONARRUNMONITORED));
+			if(!empty($sonarrCalendar)) { $calendarItems = array_merge($calendarItems, $sonarrCalendar); 
+      }
 		} catch (Exception $e) {
 			writeLog("error", "SONARR ERROR: ".strip($e->getMessage()));
 		}

+ 1 - 0
lang/en.ini

@@ -186,6 +186,7 @@ MUSIC = "Recent Music"
 SONARR_URL = "Sonarr URL"
 SONARR_PORT = "Sonarr Port"
 SONARR_KEY = "Sonarr API Key"
+SONARR_UNMONITORED = "Show unmonitored"
 RADARR_URL = "Radarr URL"
 RADARR_PORT = "Radarr Port"
 RADARR_KEY = "Radarr API Key"

+ 6 - 0
settings.php

@@ -1185,6 +1185,12 @@ echo buildSettings(
 						'pattern' => '[a-zA-Z0-9]{32}',
 						'value' => SONARRKEY,
 					),
+          array(
+						'type' => 'checkbox',
+						'labelTranslate' => 'SONARR_UNMONITORED',
+						'name' => 'sonarrUnmonitored',
+						'value' => SONARRUNMONITORED,
+					),
 				),
 			),
 			array(

+ 5 - 2
vendor/kryptonit3/sonarr/src/Sonarr.php

@@ -31,7 +31,7 @@ class Sonarr
      * @return array|object|string
      * @throws InvalidException
      */
-    public function getCalendar($start = null, $end = null)
+    public function getCalendar($start = null, $end = null, $sonarrUnmonitored = 'false')
     {
         $uriData = [];
 
@@ -49,7 +49,10 @@ class Sonarr
                 throw new InvalidException('End date string was not recognized as a valid DateTime. Format must be yyyy-mm-dd.');
             }
         }
-
+        if ( $sonarrUnmonitored == 'true' ) {
+            $uriData['unmonitored'] = 'true';
+            }
+            
         try {
             $response = $this->_request(
                 [