|
|
@@ -155,6 +155,30 @@ trait RadarrHomepageItem
|
|
|
'label' => 'Refresh Seconds',
|
|
|
'value' => $this->config['calendarRefresh'],
|
|
|
'options' => $this->timeOptions()
|
|
|
+ ),
|
|
|
+ array(
|
|
|
+ 'type' => 'switch',
|
|
|
+ 'name' => 'radarrUnmonitored',
|
|
|
+ 'label' => 'Show Unmonitored',
|
|
|
+ 'value' => $this->config['radarrUnmonitored']
|
|
|
+ ),
|
|
|
+ array(
|
|
|
+ 'type' => 'switch',
|
|
|
+ 'name' => 'radarrPhysicalRelease',
|
|
|
+ 'label' => 'Show Physical Release',
|
|
|
+ 'value' => $this->config['radarrPhysicalRelease']
|
|
|
+ ),
|
|
|
+ array(
|
|
|
+ 'type' => 'switch',
|
|
|
+ 'name' => 'radarrDigitalRelease',
|
|
|
+ 'label' => 'Show Digital Release',
|
|
|
+ 'value' => $this->config['radarrDigitalRelease']
|
|
|
+ ),
|
|
|
+ array(
|
|
|
+ 'type' => 'switch',
|
|
|
+ 'name' => 'radarrCinemaRelease',
|
|
|
+ 'label' => 'Show Cinema Releases',
|
|
|
+ 'value' => $this->config['radarrCinemaRelease']
|
|
|
)
|
|
|
),
|
|
|
'Test Connection' => array(
|
|
|
@@ -234,7 +258,7 @@ trait RadarrHomepageItem
|
|
|
],
|
|
|
'not_empty' => [
|
|
|
'radarrURL',
|
|
|
- 'lidarrToken'
|
|
|
+ 'radarrToken'
|
|
|
]
|
|
|
],
|
|
|
'queue' => [
|
|
|
@@ -323,7 +347,7 @@ trait RadarrHomepageItem
|
|
|
foreach ($list as $key => $value) {
|
|
|
try {
|
|
|
$downloader = new Kryptonit3\Sonarr\Sonarr($value['url'], $value['token']);
|
|
|
- $results = $downloader->getCalendar($startDate, $endDate);
|
|
|
+ $results = $downloader->getCalendar($startDate, $endDate, $this->config['radarrUnmonitored']);
|
|
|
$result = json_decode($results, true);
|
|
|
if (is_array($result) || is_object($result)) {
|
|
|
$calendar = (array_key_exists('error', $result)) ? '' : $this->formatRadarrCalendar($results, $key, $value['url']);
|
|
|
@@ -349,17 +373,41 @@ trait RadarrHomepageItem
|
|
|
$gotCalendar = array();
|
|
|
$i = 0;
|
|
|
foreach ($array as $child) {
|
|
|
- if (isset($child['physicalRelease'])) {
|
|
|
+ for ($j = 0; $j < 3; $j++) {
|
|
|
+ $type = [];
|
|
|
+ if ($j == 0 && $this->config['radarrPhysicalRelease'] && isset($child['physicalRelease'])) {
|
|
|
+ $releaseDate = $child['physicalRelease'];
|
|
|
+ array_push($type, "physical");
|
|
|
+ if (isset($child['digitalRelease']) && $child['physicalRelease'] == $child['digitalRelease']) {
|
|
|
+ array_push($type, "digital");
|
|
|
+ $j++;
|
|
|
+ }
|
|
|
+ if (isset($child['inCinemas']) && $child['physicalRelease'] == $child['inCinemas']) {
|
|
|
+ array_push($type, "cinema");
|
|
|
+ $j += 2;
|
|
|
+ }
|
|
|
+ } elseif ($j == 1 && $this->config['radarrDigitalRelease'] && isset($child['digitalRelease'])) {
|
|
|
+ $releaseDate = $child['digitalRelease'];
|
|
|
+ array_push($type, "digital");
|
|
|
+ if (isset($child['inCinemas']) && $child['digitalRelease'] == $child['inCinemas']) {
|
|
|
+ array_push($type, "cinema");
|
|
|
+ $j++;
|
|
|
+ }
|
|
|
+ } elseif ($j == 2 && $this->config['radarrCinemaRelease'] && isset($child['inCinemas'])) {
|
|
|
+ $releaseDate = $child['inCinemas'];
|
|
|
+ array_push($type, "cinema");
|
|
|
+ } else {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
$i++;
|
|
|
$movieName = $child['title'];
|
|
|
$movieID = $child['tmdbId'];
|
|
|
if (!isset($movieID)) {
|
|
|
$movieID = "";
|
|
|
}
|
|
|
- $physicalRelease = $child['physicalRelease'];
|
|
|
- $physicalRelease = strtotime($physicalRelease);
|
|
|
- $physicalRelease = date("Y-m-d", $physicalRelease);
|
|
|
- if (new DateTime() < new DateTime($physicalRelease)) {
|
|
|
+ $releaseDate = strtotime($releaseDate);
|
|
|
+ $releaseDate = date("Y-m-d", $releaseDate);
|
|
|
+ if (new DateTime() < new DateTime($releaseDate)) {
|
|
|
$notReleased = "true";
|
|
|
} else {
|
|
|
$notReleased = "false";
|
|
|
@@ -402,10 +450,16 @@ trait RadarrHomepageItem
|
|
|
}
|
|
|
}
|
|
|
$alternativeTitles = "";
|
|
|
- foreach ($child['alternativeTitles'] as $alternative) {
|
|
|
- $alternativeTitles .= $alternative['title'] . ', ';
|
|
|
+ if (!empty($child['alternativeTitles'])) {
|
|
|
+ foreach ($child['alternativeTitles'] as $alternative) {
|
|
|
+ $alternativeTitles .= $alternative['title'] . ', ';
|
|
|
+ }
|
|
|
+ } elseif (!empty($child['alternateTitles'])) { //v3 API
|
|
|
+ foreach ($child['alternateTitles'] as $alternative) {
|
|
|
+ $alternativeTitles .= $alternative['title'] . ', ';
|
|
|
+ }
|
|
|
}
|
|
|
- $alternativeTitles = empty($child['alternativeTitles']) ? "" : substr($alternativeTitles, 0, -2);
|
|
|
+ $alternativeTitles = empty($alternativeTitles) ? "" : substr($alternativeTitles, 0, -2);
|
|
|
$details = array(
|
|
|
"topTitle" => $movieName,
|
|
|
"bottomTitle" => $alternativeTitles,
|
|
|
@@ -426,11 +480,12 @@ trait RadarrHomepageItem
|
|
|
array_push($gotCalendar, array(
|
|
|
"id" => "Radarr-" . $number . "-" . $i,
|
|
|
"title" => $movieName,
|
|
|
- "start" => $physicalRelease,
|
|
|
+ "start" => $releaseDate,
|
|
|
"className" => "inline-popups bg-calendar movieID--" . $movieID,
|
|
|
"imagetype" => "film " . $downloaded,
|
|
|
"imagetypeFilter" => "film",
|
|
|
"downloadFilter" => $downloaded,
|
|
|
+ "releaseType" => $type,
|
|
|
"bgColor" => str_replace('text', 'bg', $downloaded),
|
|
|
"details" => $details
|
|
|
));
|