Browse Source

Merge pull request #1818 from causefx/v2-develop

V2 develop
causefx 4 years ago
parent
commit
329e7f1643

+ 7 - 7
api/classes/organizr.class.php

@@ -65,7 +65,7 @@ class Organizr
 
 	// ===================================
 	// Organizr Version
-	public $version = '2.1.1790';
+	public $version = '2.1.1800';
 	// ===================================
 	// Quick php Version check
 	public $minimumPHP = '7.3';
@@ -3534,7 +3534,7 @@ class Organizr
 				$createToken = $this->createToken($result['username'], $result['email'], $days);
 				if ($createToken) {
 					$this->logger->info('User has logged in');
-					$ssoUserObject = ($token !== '') ? $token : $authSuccess;
+					$ssoUserObject = ($token !== '') ? $authSuccess : $result;
 					$this->ssoCheck($ssoUserObject, $password, $token); //need to work on this
 					return ($output) ? array('name' => $this->cookieName, 'token' => (string)$createToken) : true;
 				} else {
@@ -5695,7 +5695,7 @@ class Organizr
 				return $api;
 			}
 		} catch (Requests_Exception $e) {
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		}
 		$this->setAPIResponse('error', 'Error connecting to Open Collective', 409);
@@ -5770,7 +5770,7 @@ class Organizr
 				return json_decode($response->body, true);
 			}
 		} catch (Requests_Exception $e) {
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		}
 		return false;
@@ -6837,7 +6837,7 @@ class Organizr
 				return false;
 			}
 		} catch (Requests_Exception $e) {
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		}
 	}
@@ -7124,7 +7124,7 @@ class Organizr
 				$this->logger->debug('Socks Response', $this->json_validator($call->body) ? json_decode($call->body, true) : $call->body);
 				return $call->body;
 			} catch (Requests_Exception $e) {
-				$this->setAPIResponse('error', $e->getMessage(), 500);
+				$this->setResponse(500, $e->getMessage());
 				$this->setLoggerChannel('Socks');
 				$this->logger->critical($e, $debugInformation);
 				return null;
@@ -7180,7 +7180,7 @@ class Organizr
 		} catch (Requests_Exception $e) {
 			$this->setLoggerChannel('Plex Connection');
 			$this->logger->error($e);
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 		}
 	}
 

+ 1 - 1
api/functions/2fa-functions.php

@@ -17,7 +17,7 @@ trait TwoFAFunctions
 						$result['secret']
 					);
 				} catch (PragmaRX\Google2FA\Exceptions\InsecureCallException $e) {
-					$this->setAPIResponse('error', $e->getMessage(), 500);
+					$this->setResponse(500, $e->getMessage());
 					return null;
 				}
 				break;

+ 2 - 3
api/functions/oauth.php

@@ -62,7 +62,7 @@ trait OAuthFunctions
 			}
 		}
 	}
-	
+
 	public function traktOAuthRefresh()
 	{
 		$exp = $this->config['traktAccessTokenExpires'];
@@ -94,10 +94,9 @@ trait OAuthFunctions
 				}
 			} catch (Requests_Exception $e) {
 				$this->writeLog('error', 'Trakt Connect Function - Error: ' . $e->getMessage(), 'SYSTEM');
-				$this->setAPIResponse('error', $e->getMessage(), 500);
+				$this->setResponse(500, $e->getMessage());
 				return false;
 			}
 		}
-		
 	}
 }

+ 2 - 2
api/functions/organizr-functions.php

@@ -151,14 +151,14 @@ trait OrganizrFunctions
 				Requests::Post($url, $headers, json_encode($data), array());
 			} catch (Requests_Exception $e) {
 				$this->writeLog('error', 'Emby Connect Function - Error: ' . $e->getMessage(), 'SYSTEM');
-				$this->setAPIResponse('error', $e->getMessage(), 500);
+				$this->setResponse(500, $e->getMessage());
 				return false;
 			}
 			$this->setAPIResponse('success', 'User has joined Emby', 200);
 			return true;
 		} catch (Requests_Exception $e) {
 			$this->writeLog('error', 'Emby create Function - Error: ' . $e->getMessage(), 'SYSTEM');
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		}
 	}

+ 9 - 10
api/homepage/deluge.php

@@ -64,7 +64,7 @@ trait DelugeHomepageItem
 		];
 		return array_merge($homepageInformation, $homepageSettings);
 	}
-	
+
 	public function testConnectionDeluge()
 	{
 		if (!$this->homepageItemPermissions($this->delugeHomepagePermissions('main'), true)) {
@@ -78,12 +78,11 @@ trait DelugeHomepageItem
 			return true;
 		} catch (Exception $e) {
 			$this->writeLog('error', 'NZBGet Connect Function - Error: ' . $e->getMessage(), 'SYSTEM');
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		}
-		
 	}
-	
+
 	public function delugeHomepagePermissions($key = null)
 	{
 		$permissions = [
@@ -101,7 +100,7 @@ trait DelugeHomepageItem
 		];
 		return $this->homepageCheckKeyPermissions($key, $permissions);
 	}
