Przeglądaj źródła

Added option for tautulli header

CauseFX 6 lat temu
rodzic
commit
762374ebd3

+ 1 - 0
api/config/default.php

@@ -279,6 +279,7 @@ return array(
 	'tautulliTopPlatforms' => true,
 	'tautulliPopularMovies' => true,
 	'tautulliPopularTV' => true,
+	'tautulliHeader' => 'Tautulli',
 	'homepagePiholeEnabled' => false,
 	'homepagePiholeAuth' => '1',
 	'homepagePiholeRefresh' => '10000',

+ 95 - 87
api/functions/homepage-functions.php

@@ -177,10 +177,10 @@ function buildHomepageItem($homepageItem)
 				}
 			}
 			break;
-        case 'homepageOrderjdownloader':
-            if ($GLOBALS['homepageJdownloaderEnabled'] && qualifyRequest($GLOBALS['homepageJdownloaderAuth'])) {
-                if ($GLOBALS['jdownloaderCombine']) {
-                    $item .= '
+		case 'homepageOrderjdownloader':
+			if ($GLOBALS['homepageJdownloaderEnabled'] && qualifyRequest($GLOBALS['homepageJdownloaderAuth'])) {
+				if ($GLOBALS['jdownloaderCombine']) {
+					$item .= '
 					<script>
 					// JDownloader
 					buildDownloaderCombined(\'jdownloader\');
@@ -188,9 +188,9 @@ function buildHomepageItem($homepageItem)
 					// End JDownloader
 					</script>
 					';
-                } else {
-                    $item .= '<div class="white-box"><h2 class="text-center" lang="en">Loading Download Queue...</h2></div>';
-                    $item .= '
+				} else {
+					$item .= '<div class="white-box"><h2 class="text-center" lang="en">Loading Download Queue...</h2></div>';
+					$item .= '
 					<script>
 					// JDownloader
 					$("#' . $homepageItem . '").html(buildDownloader("jdownloader"));
@@ -198,9 +198,9 @@ function buildHomepageItem($homepageItem)
 					// End JDownloader
 					</script>
 					';
-                }
-            }
-            break;
+				}
+			}
+			break;
 		case 'homepageOrdersabnzbd':
 			if ($GLOBALS['homepageSabnzbdEnabled'] && qualifyRequest($GLOBALS['homepageSabnzbdAuth'])) {
 				if ($GLOBALS['sabnzbdCombine']) {
@@ -1048,13 +1048,13 @@ function getHomepageList()
 				)
 			)
 		),
