Subversion Repositories vnag

Compare Revisions

Regard whitespace Rev 62 → Rev 63

/trunk/plugins/minecraft_java_version/MinecraftJavaVersionCheck.class.php
1,26 → 1,26
<?php /* <ViaThinkSoftSignature>
VoLrukd2+1rHWc8YwnYyT7d2R4OI9x3gYpI9oiFWRkU32Yv9zQ9Yl2iHQD/2eq1vU
HYHjdpEAWrMkSrpo9MNZ+mbyRwXXd0gK/cLQiLlYy5BCMypYdNJ54Yy/7jNto7O1u
Wt3iBPVZeLhgmdoM3UCWSJW1c0Ngj8zv8hg7vrgU5tCqwucEvfDARDNfZs/wyQj0Z
n8Kdj3FxhzBuM4Jm7BUgz5YJnPuKF3HVnnAMp/F68zr1ouQwzA67xPr02vd8Apbu5
WU2gpJzhxMvmAvNnWz5HgkSqSQb0W4ABi0M2HNzTx0f6Xr57phn8MkL6fPqGpiNE+
U/3IhdaSIGBqmhcg6O14MNHQzvdMcowSyEPEAz4nyGNjmobDjhSN9sYeW5zwotOfd
Kwrz/0UlgGMhWeW3dwgxd0lUDgjvYjJtaru7Z0mkyyZNcTwKnE+BOFTZfADYe0PUm
zY3CSSftjsfuUBap1aF1Jxy4/xVctgTVBWdKiK1Lk2C/iGEkeIFxWIk5wFVhJecr0
QCDzCc88s7HHNRmZwiGYGzN/2jjswOHc9KpgOczQWd1BLgX53b8rRmU1CT9u1EXli
2ePh/QHB89fo9iaGaC5uWmFYpGdLh8CSI4evdPT4gC2hhjIpl3+t9LoR4T7i1wHKZ
Uk1SVNvQdQUeDBZNkoqFMW8iwJcU1VgrMmr0tCqu88bxaNFAPnvOZq3W5YbPMwOvQ
Q+G9W8dPafu0x8VjlcREkd3oHDMZFmRULPgOLhzj6Q9Ms/aBoKHRZH7T+2nzhJ1w3
OL7MY33Jr9WBZszPfcerOAPil65w4dS9LVzUq1mdufZ4udRMqr0DCARgk637KT7Tj
tLntP877IW/ZaveUaLIEmFUPrK097tNi9d6og6Gb26aEeH6bd3KsVfmvgYAw7FSnM
v9QvxjMYXrAp7X7mZ1DTad4lwAZBml8k1uQhNfeMxGXCF9Hs8wlnLCyQXM9HqhVof
71yLzIGfS8DPIRoI6Mv8MZ0LLWqn8spNOyoazOPcNAcJaxz21J8f20F6cTjquhiaG
oDpLH5pqjnJptdPJmZGCfzocHpAHqSsZ2zlghcoL/25iVa3sCwSVlW3/SXdrh7OIz
smIG02GjCFa4n9/kAGewSb/UJvZmB+Z2UbMfbGKqRUoUmZvh99+qfnFHfH2cG59+b
uviYgBLY37MEbnJ4rdyO8KtlZjcBsHzf8AyqDPthJS9hN9KGd/dq4/EneIlm+nnbo
zQuo6Q7W2IahVsrI5Wnr9GYl9mZLBoZ1X2kn7xrprMT5K8RwohjKv2zeQaOlsBX7+
NkeaktqUt69FIza1BNJ5irvqGbWdkVLeeVv7W6oZYZkaQCLtgy3sujDDxCs+mIMrE
g==
2fWiqNt7gMw7rboV5l5dvB/ceP6jneWqHFYRNvge/NXbEoRDqossYdeNkXUGOZ1oQ
PwqVwK/kkKISa1PTYeK33yJiiH8hBBc4LOTh4p08AEh2gBCrsS3J/Jk8+oiqg5yFi
atnTF13ri4URJQTxC7AUNw3yDgWblNFaSSzMDIteljnDvMMb3EBCbeM87RTOxd8hw
HqfcDqkgSRfBwDYi4NyNDSrk2ZZDkMlgH7XakxnP3GqsZgkujBVKYvhdLg86xu+1K
qXBqfoQFhZBmL0l9iAbsFrLo0F+T6QsqsfVVyLZkuNJAGk0nRJudhaO+WwQmUealB
ex4VsL3r18tyMri5fwft87GY1fLKjL2t3ABm03TczfGSMRQBNPdDMDziAbwBt7Vjy
2pnW42l4jv6gsM6FEfU0LcsfXZiZvEVOqWf4RaoyUj8KjsfZTLKxkDql3qB7NEpDr
pDasGsKk5VfBS73zqVuBaNt425atLVhqQM4ufTyZTBr+rfcTJzxraMAH4NDzilXkP
hxGgDpG8VcYDBohmoOD1MqjNXESHp915u4y+/41lNmPAk8wKN5OXzz2WgT/8JjvP/
XBbpw03O+R95kTkNA6yhCDOs6FeO6962N1tmeYMp/+bw2CzPLtlUx4/vnLQk/A3Kd
bXGlF2vKXgPLJckehzhU7Il4xbXbOL56R7DGLypuBcYTqRql/LlYKZwCctnboD0k9
VsZK/kP6Lp5ra66qKSrg3vT84dJs51mLBS4pUiFZ3mpcyDUhAbYYH0gGWVU/+FvJv
uIfBialrJXttcAZ+ntXF21j+m/hVSaUocyvOQ82DUgXmRrFTvqXA19c5EI3Kg5yPE
UL6td9X1vmUjDTXDMidWSrgbU1bLUc7WRRxPO2OVKhvAW5SUQgD144OQCnHny5NfG
Hv8Pn6e9c5INrM0PToqBP0co2GrSjCBJj2H8oHZrpUnOyIKKLFBBajxRBZuEVySC/
AnKaSpJ/GgeBjQj8n+QzO+YTROnD0HPmhsPKFAXyQKp0AMGTeKEjvQ/BMY366+gnD
tNhV5bW/Jg9HfmFCCc9HFl49mRODgfY/RPgXomkXXJoznI35gzuoEJ6oYa0l5/3x+
CPQVEwQD27aZ16THSuo7B15PDqlDqFK6oBEIIQo0wiKvG3ZKJ4o+/8dEFpuL7iojN
DF6090cihGns5gccj5uwrBkqswwkZjGb9Q3b7L5kivXuuUDXkYF98EbndhDAhMCxZ
kLVD0Wuc87Jv9C5sb9jSv+KVPbcp6PtIGuYiKFv1QTaEkpiTHDfgxRf10DGo1Ferw
tyc9Ot1W9I5Grq0bFQVenj/si5x+CmjONBOCnByNt8aRmhl8jp88LcDnyV5FwCLYE
A==
</ViaThinkSoftSignature> */ ?>
<?php
 