-	
+
 	public function homepageOrderdeluge()
 	{
 		if ($this->homepageItemPermissions($this->delugeHomepagePermissions('main'))) {
@@ -120,7 +119,7 @@ trait DelugeHomepageItem
 				';
 		}
 	}
-	
+
 	public function getDelugeHomepageQueue()
 	{
 		if (!$this->homepageItemPermissions($this->delugeHomepagePermissions('main'), true)) {
@@ -128,7 +127,7 @@ trait DelugeHomepageItem
 		}
 		try {
 			$options = $this->requestOptions($this->config['delugeURL'], $this->config['delugeRefresh'], $this->config['delugeDisableCertCheck'], $this->config['delugeUseCustomCertificate'], ['organizr_cert' => $this->getCert(), 'custom_cert' => $this->getCustomCert()]);
-			$deluge = new deluge($this->config['delugeURL'], $this->decrypt($this->config['delugePassword']),$options);
+			$deluge = new deluge($this->config['delugeURL'], $this->decrypt($this->config['delugePassword']), $options);
 			$torrents = $deluge->getTorrents(null, 'comment, download_payload_rate, eta, hash, is_finished, is_seed, message, name, paused, progress, queue, state, total_size, upload_payload_rate, tracker_status');
 			foreach ($torrents as $key => $value) {
 				$tempStatus = $this->delugeStatus($value->queue, $value->state, $value->progress);
@@ -137,7 +136,7 @@ trait DelugeHomepageItem
 				} elseif ($tempStatus == 'Finished' && $this->config['delugeHideCompleted']) {
 					//do nothing
 				} else {
-					if ($this->config['delugeHideStatus']){
+					if ($this->config['delugeHideStatus']) {
 						$value->tracker_status = "";
 					}
 					$api['content']['queueItems'][] = $value;
@@ -147,14 +146,14 @@ trait DelugeHomepageItem
 			$api['content']['historyItems'] = false;
 		} catch (Excecption $e) {
 			$this->writeLog('error', 'Deluge Connect Function - Error: ' . $e->getMessage(), 'SYSTEM');
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		}
 		$api['content'] = isset($api['content']) ? $api['content'] : false;
 		$this->setAPIResponse('success', null, 200, $api);
 		return $api;
 	}
-	
+
 	public function delugeStatus($queued, $status, $state)
 	{
 		if ($queued == '-1' && $state == '100' && ($status == 'Seeding' || $status == 'Queued' || $status == 'Paused')) {

+ 4 - 4
api/homepage/emby.php

@@ -73,7 +73,7 @@ trait EmbyHomepageItem
 				return true;
 			}
 		} catch (Requests_Exception $e) {
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		}
 	}
@@ -196,7 +196,7 @@ trait EmbyHomepageItem
 			}
 		} catch (Requests_Exception $e) {
 			$this->writeLog('error', 'Emby Connect Function - Error: ' . $e->getMessage(), 'SYSTEM');
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		}
 	}
@@ -254,7 +254,7 @@ trait EmbyHomepageItem
 			}
 		} catch (Requests_Exception $e) {
 			$this->writeLog('error', 'Emby Connect Function - Error: ' . $e->getMessage(), 'SYSTEM');
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		}
 	}
@@ -314,7 +314,7 @@ trait EmbyHomepageItem
 			}
 		} catch (Requests_Exception $e) {
 			$this->writeLog('error', 'Emby Connect Function - Error: ' . $e->getMessage(), 'SYSTEM');
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		}
 	}

+ 1 - 1
api/homepage/jackett.php

@@ -163,7 +163,7 @@ trait JackettHomepageItem
 			}
 		} catch (Requests_Exception $e) {
 			$this->writeLog('error', 'Jackett blackhole download failed ' . $e->getMessage(), 'SYSTEM');
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		};
 		$api['content'] = isset($api['content']) ? $api['content'] : false;

+ 6 - 6
api/homepage/jdownloader.php

@@ -60,7 +60,7 @@ trait JDownloaderHomepageItem
 		];
 		return array_merge($homepageInformation, $homepageSettings);
 	}
-	
+
 	public function testConnectionJDownloader()
 	{
 		if (empty($this->config['jdownloaderURL'])) {
@@ -80,11 +80,11 @@ trait JDownloaderHomepageItem
 			}
 		} catch (Requests_Exception $e) {
 			$this->writeLog('error', 'JDownloader Connect Function - Error: ' . $e->getMessage(), 'SYSTEM');
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		};
 	}
-	
+
 	public function jDownloaderHomepagePermissions($key = null)
 	{
 		$permissions = [
@@ -102,7 +102,7 @@ trait JDownloaderHomepageItem
 		];
 		return $this->homepageCheckKeyPermissions($key, $permissions);
 	}
-	
+
 	public function homepageOrderjdownloader()
 	{
 		if ($this->homepageItemPermissions($this->jDownloaderHomepagePermissions('main'))) {
@@ -121,7 +121,7 @@ trait JDownloaderHomepageItem
 				';
 		}
 	}