-        array(
-            'name' => 'JDownloader',
-            'enabled' => (strpos('personal', $GLOBALS['license']) !== false) ? true : false,
-            'image' => 'plugins/images/tabs/jdownloader.png',
-            'category' => 'Downloader',
-            'settings' => array(
-	            'custom' => '
+		array(
+			'name' => 'JDownloader',
+			'enabled' => (strpos('personal', $GLOBALS['license']) !== false) ? true : false,
+			'image' => 'plugins/images/tabs/jdownloader.png',
+			'category' => 'Downloader',
+			'settings' => array(
+				'custom' => '
 				<div class="row">
                     <div class="col-lg-12">
                         <div class="panel panel-info">
@@ -1073,62 +1073,62 @@ function getHomepageList()
                     </div>
 				</div>
 				',
-                'Enable' => array(
-                    array(
-                        'type' => 'switch',
-                        'name' => 'homepageJdownloaderEnabled',
-                        'label' => 'Enable',
-                        'value' => $GLOBALS['homepageJdownloaderEnabled']
-                    ),
-                    array(
-                        'type' => 'select',
-                        'name' => 'homepageJdownloaderAuth',
-                        'label' => 'Minimum Authentication',
-                        'value' => $GLOBALS['homepageJdownloaderAuth'],
-                        'options' => $groups
-                    )
-                ),
-                'Connection' => array(
-                    array(
-                        'type' => 'input',
-                        'name' => 'jdownloaderURL',
-                        'label' => 'URL',
-                        'value' => $GLOBALS['jdownloaderURL'],
-                        'help' => 'Please make sure to use local IP address and port - You also may use local dns name too.',
-                        'placeholder' => 'http(s)://hostname:port'
-                    )
-                ),
-                'Misc Options' => array(
-                    array(
-                        'type' => 'select',
-                        'name' => 'homepageDownloadRefresh',
-                        'label' => 'Refresh Seconds',
-                        'value' => $GLOBALS['homepageDownloadRefresh'],
-                        'options' => optionTime()
-                    ),
-                    array(
-                        'type' => 'switch',
-                        'name' => 'jdownloaderCombine',
-                        'label' => 'Add to Combined Downloader',
-                        'value' => $GLOBALS['jdownloaderCombine']
-                    ),
-                ),
-                'Test Connection' => array(
-                    array(
-                        'type' => 'blank',
-                        'label' => 'Please Save before Testing'
-                    ),
-                    array(
-                        'type' => 'button',
-                        'label' => '',
-                        'icon' => 'fa fa-flask',
-                        'class' => 'pull-right',
-                        'text' => 'Test Connection',
-                        'attr' => 'onclick="testAPIConnection(\'jdownloader\')"'
-                    ),
-                )
-            )
-        ),
+				'Enable' => array(
+					array(
+						'type' => 'switch',
+						'name' => 'homepageJdownloaderEnabled',
+						'label' => 'Enable',
+						'value' => $GLOBALS['homepageJdownloaderEnabled']
+					),
+					array(
+						'type' => 'select',
+						'name' => 'homepageJdownloaderAuth',
+						'label' => 'Minimum Authentication',
+						'value' => $GLOBALS['homepageJdownloaderAuth'],
+						'options' => $groups
+					)
+				),
+				'Connection' => array(
+					array(
+						'type' => 'input',
+						'name' => 'jdownloaderURL',
+						'label' => 'URL',
+						'value' => $GLOBALS['jdownloaderURL'],
+						'help' => 'Please make sure to use local IP address and port - You also may use local dns name too.',
+						'placeholder' => 'http(s)://hostname:port'
+					)
+				),
+				'Misc Options' => array(
+					array(
+						'type' => 'select',
+						'name' => 'homepageDownloadRefresh',
+						'label' => 'Refresh Seconds',
+						'value' => $GLOBALS['homepageDownloadRefresh'],
+						'options' => optionTime()
+					),
+					array(
+						'type' => 'switch',
+						'name' => 'jdownloaderCombine',
+						'label' => 'Add to Combined Downloader',
+						'value' => $GLOBALS['jdownloaderCombine']
+					),
+				),
+				'Test Connection' => array(
+					array(
+						'type' => 'blank',
+						'label' => 'Please Save before Testing'
+					),
+					array(
+						'type' => 'button',
+						'label' => '',
+						'icon' => 'fa fa-flask',
+						'class' => 'pull-right',
+						'text' => 'Test Connection',
+						'attr' => 'onclick="testAPIConnection(\'jdownloader\')"'
+					),
+				)
+			)
+		),
 		array(
 			'name' => 'SabNZBD',
 			'enabled' => (strpos('personal', $GLOBALS['license']) !== false) ? true : false,
@@ -2577,6 +2577,15 @@ function getHomepageList()
 						'options' => $groups
 					)
 				),