29,7 → 29,7
* Developed by Daniel Marschall, ViaThinkSoft <www.viathinksoft.com>
* Licensed under the terms of the Apache 2.0 license
*
* Revision 2023-05-02
* Revision 2023-06-12
*/
 
declare(ticks=1);
54,46 → 54,14
}
 
protected function get_latest_minecraft_version() {
$headers = array(
// These headers are important! Otherwise the request will be blocked by AkamaiGhost
"User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.93 Safari/537.36",
"Accept-Language: de-DE,de;q=0.9,en-DE;q=0.8,en;q=0.7,en-US;q=0.6",
"Accept-Encoding: none"
);
 
// TODO: Version is currently not shown anymore: https://bugs.mojang.com/browse/WEB-6497
/*
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"https://www.minecraft.net/en-us/download/server"); // TODO: make locale configurable?
curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$cont = curl_exec($ch);
curl_close($ch);
$cont = @file_get_contents('https://launchermeta.mojang.com/mc/game/version_manifest.json');
if (!$cont) throw new Exception("Cannot detect latest available Minecraft version (HTTPS request failed)");
preg_match_all('@minecraft_server\\.(.+)\\.jar@U', $cont, $m);
if (!isset($m[1][0])) throw new Exception("Cannot detect latest available Minecraft version (regex pattern mismatch)");
return $m[1][0];
*/
 
for ($page=1; $page<=2; $page++) {
$url = 'https://feedback.minecraft.net/hc/en-us/sections/360001186971-Release-Changelogs';
if ($page > 1) $url .= '?page='.$page;
$url = 'https://webcache.googleusercontent.com/search?q=cache:'.urlencode($url); // Bypass CloudFlare...
 
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$cont = curl_exec($ch);
curl_close($ch);
if (!$cont) throw new Exception("Cannot detect latest available Minecraft version (HTTPS request failed)");
preg_match_all('@>Minecraft: Java Edition \\- (.+)</@U', $cont, $m);
if (isset($m[1][0])) return $m[1][0];
$json = @json_decode($cont, true);
if (!$json) throw new Exception("Cannot detect latest available Minecraft version (JSON invalid data)");
$version = $json['latest']['release'] ?? null;
if (!$version) throw new Exception("Cannot detect latest available Minecraft version (JSON does not contain version)");
return $version;
}
throw new Exception("Cannot detect latest available Minecraft version (regex pattern mismatch)");
}
 
protected function get_installed_minecraft_version($local_path) {
if (substr($local_path,-4) == '.jar') {