-	
+
 	public function getJdownloaderHomepageQueue()
 	{
 		if (!$this->homepageItemPermissions($this->jDownloaderHomepagePermissions('main'), true)) {
@@ -158,7 +158,7 @@ trait JDownloaderHomepageItem
 			}
 		} catch (Requests_Exception $e) {
 			$this->writeLog('error', 'JDownloader Connect Function - Error: ' . $e->getMessage(), 'SYSTEM');
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		};
 		$api['content'] = isset($api['content']) ? $api['content'] : false;

+ 4 - 4
api/homepage/jellyfin.php

@@ -84,7 +84,7 @@ trait JellyfinHomepageItem
 				return true;
 			}
 		} catch (Requests_Exception $e) {
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		}
 	}
@@ -195,7 +195,7 @@ trait JellyfinHomepageItem
 			}
 		} catch (Requests_Exception $e) {
 			$this->writeLog('error', 'Jellyfin Connect Function - Error: ' . $e->getMessage(), 'SYSTEM');
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		}
 	}
@@ -252,7 +252,7 @@ trait JellyfinHomepageItem
 			}
 		} catch (Requests_Exception $e) {
 			$this->writeLog('error', 'Jellyfin Connect Function - Error: ' . $e->getMessage(), 'SYSTEM');
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		}
 	}
@@ -312,7 +312,7 @@ trait JellyfinHomepageItem
 			}
 		} catch (Requests_Exception $e) {
 			$this->writeLog('error', 'Jellyfin Connect Function - Error: ' . $e->getMessage(), 'SYSTEM');
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		}
 	}

+ 6 - 6
api/homepage/nzbget.php

@@ -47,7 +47,7 @@ trait NZBGetHomepageItem
 		];
 		return array_merge($homepageInformation, $homepageSettings);
 	}
-	
+
 	public function testConnectionNZBGet()
 	{
 		if (empty($this->config['nzbgetURL'])) {
@@ -72,11 +72,11 @@ trait NZBGetHomepageItem
 			}
 		} catch (Requests_Exception $e) {
 			$this->writeLog('error', 'NZBGet Connect Function - Error: ' . $e->getMessage(), 'SYSTEM');
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		}
 	}
-	
+
 	public function nzbgetHomepagePermissions($key = null)
 	{
 		$permissions = [
@@ -94,7 +94,7 @@ trait NZBGetHomepageItem
 		];
 		return $this->homepageCheckKeyPermissions($key, $permissions);
 	}
-	
+
 	public function homepageOrdernzbget()
 	{
 		if ($this->homepageItemPermissions($this->nzbgetHomepagePermissions('main'))) {
@@ -113,7 +113,7 @@ trait NZBGetHomepageItem
 				';
 		}
 	}
-	
+
 	public function getNzbgetHomepageQueue()
 	{
 		if (!$this->homepageItemPermissions($this->nzbgetHomepagePermissions('main'), true)) {
@@ -141,7 +141,7 @@ trait NZBGetHomepageItem
 			return $api;
 		} catch (Requests_Exception $e) {
 			$this->writeLog('error', 'NZBGet Connect Function - Error: ' . $e->getMessage(), 'SYSTEM');
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		}
 	}

+ 4 - 4
api/homepage/octoprint.php

@@ -35,7 +35,7 @@ trait OctoPrintHomepageItem
 		];
 		return array_merge($homepageInformation, $homepageSettings);
 	}
-	
+
 	public function octoprintHomepagePermissions($key = null)
 	{
 		$permissions = [
@@ -54,7 +54,7 @@ trait OctoPrintHomepageItem
 		];
 		return $this->homepageCheckKeyPermissions($key, $permissions);
 	}
-	
+
 	public function homepageOrderOctoprint()
 	{
 		if ($this->homepageItemPermissions($this->octoprintHomepagePermissions('main'))) {
@@ -70,7 +70,7 @@ trait OctoPrintHomepageItem
 				';
 		}
 	}
-	
+
 	public function getOctoprintHomepageData()
 	{
 		if (!$this->homepageItemPermissions($this->octoprintHomepagePermissions('main'), true)) {
@@ -99,7 +99,7 @@ trait OctoPrintHomepageItem
 				}
 			} catch (Requests_Exception $e) {
 				$this->writeLog('error', 'Octoprint Function - Error: ' . $e->getMessage(), 'SYSTEM');
-				$this->setAPIResponse('error', $e->getMessage(), 500);
+				$this->setResponse(500, $e->getMessage());
 				return false;
 			};
 		}

+ 4 - 4
api/homepage/ombi.php

@@ -81,7 +81,7 @@ trait OmbiHomepageItem
 			}
 		} catch (Requests_Exception $e) {
 			$this->writeLog('error', 'OMBI Connect Function - Error: ' . $e->getMessage(), 'SYSTEM');
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		}
 	}
@@ -223,7 +223,7 @@ trait OmbiHomepageItem
 			}
 		} catch (Requests_Exception $e) {
 			$this->writeLog('error', 'OMBI Connect Function - Error: ' . $e->getMessage(), 'SYSTEM');
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		};
 		$api['content'] = isset($requests) ? array_slice($requests, $offset, $limit) : false;