+				'Options' => array(
+					array(
+						'type' => 'input',
+						'name' => 'tautulliHeader',
+						'label' => 'Title',
+						'value' => $GLOBALS['tautulliHeader'],
+						'help' => 'Sets the title of this homepage module'
+					)
+				),
 				'Connection' => array(
 					array(
 						'type' => 'input',
@@ -2654,7 +2663,6 @@ function getHomepageList()
 					),
 				),
 				'Misc Stats' => array(
-					
 					array(
 						'type' => 'switch',
 						'name' => 'tautulliTopUsers',
@@ -2717,13 +2725,13 @@ function buildHomepageSettings()
 					$class .= ' faded';
 				}
 				break;
-            case 'homepageOrderjdownloader':
-                $class = 'bg-sab';
-                $image = 'plugins/images/tabs/jdownloader.png';
-                if (!$GLOBALS['homepageJdownloaderEnabled']) {
-                    $class .= ' faded';
-                }
-                break;
+			case 'homepageOrderjdownloader':
+				$class = 'bg-sab';
+				$image = 'plugins/images/tabs/jdownloader.png';
+				if (!$GLOBALS['homepageJdownloaderEnabled']) {
+					$class .= ' faded';
+				}
+				break;
 			case 'homepageOrdersabnzbd':
 				$class = 'bg-sab';
 				$image = 'plugins/images/tabs/sabnzbd.png';
@@ -2805,12 +2813,12 @@ function buildHomepageSettings()
 				}
 				break;
 			case 'homepageOrdertautulli':
-					$class = 'bg-info';
-					$image = 'plugins/images/tabs/tautulli.png';
-					if (!$GLOBALS['homepageTautulliEnabled']) {
-						$class .= ' faded';
-					}
-					break;
+				$class = 'bg-info';
+				$image = 'plugins/images/tabs/tautulli.png';
+				if (!$GLOBALS['homepageTautulliEnabled']) {
+					$class .= ' faded';
+				}
+				break;
 			case 'homepageOrderPihole':
 				$class = 'bg-info';
 				$image = 'plugins/images/tabs/pihole.png';

+ 97 - 94
api/functions/organizr-functions.php

