Parcourir la source

add tab check if online using ping

causefx il y a 8 ans
Parent
commit
1122c38945
3 fichiers modifiés avec 33 ajouts et 14 suppressions
  1. 3 3
      functions.php
  2. 28 9
      index.php
  3. 2 2
      settings.php

+ 3 - 3
functions.php

@@ -900,7 +900,7 @@ function resolvePlexItem($server, $token, $item, $nowPlaying = false, $showNames
 	$openTab = (PLEXTABNAME) ? "true" : "false";
     // Assemble Item And Cache Into Array
     if($nowPlaying){
-        return '<div class="col-sm-6 col-md-3"><div class="thumbnail ultra-widget"><div style="display: none;" np="'.$id.'" class="overlay content-box small-box gray-bg">'.$streamInfo.'</div><span class="w-refresh w-p-icon gray" link="'.$id.'"><span class="fa-stack fa-lg" style="font-size: .5em"><i class="fa fa-square fa-stack-2x"></i><i class="fa fa-info-circle fa-stack-1x fa-inverse"></i></span></span><a class="openTab" extraTitle="'.$title.'" extraType="'.$item['type'].'" openTab="'.$openTab.'" href="'.$address.'" target="_blank"><img class="refreshImageSource" style="width: '.$widthOverride.'%; display:block;" src="'.$image_url.'" original-image="'.$original_image_url.'" alt="'.$item['Name'].'"></a><div class="progress progress-bar-sm zero-m"><div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="'.$watched.'" aria-valuemin="0" aria-valuemax="100" style="width: '.$watched.'%"></div><div class="progress-bar palette-Grey-500 bg" style="width: '.$transcoded.'%"></div></div><div class="caption"><i style="float:left" class="fa fa-'.$state.'"></i>'.$topTitle.''.$bottomTitle.'</div></div></div>';
+        return '<div class="col-sm-6 col-md-3"><div class="thumbnail ultra-widget"><div style="display: none;" np="'.$id.'" class="overlay content-box small-box gray-bg">'.$streamInfo.'</div><span class="w-refresh w-p-icon gray" link="'.$id.'"><span class="fa-stack fa-lg" style="font-size: .5em"><i class="fa fa-square fa-stack-2x"></i><i class="fa fa-info-circle fa-stack-1x fa-inverse"></i></span></span><div class="ultra-widget refreshImage"><span class="w-refresh w-p-icon gray"><span class="fa-stack fa-lg" style="font-size: .4em"><i class="fa fa-square fa-stack-2x"></i><i class="fa fa-refresh fa-stack-1x fa-inverse"></i></span></span></div><a class="openTab" extraTitle="'.$title.'" extraType="'.$item['type'].'" openTab="'.$openTab.'" href="'.$address.'" target="_blank"><img class="refreshImageSource" style="width: '.$widthOverride.'%; display:block;" src="'.$image_url.'" original-image="'.$original_image_url.'" alt="'.$item['Name'].'"></a><div class="progress progress-bar-sm zero-m"><div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="'.$watched.'" aria-valuemin="0" aria-valuemax="100" style="width: '.$watched.'%"></div><div class="progress-bar palette-Grey-500 bg" style="width: '.$transcoded.'%"></div></div><div class="caption"><i style="float:left" class="fa fa-'.$state.'"></i>'.$topTitle.''.$bottomTitle.'</div></div></div>';
     }else{
         return '<div class="item-'.$item['type'].$playlist.'"><div style="" class="ultra-widget refreshImage"><span class="w-refresh w-p-icon gray"><span class="fa-stack fa-lg" style="font-size: .4em"><i class="fa fa-square fa-stack-2x"></i><i class="fa fa-refresh fa-stack-1x fa-inverse"></i></span></span></div><a class="openTab" extraTitle="'.$title.'" extraType="'.$item['type'].'" openTab="'.$openTab.'" href="'.$address.'" target="_blank"><img alt="'.$item['Name'].'" class="'.$image.' refreshImageSource" data-lazy="'.$image_url.'" original-image="'.$original_image_url.'"></a><small style="margin-right: 13px" class="elip">'.$title.'</small></div>';
     }
@@ -1176,7 +1176,7 @@ function getPlexImage() {
         $cachefile = 'images/cache/'.$key.'.jpg';
         $cachetime = 604800;
         // Serve from the cache if it is younger than $cachetime
-        if (file_exists($cachefile) && time() - $cachetime < filemtime($cachefile) && $refresh !== true) {
+        if (file_exists($cachefile) && time() - $cachetime < filemtime($cachefile) && $refresh == false) {
             header("Content-type: image/jpeg");
             @readfile($cachefile);
             exit;
@@ -4550,7 +4550,7 @@ function getPing($url, $style, $refresh = null){
 			$class .= " animated flash loop-animation-timeout";
 		}
 	}
-	echo '<span class="badge ping-'.$class.'" style="position: absolute;z-index: 100;right: 5px; padding: 0px 0px;'.$style.';font-size: 10px;">&nbsp;</span>';
+	echo '<span class="pingcheck badge ping-'.$class.'" style="position: absolute;z-index: 100;right: 5px; padding: 0px 0px;'.$style.';font-size: 10px;">&nbsp;</span>';
 }
 
 function speedTestData(){

+ 28 - 9
index.php

@@ -542,14 +542,14 @@ $group = (isset($group) ? $group : "guest");
 													<span id="<?=$row['url'];?>s" class="badge badge-success" style="position: absolute;z-index: 100;right: 0px;"></span>
 													<img src="<?=$row['iconurl'];?>" style="height: 30px; width: 30px; margin-top: -2px;">
 													<?php if($row['ping'] == "true" && $row['ping_url']){ $allPings["image".$name] = $row['ping_url']; ?>
-														<ping class="ping-<?=$name;?>"></ping>
+														<ping class="ping-<?=$name;?> startPingTimer"></ping>
 													<?php }?>
 												</i>
 											<?php }else { ?>
 												<i class="fa <?=$row['icon'];?> fa-lg">
 													<span id="<?=$row['url'];?>s" class="badge badge-success" style="position: absolute;z-index: 100;right: 0px;"></span>
 													<?php if($row['ping'] == "true" && $row['ping_url']){ $allPings["icon".$name] = $row['ping_url']; ?>
-														<ping class="ping-<?=$name;?>"></ping>
+														<ping class="ping-<?=$name;?> startPingTimer"></ping>
 													<?php }?>
 												</i>
 											<?php } ?>
@@ -1824,7 +1824,6 @@ $group = (isset($group) ? $group : "guest");
 			$("li[class^='tab-item active']").first().find("img").addClass("TabOpened");
 			if (defaultTab){
 				defaultTab = defaultTab.substr(0, defaultTab.length-1);
-				console.log(defaultTab);
 			}else{
 				defaultTabNone = $("li[class^='tab-item']").attr("id");
 				if (defaultTabNone){
@@ -1836,8 +1835,28 @@ $group = (isset($group) ? $group : "guest");
 
 			if (defaultTab){
 				defaultTabName = $("li[class^='tab-item active']").attr("name");
-				$("#content").html('<div class="iframe active" data-content-name="'+defaultTabName+'" data-content-url="'+defaultTab+'"><iframe id="frame-'+defaultTabName+'" scrolling="auto" sandbox="allow-presentation allow-forms allow-same-origin allow-pointer-lock allow-scripts allow-popups allow-modals allow-top-navigation" allowfullscreen="true" webkitallowfullscreen="true" mozallowfullscreen="true" frameborder="0" style="width:100%; height:100%; position: absolute;" src="'+defaultTab+'"></iframe></div>');
-				document.getElementById('main-wrapper').focus();
+				startPingTimer = $("li[class^='tab-item active']").find('.startPingTimer');
+				console.log('loading default tab: '+defaultTabName);
+				if((startPingTimer).length){ //has ping attr
+					setTimeout(function(){ //allow it 1.25 secs to check
+						defaultPingID = $("li[class^='tab-item active']").find('.pingcheck'); //grab the DOM Element
+						if((defaultPingID).length){ //check if element is true
+							if(defaultPingID.hasClass('ping-success')){ //check if element has success status
+								console.log(defaultTabName+' has responded, proceeding with load');
+								$("#content").html('<div class="iframe active" data-content-name="'+defaultTabName+'" data-content-url="'+defaultTab+'"><iframe id="frame-'+defaultTabName+'" scrolling="auto" sandbox="allow-presentation allow-forms allow-same-origin allow-pointer-lock allow-scripts allow-popups allow-modals allow-top-navigation" allowfullscreen="true" webkitallowfullscreen="true" mozallowfullscreen="true" frameborder="0" style="width:100%; height:100%; position: absolute;" src="'+defaultTab+'"></iframe></div>');
+								document.getElementById('main-wrapper').focus();
+							}else{
+								console.log(defaultTabName+' did not respond, cancelling load');
+							}
+						}else{
+							console.log(defaultTabName+' did not have ping value');
+						}
+					}, 1250);
+				}else{
+					console.log(defaultTabName+' isn\'t setup with ping, cancelling check on load');
+					$("#content").html('<div class="iframe active" data-content-name="'+defaultTabName+'" data-content-url="'+defaultTab+'"><iframe id="frame-'+defaultTabName+'" scrolling="auto" sandbox="allow-presentation allow-forms allow-same-origin allow-pointer-lock allow-scripts allow-popups allow-modals allow-top-navigation" allowfullscreen="true" webkitallowfullscreen="true" mozallowfullscreen="true" frameborder="0" style="width:100%; height:100%; position: absolute;" src="'+defaultTab+'"></iframe></div>');
+					document.getElementById('main-wrapper').focus();
+				}
 			}
 			if (defaultTab == null){
 				$("div[id^='tabEmpty']").show();
@@ -2051,7 +2070,7 @@ $group = (isset($group) ? $group : "guest");
 
 			}else if (currentframe.attr("class") == "iframe hidden") {
 
-				console.log(thisid + " is active already but hidden");
+				console.log(thisid + " - reactivating iFrame");
 
 				$("#content div[class^='iframe active']").attr("class", "iframe hidden");
 
@@ -2068,7 +2087,7 @@ $group = (isset($group) ? $group : "guest");
 				if ($(this).attr("window") == "true") {
 					window.open(thisid,'_blank');
 				}else {
-					console.log(thisid + " make new div");
+					console.log(thisid + " - loading new iFrame");
 
 					$("#content div[class^='iframe active']").attr("class", "iframe hidden");
 
@@ -2107,7 +2126,7 @@ $group = (isset($group) ? $group : "guest");
 
 			}else if (currentframe.attr("class") == "iframe hidden") {
 
-				console.log(thisid + " is active already but hidden");
+				console.log(thisid + " - reactivating iFrame");
 
 				$("#contentRight div[class^='iframe active']").attr("class", "iframe hidden");
 
@@ -2124,7 +2143,7 @@ $group = (isset($group) ? $group : "guest");
 				if ($(this).attr("window") == "true") {
 					window.open(thisid,'_blank');
 				}else {
-					console.log(thisid + " make new div");
+					console.log(thisid + " - loading new iFrame");
 
 					$("#contentRight div[class^='iframe active']").attr("class", "iframe hidden");
 

+ 2 - 2
settings.php

@@ -154,7 +154,7 @@ $themeVersion = (!empty(INSTALLEDTHEME) ? explode("-", INSTALLEDTHEME)[1] : null
 					$(this).attr('for',$(this).attr('for').replace('new',idNumber));
 				});
 				$element.appendTo('#submitTabs ul');
-				$element.find('.iconpickeradd').iconpicker({placement: 'left', hideOnSelect: false, collision: true});
+				$element.find('.iconpickeradd').iconpicker({placement: 'right', hideOnSelect: false, collision: true});
 				$(".iconpicker-items").niceScroll({
 					railpadding: {top:0,right:0,left:0,bottom:0},
 					scrollspeed: 30,
@@ -3928,7 +3928,7 @@ echo buildSettings(
         $( document ).ready(function() {
 			$(".iconpickeradd").on("click", function() {
                 console.log('icon picker start add');
-                $(this).iconpicker({placement: 'left', hideOnSelect: false, collision: true});
+                $(this).iconpicker({placement: 'right', hideOnSelect: false, collision: true});
 				$(".iconpicker-items").niceScroll({
 					railpadding: {top:0,right:0,left:0,bottom:0},
 					scrollspeed: 30,