@@ -349,7 +349,7 @@ trait OmbiHomepageItem
 			}
 		} catch (Requests_Exception $e) {
 			$this->writeLog('error', 'OMBI Connect Function - Error: ' . $e->getMessage(), 'SYSTEM');
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		}
 	}
@@ -427,7 +427,7 @@ trait OmbiHomepageItem
 			}
 		} catch (Requests_Exception $e) {
 			$this->writeLog('error', 'OMBI Connect Function - Error: ' . $e->getMessage(), 'SYSTEM');
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		};
 	}

+ 3 - 3
api/homepage/overseerr.php

@@ -431,7 +431,7 @@ trait OverseerrHomepageItem
 			}
 		} catch (Requests_Exception $e) {
 			$this->writeLog('error', 'Overseerr Connect Function - Error: ' . $e->getMessage(), 'SYSTEM');
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		}
 	}
@@ -522,7 +522,7 @@ trait OverseerrHomepageItem
 			}
 		} catch (Requests_Exception $e) {
 			$this->writeLog('error', 'Overseerr Connect Function - Error: ' . $e->getMessage(), 'SYSTEM');
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		}
 	}
@@ -559,7 +559,7 @@ trait OverseerrHomepageItem
 			}
 		} catch (Requests_Exception $e) {
 			$this->writeLog('error', 'Overseerr Connect Function - Error: ' . $e->getMessage(), 'SYSTEM');
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		}
 	}

+ 5 - 5
api/homepage/pihole.php

@@ -36,7 +36,7 @@ trait PiHoleHomepageItem
 		];
 		return array_merge($homepageInformation, $homepageSettings);
 	}
-	
+
 	public function testConnectionPihole()
 	{
 		if (empty($this->config['piholeURL'])) {
@@ -79,7 +79,7 @@ trait PiHoleHomepageItem
 			return true;
 		}
 	}
-	
+
 	public function piholeHomepagePermissions($key = null)
 	{
 		$permissions = [
@@ -97,7 +97,7 @@ trait PiHoleHomepageItem
 		];
 		return $this->homepageCheckKeyPermissions($key, $permissions);
 	}
-	
+
 	public function homepageOrderPihole()
 	{
 		if ($this->homepageItemPermissions($this->piholeHomepagePermissions('main'))) {
@@ -113,7 +113,7 @@ trait PiHoleHomepageItem
 				';
 		}
 	}
-	
+
 	public function getPiholeHomepageStats()
 	{
 		if (!$this->homepageItemPermissions($this->piholeHomepagePermissions('main'), true)) {
@@ -133,7 +133,7 @@ trait PiHoleHomepageItem
 					}
 				}
 			} catch (Requests_Exception $e) {
-				$this->setAPIResponse('error', $e->getMessage(), 500);
+				$this->setResponse(500, $e->getMessage());
 				$this->writeLog('error', 'Pi-hole Connect Function - Error: ' . $e->getMessage(), 'SYSTEM');
 				return false;
 			};

+ 1 - 1
api/homepage/plex.php

@@ -101,7 +101,7 @@ trait PlexHomepageItem
 					return false;
 				}
 			} catch (Requests_Exception $e) {
-				$this->setAPIResponse('error', $e->getMessage(), 500);
+				$this->setResponse(500, $e->getMessage());
 				return false;
 			}
 		} else {

+ 6 - 6
api/homepage/qbittorrent.php

@@ -51,7 +51,7 @@ trait QBitTorrentHomepageItem
 		];
 		return array_merge($homepageInformation, $homepageSettings);
 	}
-	
+
 	public function testConnectionQBittorrent()
 	{
 		if (empty($this->config['qBittorrentURL'])) {
@@ -97,11 +97,11 @@ trait QBitTorrentHomepageItem
 			}
 		} catch (Requests_Exception $e) {
 			$this->writeLog('error', 'qBittorrent Connect Function - Error: ' . $e->getMessage(), 'SYSTEM');
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		}
 	}
-	
+
 	public function qBittorrentHomepagePermissions($key = null)
 	{
 		$permissions = [
@@ -119,7 +119,7 @@ trait QBitTorrentHomepageItem
 		];
 		return $this->homepageCheckKeyPermissions($key, $permissions);
 	}
-	
+
 	public function homepageOrderqBittorrent()
 	{
 		if ($this->homepageItemPermissions($this->qBittorrentHomepagePermissions('main'))) {
@@ -138,7 +138,7 @@ trait QBitTorrentHomepageItem
 				';
 		}
 	}
-	
+
 	public function getQBittorrentHomepageQueue()
 	{
 		if (!$this->homepageItemPermissions($this->qBittorrentHomepagePermissions('main'), true)) {
@@ -195,7 +195,7 @@ trait QBitTorrentHomepageItem
 			}
 		} catch (Requests_Exception $e) {
 			$this->writeLog('error', 'qBittorrent Connect Function - Error: ' . $e->getMessage(), 'SYSTEM');
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		}
 	}

+ 2 - 2
api/homepage/rtorrent.php

@@ -105,7 +105,7 @@ trait RTorrentHomepageItem
 		} catch
 		(Requests_Exception $e) {
 			$this->writeLog('error', 'rTorrent Connect Function - Error: ' . $e->getMessage(), 'SYSTEM');
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		}
 	}