@@ -44,6 +44,9 @@ function organizrSpecialSettings()
 			'options' => array(
 				'alternateHomepageHeaders' => $GLOBALS['alternateHomepageHeaders'],
 				'healthChecksTags' => $GLOBALS['healthChecksTags'],
+				'titles' => array(
+					'tautulli' => $GLOBALS['tautulliHeader']
+				)
 			),
 			'media' => array(
 				'jellyfin' => (strpos($GLOBALS['embyURL'], 'jellyfin') !== false) ? true : false
@@ -1668,7 +1671,7 @@ function auth()
 	$group = 0;
 	$groupParam = $_GET['group'];
 	$redirect = false;
-	if(isset($groupParam)) {
+	if (isset($groupParam)) {
 		if (is_numeric($groupParam)) {
 			$group = (int)$groupParam;
 		} else {
@@ -1713,18 +1716,18 @@ function auth()
 	}
 }
 
-function getTabGroup ($tab)
+function getTabGroup($tab)
 {
-    try {
-        $connect = new Dibi\Connection([
-            'driver' => 'sqlite3',
-            'database' => $GLOBALS['dbLocation'] . $GLOBALS['dbName'],]);
-        $row = $connect->fetch('SELECT group_id FROM tabs WHERE name LIKE %~like~', $tab);
-        return $row ? $row['group_id'] : 0;
-    } catch (\Dibi\Exception $e) {
-        writeLog('error', 'Tab Group Function - Error Fetching Tab Group', $tab);
-        return 0;
-    }
+	try {
+		$connect = new Dibi\Connection([
+			'driver' => 'sqlite3',
+			'database' => $GLOBALS['dbLocation'] . $GLOBALS['dbName'],]);
+		$row = $connect->fetch('SELECT group_id FROM tabs WHERE name LIKE %~like~', $tab);
+		return $row ? $row['group_id'] : 0;
+	} catch (\Dibi\Exception $e) {
+		writeLog('error', 'Tab Group Function - Error Fetching Tab Group', $tab);
+		return 0;
+	}
 }
 
 function logoOrText()
@@ -2062,11 +2065,11 @@ function getImage()
 
 function cacheImage($url, $name, $extension = 'jpg')
 {
-    $cacheDirectory = dirname(__DIR__, 2) . DIRECTORY_SEPARATOR . 'plugins' . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'cache' . DIRECTORY_SEPARATOR;
-    if (!file_exists($cacheDirectory)) {
-        mkdir($cacheDirectory, 0777, true);
-    }
-    $cachefile = $cacheDirectory . $name . '.' . $extension;
+	$cacheDirectory = dirname(__DIR__, 2) . DIRECTORY_SEPARATOR . 'plugins' . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'cache' . DIRECTORY_SEPARATOR;
+	if (!file_exists($cacheDirectory)) {
+		mkdir($cacheDirectory, 0777, true);
+	}
+	$cachefile = $cacheDirectory . $name . '.' . $extension;
 	$cachetime = 604800;
 	if ((file_exists($cachefile) && time() - $cachetime < filemtime($cachefile)) || !file_exists($cachefile)) {
 		@copy($url, $cachefile);
@@ -2087,34 +2090,34 @@ function downloader($array)
 					break;
 			}
 			break;
-        case 'jdownloader':
-            switch ($array['data']['action']) {
-                case 'start':
-                    jdownloaderAction($array['data']['action'], $array['data']['target']);
-                    break;
-                case 'stop':
-                    jdownloaderAction($array['data']['action'], $array['data']['target']);
-                    break;
-                case 'resume':
-                    jdownloaderAction($array['data']['action'], $array['data']['target']);
-                    break;
-                case 'pause':
-                    jdownloaderAction($array['data']['action'], $array['data']['target']);
-                    break;
-                case 'update':
-                    jdownloaderAction($array['data']['action'], $array['data']['target']);
-                    break;
-                case 'retry':
-                    jdownloaderAction($array['data']['action'], $array['data']['target']);
-                    break;
-                case 'remove':
-                    jdownloaderAction($array['data']['action'], $array['data']['target']);
-                    break;
-                default:
-                    # code...
-                    break;
-            }
-            break;
+		case 'jdownloader':
+			switch ($array['data']['action']) {
+				case 'start':
+					jdownloaderAction($array['data']['action'], $array['data']['target']);
+					break;
+				case 'stop':
+					jdownloaderAction($array['data']['action'], $array['data']['target']);
+					break;
+				case 'resume':
+					jdownloaderAction($array['data']['action'], $array['data']['target']);
+					break;
+				case 'pause':
+					jdownloaderAction($array['data']['action'], $array['data']['target']);
+					break;
+				case 'update':
+					jdownloaderAction($array['data']['action'], $array['data']['target']);
+					break;
+				case 'retry':
+					jdownloaderAction($array['data']['action'], $array['data']['target']);
+					break;
+				case 'remove':
+					jdownloaderAction($array['data']['action'], $array['data']['target']);
+					break;
+				default:
+					# code...
+					break;
+			}
+			break;
 		case 'nzbget':
 			break;
 		default:
@@ -2125,53 +2128,51 @@ function downloader($array)
 
 function jdownloaderAction($action = null, $target = null)
 {
-    if ($GLOBALS['homepageJdownloaderEnabled'] && !empty($GLOBALS['jdownloaderURL']) && qualifyRequest($GLOBALS['homepageJdownloaderAuth'])) {
-        $url = qualifyURL($GLOBALS['jdownloaderURL']);
-
-        # This ensures compatibility with RSScrawler
-        $url = str_replace('/myjd', '', $url);
-        if(substr($url , -1)=='/') {
-            $url = substr_replace($url ,"",-1);
-        }
-
-        switch ($action) {
-            case 'start':
-                $url = $url . '/myjd_start/';
-                break;
-            case 'stop':
-                $url = $url . '/myjd_stop/';
-                break;
-            case 'resume':
-                $url = $url . '/myjd_pause/false';
-                break;
-            case 'pause':
-                $url = $url . '/myjd_pause/true';
-                break;
-            case 'update':
-                $url = $url . '/myjd_update';
-                break;
-            case 'retry':
-                # code...
-                break;
-            case 'remove':
-                # code...
-                break;
-            default:
-                # code...
-                break;
-        }
-        try {
-            $options = (localURL($url)) ? array('verify' => false) : array();
-            $response = Requests::post($url, array(), $options);
-            if ($response->success) {
-                $api['content'] = json_decode($response->body, true);
-            }
-        } catch (Requests_Exception $e) {
-            writeLog('error', 'JDownloader Connect Function - Error: ' . $e->getMessage(), 'SYSTEM');
-        };
-        $api['content'] = isset($api['content']) ? $api['content'] : false;
-        return $api;
-    }
+	if ($GLOBALS['homepageJdownloaderEnabled'] && !empty($GLOBALS['jdownloaderURL']) && qualifyRequest($GLOBALS['homepageJdownloaderAuth'])) {
+		$url = qualifyURL($GLOBALS['jdownloaderURL']);
+		# This ensures compatibility with RSScrawler
+		$url = str_replace('/myjd', '', $url);
+		if (substr($url, -1) == '/') {
+			$url = substr_replace($url, "", -1);
+		}
+		switch ($action) {
+			case 'start':
+				$url = $url . '/myjd_start/';
+				break;
+			case 'stop':
+				$url = $url . '/myjd_stop/';
+				break;
+			case 'resume':
+				$url = $url . '/myjd_pause/false';
+				break;
+			case 'pause':
+				$url = $url . '/myjd_pause/true';
+				break;
+			case 'update':
+				$url = $url . '/myjd_update';
+				break;
+			case 'retry':
+				# code...
+				break;
+			case 'remove':
+				# code...
+				break;
+			default:
+				# code...
+				break;
+		}
+		try {
+			$options = (localURL($url)) ? array('verify' => false) : array();
+			$response = Requests::post($url, array(), $options);
+			if ($response->success) {
+				$api['content'] = json_decode($response->body, true);
+			}
+		} catch (Requests_Exception $e) {
+			writeLog('error', 'JDownloader Connect Function - Error: ' . $e->getMessage(), 'SYSTEM');
+		};
+		$api['content'] = isset($api['content']) ? $api['content'] : false;
+		return $api;
+	}
 }
 
 function sabnzbdAction($action = null, $target = null)
@@ -2660,21 +2661,23 @@ function checkHostPrefix($s)
 	}
 	return (substr($s, -1, 1) == '\\') ? $s : $s . '\\';
 }
+
 function analyzeIP($ip)
 {
-	if(strpos($ip,'/') !== false){
+	if (strpos($ip, '/') !== false) {
 		$explodeIP = explode('/', $ip);
 		$prefix = $explodeIP[1];
 		$start_ip = $explodeIP[0];
 		$ip_count = 1 << (32 - $prefix);
 		$start_ip_long = ip2long($start_ip);
 		$last_ip_long = ip2long($start_ip) + $ip_count - 1;
-	}elseif(substr_count($ip, '.') == 3){
+	} elseif (substr_count($ip, '.') == 3) {
 		$start_ip_long = ip2long($ip);
 		$last_ip_long = ip2long($ip);
 	}
 	return (isset($start_ip_long) && isset($last_ip_long)) ? array('from' => $start_ip_long, 'to' => $last_ip_long) : false;
 }
+
 function authProxyRangeCheck($from, $to)
 {
 	$approved = false;

+ 1 - 1
js/functions.js

@@ -6657,7 +6657,7 @@ function buildTautulli(array){
     <div id="allTautulli">
 		<div class="el-element-overlay row">
 		    <div class="col-md-12">
-		        <h4 class="pull-left homepage-element-title"><span lang="en">Tautulli</span> : </h4><h4 class="pull-left">&nbsp;</h4>
+		        <h4 class="pull-left homepage-element-title"><span>`+activeInfo.settings.homepage.options.titles.tautulli+`</span> : </h4><h4 class="pull-left">&nbsp;</h4>
 		        <hr class="hidden-xs ml-2">
 		    </div>
 			<div class="clearfix"></div>