|
|
@ -9,6 +9,7 @@ |
|
|
|
<dt class="col-sm-5">Server Installed |
|
|
|
<span class="badge badge-success d-none" id="server-success" title="Latest version is installed.">Ok</span> |
|
|
|
<span class="badge badge-warning d-none" id="server-warning" title="There seems to be an update available.">Update</span> |
|
|
|
<span class="badge badge-info d-none" id="server-branch" title="This is a branched version.">Branched</span> |
|
|
|
</dt> |
|
|
|
<dd class="col-sm-7"> |
|
|
|
<span id="server-installed">{{version}}</span> |
|
|
@ -66,7 +67,7 @@ |
|
|
|
(() => { |
|
|
|
const d = new Date(); |
|
|
|
const year = d.getUTCFullYear(); |
|
|
|
const month = String((d.getUTCMonth()+1)).padStart(2, '0'); |
|
|
|
const month = String(d.getUTCMonth()+1).padStart(2, '0'); |
|
|
|
const day = String(d.getUTCDate()).padStart(2, '0'); |
|
|
|
const hour = String(d.getUTCHours()).padStart(2, '0'); |
|
|
|
const minute = String(d.getUTCMinutes()).padStart(2, '0'); |
|
|
@ -92,27 +93,57 @@ |
|
|
|
|
|
|
|
let serverInstalled = document.getElementById('server-installed').innerText; |
|
|
|
let serverLatest = document.getElementById('server-latest').innerText; |
|
|
|
if (serverInstalled.indexOf('-') > -1 && serverLatest !== '-') { |
|
|
|
let serverLatestCommit = document.getElementById('server-latest-commit').innerText.replace('-', ''); |
|
|
|
if (serverInstalled.indexOf('-') !== -1 && serverLatest !== '-' && serverLatestCommit !== '-') { |
|
|
|
document.getElementById('server-latest-commit').classList.remove('d-none'); |
|
|
|
serverLatest += document.getElementById('server-latest-commit').innerText; |
|
|
|
} |
|
|
|
|
|
|
|
const webInstalled = document.getElementById('web-installed').innerText; |
|
|
|
const webLatest = document.getElementById('web-latest').innerText; |
|
|
|
|
|
|
|
checkVersions('server', serverInstalled, serverLatest); |
|
|
|
checkVersions('server', serverInstalled, serverLatest, serverLatestCommit); |
|
|
|
checkVersions('web', webInstalled, webLatest); |
|
|
|
|
|
|
|
function checkVersions(platform, installed, latest) { |
|
|
|
function checkVersions(platform, installed, latest, commit=null) { |
|
|
|
if (installed === '-' || latest === '-') { |
|
|
|
document.getElementById(platform + '-failed').classList.remove('d-none'); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
if (installed !== latest) { |
|
|
|
document.getElementById(platform + '-warning').classList.remove('d-none'); |
|
|
|
// Only check basic versions, no commit revisions |
|
|
|
if (commit === null || installed.indexOf('-') === -1) { |
|
|
|
if (installed !== latest) { |
|
|
|
document.getElementById(platform + '-warning').classList.remove('d-none'); |
|
|
|
} else { |
|
|
|
document.getElementById(platform + '-success').classList.remove('d-none'); |
|
|
|
} |
|
|
|
} else { |
|
|
|
document.getElementById(platform + '-success').classList.remove('d-none'); |
|
|
|
// Check if this is a branched version. |
|
|
|
const branchRegex = /(?:\s)\((.*?)\)/; |
|
|
|
const branchMatch = installed.match(branchRegex); |
|
|
|
if (branchMatch !== null) { |
|
|
|
document.getElementById(platform + '-branch').classList.remove('d-none'); |
|
|
|
} |
|
|
|
|
|
|
|
// This will remove branch info and check if there is a commit hash |
|
|
|
const installedRegex = /(\d+\.\d+\.\d+)-(\w+)/; |
|
|
|
const instMatch = installed.match(installedRegex); |
|
|
|
|
|
|
|
// It could be that a new tagged version has the same commit hash. |
|
|
|
// In this case the version is the same but only the number is different |
|
|
|
if (instMatch !== null) { |
|
|
|
if (instMatch[2] === commit) { |
|
|
|
// The commit hashes are the same, so latest version is installed |
|
|
|
document.getElementById(platform + '-success').classList.remove('d-none'); |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if (installed === latest) { |
|
|
|
document.getElementById(platform + '-success').classList.remove('d-none'); |
|
|
|
} else { |
|
|
|
document.getElementById(platform + '-warning').classList.remove('d-none'); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
})(); |
|
|
|