@@ -278,7 +278,7 @@ trait RTorrentHomepageItem
 		} catch
 		(Requests_Exception $e) {
 			$this->writeLog('error', 'rTorrent Connect Function - Error: ' . $e->getMessage(), 'SYSTEM');
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		};
 		$api['content'] = $api['content'] ?? false;

+ 12 - 12
api/homepage/sabnzbd.php

@@ -2,7 +2,7 @@
 
 trait SabNZBdHomepageItem
 {
-	
+
 	public function sabNZBdSettingsArray($infoOnly = false)
 	{
 		$homepageInformation = [
@@ -46,7 +46,7 @@ trait SabNZBdHomepageItem
 		];
 		return array_merge($homepageInformation, $homepageSettings);
 	}
-	
+
 	public function testConnectionSabNZBd()
 	{
 		$this->setLoggerChannel('Sabnzbd Homepage');
@@ -77,7 +77,7 @@ trait SabNZBdHomepageItem
 				}
 			} catch (Requests_Exception $e) {
 				$this->logger->critical($e, [$url]);
-				$this->setAPIResponse('error', $e->getMessage(), 500);
+				$this->setResponse(500, $e->getMessage());
 				return false;
 			}
 		} else {
@@ -86,7 +86,7 @@ trait SabNZBdHomepageItem
 			return 'URL and/or Token not setup';
 		}
 	}
-	
+
 	public function sabNZBdHomepagePermissions($key = null)
 	{
 		$permissions = [
@@ -105,7 +105,7 @@ trait SabNZBdHomepageItem
 		];
 		return $this->homepageCheckKeyPermissions($key, $permissions);
 	}
-	
+
 	public function homepageOrdersabnzbd()
 	{
 		if ($this->homepageItemPermissions($this->sabNZBdHomepagePermissions('main'))) {
@@ -124,7 +124,7 @@ trait SabNZBdHomepageItem
 				';
 		}
 	}
-	
+
 	public function getSabNZBdHomepageQueue()
 	{
 		$this->setLoggerChannel('Sabnzbd Homepage');
@@ -141,7 +141,7 @@ trait SabNZBdHomepageItem
 			}
 		} catch (Requests_Exception $e) {
 			$this->logger->critical($e, [$url]);
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		};
 		$url = $this->qualifyURL($this->config['sabnzbdURL']);
@@ -154,14 +154,14 @@ trait SabNZBdHomepageItem
 			}
 		} catch (Requests_Exception $e) {
 			$this->logger->critical($e, [$url]);
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		};
 		$api['content'] = isset($api['content']) ? $api['content'] : false;
 		$this->setAPIResponse('success', null, 200, $api);
 		return $api;
 	}
-	
+
 	public function pauseSabNZBdQueue($target = null)
 	{
 		$this->setLoggerChannel('Sabnzbd Homepage');
@@ -179,14 +179,14 @@ trait SabNZBdHomepageItem
 			}
 		} catch (Requests_Exception $e) {
 			$this->logger->critical($e, [$url]);
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		};
 		$api['content'] = isset($api['content']) ? $api['content'] : false;
 		$this->setAPIResponse('success', null, 200, $api);
 		return $api;
 	}
-	
+
 	public function resumeSabNZBdQueue($target = null)
 	{
 		$this->setLoggerChannel('Sabnzbd Homepage');
@@ -204,7 +204,7 @@ trait SabNZBdHomepageItem
 			}
 		} catch (Requests_Exception $e) {
 			$this->logger->critical($e, [$url]);
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		};
 		$api['content'] = isset($api['content']) ? $api['content'] : false;

+ 4 - 4
api/homepage/speedtest.php

@@ -35,7 +35,7 @@ trait SpeedTestHomepageItem
 		];
 		return array_merge($homepageInformation, $homepageSettings);
 	}
-	
+
 	public function speedTestHomepagePermissions($key = null)
 	{
 		$permissions = [
@@ -53,7 +53,7 @@ trait SpeedTestHomepageItem
 		];
 		return $this->homepageCheckKeyPermissions($key, $permissions);
 	}
-	
+
 	public function homepageOrderSpeedtest()
 	{
 		if ($this->homepageItemPermissions($this->speedTestHomepagePermissions('main'))) {
@@ -69,7 +69,7 @@ trait SpeedTestHomepageItem
 				';
 		}
 	}
-	
+
 	public function getSpeedtestHomepageData()
 	{
 		if (!$this->homepageItemPermissions($this->speedTestHomepagePermissions('main'), true)) {
@@ -111,7 +111,7 @@ trait SpeedTestHomepageItem
 			}
 		} catch (Requests_Exception $e) {
 			$this->writeLog('error', 'Speedtest Connect Function - Error: ' . $e->getMessage(), 'SYSTEM');
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		};
 		$api = isset($api) ? $api : false;

+ 2 - 2
api/homepage/tautulli.php

@@ -104,7 +104,7 @@ trait TautulliHomepageItem
 			}
 		} catch (Requests_Exception $e) {
 			$this->logger->critical($e, [$url]);
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		}
 	}
