Skip to content

Commit dd977df

Browse files
committed
Add automatic refresh after 30 seconds, if tab is active
1 parent 48a65f5 commit dd977df

File tree

4 files changed

+28
-24
lines changed

4 files changed

+28
-24
lines changed

html/langconf.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
$language['de'][10] = "Keine Mods auf dem Server gefunden.";
2323
$language['de'][11] = "In-game Tag: ";
2424
$language['de'][12] = "Passwort";
25-
$language['de'][13] = "Query ist auf diesem Server deaktiviert.";
25+
$language['de'][13] = "Nächste Aktualisierung in";
2626
$language['de'][14] = "An";
2727
$language['de'][15] = "Aus";
2828
//en
@@ -38,6 +38,6 @@
3838
$language['en'][10] = "There are no mods installed on this server.";
3939
$language['en'][11] = "In-game Day: ";
4040
$language['en'][12] = "Password";
41-
$language['en'][13] = "Query is disabled on this server.";
41+
$language['en'][13] = "Next refresh in";
4242
$language['en'][14] = "On";
4343
$language['en'][15] = "Off";

index.php

Lines changed: 8 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,8 @@
11
<?php
2-
$Timer = MicroTime(true);
3-
require 'query/SourceQuery/bootstrap.php';
4-
require 'query/minecraft/src/MinecraftPing.php';
5-
require 'query/minecraft/src/MinecraftPingException.php';
6-
require 'query/minecraft/src/MinecraftQuery.php';
7-
require 'query/minecraft/src/MinecraftQueryException.php';
8-
require 'html/type/minecraft/jsonconversion.php';
9-
require 'html/type/minecraft/minecraftcolor.php';
102
require_once 'html/config.php';
113
if (file_exists("query/cron/cache/minecraft.php")) {
124
include 'query/cron/cache/minecraft.php';
135
}
14-
15-
use xPaw\SourceQuery\SourceQuery;
16-
17-
const SQ_TIMEOUT = 1;
18-
const SQ_ENGINE = SourceQuery::SOURCE;
19-
206
require "html/tailcustom.php";
217
require "functions.php";
228
if (!isset($install)) {
@@ -102,11 +88,15 @@
10288
echo "<div class='white-inftext'>" . $language[$lang][9] . "</div>";
10389
}
10490
?>
105-
<div>
106-
<button type="button" onclick="callLoadData()">Change Content</button>
107-
</div>
91+
<p class="countdown"><?php echo $language[$lang][13]?> <span id="countdown"></span>s.</p>
92+
<div id="countdown"></div>
93+
<div><button type="button" onclick="callLoadData()">Refresh Servers</button></div>
10894
<script>
10995
function callLoadData() {
96+
if (typeof downloadTimer !== 'undefined') {
97+
clearInterval(downloadTimer);
98+
}
99+
countdown(30);
110100
let serverid = JSON.parse('<?php echo json_encode($sidscript);?>');
111101
for (const value in serverid) {
112102
let modlink = `${serverid[value]}`;
@@ -117,7 +107,4 @@ function callLoadData() {
117107
<script src="script.js"></script>
118108
</div>
119109
</body>
120-
</html>
121-
<?php
122-
echo "<div class='querytime'>Queried in " . Number_Format(MicroTime(true) - $Timer, 4, '.', '') . " seconds.</div>";
123-
?>
110+
</html>

reload.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@
6060
include 'query/minecraftquery.php';
6161
break;
6262
}
63-
$serverstatus = json_decode($queryresult ?? false);
63+
$serverstatus = json_decode($queryresult);
6464
include 'html/type/query.php';
6565
// Clean up query result.
6666
$response['Username'] = $username;

script.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,4 +131,21 @@ function LoadData(id) {
131131
};
132132
xhttp.open("GET", "reload.php?id="+id, true);
133133
xhttp.send();
134+
}
135+
setInterval(refresh, 30000);
136+
function refresh() {
137+
if(document.hasFocus()) {
138+
callLoadData();
139+
} else {
140+
console.log('refresh paused');
141+
countdown(30);
142+
}
143+
}
144+
function countdown(time) {
145+
downloadTimer = setInterval(function(){
146+
time--;
147+
if(time <= 0)
148+
clearInterval(downloadTimer);
149+
document.getElementById("countdown").textContent = time;
150+
},1000);
134151
}

0 commit comments

Comments
 (0)