@@ -256,7 +256,7 @@ trait TautulliHomepageItem
 			}
 		} catch (Requests_Exception $e) {
 			$this->logger->critical($e, [$url]);
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		};
 		$api = isset($api) ? $api : false;

+ 2 - 2
api/homepage/trakt.php

@@ -108,7 +108,7 @@ trait TraktHomepageItem
 			}
 		} catch (Requests_Exception $e) {
 			$this->writeLog('error', 'Trakt Connect Function - Error: ' . $e->getMessage(), 'SYSTEM');
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			$errors = true;
 		}
 		$url = $this->qualifyURL('https://api.trakt.tv/calendars/my/movies/' . $startDate . '/' . $totalDays . '?extended=full');
@@ -123,7 +123,7 @@ trait TraktHomepageItem
 			}
 		} catch (Requests_Exception $e) {
 			$this->writeLog('error', 'Trakt Connect Function - Error: ' . $e->getMessage(), 'SYSTEM');
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			$errors = true;
 		}
 		if ($errors) {

+ 6 - 6
api/homepage/transmission.php

@@ -43,7 +43,7 @@ trait TransmissionHomepageItem
 		];
 		return array_merge($homepageInformation, $homepageSettings);
 	}
-	
+
 	public function testConnectionTransmission()
 	{
 		if (empty($this->config['transmissionURL'])) {
@@ -85,11 +85,11 @@ trait TransmissionHomepageItem
 			}
 		} catch (Requests_Exception $e) {
 			$this->writeLog('error', 'Transmission Connect Function - Error: ' . $e->getMessage(), 'SYSTEM');
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		}
 	}
-	
+
 	public function transmissionHomepagePermissions($key = null)
 	{
 		$permissions = [
@@ -107,7 +107,7 @@ trait TransmissionHomepageItem
 		];
 		return $this->homepageCheckKeyPermissions($key, $permissions);
 	}
-	
+
 	public function homepageOrdertransmission()
 	{
 		if ($this->homepageItemPermissions($this->transmissionHomepagePermissions('main'))) {
@@ -126,7 +126,7 @@ trait TransmissionHomepageItem
 				';
 		}
 	}
-	
+
 	public function getTransmissionHomepageQueue()
 	{
 		if (!$this->homepageItemPermissions($this->transmissionHomepagePermissions('main'), true)) {
@@ -185,7 +185,7 @@ trait TransmissionHomepageItem
 			}
 		} catch (Requests_Exception $e) {
 			$this->writeLog('error', 'Transmission Connect Function - Error: ' . $e->getMessage(), 'SYSTEM');
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		};
 		$api['content'] = $api['content'] ?? false;

+ 12 - 12
api/homepage/unifi.php

@@ -42,7 +42,7 @@ trait UnifiHomepageItem
 		];
 		return array_merge($homepageInformation, $homepageSettings);
 	}
-	
+
 	public function unifiHomepagePermissions($key = null)
 	{
 		$permissions = [
@@ -72,7 +72,7 @@ trait UnifiHomepageItem
 		];
 		return $this->homepageCheckKeyPermissions($key, $permissions);
 	}
-	
+
 	public function homepageOrderunifi()
 	{
 		if ($this->homepageItemPermissions($this->unifiHomepagePermissions('main'))) {
@@ -88,7 +88,7 @@ trait UnifiHomepageItem
 				';
 		}
 	}
-	
+
 	public function getUnifiSiteName()
 	{
 		if (!$this->homepageItemPermissions($this->unifiHomepagePermissions('test'), true)) {
@@ -117,11 +117,11 @@ trait UnifiHomepageItem
 			}
 		} catch (Requests_Exception $e) {
 			$this->writeLog('error', 'Unifi Connect Function - Error: ' . $e->getMessage(), 'SYSTEM');
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		}
 	}
-	
+
 	public function isUnifiOS()
 	{
 		try {
@@ -137,11 +137,11 @@ trait UnifiHomepageItem
 			}
 		} catch (Requests_Exception $e) {
 			$this->writeLog('error', 'Unifi Connect Function - Error: ' . $e->getMessage(), 'SYSTEM');
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		}
 	}
-	
+
 	public function unifiLogin()
 	{
 		$csrfToken = $this->isUnifiOS();
@@ -170,11 +170,11 @@ trait UnifiHomepageItem
 			}
 		} catch (Requests_Exception $e) {
 			$this->writeLog('error', 'Unifi Connect Function - Error: ' . $e->getMessage(), 'SYSTEM');
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		}
 	}
-	
+
 	public function testConnectionUnifi()
 	{
 		if (!$this->homepageItemPermissions($this->unifiHomepagePermissions('test'), true)) {
@@ -199,14 +199,14 @@ trait UnifiHomepageItem
 			}
 		} catch (Requests_Exception $e) {
 			$this->writeLog('error', 'Unifi Connect Function - Error: ' . $e->getMessage(), 'SYSTEM');
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		}
 		$api['content']['unifi'] = $api['content']['unifi'] ?? false;
 		$this->setAPIResponse('success', 'API Connection succeeded', 200);
 		return true;
 	}
-	
+
 	public function getUnifiHomepageData()
 	{
 		if (!$this->homepageItemPermissions($this->unifiHomepagePermissions('main'), true)) {
@@ -230,7 +230,7 @@ trait UnifiHomepageItem
 			}
 		} catch (Requests_Exception $e) {
 			$this->writeLog('error', 'Unifi Connect Function - Error: ' . $e->getMessage(), 'SYSTEM');
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		}
 		$api['content']['unifi'] = $api['content']['unifi'] ?? false;

+ 12 - 15
api/homepage/utorrent.php

@@ -43,7 +43,7 @@ trait uTorrentHomepageItem
 		];
 		return array_merge($homepageInformation, $homepageSettings);
 	}
-	
+
 	public function uTorrentHomepagePermissions($key = null)
 	{
 		$permissions = [
@@ -67,7 +67,7 @@ trait uTorrentHomepageItem
 			return [];
 		}
 	}
-	
+
 	public function testConnectionuTorrent()
 	{
 		if (empty($this->config['uTorrentURL'])) {
@@ -75,16 +75,15 @@ trait uTorrentHomepageItem
 			return false;
 		}
 		try {
-			
+
 			$response = $this->getuTorrentToken();
-			
 		} catch (Requests_Exception $e) {
 			$this->writeLog('error', 'uTorrent Connect Function - Error: ' . $e->getMessage(), 'SYSTEM');
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		}
 	}
-	
+
 	public function homepageOrderuTorrent()
 	{
 		if ($this->homepageItemPermissions($this->uTorrentHomepagePermissions('main'))) {
@@ -103,7 +102,7 @@ trait uTorrentHomepageItem
                                 ';
 		}
 	}
-	
+
 	public function getuTorrentToken()
 	{
 		try {
@@ -120,7 +119,7 @@ trait uTorrentHomepageItem
 			$dom = new PHPHtmlParser\Dom;
 			$dom->loadStr($response->body);
 			$id = $dom->getElementById('token')->text;
-			$uTorrentConfig = array (
+			$uTorrentConfig = array(
 				"uTorrentToken" => $id,
 				"uTorrentCookie" => "",
 			);
@@ -134,15 +133,13 @@ trait uTorrentHomepageItem
 			if ($uTorrentConfig['uTorrentToken'] || $uTorrentConfig['uTorrentCookie']) {
 				$this->updateConfigItems($uTorrentConfig);
 			}
-			
 		} catch (Requests_Exception $e) {
 			$this->writeLog('error', 'uTorrent Connect Function - Error: ' . $e->getMessage(), 'SYSTEM');
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		}
-		
 	}
-	
+
 	public function getuTorrentHomepageQueue()
 	{
 		if (!$this->homepageItemPermissions($this->uTorrentHomepagePermissions('main'), true)) {
@@ -227,10 +224,10 @@ trait uTorrentHomepageItem
 			}
 		} catch (Requests_Exception $e) {
 			$this->writeLog('error', 'uTorrent Connect Function - Error: ' . $e->getMessage(), 'SYSTEM');
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		}
 	}
-	
-	
+
+
 }

+ 6 - 6
api/homepage/weather.php

@@ -40,7 +40,7 @@ trait WeatherHomepageItem
 		];
 		return array_merge($homepageInformation, $homepageSettings);
 	}
-	
+
 	public function weatherHomepagePermissions($key = null)
 	{
 		$permissions = [
@@ -59,7 +59,7 @@ trait WeatherHomepageItem
 		];
 		return $this->homepageCheckKeyPermissions($key, $permissions);
 	}
-	
+
 	public function homepageOrderWeatherAndAir()
 	{
 		if ($this->homepageItemPermissions($this->weatherHomepagePermissions('main'))) {
@@ -75,7 +75,7 @@ trait WeatherHomepageItem
 				';
 		}
 	}
-	
+
 	public function searchCityForCoordinates($query)
 	{
 		try {
@@ -91,11 +91,11 @@ trait WeatherHomepageItem
 				return json_decode($response->body);
 			}
 		} catch (Requests_Exception $e) {
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		};
 	}
-	
+
 	public function getWeatherAndAirData()
 	{
 		if (!$this->homepageItemPermissions($this->weatherHomepagePermissions('main'), true)) {
@@ -138,7 +138,7 @@ trait WeatherHomepageItem
 			}
 		} catch (Requests_Exception $e) {
 			$this->writeLog('error', 'Weather And Air Connect Function - Error: ' . $e->getMessage(), 'SYSTEM');
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		};
 		$api['content'] = isset($api['content']) ? $api['content'] : false;

+ 10 - 10
api/plugins/php-mailer/plugin.php

@@ -35,7 +35,7 @@ class PhpMailer extends Organizr
 		}
 		return $emails;
 	}
-	
+
 	public function _phpMailerPluginGetOrgUsers()
 	{
 		$return = null;
@@ -47,7 +47,7 @@ class PhpMailer extends Organizr
 			return ($return) ?? false;
 		}
 	}
-	
+
 	public function _phpMailerPluginGetTemplates()
 	{
 		foreach (glob(dirname(__DIR__, 2) . DIRECTORY_SEPARATOR . 'plugins' . DIRECTORY_SEPARATOR . 'php-mailer' . DIRECTORY_SEPARATOR . 'misc' . DIRECTORY_SEPARATOR . 'emailTemplates' . DIRECTORY_SEPARATOR . "*.php") as $filename) {
@@ -58,7 +58,7 @@ class PhpMailer extends Organizr
 		}
 		return $templates;
 	}
-	
+
 	public function _phpMailerPluginEmailTemplate($emailTemplate)
 	{
 		$variables = [
@@ -73,7 +73,7 @@ class PhpMailer extends Organizr
 		$emailTemplate['subject'] = strtr($emailTemplate['subject'], $variables);
 		return $emailTemplate;
 	}
-	
+
 	public function _phpMailerPluginBuildEmail($email)
 	{
 		/** @noinspection PhpUnusedLocalVariableInspection */
@@ -94,7 +94,7 @@ class PhpMailer extends Organizr
 		include('misc/emailTemplates/' . $this->config['PHPMAILER-template'] . '.php');
 		return $email;
 	}
-	
+
 	public function _phpMailerPluginAdminSendEmail($array)
 	{
 		if ($this->config['PHPMAILER-enabled']) {
@@ -127,13 +127,13 @@ class PhpMailer extends Organizr
 		}
 		return false;
 	}
-	
+
 	public function _phpMailerPluginGetDebug($str, $level)
 	{
 		$this->config['phpmOriginalDebug'] = $this->config['phpmOriginalDebug'] . $str;
 		return $this->config['phpmOriginalDebug'];
 	}
-	
+
 	public function _phpMailerPluginSendTestEmail()
 	{
 		$emailTemplate = array(
@@ -183,12 +183,12 @@ class PhpMailer extends Organizr
 			return true;
 		} catch (PHPMailer\PHPMailer\Exception $e) {
 			$this->writeLog('error', 'Mail Function -  E-Mail Test Failed[' . $mail->ErrorInfo . ']', $this->user['username']);
-			$this->setAPIResponse('error', $e->getMessage(), 500);
+			$this->setResponse(500, $e->getMessage());
 			return false;
 		}
 		return false;
 	}
-	
+
 	public function _phpMailerPluginSendEmail($emailInfo)
 	{
 		$to = isset($emailInfo['to']) ? $emailInfo['to'] : null;
@@ -246,7 +246,7 @@ class PhpMailer extends Organizr
 			return $e->errorMessage();
 		}
 	}
-	
+
 	/* GET PHPMAILER SETTINGS */
 	public function _phpMailerPluginGetSettings()
 	{

+ 6 - 2
js/functions.js

@@ -419,8 +419,12 @@ function ajaxloader(element=null, action='out'){
 function getDefault(id){
     let tabInfo = findTab(id);
     if(!tabInfo){
-        organizrConsole('Get Default', 'No Tab Info Found... Id: '+id, 'error');
-        return false;
+        if(getHash() === false){
+            organizrConsole('Get Default', 'No Tab Info Found... Id: '+id, 'error');
+            organizrConsole('Get Default', 'Trying to load next tab in cycle', 'error');
+            loadNextTab();
+            return false;
+        }
     }
 	if(getHash() === false || getHash() == 'OrganizrLogin'){
 		if(tabInfo.name !== null && tabInfo.type !== null){

+ 7 - 0
js/version.json

@@ -530,5 +530,12 @@
     "new": "added a check to see if theme in user theme folder is actually installed|added custom authProxy logout url (#1771)|added default config values authProxyOverrideLogout and authProxyLogoutURL|added menuExtras to tabInformation|added setAPIErrorResponse to api response|added setErrorResponse to organizr class|added test connection to jackett (#1800)",
     "fixed": "added formatPingHost function to fix incorrectly saved ping URLs|fixed chat plugin not closing with close tab button (#1816)|fixed checking of tab name if changing casing only|fixed chinese tradition not being set (#1813)|fixed issue with catchall for ical timezones (#1772)|fixed overseerr limit variable being incorrect|fixed ping URLs that were incorrect|fixed tautulli connection tester|fix preloading issue with new tabActions",
     "notes": "changed getHomepageMediaImage slightly to use default image if error|changed js-switch to default size medium|changed overseerr from a foreach call to request_multiple method|changed tabActions to use tab id instead of tab name|comment out prettyprint for errors for now|removed semver from sonarr/radarr/lidarr class|renamed tabActions for plugins to switchToPlugin|replace organizr user object if token set with token object for sso|restored old getSystemStatus method from sonarr/radarr/lidarr class|switched value of name to id for getIframeTabs function|update api.json file|updated prettyPrint function to include red error|Updated the following languages: [Russian]"
+  },
+  "2.1.1800": {
+    "date": "2022-04-09 03:53",
+    "title": "Hotfix Update",
+    "new": "",
+    "fixed": "fixed issue where if no default tab was set nothing would load|fixed sso bug that didnt pass user object correctly",
+    "notes": "replace old setAPIResponse on some items to setResponse"
   }
 }