Subversion Repositories vnag

Compare Revisions

Regard whitespace Rev 75 → Rev 76

/trunk/framework/vnag_framework.inc.php
1,26 → 1,26
<?php /* <ViaThinkSoftSignature>
oaCDAKN7XIqonGgZV3naE1MsJxh3TFaZyTKTdLYx8hr38k4cg/z79ACGiN0STlaW+
LIDKKalDDRBbOk3Obk/Ld2TVSyEpu91BL1BD1RCotns/cqfqCW+4L5tLxGfRvb/qf
2s68MrVY4FdhFDfMX8j4XKnwcGCAKp8QQuiwZwHNiGnHzbfTU0dXIAn1LXMjqBQ9T
cfkT7rqiQ2uG7PTgWWkKWuw5+06WO5vyF+aPtXRNGVJjz93FwBzR3QFl2PLzMHEcc
M38HFs25OYrBSBHS1HzPxt7gDE7hLZYZzSHxfodZq9dwCqqmsEx5aVkDx3tY6flWR
I8jTlQmQUj8EEFv1UJzp043LIt0+jRdWqisVXBjmqzhB0i7ipr/LJezcTphodnhN3
eaRhZc4Hq3DblBTuui6GALJk/S+RX2VUSdVEmE2OUd7S3BL/Hb9WWY48N1RnI2hs7
FI17sRDc0O7pHtQ/EU3Z186kptI/kmPYfL2MygIBq00Eu0SK/g+4zWzI0aazKbWl+
lQUvE1xe8FIAn2nsICvrYNnDo8qhwQ2SMsL8/fAraNcJSR7QCSzVYuGFPivzdMkc7
NkRvVv9N9llLUov0NF5DsZEacgJiZcCgQk1wEwQB2xBdKcYU8jKoX0D94dkEYU7ua
ED2Nqon8PsQx4IAlsytyvhvYf7BsHJh2RTEZDZLLBs6vIgGLPdMkf/++n8jS5UwHU
8hYrxVGbHCAaZK+YLMwqztO6GoK5lvT+YYXXjTiuGTLOkGcfnW6+NMZAD65KavESG
7hG9p68HXRJOweOM2KeCQ60+kG51uEA5po1JHrXC5JLwDXlns9HjoSpjJhlQ44f+S
N4whZlpOOYOF69qlVZJkVQYzMzwc+TgcmErOdZyfXkQivI9L3ajTZV/849Csc7dnH
ks17XdTf0BlXes5sarBU31FLmM40mmnzNWhrDF7f0+hH5VOK2Jge2keq2DlBpIlOx
zkXs8XjzJEE09O0TMqN+zOHupJRV73d7y5RTnnQFJ+NRZdeXo3AwBWlNkUQIGDJZb
bTjwv6utl1djL2HYgownc/aEJo4pWUuXoNRCRwxCKfYOPTAzLh7YvLMQ6aeMJUmYG
X6X1rqMrFXlCECcXFH8UKD3ToCmLDEv9GmkkBvRu0wJuKr2ecqFt5qMKyXH+DMqxz
xAcmtc4EfTDRgpQoPqzfWHvF7dBTt1UD2mC2YKuTcsU3H4huzU3L3DlPFdo/kWxGw
P9qHSDMANNVXkPPm9OL+MUq0f42uaVBZY7ylpvvnJyQYTj9Uk/tbsFqIQYUcESoO/
UHE2JPHs7GI7ByjsYdnIDRGmvREGbPrGCMx0VSQtN54Cc+FjWdClfZWEXznOOZRV9
Q==
M5+YhhUygumyDtPS4a66WBocZDh6eW5QS3W3UiTvc3lMfo+epXCDhkO5F6Rd2pMX1
1opoSnc9AGCKequhuGjOq9PCgAM0VScCmRk4J0U1oj4fzAzXW7GQlg++UL4OQ3Dg/
2ya6GzYOxoK38T57W7WZr4U6Te1+nT0wcc/kpfYOLAQSePjzT6S2ErRUp5RUjEy9l
g+5dBcDFZ0kmVpjyRg6kPubiW5HntmQczkn0nRfUkW45TZFs7LwbTk+CI7+fbRokm
s5mt0DIiZPZckelCfszWVHHRhumhazpp+B9rOL/FYj/jle/27z9n3VbCdc7JVhppo
KZ6ReahFS6h1vn9mo0o4Adzj9YnlfMgeb8AYftDzmdIpJl/BYZfdqOfjt0osffJdl
ahvduFCvLt1lR6hVNJes+h6mSigq5+EO6C3fhsmOGFfvs3DEXljqy1LLPySbHAFQQ
eYDrY3Rac9Y2uPSkZW+YJkiVTrvBT30T14Z59YA/4UrLTkVPAS5Rmg6tJc1KjNuWk
AQ0xM5wI04DWI383qXhbh0inBZWAJJNUX4H2VAVnbIuj0wmvI2/sif5mu/o+rkfKf
tDwR9Tzi2sr8J1byi5CJksH6h8XN+ro6bkg+Z0N1ztRHKo49gjhJFSj0XSss+hWNB
bXwp/oHRS8Krdu1DFAYCafGs4T4zuMoOW1F1mLg/hkARI/sO4dWFRRT/AMkhAZLaD
6IqmrTNY0QT6Rn0ByajSr+7Onr8efgRmgZr+ZG2GDxTMtJYhoG+3szOC/bDWsq6IB
tdyHTg7mkL4zYsuAtCH9DUDKtGr4Ngm7ejzpo3LgWXLxFBqM9KN0AGfgld+m1OH0D
pzjg2WEYfhksndhOqzetaEGqIiLCkpZz2lZF979eeNwAEqSXgaRSypi3tNzjddlGc
gtx7VZOIqBEmlnBLZ83k3FPC73C+EMPCqw+QFVryC0c9FvInuSRKc9/e6ssE8f6qu
SljEB4+Z1N4SE5yO6bfwKfznZDIZ5YsdUMYsgD7XsxKpomz9nmfcxoU9vKtnuIoy5
gJ4Ca2xhbfyrJ7X1fk6+5301fU6czjn/zeweXLbdaD+CbCUc7TZmsCxC86otmWF4S
Kx0MLHCSA8T94bNY0ia4ncWo+CVjUMmZbu5QE1QBWuklzlfFZxpIx/rgnQFrAv4rD
qbPsplr46kzlcZCQkLVBfI/O6a+0vPXT9JjH+wxcsYRHuodLmPAQlpaFkO6C4Kq+e
ocOj5OGWD/wSXB8ZSX6HnYdJSHHZm8E/Vl9LXumhjas+2LgaSa6RosW2KVZY0DfK8
U+j/QJ7KoFQ+srSvhUySfXEpwSbcQgM5zH7DAZXT0FxDHit2iimANwxgtla+u7G3S
A==
</ViaThinkSoftSignature> */ ?>
<?php
 
35,7 → 35,7
 
Developed by Daniel Marschall www.viathinksoft.com
Licensed under the terms of the Apache 2.0 license
Revision 2023-09-11
Revision 2023-10-13
 
*/
 
347,7 → 347,7
}
 
abstract class VNag {
/*public*/ const VNAG_VERSION = '2023-09-11';
/*public*/ const VNAG_VERSION = '2023-10-13';
 
// Status 0..3 for STATUSMODEL_SERVICE (the default status model):
# The guideline states: "Higher-level errors (such as name resolution errors, socket timeouts, etc) are outside of the control of plugins and should generally NOT be reported as UNKNOWN states."
1309,7 → 1309,7
}
}
 
// This is not used by the framework itself, but can be useful for plugins
// This is not used by the framework itself, but can be useful for a lot of plugins
// Note: For icinga2, the path is /var/lib/nagios/.vnag/cache/
protected function get_cache_dir() {
$homedir = @getenv('HOME');
1336,7 → 1336,29
 
throw new VNagException("Cannot get cache dir"); // TODO: translate and own exception type
}
 
// This is not used by the framework itself, but can be useful for a lot of plugins
protected function url_get_contents($url, $max_cache_time=1*60*60, $context=null) {
$cache_file = $this->get_cache_dir().'/'.sha1($url);
if (file_exists($cache_file) && (time()-filemtime($cache_file) < $max_cache_time)) {
$cont = @file_get_contents($cache_file);
if ($cont === false) throw new Exception("Failed to get contents from $cache_file");
} else {
$options = array(
'http'=>array(
'method'=>"GET",
'header'=>"Accept-language: en\r\n" .
"User-Agent: Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.102011-10-16 20:23:10\r\n"
)
);
if (is_null($context)) $context = stream_context_create($options);
$cont = @file_get_contents($url, false, $context);
if ($cont === false) throw new Exception("Failed to get contents from $url");
file_put_contents($cache_file, $cont);
}
return $cont;
}
}
 
 
class VNagException extends Exception {
/trunk/phpstan.neon.dist
6,10 → 6,10
paths:
- .
excludePaths:
analyse:
# Symlinks:
- plugins/*/vnag_framework.inc.php
- plugins_intern/*/vnag_framework.inc.php
#analyse:
# # Symlinks:
# - plugins/*/vnag_framework.inc.php
# - plugins_intern/*/vnag_framework.inc.php
analyseAndScan:
- _mock
- .phpstan.tmp
/trunk/plugins/4images_version/FourImagesVersionCheck.class.php
1,25 → 1,25
<?php /* <ViaThinkSoftSignature>
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
w==
</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 2022-09-12
* Revision 2023-10-13
*/
 
declare(ticks=1);
53,7 → 53,7
$this->addExpectedArgument($this->argSystemDir = new VNagArgument('d', 'directory', VNagArgument::VALUE_REQUIRED, '4imagesPath', 'The local directory where your 4images installation is located.'));
}
 
protected function get_4images_version($path) {
protected function get_local_version($path) {
$path = realpath($path) === false ? $path : realpath($path);
 
$cont = @file_get_contents("$path/includes/constants.php");
65,8 → 65,8
}
 
protected function get_latest_version() {
$cont = @file_get_contents('https://www.4homepages.de/download-4images');
if (!$cont) {
$cont = $this->url_get_contents('https://www.4homepages.de/download-4images');
if ($cont === false) {
throw new Exception("Cannot access website with latest version");
}
 
90,7 → 90,7
throw new Exception('Directory "'.$system_dir.'" not found.');
}
 
$version = $this->get_4images_version($system_dir);
$version = $this->get_local_version($system_dir);
 
$latest_version = $this->get_latest_version();
 
/trunk/plugins/gitlab_version/GitLabVersionCheck.class.php
1,26 → 1,26
<?php /* <ViaThinkSoftSignature>
cGW8X73co5z+uum9rrdEPEHmuDBAo+pukQfYDBdqlYGcl33wNfhUwLtwwntxMpDWP
+M05qfvdttLd8tIQEbmRp+rRgzTIqifraqe4TYBZ+yHqKLoadnepZndKc9DzXzGBm
Zt8t1ByTLihOSHaDcUcoNViSoVnUQhUHuBljS1axSydVPkm3eFNBhJpvlNDLGDhGk
nqRVJ2MFcpEs7wCXKznjhBNsNygJxkmDniDVvlCVK/45o0QlHr1oV7SJ1EoLl2+Qb
kKtgZDNDVtsPPnUtoTjh7Zl2nwNRqtyOb6Cvacc+oFi5z8x8yss8jIWzvl3VVJLAt
gA1jy4fak1qwQhS+nQRNksbBs3eTnIDUl13wlztX3Ats9oW/hbkr0MqpoAp0aP7yU
kxe5YLPM/4v/8ZOYEdpP3Vk58ss6OlQTOkbTHhw9HPPlK34sf+e//EIxa/bdFGDPL
4sRiIDVCGU7K/m7UxOYZTR/XxwrUzWf5sOpGtklMjMzpQfEJvig3j7ymAx/plUCyI
facgGRhC7vA6XrWj1F6MfAZ2QgJcAPAZl6gpfFaJ1WcqzzILZmkGP4FLHt+Vr6n78
GM2+RSSmf7NAUxHhrDQu7OAHaZWBdJL7Bk1FZqrLuj9k8BZzqbdPEykVZYr6VVXzS
6xoxR/KCFcyB/l9anxML1xmHG4/OdcMH+QhSPXL+of0KxM/GP+JhtYsR0cMoj6dB1
+k/0idxXXvdqrRGxDCUacL3YAQl5SkiKwGUKvDE+Ix9KCzRYEneZu6iTLNar6bpMu
Vq5opP4yuYmMyw1E/Ugng4j88m2kFsKOsmrOEzCBTxnHCT36xPLLw5J2+Qg5uNIkR
zLl25Va7k/OfHdgihR4wIpjqD/xX4hSsc4DyQu0qpXAGSx1uAeLY5Pnr83yQo/DKQ
3ErDKwx76L/kkv6WUBRT/V7NY0i+/UsifyKSIWMtX2aQVbxd3kbwu+9Yk+VIkc/L0
FLiRix1W8e7BEJu4cbU/e+ME1bQpWP4mzFTmSNQxF0dlyAtvx+i09r1CV8JLqLgkA
W6aSJLau6mayaSxJBC1got8I4NiQDqRmx9TXErYO2pyQ2uPnoVamhzxSBV0kEnfgD
rWiDLLbMiDQ5YPUtO+W3uW7nZ4JL/Nj9fpmMBjMSWTVVzWtOT5+dsDsjaBrJ7v5CR
YRpXFC7WPU9/O2+RuuDWebxvJvF13bYkuCNyOc7Y+sUl3gEKMXtK7WaYn+hJVscwX
0MZaBmfRaLMIVaM4fKRlY6ltaxKxZLmWtN9tcCVQjK6X19iytYQwsTlTjO2+sSftH
pYBgkcSCH68g/f1JClxtfClqM8xJNr1proltFplb8URLPIwEuDkKnnZE+VJR1ICZN
w==
xIodU7lBP0sOx3e6CFtClkfp/bVAPoqGDfH9rytWnT4tezmk0METjFW5UfkfEhftq
60M3zCwBU7WMH+RrYyyzTLpbya28xsj7VQTnI4QTNfawMGEUrHBRtRtG/Eq/B2HLn
sJ/ZpLwpipTVAnt9MWsKmkz5I/7BfOJwjrH2BlLTDxmHk9SoelvAyR29n2kmfsRty
J5miiW628U/lKRI2N53K22DFKBYVwvN8YQzhbfZrwnyNzrfOdvfGZ6DINe/CtjYGi
+u06hJF0q/hceMw3zln3lKNz2bhW9XJ2K8CGtimj1OVjZlhc+Pw9RF46X/SDeaz5Q
nlNoAde16v9GP2cwTEXjnicMR3g7PJdQjiHxj/fTCg3C1BIUQb7kJXsYKe9HlYijD
ZQGDMout6gg1oc34ZCwWttYjo54FlB6t/BKdvZCgPjKqC6DcP0JE/29a+Nb3XhYV7
+juV3nnDAGv9vHtRgZoBlTuLiSRKurhECMhnQO4IAHxSC7pdUiglEG/LJ7CMEyh5c
VJQkq9LyVC8koExrzGiMUBCXh8QC64UWL5LTX/diSn3AyLXX6ZNLXBtV2mmHwGAl/
d+H8Sw8IganZPfNwFcKT2hvj05GalidbNgFMXqOkJBGT7gOrVux6jmUfFuOzeXjHG
qNpPF6e4D3SDv7iCsEOKmM1ueWeawFLnz2tub3NINgRqt91GAULsA53N2tv7qd3ek
1ko5NLT2NFIxkcz0BlDSyhhMu8etDQBQtY+D4g7z879LLREgdrw58MAAhrk/f5np7
+eXVh4qTuGIsJyYoXwCzgDZ9RcZmXfDZ7x9CLJTgpp5YhRzutYiqrgxw3Nkn3R3Jk
9GpVuaRymb0fz/FT/km0rsqKChSaazTeCUxhZF0+vAbLDHurkw5G34IkbypJHdbKp
ny+/83ktrxwLG+2ICHh4WLFDKWmbwepPePqH8fqKy+oi+7xsUJB0Z1joasD9WYxme
SoTWBC9js7r9KpXnuvD6DaTHoYaowLZlo44guo0O++6gFT/Y1Cv6YXqNbNJeOQ8Nc
yxVYXzdTeKO4lixezSI/K8/OeeHEyLhjHMb4kUcEOCuXFzQcO9jPd9pucOZVdwSvB
M2pDAOcrhFWiSFQiwx826zEyY5J+MwTuewOJrJKXNIaMxzu55ZTPKy8qfPma9jvrY
fwDy9ZnDvb7XKHgJIdBdrPfq7fkPVvd2pYYozBvQaYDdrZvapixhy4300Iqx8fup6
pW8xfN+HvKLUWt4NFWojvmIpSp5egb8DGRzBChgLVktI+2Q64cXGXOrfhR1sIK2me
XMs33vPVTK5t1obSksMDCf/9dJmjRQ+XtS0+D2AsWdkD2MUJhoHLJE6spl+h5dQ+7
Q==
</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 2021-07-01
* Revision 2023-10-13
*/
 
declare(ticks=1);
68,19 → 68,19
$opts = array(
'http'=>array(
'method'=>"GET",
'header'=>"Referer: http://example.org/\r\n" // Important
'header'=>"Referer: http://example.org/\r\n" // Important!!!
)
);
$context = stream_context_create($opts);
$url = "https://version.gitlab.com/check.svg?gitlab_info=".
urlencode(base64_encode('{"version":"'.$version.'"}'));
$file = file_get_contents($url, false, $context);
$cont = $this->url_get_contents($url, 1*60*60, $context);
 
if (!$file) {
if ($cont === false) {
throw new Exception('Cannot query version.gitlab.com for version check (Version '.$version.')');
}
 
if (!preg_match('@>([^<]+)</text>@ismU', $file, $m)) {
if (!preg_match('@>([^<]+)</text>@ismU', $cont, $m)) {
throw new Exception('Server version.gitlab.com sent an unexpected reply (Version '.$version.')');
}
 
/trunk/plugins/joomla_version/JoomlaVersionCheck.class.php
1,26 → 1,26
<?php /* <ViaThinkSoftSignature>
IVBwOjr3n/pCZ7PzcZqZdKFy6ibL85VvOoRY3/b9Y0f46+8ggo8jVRVChw9BQ8BEl
tAr7KvfpxAcNf5TXhbrYurHeIJT2hM2x4ReAPEMcwxh7cdBYuaXAfq2rMKILRAKTy
p+0M7thMCz5LUw+is5DWWtpuW1oaW6obOzJ43+y0QPz0EGE0RbUTLFyeTHmHTdCHk
rETmMwty+s7tzdthAEB9fCviq34QlKiBmqMlw5DfwDJmLh+NK5Y441M8pJ31EZQvP
nyyGab+i7ZukBApllkdzYyLWy0xVSHK8DaZ7qLK3Lz6t+ClZLa/1N3HsIiRLKYYZ/
LAFZJyETaGaz3DrrbsdjtpKKEWe1GHIRLqW8h6ENFK9nBYC8NOSSLSt23W9B9T3RY
pD4CrdxlOog1hEeAI5HBvJ0h9W8x2MvHPk9K2EgIQ2WR1ThwYjykuf2ohfukPe/zK
tWUxYaAwzTOVGd+I/PGgEKFEbTa2Wk0cZJCSSkR7Tn67HpDle2Th6/KKq9se8GlMb
dfs4CDulmCpoDslnBPxsdNMYQCJSTAVooVEPywg/MZsZUEgMn8kXDMNmPAVTz29Tr
YCjcXRyiz3eWrCTyRpPCoAttfQnxdtebZi43rsI51wuetAzYUlmDxNMSfbfzyrIMN
HXovpWmjaFni8unCe7KUNxwWZlEUnj06SjGrFCWpSmYBdKRt3k0cJUs2lEjVhiQ6W
mNLLizMlw4/s5B5T8+P52+wcwGX8++etkM1GMDTnrA8yBH37gtOdnvOe7kr9pLO0Y
8zk5rJxBfQtc+eIflITiyrUNzLE3cznNzYPay2STW6v+iuRfXCPWEvxJbIOCcuwW4
DX0cfCzhfoL1IuSAUVK8D7eoafnebdKJa+H8wNnK8SWejwa27z2HXXYXeZ4BUcfL7
ubKtxOLRQLuqjKo5O3U9o9vMRi/OZLuBwYuabg/qYcPFEtBbI7JnyauU4qzWqL5m7
dC+aWrvbhn8hHqMB8p9A3PilL0NlVBlQXwZfYxYIanfooxpVPiJHBjRafCjEBQwsq
YYgDlcGfCl8r0yyw5Meq3hE91F1MWyW74nRzJPZElOCNmvAMxxdMk0N5Db5/KsC37
mKb/9o6R3fe9SsjF+C189u6yXomVmJJPQc8xWvQWEZ/i3MIGwtGrMpEBMKCU2Qbxu
mrVSsFzSZBBThut0deDgoTZ3B1VwJ3fcZdYCy7hsMBTtAxZbC/rtkMeUvSTRiHM0d
fpMIt0utv9dF+nbnnx89k6W2ML+p3ZkfoRJ/0ANYUAyPG+tjpuB31t9FkDHCQBKdB
0A9IO8pG7STLiEm73ZKxF7oOZ8xwhaUqBr93brTRY1fmsKgRo7lAlHcSGe4viwDP5
g==
hKnF6Hd5bzvvU4SQOXMtp89OAgeryMb2Ob8UKCrzfHkJ5uAchpNs6JBzm8YFh3mW6
Y2Q5dME2QNcDxmEQoWfq6++2/5ln/6a1o43BxWKUZVW2QGg+8TKgJU7NVcEDP/L9/
cO9dP5aYSp97qXgm6WO7a65s8FmSQN7LYJZquQRR7FFKALvzpOlGLlzbspEORbJdm
6+3cVC9iCZOTYkho8ISqAxvf4pIFJ5onDHgwjyQXZ2wU1CVzVcwM3t70wZ79dbvIX
oHKmrFBNLHZIDnRtjo6wMctjxFrofXNXreTxzS3Dum2aUfQJSceLusF1VFvZ1iBra
gZRKjFlvj2J1VIKE/2tpQ2odYzmTq/jUHZdZCmtT9vFx9pH8elsTC0wyiMehyy69m
tGChnZW9wjGQtKrVuk+47UQsjbuZJsTIQxw/D6+fbMxPr0J9HwtmNqFc5VRfs3Cd4
biSdnAUV0TkZzQ5ISxfDHX3ywDKWxd/BqlB5zUkIU5/rZM/rD/Q1bb/uKOVFtRavi
ZDLbtPfXU3NMhf3kbfiEzR7tHWBYL+Z7JWiSVGdHhFvfLzqQh6hHDG5XIOUf+TuWh
On48GsqQVwO/qmyOUOjxwBXAWfGhIVnp/coiu2YYJfYcSuLzVzxLIys4VqCk0/zTD
PhjP7jui3q/abeFfsWOddcGOaFik/V29OUhGK1nNGOZRIC+NSTOYTmR5B3DCRKQi+
kZaOTJVUpwaOZybp9Lln2zlbX53ulu9eXhkldtVGqm/pEDVVPVa7uRSgBTPvtpLFf
BWSh0tAuKAEI/9Qpu+BIJSdCdGxiZpbVt2unMo0vrQV3Vy4+rXvtWuJjyFX55nEQf
5wBp/unxyBmNm8cRvGmzmy1J0t0mB3nkiAj1UAEKRFYnN8Owb47mB0q/gvE4HtDof
LS/IT5ECgJyVxNpWESR5Dx3fGKVr7G4ihvzqC3jkCj7FldaVLyMZqTiU5fRkOnvnA
0joAJvJx3rPryvcfez1iXrUVRBH6y8MFVs9GeLlcNkdtWC5XlY0j8VozMJ/lrgXGB
N9wjXvLgZK1W7Db07N84Qo2gBcut9HjK3g04au3IcPGpkT4HEe1R9l2khYITemAWQ
o+vMnuxxpwqbs1g7xlKIkglUsplQrbEub1huzWyEY4H4UAEKibFLGF/NjNmJDceV6
ornstaiXrBUlc9lCO4RmAwOpF5JhCDe/XYjON7biT/9Yp08IAHT7CWgtqEeod6vzJ
Fj+qUgptMRfgwoslF+jA66bOzSDs5A0LMynv99yFvQ7IWjkL28zNXnsfP9y06ZyyN
VMv1/pNRYq2/T7H5cVzotED8BXkvR1N3NpGxCYziJBGD3tlcjzFPdPyMhsQ8DFewC
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 2021-05-13
* Revision 2023-10-13
*/
 
// TODO: Also check extensions
55,7 → 55,7
$this->addExpectedArgument($this->argSystemDir = new VNagArgument('d', 'directory', VNagArgument::VALUE_REQUIRED, 'joomlaPath', 'The local directory where your Joomla installation is located.'));
}
 
protected function check_joomla_system($path) {
protected function get_versions($path) {
$path = realpath($path) === false ? $path : realpath($path);
 
$manifest_file = $path.'/administrator/manifests/files/joomla.xml';
71,8 → 71,8
 
$count = 0;
foreach ($manifest->updateservers->server as $updateserver) {
$cont = file_get_contents($updateserver);
if ($cont) {
$cont = $this->url_get_contents($updateserver);
if ($cont !== false) {
$extensions = new SimpleXMLElement($cont);
foreach ($extensions as $candidate) {
$count++;
105,7 → 105,7
throw new Exception('Directory "'.$system_dir.'" not found.');
}
 
list($type, $version) = $this->check_joomla_system($system_dir);
list($type, $version) = $this->get_versions($system_dir);
 
if ($type == 1) {
$this->setStatus(VNag::STATUS_OK);
/trunk/plugins/last/LastCheck.class.php
1,26 → 1,26
<?php /* <ViaThinkSoftSignature>
Dn0TAtS8an72QeGrW4rRe6KqVYdOn1iBSJMs07mG3B21qZSA77cSJqdqIvni4+mQ+
k3ee/H/eGuu/j6XsdzIRNXk+p+CjfSaXf9jn0VwWXhurSgRzF7uOIbhv3jpKI9mss
dY4aQVblJiTTKuN27AB7LjqSSmJyEidWDYVe35g79sj76MJMP5Dz3+dcZSlcqhDrH
6T+uR5aoz09Kzro50iZ3M6n1e4EY9hDJH+Bqdj8kJRk0qGGt+XFHwqEAahJMiE1Sq
eFZmiwhEBmck70HpC2gcmrm5L3cp5pv7z3UFGXmi2QoKyzZMQKfyw2BD+uGv9uKR4
LE5sdpJy4ZsHjRzKuKXmu+eLNEh8loDzYzIRBnikk9NV9FrO9Rraw14aVhcRvxY5K
j3CmReIweYJRqJ9kfEjTh5RMMut33ZazaIw1rgGvKSNq5HVgP/tPc3Nx1RIEmgBu5
e5gB+ou9i4w01gi+b5Akw/yWsTrr+JE83j1BXWaDXLtenaCRAMGB7/q/kEcFgoJlt
qSxcMFmvTExlFldfF9ohXlE52F9AVQJv76AYu86FTZH8qQFMn6Z2yL/HHrBJvpEsW
AsKOWsvKH9x8EZLQKzwuaQRGX01Z936d2V/e7Rb+EJjmUbQ/9TJrpYSzAZB4PCPnU
YHeWNMwIHi82MDwG+7ey+bF9A0DJyosa0f+tgQ0szpoOJgCXZNm+guCYFkp5rnbWs
16VlVsqYxn20yFUX3uci7s31ToIqJfLGpZKi1yaWtavhW2Jb6SxuMU7nsaQgsyv6J
VR2eJ49itgeTpArGWLscTJ9BHDeOjhkLqoVPVWut2XJF8mJTn26pnvIn04997JL+I
e7FSV+6mtWLae+fh7A/aASM/4PJQhKqBARZtGAsgH111z4iqE4psACt6Z62ekgO7O
/slAwR+9Je7VT/CZdOoNnShNIYGlVgm1cKnHxAP7H7vBDhMmTbTeZUtdZU2hOAJME
1C99Q4btFMnE1nW5oB9jQpeKXZ6DEivyNsy7gG+YPqauMlOu30gXYx7V4juAaBvlO
kGwJ1jpqsaPI4C0o7smkksy6WHWGsRioTgxc+vOBnqOczYWaste5TlFIEaW4KAHcg
3hEeebMPeNWhgUp/uJnfpEuSt3M89tEhD6Hr1LxNY5dflperss3LeXAtCuuqdT6qu
STrB6iTCcAvngMfqyZKrnrq1xhraH+b7iC8qpmDZIPM1pjoCTJjVa6DrEmmh/3+mQ
ZuOwqRNWSmhvMf4V1gzx4py7KCPP+bwMe8fphXG9Qu3Drl0vV13PB1QXzDkMAQ5zn
+LZva+1J5Q33Xu1DH8ih2rqFYdhKYS+Er9KP1iJsTmpFoJHe+b8IXzI++MeL0WGEV
w==
jydfBN6uGeOsmJ2sQCYrVU6Fhhm+W4/+Hwbi9sIRfC0J5fPbgWYBzV7NKSBoLgLg1
ZYzK0fmmPjyyE0qY/z4UajUP4K4aMC/TcVJi3v8fKoG4Akdkkx83Wr4OV4Q+ymyoK
Cf6OWkxNhgnkUzfrnWBOVwf0Asg4+pISKrIdOUPIsh3XucB8XFdi1S5pvl65VUx98
Wg+RStjDSit8lsTSmuyuS1Au61Kv51g8BTtgN1eVJwnpB1Svp0SQ3P2Exb7U4ptbQ
Bqb5pBsHFksVn9Fl8O4cEJD2oMOcKu6vy+CxXGdmWPlKaERhu+FRPUl+pq1KQi5ku
UFyY3Jhc1lMGKo/p3815aZOlDWBOQYnIOjVPUzrzMhB4RinbUBfFjIzjNh/6+SV0e
jqdApFx+4tMKxGgBXgViWQqSFSMHIiEnsogJdZXpy47vtuj28ED1tMTuRr8dzwaXa
5V9HGzTdRcnlLJt4h+piKGcej6G6qDk9M4uuXLDMRd3yscArIsqk5j66Ygf0wUJGN
5mT9kRQlEERS2YBNzx5CYogRp9pHCXcQ2t6hfjWVI9w6vkev/3yNR22T6UAH05Gmb
0rPXR90QqCaGslpfptT8mxJO88RA0njI7NfQWFGXrpC3k7dwLb9yWQTZqroDzWTkA
NnIx92/WuwAfSz7T+LuTsxC/rQ+cInMdMEDmToPrlDbJ1xlob7JUOENbzCiKGqrag
h6V2hJzgkOa/u9J9hDJoDU7UcS54d4PushUHMepEN6iGOnPC+EHBDpbsJIlJe48Mi
GlNqTvhuwoxjCqVwv9xhplISBXwXO8Z9g8i8CNsVOfVCKX++8iqEqGOc5BAzyN3Nx
fvB8wet3lgsvZVOFDo1up/WtVmEkyvjnFotaHG7UfhIh4UEr7Bovn0f9F+RQSVl8f
vEsH7mr2klolxUPkE6dsIM0dB27EmNH+qtlT4lBFNNEGeQV4Y+CVYJGmAs48DPM2W
KqGKH3vY/lI0ZRe0RP+Ps4zIV2gtzK18spuuM2S6zO82GiYq/1cVX0U/pPP+0ETJo
lgvOxGX0TstcI7FJmh+aoGJOZHqOXaM7xzVba6/AcrYnhEVNEmTGqzGeRs2WLG+88
OilicfEIlewemF5HzqULJlWoP8pPf6fV65LrhP5zQwhhipq4//apcMz2RwSKraADG
rVy/bBAwJvozyh0LoqqT5C8o+MtWL/0GFok4R71XytM0m2J7+cq3ZLm0gk2DA5rE+
n/UooDZRQ5JuufbEPsbUscBpX88fd+6KqfCPV5A/U3JttZK6jYZnPiVRsthEtQj9y
2YTLNXOlIWeVaSiZzFcmW5QlCGEiPQVZkHsgfccQvfj1CvWzufU022mTwBTHRtmV4
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 2022-12-18
* Revision 2023-10-13
*
* Changelog:
* 2018-08-01 1.0 Initial release
99,8 → 99,8
if ($token) $url .= '?token='.urlencode($token);
 
// fwrite(STDERR, "Note: Will query $url\n");
$cont = file_get_contents($url);
if (!$cont) return array();
$cont = $this->url_get_contents($url);
if ($cont === false) return array();
if (!($data = @json_decode($cont, true))) return array();
if (isset($data['error'])) return array();
 
/trunk/plugins/mediawiki_version/MediaWikiVersionCheck.class.php
1,26 → 1,26
<?php /* <ViaThinkSoftSignature>
tCxWODVQjpp/mnpKKNqXZG1LyUti7FjIhQIkV0I7YHQb5pKovjP1jwQMLMrtdKt8j
fQEvKt1KGkeUcZfnQ1nU/7rXZ62zVgioXw35IodxQahtohyXErvCCAQ2e4Kh5UKMD
R5sC13rlgK2EGHwLJbLt6yQL2jc6sDuV3QyT/ggNTsGtOjSsQXHCSu0XywMEabcO0
ESELIgGC9w4T7nPbXFKx8c49j1ZFfJZeqFVnSpVXxj59Qpn1WS07fRndrC3hzFlX7
ds3q9Db/k74qPhzmvx9dZFFXLLhnP0l7GLVkmSBLiyO/wl7WBjIklL+ZTfFiyLMqb
B14YZfULwH2z/Y226IrcTt+fiz3muuNjLeIirfhlvv54pTn3a/8C0yp0qNGaINghX
LlWUxm7Jw0O5vLl991LHstIqZEr6uacFNF3pCyrHRTBuvUpBs1Wa+xLNQdRBfj9hd
7gJhVpYB1bJXFFx5XVAHmCGehPvQb36r2dnX2p9pD7qC4gmEZJgsYSomsc9STN064
dl5CKg5lDW8ZKew7D1rNKN47eoms92IWvHxkkgWYHGWCOKlZV2Ia5HtJYHsWjSz59
pEaJ8+LLA9hL9cRHQ/iMp9d6roihJrjPYm8dkvBHntSTSoX50XFUHiOsgANnauOf+
MuFhVFgdYyxPtTqcEhj9+cbP0G4C1CUgRZz9wSNc6n9qEOLYp4QbeD13wGic81BJo
tGI0p/eDhIewo4z4vPvDmquVisdvdZ/vIVXQcN9so9AwANqmaJaqhGyEFfh97uowD
S4SHOLcx195V42G5yo2x+nvkcDS0zewT832VG+mc96lrr0sWGNKndO42gtR0X54Q/
Ly3c8MgEK8mu11J+Yz7R0G/OkL2nPEjPSdKP/2lM7t8zyLevIAI8O4vMAeSu3iChQ
DAzvDB4ZL5FhhQkujATeEKj+zdz1AvY9AgLSLB/20fYnb0B+dEf4STeGOojsQ9Y62
+LwkLd4Qm9etkXElZMsP9lY9C3pTzDb7HBGvRgqgI3B5BOXV1SuBOEsdHKO2q+eQK
2oB9f6ILFjiY927T7E8qFjAEpwLyKs6NgEvmhcIJzpWl8MdW/N68BN18h3DErrj6F
FNOAQmncJioW66h5vkBukmw/Gxwmq4LhKyBrFH0GsJ4kJ46jtsVqQgWyClTODlcyl
KNlxvUVaqneVyEQJ57+QXrfZx0p3cOT8UiZD6TsngfXa4vu82ZDQi7p25LMwd0xfn
ToWOh0AdSXLS9QtL1dK3X7dJrwLSeFuVFTIGdvn5WuOmgon4QndNpYBxE9L2BJUL7
/kGYskQXghIAE2vr7oQGNSeEPGb7WAKb4+LMd6jpvVMDIK26tnL+eXz2TURMyE037
A==
KLQMkPW4o7zx674hFhk10B/LYxV/kdtFQre2WriSVPxQi/olKlHbxrJorvH9dIWfc
tyDGq8bXKHpHGne0KXEfL2/VqgFqZfgKIBtt+RptLxMZ7JtJmhn32YBC3yYMJSanD
PHlvnyzv+9jj6De5gjfeVjJEpDrz4Vji3s3unZG5sRuF1WCtMW+f5OpxC+IzfLgDZ
lGbrhXGxObTb8/ho0KkcCBYg8v1A5emxWhNxbnvLCHwIwTzxbFcop9u88hlJGoMec
j5BJ98cyg16WYVnie67NQ+MIZqUHILN6TLG08PetoGuYEIwfjtRr5a2Vc8lFztcpF
OfCJlyQL9Zg+yhfF3K/t3ZEIxoRmxMVxPceI7FGff1Rpr2Fj/wQtiuO0s/9S/IyRv
3S0Z64y3BOlAamSwiT00Vu0m9fZ6tS05cEoxKmiVBbuDlZoa+KMfxvl9bzWLr0E9T
DB/Ib90JoP9+/5Vw62g1PY2SSg8SikdvLPUFKfBa/etyZiwOaJ8TKUz0coFIS4bOA
umUITN1vmZoVB5DHYa+eKZIJ+YY6Nsp4L675QdHxSKi2XdEi+Vrlq3ndt14mIs1Ai
f1tctDt4+YrPo/0JuATApm6201jaL45sEaDlNi2/6Km1v2m1im+lUY6VrDlMzyV9W
LSLqlKAKMdnOPkVcHkYtD3DS92+bkS46dMuZtFdG3Q0Ia1eyb30QO35KQqFo++H/c
3Yjx4GXUo9MJHgIoh0JyBCyaDtlo3PposuG3soS2c+37q27CtDfx8zLWvTQeqI69e
8rPyZ8HMatXF3750QNCcODVD3mvTJJuXdJaiLr6IGgWaSinuiqJZaMXSSE8eMWea3
/69ViMld2tkEuBeZAE2Cay+fHFMK6+RSeCOGO1xUTBlBDFHbRJlXAl81EVfCuBzqu
5o/a3Y+CgARGsmIjMNutFlYgdOFSZKKIRxUuGBCJqQ6H0xKqtsrRJUAmFpMop2HCh
+P5WD7iIUgP9bgoI7gMJqTlCOqqCT/upxUkx9pRDEGcy59JLn+3Yb9gV0ffG5OQH7
waSmvKz3vIyVHowCxeU9ZZju2ou5rMpip6Q5gjNO0tDpagH7Sj8oeYcRuk2KJOZ9m
KSkThtscqVbjZLS4UYUpvioA/WQ4ad+k7LZOTs4LfDPXDsu5e1lKaO8j3dBWgr+Th
YZnRIravq6mNmfjmcJD/S9BpY4fqsjZRpT3Rf0GGkZX5dtPxKlzILu3A/5PlCJTNz
ja5LZxO0P5sJBnx2YLmaNYxWTJILhR0VtPJejYazXjYhYX5iMX4f+pvALwm+gcBIV
U9sNdc9z0cPxjiIWwPEXSRZZx3BwGc+YYDeQio9HxgvEOlBuCaU8TjPFPcfQFYIsy
g==
</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 2022-09-12
* Revision 2023-10-13
*/
 
declare(ticks=1);
53,7 → 53,7
$this->addExpectedArgument($this->argSystemDir = new VNagArgument('d', 'directory', VNagArgument::VALUE_REQUIRED, 'mediawikiPath', 'The local directory where MediaWiki installation is located.'));
}
 
protected function get_mediawiki_version($path) {
protected function get_local_version($path) {
$path = realpath($path) === false ? $path : realpath($path);
 
$c = @file_get_contents("$path/includes/Defines.php");
68,8 → 68,8
}
 
protected function get_latest_version() {
$cont = @file_get_contents('https://www.mediawiki.org/wiki/Download/en');
if (!$cont) {
$cont = $this->url_get_contents('https://www.mediawiki.org/wiki/Download/en');
if ($cont === false) {
 
// The server replies to some older versions of PHP: 426 Upgrade Required
$ch = curl_init();
101,7 → 101,7
throw new Exception('Directory "'.$system_dir.'" not found.');
}
 
$version = $this->get_mediawiki_version($system_dir);
$version = $this->get_local_version($system_dir);
 
$latest_version = $this->get_latest_version();
 
/trunk/plugins/minecraft_java_version/MinecraftJavaVersionCheck.class.php
1,26 → 1,26
<?php /* <ViaThinkSoftSignature>
WJQybky6qsSpW28I5ZK1NAaUsu8Qpg0fz5halRZOaoxt9IelpsjOdBboT1KMGsgYi
L0S2N6YjA4LJo7mZzxowRSQzdSU2Ndu4Txj6s3dG0mVWxoHLa+NN4bzDEtraF8Nxy
JstPj1HCtAczGuDrb9Jar8P9pRlOianCWMZv9bj3ZcwA9WqwVgngz+y2Jhj5KT20n
MO5oIfZanNmY4C6TVfd9Y4a5X5HfcwInTPZGSW+yk6kGjRc+Ksb0asXtJ02KuWPJ1
jOuZsoJfQgrJnjFgDdE2iiPixcVZpsZQx0GrHnwwh+nhkO1vJ5lprWXAbb9cOsNAT
jG0wlsS4gkC2dgUGsYSi4hptjD1oXmkZDb0+bj8FvcLCt+j+SH3vzKeLwz+CyAMAY
0dY9nPKwqDgS0uWsrqNHs+6Vm+gladlUl1qBwK3/00aHCTYmLoXlaBXOi6thK3gwg
NRDMVh4pVy8Iuc/elZKYY2i51ZVWP2yHDcEb6Rs2Rw3857tKzDmcdDQDiRyKKTvpJ
u8RtLm8WVf2bFaJWDeTXcz8EzzHUlB357Msd8VWBhP+ckpSl4UzTjBpFE5Er3cMmB
YRiMcfV7+MbbkUwifVlgC3mZkA/FZZlOAfvuRB00/kb4Ho8uonOTPnF5IQUuviL1y
Dx9AW/wtMxpek+JpcE4Ld2fNDfBL48nu1UYgmh+RZuWGBobyxlLswE7wj/W50q7eb
+Q3y/QTVYDVMVnidESe19Ed6DNb9BTSe24O1fiXL1fFOh9mUsEbzeN2XiEO620lD+
Jpmv5ef6inzMWGS9ufvZ6wYuMzCJWlX7S7ZtJLLr0Sia5GrKk2FGTAUWfO4VKlXf3
0UyGw9VJZL741NxZ1J7jMI1vDZMt7pSlaeZA/rcCFBW1mtqx723EHvk4w069GhBeQ
5AGtuiphOeCEPOq/s8OPS1pzOXeFCrF7ZJMJ2Iy1sqJD9NiDEt2ibCSgRo/C1P7us
4pgUFexatorqS0vjtGow/55sxjbYMWBlxAAT6Xk2Z6ZfoPEXAWnyJAl1olEHQ3XVX
CBAC3YIK9naA7SQ3j9l+OXnYsBU6+FSweOlSne5Za4D/PdrZCKAdwrcrzh7acdWuG
Za1h7LaH2F21abkju5kerkpqPRIJrkgoDpK5uFxXWraRHmpIIsRQMu+EQhcdo6kJm
bf5rrm1o0PsUXo2LwmcdLOqgFSTe5Z6dMUB4W+8USc7929fe2gyMAMGxyd9gNPwNP
dpepmIF1tuKzpOAO/OvqZrc0QdTh4xkSm3bcHe7deUNlbqzQLzUcEI95V1I6xZRfK
RBh+w6bk8M7/3xkTxiOEfubiypgc7Xf9V7hUhyRiyHGf7rnwXS5iKnRBm+vncFDbF
g==
okEz+tdTNB6lllJohO9ECI4MAh3STmwseFV3T2s7zbbhS88rBhz5eOHaJqH9jckV7
GgupfsVt+X87nkce4g3GD3vNJlaol/TJheT3y6YPFI8W2l9gKkgMZg2899j9SWgGy
KQ4fOJAV72EvpYpvAaIDOou1peDHeweUagSjAEn/2OV9X7A0fxrgu6tR+f9xscCpB
gRjW9BVXjLkx0WsthEr+fqkFSvQn2EnYk3sWLe9adWwlIvbFdbPoYmWTUP4CI6Fn2
SeMWPD0UFM/e4UCUeFbYcC8SxPVBpACXaRQ3RVi4TUG0+TLdj2mV+yLb5Jm1v6j5g
n87wlnGLLvF7IlZbJuzO4AZkbUWS7u0z1lRGdNL+N5mOUlAdVP05c3NmURCvTeSa4
NwN8WiBLnY2a9EUquS9V4qanKkhh8762JqjmQqBljCOaY+/7H6Ev64ei7sVrBykDQ
vlUWG1eGV4eAxXJZFOIKcrSjXIqPHp9nLGBJNUS63Yeat622F/RucRDyOSzuzo/6f
w8lpZD54E/f1YJc0g5KHpgVOciVG2wpXJhoUbPhjIE6Q4kxA/j7b/XE4cdgnSOVec
SVm/FVLVwDpruhYhxvY4HNFLzQgG8IaOaIgvRqe/rcEQ/5suV+bmcyO9LDof4yh76
ZmPktC5W2s15zy9Z2FYiUMwrtj2kxoDSyrwGwWk+jR5efrh+yDr0ygwkdaowUkzO2
oBHWb8fWodhA+Jv3ZEtHKy6wvxoEb+bhpBrQLa+Mz6kUf+FmBMGuYgUXXxzwEUh0+
0zgIacwPlz0av64ab5GvxM9y5ZN/r7zF0GALFR6GoyI+2B4E90sxQMqOdS1Ts1GDo
dQf3l4FPaDIzbFgb2QjJjm0/5C3HpV8QU3NPRYfzGQSoX0lDxtPkJOP+u8+9bEq9N
4lyWIIgJwMEYlWdck9CmjRPRFQ5Yx58DhFDz0voxbtsoY5nNV92zTeikhKk1Sw9CH
vRKkZV75XFuM50o2U9a+XTBiSXgHLN6nDSYEUhLXHM/DDwVVTln1hlPKrQarpiVuW
v9MLvzTZJrZTfG6/ika2RwkvzKvQB+JHxEEK/Lbofq4A8QncwwIN76ptXqeB0vZlA
sM0JuhgXzrF6RYAFmJAIwuiPe32cxtBS5fwvhzCDJp+Z5w0kVrI1hkYFVBSK4Z3j5
VE9xAPz42Tzplw7Am3nfMEF6UtQN0FuollQ9KXnDUpRXRiwZn81tUcYkiriWSkooo
FFv3f5KbWDqYABVKhCbZ4mhjPyEg0E6PXU7YULW9nEQbYJTNUsE3NAcaQmDgaTw5b
zgeyl05G0z4Mba2ILtxCa2oG5D06gGM4HIYo12JDzjHLcD1KJZjGeoIo5cV6foEQ0
Q==
</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-06-12
* Revision 2023-10-13
*/
 
declare(ticks=1);
53,27 → 53,7
$this->addExpectedArgument($this->argSystemDir = new VNagArgument('d', 'directory', VNagArgument::VALUE_REQUIRED, 'serverPath', 'The local directory where your Minecraft for Java server.jar is located.'));
}
 
protected function get_latest_minecraft_version() {
$url = 'https://launchermeta.mojang.com/mc/game/version_manifest.json';
$max_cache_time = 1 * 60 * 60;
$cache_file = $this->get_cache_dir().'/'.sha1($url);
if (file_exists($cache_file) && (time()-filemtime($cache_file) < $max_cache_time)) {
$cont = @file_get_contents($cache_file);
if (!$cont) throw new Exception("Failed to get contents from $cache_file");
} else {
$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 to $url failed)");
file_put_contents($cache_file, $cont);
}
 
$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;
}
 
protected function get_installed_minecraft_version($local_path) {
protected function get_local_version($local_path) {
if (strtolower(substr($local_path,-4)) == '.jar') {
// Single JAR file specified. Search it.
$files = glob($local_path);
112,11 → 92,21
return (string)json_decode($json,true)['name'];
}
 
protected function get_latest_version() {
$cont = $this->url_get_contents('https://launchermeta.mojang.com/mc/game/version_manifest.json');
if ($cont === false) throw new Exception("Cannot detect latest available Minecraft version (GET request failed)");
$json = @json_decode($cont, true);
if ($json === false) 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;
}
 
protected function cbRun($optional_args=array()) {
$system_dir = $this->argSystemDir->getValue(); // note: can contain wildcards
$cur_ver = $this->get_installed_minecraft_version($system_dir);
$cur_ver = $this->get_local_version($system_dir);
 
$new_ver = $this->get_latest_minecraft_version();
$new_ver = $this->get_latest_version();
 
if (version_compare($cur_ver,$new_ver) >= 0) {
$this->setStatus(VNag::STATUS_OK);
/trunk/plugins/net2ftp_version/Net2FtpVersionCheck.class.php
1,26 → 1,26
<?php /* <ViaThinkSoftSignature>
kaYU5Ej07R4JWIYY77+1u7d9Z/suFEbhvcni+GKz0Y7j5W4RUkmYNGW72dwGJODn3
4cbFalcSOJ1X+6RSelabpkRbEAT7xJDYIsZKq4n28PrYYmVoHLgAlQpTC36iFRxqG
NsZuDj8iAOaBiaUlB30denRyvP6YYIdFa0hlHY4nK3eqptbS9F5PTxtjB1reHwTOK
F4kEhznuZY5POdGnrRNAlB4s5wc70Qqn6JiRtZHtKU1reX//Jdq3FP2HAc82P4izE
AZsmJbY5dQwa7YMWe4n9AcWHyXr08zbHqYCzCTgEmLgPv0Z4RsBXSMq9JfseHl19i
R8mCQF91/N1vMpnSRhmBEj5p331jHcCwe3w7eQHFJriT8zNosRkeBTYGEowNI3EcO
nYRgWfxdpBujU/Q1ES2P/te8efclnVdCGfhlOK21Y6qj9P45mZdnqS1C2YT498N3s
AYrl5q793aujZyZ+tZ6SzVTsb7EYYGXkjMmkqFsz1sLNe4Mwmku1gVo1dZKqF/j+8
tSl8RgHA5NUzu2m+Rhu14CnBQ36904vN1I/dpbAYnk+9tbCNywuPlPaJtpTpmPQtb
TyhZTdL+0SK90O4IhFcEugFBsw+b7LnaqOPw7GwOHXBHWM9xePZ6r0K49/0rwvMyH
1j0096b+EAw/hCOf3ic9cZh/rpO9IcOcOJI0zsR0Mta1dzujnzjY66VPt0TCYjWPu
chqcU2Re8YuSmIsmkHWOuEJRVDYE/h/2yHNdcdo2ev90DYIjP95UHi9ZxCKoJDEG2
aac0WcNMrxEFgmYM8p8v4Bg96x0o+Y16xxMc2T3NeT6E4HrZAx8Sq1hkl4+D0RRid
ibXuzxERmDu+DFeA1d+WRLCv0vIFaQHVVx79HiA/U1TdMqbvSv6TPMEX3etjwo9gv
4hZ4Io9npHprocFcLLPzgfCBmOGBinvmUGwnw+iVTTK08SVOTPPkT4sOdwiBgRysw
F3Bj2O2qwOOkH+1lscTogldQQMvLYQaL6K3RvUHNede2yxnjowjfZBFLdZQVZvvhH
cc1QuCqsrU9cmsUPSGd/hkvAlS1a2dk2TLPJTkchxb0Q/hEcl+zwYnW5ZMj8Uvbkj
TFnI0XV6upG4WTF53ewPR4dZMfdBzboMFglDFGg7MJY6tkZzwrxTAFmVQSGCUgcVn
rzL0NWyivR24OA8cQ2CRe3X4bmJQ4bHuZZf6dLLbbyJJV3x3QwFw1BQCUiJE1mBQH
ZfOqsdqwmvVH76R6DStD1BakkjqfB/Q4A2ghRxTqsESMj/KcC1Rj0YL/RbWQGKWb0
b+OYXtEHghPQPLH9nUU6wH0pi4zG80rFG1nrOQTYEf4PfyqkdSAa5jK0HTxLIASpV
g==
Y47HtMofXduSMBqHYs0A2zUutszEFPtnTiplJnrXJJCTA4aIl3/mw1UwycL+xmcvG
eeO81pkefEWiXtWhoRqX4MIBUv7zZ7Yp+O9/uUs/l+++WvBHkEue++SyuJXgRlYOS
14NGZl2w4LJjLEw6RYFtq7UhHlojVrFfysBXgbzYyvMx+mbkstNLTwJZ34T2wJCAK
b3bYzIavozAoSBPiyq1LblDE+EMFbVEdHvRzNTNrcc7fVcDuZt3pzbHkXbJzAbIT+
8s5ZCwxrzuy+Q2kq4GCeiTUdpneq8UwWFqrM5pgSpjLP0MM8DZMVJeYcm5KWomOnO
HjGhU53upbQkMpadXJOU8eLm0XSD8WwxK6cWiZTGyS0Vg22Hepgv5HDobHWk3Dt7I
8ryhwdS2wtfvioWcabm95coxWIayQq/49bW/U0iBZCUlizpkLFVQiqFrPV7BpMN5G
tjdJBjR1Hg5E8ALpa19v4B6TCb/ujGTlZkVqQbNBhrTH1VuJ7UNSx9Lnt/Y3Jwss8
63HHSs1nG5cnCgpef0ojH20aLk7N7k7DwWMYovOlx/LpfmgK3iYTBo4UlwBVTJByk
nMK010KnruouDT5alpeZ/tvSYWzWakgqaOMCd6IaDhDt+v/RZXtXuvSOjV+tfX1nF
rATHyku3y4dH09uirH9AHuN1PfFi/mjXiOPlUjHdgdih/nTmKFxDJhi7qX1Cbrch5
L0Rq7nPTD9R4B7k8YwmDmMWAY/+XPTg0Y+J+ivCVnNkReqsEDLS/fMGu8VekBhxIh
WoivFYr62IdEMfDdK7usvVY3lA1xSS4X/bg9OixwTVyjyiZjYPGpilR4q5rB4LrDb
Jn8JuB2jFLFCAABeNbLd76Cz35CVhmNm1VetFhBYlVG7k/a7PZgH79GZDXRpzYCOP
mMCYYNgCJ1RDXZeeKsTD+gZ/VjAS/XvUgVCN/Du37EW/IsMPoOQNVKbWOEj3HYbwi
7wr4ebqMtjMxfikc1uUu2WIlnooYDF5NusE3y24Vok0sUv3qqZ9nDrI6tOG1wFUSx
CYyJVAUV0tgjOeixgzdseR7oi5pT8RjUHg3Y/EOHDMg3ZXPZiJzITQaprkB9Zu3Kg
v7ks3PZqxBRxYtCBsMHXmKsWavRBmL7NZP8ETk0SIXmhpK45LHh/LkD/8KktRQ8Gx
PRfqK+LWFmAOBfCABUt0ZsN6lA0u5U+ddOMl0sSTsSn7C3mCnTwmFGroGR0gWUQhJ
wJ4tagVYOJUxgFOa0TiNTttVrYTx+DPfjm7F6c3yjaTg/MKBf5eOKvNPlD22lnsNh
pkWe14wIwYN7nwVGe6+5IR6GpuYCvfQ0tMTg3NEwraHl0U/wtcGbraAgQQZWoTqNg
Q==
</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 2022-12-18
* Revision 2023-10-13
*/
 
declare(ticks=1);
70,8 → 70,8
}
 
protected function get_latest_version() {
$cont = @file_get_contents('https://www.net2ftp.com/version.js');
if (!$cont) {
$cont = $this->url_get_contents('https://www.net2ftp.com/version.js');
if ($cont === false) {
throw new Exception('Cannot parse version from net2ftp website. The plugin probably needs to be updated.');
}
 
/trunk/plugins/nextcloud_version/NextCloudVersionCheck.class.php
1,26 → 1,26
<?php /* <ViaThinkSoftSignature>
xYW/6C/wvjTZL6NWDg36CNbd8VUdQ+nizmR3DZoL1h5ilQel2IFUN5YWMqw4Tigvf
ksHsVSaLyt0z5J3jEtgSQmg5odNKw74JH5npY2xfnfeoHbFMQlDdFY4xsZh51JW9t
xmQWV0B0qASrYDJjZdejxG92UWf+ZrsuOa+3D5t9qZnQsQrIb7dm0daBEY2+bVdx0
elCVFpdQ/MUcAZI7MKJoPRxbmQpZQiBJRAq1aR6G09srBOZCkzR62x8pVOiFDE/4B
Y4eo/ZTzcolD97seWeqGODnRFdL7rzMUY29iPZlvk0I6s5KWoWJm1bGMeRqX06vRC
mZp6bDpaTAoVe1Rh1laJn2+KjLeupsnKCcQncdyy1Y5m9rs+PEia3+ZFRgDmz8p2B
ClpX1Ko969jtAe2oYQn82rhnbv+w1cSUJyPnn76FmvShXNC7DuFPWl3rPdEjFUXRe
jZD6HAKumND2IAokTU8P/Mn0Xoqj3gpu23RVByOAU9PHrD4M4vfTPLxmiYvyrqBVs
rJSvaURUJs4RFvZGlBGjmsRWjOtn6J/1iXiTHk3197IruG/laaBzoBZhOzWv2MV7I
xddtrr9blabIHkngnwD5XtO40x8P5kKH9qc4l8vBl1MGNvN1BJ2BJPV6X4IrVSmJ5
sz3SCgXJkEVFth/KZCc+6DtD/bze4gj9Ad212vTkPMsxS0NTALDd6nLdExjj5TewQ
B0YLmZsn+hltPTbxod6ukis3UTE92GUsN35K/DNyJcfJ/cebbQlcMhcAojLRkUNTq
1W6M2m24l6CGwkUPM1w0e3RlyQA5TS2PjX8TRX91spRXY8hD8fpNHL9+GOzbEIyIy
73yeoOGHeB1hSnD4H2LSs3dwl1189PyuNl2jJNVa6cLPy3R1Yixz4q29XkS60Oxpg
lGme9nlW2S4yJJLB/VWStEXNeCOfTvKIHmTZSEQ1RvxttRBkcjMoJqZbaKpwW8rVB
PVaw07SCi7IKXWiosY9hMvHbnLU0GkbgkxW09bXw4LkTLwYHEfbGGsBe1qS1IGF7/
JzfPxj7RX0tDZX5wuolJEZb+rer76VJD1wNdzcpbTAAdu/bf3Ptwblx6eIFQw6+YN
/eOs1YC4VAUedKGh1FruSU5wZiJJDizP/+33OapudvTaRlK6/AEdSc5JnP5GsFQah
1CzAU0WekFhFP51SmSMsefVjC3AzWSDJUTa4E+e8SsyYOkHCDAZmcI8wL+KMsbNLs
0QMHW9GwY+9BP+iGMFBMklBWEFkKkPx/QfbqGW0JB4bjcgB3UVHMAHbJ5+DlN9SZ7
EUqh5dIkoaQ8FwKIIIa8qw7GCN6F96IKZ+3O80RVSm6ZPDSdd/Z+qgPUg06La0Xme
g==
cMU48trGvkbMlzRpC9CObsZaTJQLSX+W3WA0s/ipwluSIf5e1oPV/8hsf/xQ8Jdoy
md+onDcvBYBvQRK/eb9NblY+OVHpQyBTmeFabsnWFzAL4cR6IDUh7Wi7Mv8z30tIu
bHIGsE1zP8M02Sm1Cy/LEAHrUSzTum4vCZ0Ur7IgWqVJyvmwyLS3yMUu2ozk1fii6
PjlciD5Oe+DiNsVERv5/YtirDychwrUz4lPOWnZQebZsMEmNHCWZbWree1WYCV4u1
b7JaROxuZRfghe3vxTigLrDG2emmKanw6+W9dfaQEfsQDF0kn2UNYquj+IjmRWkQN
bTLJzV2SJwr+ayyIWjJXuKTS+OtMI2PEFvqC1WdGC7HSvlE68fNXZcZzuS2dxUGeO
IiSfmD6eKfHs5JtPQrY910QgvqGFtd8Rdvfi9KUrXUP2YXuEiL/A3+vXoGg2eseEd
aDjte0ZFJratQXBR3tp/1+lXGwkRv+1016kqprH9jaqubbTz98waLllyxBjG19mZD
S85CFfL6kPiWInCdMSRsytG4h5T4w3CZsPTwnP0MOekO1j0eXncoeCMVr4AO5j6wl
4jdv4NAO0o2YJrmDaC6gV8N0aGlCArC1RRk49fExUFyHMOuO99ZY4gqyp04JhQzrX
9Bgj7sa3zsnrSAfCCgBf9o62OZUUypiuRNrfpj+DLYyaeIe2MUBhlFFOWEN1XLbev
5zvWLFJyfcw+b/iJSViKu8PTyHJgu5ZBCMhyJ2WD7AX+wwPKFjFI7f5CF+eZj/n4Q
LDzc7LvTjQ/01hIGNZNRvGsyJ1YvVkrfZrIpFmE+X77IQRhpRoQv0gyb0sutQ/bAF
qeQyb449/UZk8hXBxlYi6AxUQhFPx1jNCG8q2jCKDPkRo5BrHRsORNFKlQiQKHuWi
zrm26GiJRUhryn4AScMwWBXDYMLV5i+C5zYOnfI4SMQJurgPHr3lhELHTB6C6IeKL
s1kVHLbPqTCNr3dWK46gtGGoMwvjEDTcPyiEOxERZuYZ/BNxl6P+G0E+oNeBQPVbG
9e7vi7SQeZrEhqKn8gNQx5DQyOdP7PsBmHJG8th6Tr77YktIE+yVRR8rxj0tHvqrY
ppdYUl/rIpj1LyYS3MyOXneekAn/rnEOe0lGM5sIM4/pI4oK03snEY9ngD9X7xNm3
lUWz/1tWfJFYolMVQOdEfHU5rvavSJASlUihm9tcuIM+jAJDSF+UMR7sQ+n46VaaB
2u/aP50UMrtU1FVoooXeB6uSH/EGesTmYREA13UjmVz3gIB4QT9m/XVZ5zkRVMleM
b9sCS5/IGoiyhR3ge17fVPUmRsdI7maW5t+v5FxM45qv2t0hFGEfoBFY03oi+Mjdr
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 2022-09-12
* Revision 2023-10-13
*/
 
declare(ticks=1);
53,7 → 53,7
$this->addExpectedArgument($this->argSystemDir = new VNagArgument('d', 'directory', VNagArgument::VALUE_REQUIRED, 'nextCloudPath', 'The local directory where your Nextcloud installation is located.'));
}
 
protected function get_nextcloud_version($local_path) {
protected function get_versions($local_path) {
$local_path = realpath($local_path) === false ? $local_path : realpath($local_path);
 
if (!file_exists($local_path . '/version.php')) {
112,9 → 112,9
$php_version[1].'x'.
intval($php_version[2]); // Last part could be something like "28-2+0~20210604.85+debian9~1.gbp219f11"
 
$cont = file_get_contents($update_url);
$cont = $this->url_get_contents($update_url);
if ($cont === false) {
throw new Exception('Could not determinate current Nextcloud version in "'.$local_path.'".');
throw new Exception('Could not determinate current Nextcloud version in "'.$local_path.'". A');
}
 
if ($cont === '') {
121,6 → 121,9
return array($OC_VersionString, $OC_VersionString, $OC_Channel);
} else {
$xml = simplexml_load_string($cont);
if ($xml === false) {
throw new Exception('Could not determinate current Nextcloud version in "'.$local_path.'". B');
}
$new_ver = (string)$xml->version;
return array($OC_VersionString, $new_ver, $OC_Channel);
}
137,7 → 140,7
throw new Exception('Directory "'.$system_dir.'" not found.');
}
 
list($cur_ver, $new_ver, $channel) = $this->get_nextcloud_version($system_dir);
list($cur_ver, $new_ver, $channel) = $this->get_versions($system_dir);
 
if (version_compare($cur_ver,$new_ver) >= 0) {
$this->setStatus(VNag::STATUS_OK);
/trunk/plugins/nocc_version/NoccVersionCheck.class.php
1,26 → 1,26
<?php /* <ViaThinkSoftSignature>
USMXmEZw3BxLtCMYVFw3pNRfut91obKVEaTFxBoaMCPTpOUfsqHIIwwwTfKc5C9Ij
uLzcD6jaorajF2zyS6qWSauACaw3jPpulkF66pSgETrNWAzaWlVanmll5gD0pE0j/
FTJ7GBD5+3qHz3aF5DPzncqP3l5G8AodOPDHvD15lM1e/nI4JAW0Pgsiot9AOpV0e
UBmi6uYOGgiuiLI3ewpyWY252aJsAhVlvRRHay23pKZkMpcZBQ2eqd4uv68s71iXd
YCpT5ApoRt+pDXHVg1yUvNsz+lIVentvSMXsKMvWfJpThAppoNIDRgbYcKodEn8Gf
0Smk5ldkuhryswCSO4RYHVW7XEF/ZEuQt2ID3Sx1AQBlJl6i+/eZ7fVTyNQtoezEx
BljGD3rYxPcJ8eIYoHJf26OamG9z/mm64iNBJ5Pf6paNazV2fqLZCPZNcQzbiYlzE
cNJPmC7nCib59enEopIQkdLnu6HFhTjVru+yCWT8V5b2zHE/u5kEclTVpdXwHeBvN
cDGrTe32lCA3nuN/5FFv/C1WH000p0oy2nxZoLNg9nAkCvJ/KWj6PKA4sW+zAPleB
mPOK+F413X37Poh7eRS17cqYegQYkezpegXIASLiKNo0Oj1C0nSzhHnBhLjDCnG6R
E3JAiP24H+WPxJsiW8W1qVtESwYER8A9NVYGHNWdHPaV9tyBwap9qLfUHXjfkTuJE
od0Z4ZSmxHIVAN53Sd5r0MceGJmI3Uk1L4FGdyIJd/peWNaWHroVsFtporI+XsjSV
Gk6KORxLERNtIAi4q0BVcBCjSeY/CP+o7UwkMzp1m3v+3xqP1YBO1gg/i5FGZRh5d
r7MRbXoVgsTWA9zYeSDFwdkFpUuc9GwdZN6lIFTWAYl8VAhG5UiUs7WAN5dj+Xfrx
DrXLXxFY5/BYd2ggm6G+LiVQenvsiMtdR5sQNsJRgJdtYvcOljfyiMK4OPdMsokIM
09FtFavsOVDhMJjnkr1UlzPC6tXS2b5sgE/xTbNtm0yV6ji6DSJnMjg0nyj0E1/vf
afqNx8l0Zqojhal8N02LqXMIZVxeESLwxqqS2mZtPQo9gPdz0Bgq+ce3BXnXohsXZ
F81JQYQoMoNCcH3WlaD+YSQnBxsKNb2qerGStGPEVsjLWJQ/1b3gwAvQvMjSvcDLc
G68YdiuJwf1Ipzo5MVlM6fWzR2JlyG96CXi2j8tqpeZsW42Q09A6liOR3jyY4dhbG
0wBsj34RTl+btsXE1xG2P3TwUDaMsZYO8QWfF+m+68piAZ53ZM2vXa9BJeTRl2kHo
Zc0uoIndnbFONE3K2Hi0FUMo25brvirV1VVSb2DW0hZbeXj4PDCtgY4tiMMEIo7vc
g==
amj1ap5xi11PgKFXmnp+OofR+MgQ+MlW0OAGQr8Ue78IyqsrLk8ANMI7lKoU26DW7
ucLqa30BFp5Feb1f7WRH3g6DtmeFydD9JIZyej+DcGbRMEewH8yrqhnxYHxCuDIgR
3MU1Sy8sZnUzOvqsNduecmgKpveLr2MLfPHQgJM3/ormY9wIs/uIWD34ufNElL22k
yrt6u9BrBIJeliOV9mjxgzd/mMyPdYqdNM2M+6na7RjfP69bx4Qa3soVD4K2h0ZZ6
Kjxv0Be6db3rCUTT0vF71PA6OfB8ku8u2kyRRedULGlPMoCTX20B67ioTjIGdygwX
vTblMAhDpCdi2vDgs9FzjYc/GxZnT7i9dab2oDt2JJ3mcoXzHED3DEh2f26t4SfrS
DWdyEzPeiqGQV7hXiiD5HpfgMzvaXWx6bSAug4LmjV+RKKdiJ1DUNAtPtLHTpR6Qo
oMnUNXIi2kjjgKykNv4VcoCmcKe6XqFTrqo4Zr45VzmbRfwTL42xQD1Q9HmL9i9+W
XNRbqbCNJbOy2KPwTtt6Dma9nhc3cwwTmfHum/egCVb0NdKHpiA48C5Cy+G3bYE/5
4RNuW8djJhEAmCMznMrUwxjiYnEFYBtDHzdlMokRruYUux/BEfPp4yy1Jo1lWOTx9
/MVSzUnnJIC/WGvJ+NSgM3I7KXHcZq6sbEPH7TUZ0RF/fIBlOCP8dFqjasiWyFGXe
bDrAeYJDzrQazWnv0R0i+ffUH/ZL2wzq9HdsWvNG2v50swaCgA7ON+mPn5hj/B4bV
BxaYfIH4ib8O2ClgkjwaVSyp+kTkroWQNX7Q0YwQDBYM2NkqzrAV9++hpYkH5MXjM
NDq2PhlIBCorp/+Lr+dCBM+LIffXba4+unPQ5pO48EsNcHZNAPw1o2riUyQLVsCxf
zn2KFLHA+K+8o4z/SW+iSurQSAgW4HcX4kS5etWG+XDn8tvGb2rVY6+CDnoJ4yq1s
Be/M9JYml6etP61CIf9rvLhqFkvstk/ST15DPYgfF6CqHcQleqas+vvX7UXGvQ8x6
nCKMXy7xQmAjF4J6et10PgXdalsGOsMelQVT4LA1tufiPYQbUAMiV1NbG1oKLWa3C
KJuelWtWun/VWkdbYEOR4Ylj7Q2xz5/80wEKIRNatr4DpfrOcTPk6oJG/FRx0ZkVe
hT6P9t0q2pAGT1Ne1KE3AnEKZB1kyeuF/wtQ9uGso8/LS2XH2oF0oZ5XS91Jawshr
nCZ+H95Yx2woaIB+q5oacBlh9YVvzZ0J5cdnS+C2r63yCdJbQBd7WAu+ngFADt6TJ
VsjrRrrm4/sIw9netkDZLPE8WHjsGe/b7B0AC7WdYUAdYTBgWlcv6c6/dVAgZobB+
w==
</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 2022-09-12
* Revision 2023-10-13
*/
 
declare(ticks=1);
53,7 → 53,7
$this->addExpectedArgument($this->argSystemDir = new VNagArgument('d', 'directory', VNagArgument::VALUE_REQUIRED, 'noccPath', 'The local directory where your NOCC installation is located.'));
}
 
protected function get_nocc_version($path) {
protected function get_local_version($path) {
$path = realpath($path) === false ? $path : realpath($path);
 
$cont = @file_get_contents("$path/common.php");
66,8 → 66,8
}
 
protected function get_latest_version() {
$cont = @file_get_contents('http://nocc.sourceforge.net/download/?lang=en');
if (!$cont) {
$cont = $this->url_get_contents('http://nocc.sourceforge.net/download/?lang=en');
if ($cont === false) {
throw new Exception("Cannot access website with latest version");
}
 
91,7 → 91,7
throw new Exception('Directory "'.$system_dir.'" not found.');
}
 
$version = $this->get_nocc_version($system_dir);
$version = $this->get_local_version($system_dir);
 
$latest_version = $this->get_latest_version();
 
/trunk/plugins/openbugbounty/OpenBugBountyCheck.class.php
1,26 → 1,26
<?php /* <ViaThinkSoftSignature>
d5Ch9xyUxv3Bu3N2jbIjfBn2mP062FT5Kdj1z31EUW9w+rJMXfvaeidWQfLapqU7c
uIAztDKoRCMsAsvZYSB1zD8+pi0ClJYGbiB+/7ACt1TSVOvtrWxE9lsWXIOjLA0Ft
YeccOh4Mf/JFtLbLyo/xQofsIy+9umKQ1fbhgrcmJfaWY07QeoZVE7HHauTZA+ld6
HyjNklTAc9b3tcFQBp9bgB3p4Pt28y6irIqDhaqvBja8F2oCK7FCZQFwE/JF0UKT/
PMOJ0VtzC1p72SiOWMg4U0+hMi4Sre48SuSOiUtLaF14GdzfATGOxOqyFvFAFXClh
qUqgxXmQTFJCZzGW2rga9BJw35zTYy/jtWLN8nGFG+S2c7e+IJAqN+iDMD7I+NyRd
jjZKqDjXDZrIolL6KP2yl4WPtVD8iaJcgrxUQD+TQiJkcjvSEp2DVN0OETDFUzlx2
Jr9hc14n7z78ebkTgNToAGauBvfyFRCEyRBcXyS9VluTd23g3ICXY0qdWJUhf4zpz
PJPdgAVmO1X8kPaVB97GI2iQDqIMFLr6PEre6GTaB893B3lrej8sTdAiV8WPlzKmZ
LHxxUr2uQdIT2NkLbvvzNSoJKsWXKdmbvWk3Oy+VYGH9LEjw+bRTweubH36gYf4to
QpoiUcnQ4B1f9GxDUp455aPtN9HmY7dOb4YehyWCFKge/1PUoT3/omz4cRlz5+8QM
aYOB1/UgdeCUS674R3tzhr28LhNfJ8J4pyXzOVjVsmBkmMd+he/4MJcXWyDYDWpVl
AMA700hkscLcwktA25TDd/Qh5vjF4i6dWcNlIbFxdaKyN9PTs/0T+Jza0JaDmZagW
gYD5R4+ei44asrZ37oAg9CjOeDm7FKRuMYiMaw/08LAYGQKFxgIAsMdcKOHya4By/
5yVVEVLihCLKdvdn0u9d1d2BQHZS0n2KNG4cMQxnNKVjjTXDybRbyB2C0pp2S9YXN
V9WWzveDY5m8jYrZ9wFjvbHeJHfFNXMrkN1k4U7mYM5Be2Mu2+MYA/Xw2oLtzmmyt
9WxiCO0B4TrEKOJYV1jC7BDWoAAHNnDxFoOJo+dm/hjTU3XOaWSpsxTURYFR/Ltn5
G1yakcUq18mS5c2BEXpwXaJq5+f3QP5COzEcrvgGqBJRfpy0JxsRtKAzTQpADzRtR
8jI68XrP4y9FrcUazM4RPp+U8dRY2zjMas559t7Xb7RysHRpFxf2SZ+Xj0SVQZEsj
YOATRaQdV+a6haeDvB346iJIjVaNY6SaaMPI5JEhAr79BM6nJCXIu7HT9DCBWvhbG
MCePzFjOa4XRB1vaCJo5jolQUWyy0pFLKD5VbimI63wd1a5KqRPmtSFAu+/nQ3aKC
Q==
2wqycRfumOucELwlNawMn9GhkBhvG9p6LgHGfuTS6Shfc1innJ/zOmA8LTXeIkwM0
XIPKVZzyyDRNkXG2qQYuHRg16fMliE9GzfvMvnL8LPzfFc6Q6R4Ww539h3mz160ru
cS0BEOR2Gy+EJYXUcIrBd1Q6BK/g+YRbQOMFollNe1lz2CQK+6DgU9Qk55rKe72vp
2Z+4lH4qGNXCm7D07cqUun28uddcYcSruB0j4DzJ5xAhfAhl5Z/k/3SNttIFRj6KB
kV+tTEXQ4V8EGVEOk0jdeD/tF0aydJVS+wM+S888Mo9diURP/nBXOBi6hOguRjgYS
c5ue8JxxBUo6nJhCPDMKm7OHozXyai0WypkZiHFVHZ5ylvPLHpjbltVZalmH52YZt
93hJGWKl1ZykflKPfqNFmRaU28/vBdN5UoC8jo9W/SlcSjaK5PKby7USqh+dR+RSD
W6/H/SSiF9fg/qbTQ90KBHEBifYPDFyBBIC2pGwV7IuDHeBo2G7KYlrHBj+ONNOuL
fU9x+5kSWwP7ybtemgLAK7QdJCxvFXb4+maIfTQALCJGpiT2//qEScSWPUaQuL2Zf
QopPUiOANe4fm61JvmYsQ3K385e96fcoqNkeygXkKsbsbNzf8h4b9wgCVuThZ/2zS
YGV+EhyCXOsS3XRyUobe58Yq03vg8Jfr4N3Dcc8YOPc/Zftu/TYR69/jtCSjWZX4/
7VsjYhZiBsLtCEPZOMVlqtou0j727qZW+j/1G8yQ/seZKenU/dFTAaVDLnyL4Vjsq
1oz/DEaLAwXGnigRZwC2rwn5An4WiXahSm9ci92ElvNk9SdR7BRbCM+JiFauERJda
LHEefW8aInsrXaCJeF9EDtyVKaGr3QIwrNX3sOl86sWKv6485EzTrsK5MGPIj6Rbw
y+p8AAv/qyH6xxLlHM0pG89W8eWXt7Pd/CBexcfINNO11E1kTvFs+3TkwYdLN8Ppd
+QHZqCLEi4cyyymRnSKMO5D0FPvTUUu6HrriUnX3KIJ0Wmmo7FVs8YvBoHYFYVaDo
3SbI4bPhayyn5jh3SjUfuojHpAuAGTeTXbyqOqdvLowV91nuaIEpi7duEgOotJpMW
pCuerdxtjIm9/xDR4rfV5z2VDO+PbKqcMC+HckfYDq1IGuqwPJbAZL9Gtw8NJ+ieQ
OaFUt332WVJcNcwDyHZH4TRc7pc9T6pB9E0GVyREMgGIbnngcQm4Dp5wXvwCJwcgy
nERbiPtpIJ6fo1//0h/jhNYFCs+OkFEqMXTSKRhHulRP325DIY05x0bjWbXZjIO8R
j0XtvsYhgWnS3rdmw5Xii4FTkeko4F8A5K2JCZA1rgSxqtNW3MzP1o6l9yZ5CkA2/
w==
</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 2021-12-23
* Revision 2023-10-13
*/
 
declare(ticks=1);
88,18 → 88,8
$this->setStatus(VNag::STATUS_OK);
 
$domain = strtolower($domain);
$url = 'https://www.openbugbounty.org/api/1/search/?domain='.urlencode($domain);
$cache_file = $this->get_cache_dir() . '/' . sha1($url);
$cont = $this->url_get_contents('https://www.openbugbounty.org/api/1/search/?domain='.urlencode($domain));
 
if (file_exists($cache_file) && (time()-filemtime($cache_file) < $max_cache_time)) {
$cont = @file_get_contents($cache_file);
if (!$cont) throw new Exception("Failed to get contents from $cache_file");
} else {
$cont = @file_get_contents($url);
if (!$cont) throw new Exception("Failed to get contents from $url");
file_put_contents($cache_file, $cont);
}
 
$xml = simplexml_load_string($cont);
foreach ($xml as $x) {
$submission = $x->url;
125,24 → 115,6
return array($fixed, $unfixed, $unfixed_ignored);
}
 
function get_privateapi_data($url, $max_cache_time = 3600) { // TODO: make cache time configurable via config
$url = strtolower($url);
$cache_file = $this->get_cache_dir() . '/' . sha1($url);
 
if (file_exists($cache_file) && (time()-filemtime($cache_file) < $max_cache_time)) {
$cont = @file_get_contents($cache_file);
if (!$cont) throw new Exception("Failed to get contents from $url");
} else {
$cont = @file_get_contents($url);
if (!$cont) throw new Exception("Failed to get contents from $url");
file_put_contents($cache_file, $cont);
}
 
$ary = @json_decode($cont,true);
if (!$ary) throw new Exception("This is probably not a correct Private API URL, or the service is down (JSON Decode failed)");
return $ary;
}
 
function num_open_bugs_v2($privateapi, $max_cache_time = 3600) { // TODO: make cache time configurable via config
//assert(empty($this->argDomain->getValue()));
//assert(!empty($this->argPrivateAPI->getValue()));
154,7 → 126,12
 
$this->setStatus(VNag::STATUS_OK);
 
$ary = $this->get_privateapi_data($privateapi, $max_cache_time);
// Get Private API data
$cont = $this->url_get_contents($privateapi, $max_cache_time);
if ($cont === false) throw new Exception("This is probably not a correct Private API URL, or the service is down (GET request failed)");
$ary = @json_decode($cont,true);
if ($ary === false) throw new Exception("This is probably not a correct Private API URL, or the service is down (JSON Decode failed)");
 
foreach ($ary as $id => $data) {
/*
[Vulnerability Reported] => 21 September, 2017 05:13
/trunk/plugins/owncloud_version/OwnCloudVersionCheck.class.php
1,26 → 1,26
<?php /* <ViaThinkSoftSignature>
x8VDWLNVIBuTV+Bwn57lv0/eS256StHnC4d4Jdcpmn2mhOKU9INdgEdQWaRVsqPdL
v7ML2ZSeGQTO7E3rHtXvlhbFikllomsC8MiR1Ja+LogZR8VHpnAE29g6l+llwQYBq
F5UoDQQUHkxVf6fA2wcGfvzt3CjS4Ab1wcGerspjywQVDWHNFuTXYB7VzziAchJBv
dgTbzsW0LuNK9M09ve8szm8mYdQ3DbUo9kOOudmrP7jVm3FPowFcFQyI+XVooNwxq
0bt5HWWdn3iklgCdbK4I0PfFom7IIRmWLQcn+O9Xb6hsJNNMwzBtFRt6KqjrOJnFm
ENr0cMMDMt4rZlSLVP7MQL9X20/L8Sx6x9lSLe3L0kjRsQk5OtlzeP15ntjd4wYak
rDIj/nUQ/Fejkv210s6DJTtPFLCiVN6UlMfooL1Kp439HYfSko0QFTK3Szc7shsDg
QOWcEnheheJ4pUm0GsvSvikKz+MVMyygp0FLxe4j7/Dt8hR6y2sbC9X3RffRh+OHK
916LMzW0zowM8lc5+Orw5iZHpk5hFj19p2TN9cAzWWleGLWWBWFZgqIZVPbLgV5pM
tVRHHGTitZ68yU6U0fcDbafd4Fs4BIACMuAo3aR27PZJMKYWphLhwbhfH1jUQ+a4p
sxGCViiUSy+Fi2rl9T2glCKxwQmzZk3LQwbX37Cf+bCUV4u+x/vFrHPdKbbipP9XU
gjzXnWk/rytrXtiVJgk0R/nWq6KuzvMeivvQuPcJvtjbNWeSa/CCI33oBGfBWqOWf
tHYZ2ygQ/gkyD6Sjls5+3G1M6m5a3evgib4hSqXWIo5rmDtilSZ3pUOFpcsGZ9O1j
cMgVq78ErkEVJonNwoz1L2de6ArqF5IflG6vqDCwmm/iJNazwth1mem4S/O8HFMVZ
PVCslXsikJSFiN7EthHA4iGrMvZnVpT0OBaHSXcIRWiB6goIiKC7GgqiRx5Ho+rC+
h4DiSJ1lI6AbwWI+ATkGlLzLvjVb3ESmDXSisBVE1cMrh3TK/MJQ8XRRRfwNxzYT0
EOC1nZ/RSgjrilOqJbRlmXAqIv0vTSbIFpyYolOZjMVDZ9IluWy6sCErfuR/XHXYa
3oSEAlmpCzMkberpuVWCRcbLDMI+jjtx1J5SKn/IVMsNyB4ygi5YCuvqKxRge8rdq
GByaLxhO2ziDQGAK08+PHCLD19n9APbtyplEiX6wA5Mv2F2rEenuSbIAyXCxC4WnD
dyHau/7F2y4uyt6F0eD8PmtFYDtjH0RIGFtwqnmh61JChfxymXogN7Ee7bMqWJFe3
Ksd0egFhulWY9ox4KdDpUXDETfM3pIYnHKI7FWe2/4zqdUgA7sT/14ZuCdqXQJmsP
w==
HlSVetfv0XKCBAHe5nbDalbR8T1VTGwFp5Sso+NV+Ai6FGDOxUZ5V74bkZm6zjj0l
geBvlNO5x4g5a8VBt1g5p0drOul4hbXTSX8GtOzNGLWrglTmsF3RHDWUMMKOI4EMq
lqi7fUsppvUJ61PnR+XFIx5zNomQ3FNI3NNPnfHiN4O5c0Rz6WzEF5TVT2F7DPlDo
ZbEdmo7cXZuSJG0fGpD6Qelkq2eKNxkE0DyNJrLAcEnntvuTYpoc06QYiNJk+OIED
kd5i0KB9poE5BORsGMhVMwWK2s4ajE/TqZ9fGACbyk+lbinTMJ2VAGzR4KTSThJfb
KbavleaX9ITi9jbBVxGorDiFY2Ly8BvJ0gaJmSXwjUDSUsLdJuMruNVULjhoGgzAs
lXGu6RZ0GvuPly6jBkXGqdguqrjBvczkGLc+SQM1TkxafWK3rjnVlL3NcAVeNp1mm
+F+UawOvT1nBNXsAodiv8G5Vt75t9/KxPZ/9pSfoui2efNodb+WWUVM5y2/2bSuWR
7jSuquWKooOdHa3KIppD4RDhV2q2eq8AQhP2d+KihlJCoPMB3BZgmut++BBT3K4LN
vp084TEGxwi4vJmFXBuHMzLBG5I0RFaAdtiO6MFuJLfYx2Y1A+rP5C0dAlnqQSD45
KF/ibeJM0FP+9XxT4OhGxehwbKTm9waBBqc2k7d3h45XTFZ3ygP9UmffI1Nol9N2g
kWFAdelxZxiMX/AOl+kGm8lv1oCJbpdFWle6YSunl7PUV38llVeFMcNsTf6rM+ZdG
c2O3bHvcVt39tRBS2eGDwg90dxCMUwVu4k8DbmU0ga5FyjfvEZLDDceYFR9xgu3TT
p+62MtDaxkPIku4XinpH95FbF/m/ZETBM1r1wMa8+C7qp6exBmrKas1e7cy482Sx8
MoD6prrA35xL3dUnr7dZJwtVS68Znpb1hy/adYKNCOnzidZYsK2e+BcnY9IMaI3aX
4B6ZNoJTRVxFKTkgNx6uZC22HVwcp/EtOW0SAHUGax7ICDY7f2FhUnTOXh3pU3KBW
9h0MgnzC4jjE96F1ROUw0gGT8wA+a6yugaPGjaKVVWWJiyEikHofPt3YkEVZUPOV0
q7I0kgW0PqqqzzlMu4rJicTWEWXofYAI6j4zuTZ9XrHNPp0vw+f5stt/zYqAJ609h
VhL+iYaqO2r+3p+YMDLzL7WQCQA2VDNpzV9XVrQEAPLYkSgS9ZFZ/o8TgjgVpGnv/
AfEwJned7Te2NDzlIAcg4UoEk3NL8sCcIyPvwxf2zbzceqEAlnfryacxS3Tt8vrde
F31XxnfmY43Tzzoa0I0P5xPRAhmcwnraY/emXTAcoAYmkJpO1fp7mqDpDPHHbydtv
Q==
</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 2022-09-12
* Revision 2023-10-13
*/
 
declare(ticks=1);
53,7 → 53,7
$this->addExpectedArgument($this->argSystemDir = new VNagArgument('d', 'directory', VNagArgument::VALUE_REQUIRED, 'ownCloudPath', 'The local directory where your ownCloud installation is located.'));
}
 
protected function get_owncloud_version($local_path) {
protected function get_versions($local_path) {
$local_path = realpath($local_path) === false ? $local_path : realpath($local_path);
 
if (!file_exists($local_path . '/version.php')) {
108,9 → 108,9
$OC_Edition.'x'.
urlencode($OC_Build);
 
$cont = file_get_contents($update_url);
$cont = $this->url_get_contents($update_url);
if ($cont === false) {
throw new Exception('Could not determinate current ownCloud version in "'.$local_path.'".');
throw new Exception('Could not determinate current ownCloud version in "'.$local_path.'". A');
}
 
if ($cont === '') {
117,6 → 117,9
return array($OC_VersionString, $OC_VersionString, $OC_Channel);
} else {
$xml = simplexml_load_string($cont);
if ($xml === false) {
throw new Exception('Could not determinate current ownCloud version in "'.$local_path.'". B');
}
$new_ver = (string)$xml->version;
return array($OC_VersionString, $new_ver, $OC_Channel);
}
133,7 → 136,7
throw new Exception('Directory "'.$system_dir.'" not found.');
}
 
list($cur_ver, $new_ver, $channel) = $this->get_owncloud_version($system_dir);
list($cur_ver, $new_ver, $channel) = $this->get_versions($system_dir);
 
if (version_compare($cur_ver,$new_ver) >= 0) {
$this->setStatus(VNag::STATUS_OK);
/trunk/plugins/phpbb_version/PhpBbVersionCheck.class.php
1,26 → 1,26
<?php /* <ViaThinkSoftSignature>
URC5lyHF7B7Z/hCr2eAcYLDKai5MDWwA6NK9uL37gGSh0pfGDEss7/vvlTbfFJPDo
/4zYu0T4mgcqPs8kKgLRmT4A/Hn0BlQRcaG5MV2r+ypF37avL06BYfsed8DwxXOVM
ENZ4fTolmbKBGaQ+0BXGgkO9TnXnXP/A1LuOUZj6v0PGrnI6wfyJ8+a0de1lAvXZh
WxKqN4RcHkbqEQy71Ox5XCS6Wl8ZDp2/uPyoyh8FM1c/XJalnzVTaAkJwjsP3Vtqd
qVv7QURFmetfkOqqvtNm4N5XGlNhd2/M2QolAJNzjVL4ZLd4hNB2dGlxo7eNag/+r
100zpq3/ZVJ65YKMfDXAAteHS/k/ajHO6bmh171pVj2cq5NlBqIPm7zk3dIeHhu1f
WhW6tV6aZu7ChK9waZ1i9G2g4FStOLzQdRrV9rqOqLjfXB4hyfXP9SIwPn+sZ+VxU
x4+PW9QCZxc16JW6tyik9MFqjmwD5cttzoAwa/EKvuoxXeMz+aIsqXNxv8YfgCUXN
dyZwWUBb9UTbsVpEZTU8wXNhLwYzLGKuv9t/xWEGr/+bknaEwiMxhqzt9j9P+Blhx
vw+0V2z6NtX/VOJJ/kaJFPS+U0Zj0M96QB/EUPKzuxtU4MpqyyKxrv4d3rWoH+I2i
G5Q4TI58+8UNBKG/UZZz6adF0VZ8TwuRxDL07USEgqkIV96NAzTguVhBYRmn/OROU
qUnfB16vvDI0qXpT/tMuthHWQK/qDkxF6JiBRBGQGSl+a1SBW7peEc7yQvgs94Prn
eTuisoHyZ6o2UY8iYCulOTiYAjLd6Ob45O0ggu3U2Y8e+avoJc7vZ3ix4AzsFPtLZ
q1QTSLakzPD6yKwSnr6WHk72R/VlWo3nGF5I53e+32tyqN9bgMol6BxGu6fMx/nAZ
581nqLgqhI/+WstBmQYysVJXkt2rCowgrtU35ErZD9tKwWC7pBGwJrH2zF88y8nxz
YmtfL5zdHVU0tY2wStySbWPC77+RWLTRRiNmDmM4xAWiJ53VsKBQiXO+/Ee1XieL/
s1qGqyUp3ZhWgqZSur1X3MxFnzt50g+VZUJOIYL4/8Zxn/jxwa+SQDazvsnxCQQFC
9Q43pB304ik4Ps0BBmcUzOIGy3UIzWeWl8p2nLFCJ9UmGoQcwfCAc/1zWdoBnHyNM
n/0Ody4uqN0qzo9z9B52YJzrTApC2m0EcbpUVCwfWWV0e8UGhw1Y3rR0ovPOHU53g
wxGtDzQoFySXk2RgxVxWn5DIa8B4gH94aCbQ6C4Msew1iHkYINWp4TUfbyGQDQLNQ
1ICXmi0Zs3lXHQsjHt/uTb/rjftdUivbKo0V+1AnW/jo7fzegS6Vv5+3A8TdBaa6d
w==
Q+LgiqdSfhwY9Jlcm6yUYFLgrqbkPTtbTn00IzB/vNJZ7UwGuMZBLm/3wdSqobOjO
aYwaWnxIqvl8IplgQf58a/wO1PS1Abz+T0yUL9bNL71JcJauTqNqNeSQUcPjDDn62
tF5FiEhtVYPhiWYdY8O7hF9xOIot9XBjN6KPXOaOqRFreKgeF9P/WNIzHSdnDaZDX
TP+tEvtCijPbcw+1n00Di0h5K/LBFXuItJvpeHmtew3XgBxQXedndOGA8ZVIo3tmH
/n7s5s+CZboe+h/Ds9BMsAcEKv++d+9bJuPd/YsmwRrB0j22KRfyJmKKm96UBL/bs
ORF5cb/f+Uqd86kpVk1MXY+CXARVNVrB1huyo7AZgvXePMkcTKSJBiHhfhNCjmrFy
g8SkllXByUiyceZazlvxWCRpzqGzjXGw8ZWWjVIASP0BhgxIDwhtGBADs0c9SuWDa
Y5mJ//E517rQm2uq9bQqmJ3JTPHB9r41VxO17hzlP9AZafo4ISLgiqghElKSvgcOy
8D1DYbVeYnoBK13GObzixhA+p+/Gs8IL8aiuFrffLU3aScwjvmNRA5YEVIM+QCyfX
cbkQ5++1sqdNJZO5MufwVRJEjidvZqrsVEVdT8Oztu47v+8pA/RMabOVkR8TMAZB4
PtzcM27uOUANXJlXbnyUQrA9qiyrklVY7mphdCrq2GpfaXWP5vYaRyV6BrooAJWSO
0Rl1nd2aIxjxb+tDWCgiXi9+bBTHAiqvj8jHSKlZqye+ECmdrsejBRqGKbeaws92v
L3H152X+5VG7kni4xQEO75w+gNifzN6fUJNnk6/aIv5sOhiQcXAaOL5p0tUPTlvmG
eerZGQGTGa5JW5Ns1zCiihoTpQ1VQ39gPntz3c7hTuCspMdSqB9nH7YylhRqt87Hv
KzBXsNLnHbwrPLN5n2V3dMgC9pbKTXZ4pEYkVvn4/prIpscDlKezS7NXMz98gdNbV
yAEItdnBK4zjUj8PnBKN579sU5+3NgkNRJrmsZJWjDDp5fwdpTTbHAbnixgfIKtI6
fptjBozyBjzK+eXrPUhvseHg3GytlNoX3BLBNis6Ya917D79qiGpJlMjL6WX+EXpR
+bYWChbMqJVxQC4z2Ui6PDtGj6v0UCiW5p3ag5zlJkJHVEUpbj1gFRVPb0LpJk676
+lKqKQIrkHdOHwIN4yr6vlL2j95tCI4NF0+QSjvEGAORJJsmr8RoX30S1g9GrSLNI
hhKaYpZ+wAteNYBIQ5b/O2F+tTnu4iw/Zc90jNtqGKP8S9Rgro4N6MDwk841jc7y/
biAkj6zKbFNfaUhIqjPh+355VUWhzoYowY0sGST+v7+6NzIGHIW7+eMzta1aKbnBj
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 2018-07-15
* Revision 2023-10-13
*/
 
// TODO: Should we also warn if a newer major version is released?
55,7 → 55,7
$this->addExpectedArgument($this->argSystemDir = new VNagArgument('d', 'directory', VNagArgument::VALUE_REQUIRED, 'phpBBPath', 'The local directory where your phpBB installation is located.'));
}
 
protected function get_phpbb_version($path) {
protected function get_local_version($path) {
$path = realpath($path) === false ? $path : realpath($path);
 
// Version 3 support
108,7 → 108,7
// More information about the JSON structure: https://area51.phpbb.com/docs/dev/extensions/tutorial_advanced.html#extension-version-checking
// (Note: We should check regularly if the fields 'eol' and 'security' will be officially implemented/described)
$versionCheckUrl = "https://version.phpbb.com/phpbb/versions.json";
$cont = @file_get_contents($versionCheckUrl);
$cont = $this->url_get_contents($versionCheckUrl);
if ($cont === false) {
throw new Exception('Could not determinate latest phpBB version');
}
117,8 → 117,7
throw new Exception('Could not determinate latest phpBB version');
}
 
$version = $this->get_phpbb_version($system_dir);
 
$version = $this->get_local_version($system_dir);
if ($version === false) {
throw new Exception('Could not determinate current phpBB version in "'.$system_dir.'".');
}
/trunk/plugins/phpmyadmin_version/PhpMyAdminVersionCheck.class.php
1,25 → 1,25
<?php /* <ViaThinkSoftSignature>
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
w==
</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 2022-09-12
* Revision 2023-10-13
*/
 
declare(ticks=1);
53,7 → 53,7
$this->addExpectedArgument($this->argSystemDir = new VNagArgument('d', 'directory', VNagArgument::VALUE_REQUIRED, 'phpmyadminPath', 'The local directory where your phpMyAdmin installation is located.'));
}
 
protected function get_phpmyadmin_version($path) {
protected function get_local_version($path) {
$path = realpath($path) === false ? $path : realpath($path);
 
if (file_exists($file = "$path/libraries/classes/Version.php")) { // Variant 3 (5.1.0+)
74,6 → 74,19
return $m[1];
}
 
protected function get_latest_version() {
$cont = $this->url_get_contents('https://www.phpmyadmin.net/home_page/version.json'); // alternatively version.php
if ($cont === false) {
throw new Exception('Cannot parse version from phpMyAdmin website. The plugin probably needs to be updated. A');
}
 
$json = @json_decode($cont, true);
if ($json === false) {
throw new Exception('Cannot parse version from phpMyAdmin website. The plugin probably needs to be updated. B');
}
return $json['version'];
}
 
protected function cbRun($optional_args=array()) {
$system_dir = $this->argSystemDir->getValue();
if (empty($system_dir)) {
85,16 → 98,10
throw new Exception('Directory "'.$system_dir.'" not found.');
}
 
$version = $this->get_phpmyadmin_version($system_dir);
$version = $this->get_local_version($system_dir);
 
$cont = @file_get_contents('https://www.phpmyadmin.net/home_page/version.json'); // alternatively version.php
if (!$cont) {
throw new Exception('Cannot parse version from phpMyAdmin website. The plugin probably needs to be updated.');
}
$latest_version = $this->get_latest_version();
 
$json = json_decode($cont, true);
$latest_version = $json['version'];
 
if (version_compare($version,$latest_version) >= 0) {
$this->setStatus(VNag::STATUS_OK);
if ($version == $latest_version) {
/trunk/plugins/pmwiki_version/PmWikiVersionCheck.class.php
1,25 → 1,25
<?php /* <ViaThinkSoftSignature>
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
w==
</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 2022-09-12
* Revision 2023-10-13
*/
 
declare(ticks=1);
53,7 → 53,7
$this->addExpectedArgument($this->argSystemDir = new VNagArgument('d', 'directory', VNagArgument::VALUE_REQUIRED, 'pmWikiPath', 'The local directory where PmWiki installation is located.'));
}
 
protected function get_pmwiki_version($path) {
protected function get_local_version($path) {
$path = realpath($path) === false ? $path : realpath($path);
 
$c = @file_get_contents("$path/scripts/version.php");
66,8 → 66,8
}
 
protected function get_latest_version() {
$cont = @file_get_contents('https://www.pmwiki.org/wiki/PmWiki/Download');
if (!$cont) {
$cont = $this->url_get_contents('https://www.pmwiki.org/wiki/PmWiki/Download');
if ($cont === false) {
throw new Exception("Cannot access website with latest version");
}
 
89,7 → 89,7
throw new Exception('Directory "'.$system_dir.'" not found.');
}
 
$version = $this->get_pmwiki_version($system_dir);
$version = $this->get_local_version($system_dir);
 
$latest_version = $this->get_latest_version();
 
/trunk/plugins/roundcube_version/RoundcubeVersionCheck.class.php
1,26 → 1,26
<?php /* <ViaThinkSoftSignature>
M5s14jZt1LxgtSqICA+mTNwD5gyp7BoQcIZLnI+/UJKBBOucFhN1ZlsZMEnuTBCkD
2EiOsnpjFqE9AzQA2UyVikHkI+ORmA6NDFEIalPk3hVe2oIC16AFsUPJaJgNix3WG
/P8uTsuYrdfmMnrcHJufyIhrA9CZproNE/3FdWrRCaRVDGRPmvV4H1Ge0p79oLgAP
G/9ExglsCV0aBdn/43H3ckhAoovBHfTyepXk45K2++mEF+DIyZhtOa1F3bWRRmVQL
pT19P96zNcsQSU6IivybRc+dHOwYA6tvGBJftRtBbgkCN/W33FF/YDRAdIRPNIKES
QOE5XkovdNtpJ+N+SgejYDQGpo9cGD5LVPRWZezXqcj/5DCGh69iYJ3iZrAMYz/v/
i/f41m6fl+Bv/A9KKKgz5OtjPfiFEIbgBEp1DdnrBHBt6aeF0OLR8Mi97jiV+Q7JN
QzKyEHTU9T28ie1rE+DVMzukzNPXEULPeGqz0QGpOBFQ7KVu3HbQ5nve9cXUhqKH2
K7pBrmj6t1Owl+oaX3rIZ0JQHBtZEGbdt+0KxGIqcHh0eYggZiYm8ZMTB8jydjKpv
lhvAwRlgWDaQ/i/4wNLJDRNgd7O6TPItNTROw6XKxL9GOzP5wKK6ZNEcStp1rUdI1
rYiqoKhybsiyzmmsoF1AuSt4ya6IYQkV0aOCadpEX33LfzjbeOyM22SNf7FC50QM1
mo/O7MA5rR5n2bkXe24fhJ9T40jhLvrO8KCDXeLK5v6W/4hfnx6ICx+g9+bHO4d2Y
0Ij9Ck13oaHmmVNkvbFV24DbIYicyCXJZoXSQSGAs2h7Z8TLKpWHMPtzWNTS0ZuDy
Erd9kdkpxX0Yr6tkGmSWMX18qV3gVn3DfXTUrG2Lrzq9eGkAqViVXPmCLpbn9EG/7
Sl0T3XEApLOsJIFCQgIFz1ZqfvkVcyxCX/P8yTa77rz2okroypAw2AHFasw1kYbpb
yt3TmSDp/H90watdIAs6cvzaQZSPT8sBYr2K85n89vzoznU4YdTc2SawEv8/3lPvw
WyoDr+A3myYPG0eSwDZLPqzOylaXCu41Rs9Rm8waYplX87HiNz1dw+vJyfkEqW9hh
kBoMYkBICZuCZ13edXvgutALbJgY6ddmzPqLD50ReBO8ORhWlnq/wrbLJM4WN9h9y
sBN73TLRlfmfmTF1WKpQu54KnFhj8Vu0SgNk5LCP59lT4a83VVRMMr37sbsBRH+Ye
E3nQm/+5lQh9U0M2hpUQqkt1IgImfN/ZTN5MYFCvVMsOJ6H0NRAdBmY3Pl1fwy2Xg
bMvmHc+olwQxf8Ep6bh/yi/+f+X8wLsPvpUbLhCWXeJOOrzOYQwrY9idSuUk6Xsav
w==
L2cLimf5MKzRpuLa3QN3ZXwPjg1yIeFbWqIvkJGaSwRxKCg/LL/E2yEQHXu1mHH/8
kBIyH2DQ/9fSsSlcNOt4mJfZQ6Ij6999+3AYLR/IGbDTfug1+zvwYwHx4zRSQS2fo
PSHsUL6lAp2G7s+PhLAZywm+vlz1AGHQmXrmPkD8WVlxX9dNpeyGmVpQh+I8+LcRf
WDdLjeW3MphaOWSh6/MQxG60BZEJHjDpGcPiJm38FRBq0l5nH/2pEV0XkRwOsKHbx
hHLc5scufol/6b5GYAG0aiKrbml4mSO41J8r3k0eVdeeXpYJzUR2yDYacOxas/HKZ
+7G7DsgXpY31ELTHIf52h9PIils+DYM2ZG5oGYn85jhqLGAKgd2ZHSTw7ZZ1AZkwY
g+7dZmRZ6Z0QgFTA0eOTpQx61KWxQTFfhEqchtrmeL1xhOG3KPVaNfDJFIqeZV8HJ
5spNP0rer2gaB9PkbfWAz9yM7hXV7qCSkv1vKD1iwOG+JjeYLbEhHPntx8Hgoxx6K
VEg+F0WUbK0nUYuUMso3alMciLB0igIF+Uf4KmJmpSEKIFezbg2A54ADOf22pnjHJ
rOcmKWOlbfNKFeTqqvadj0KYrYWzCfZkGhFc9xwJs+jh48mUAb+LtQOEejJH7l1cn
2jnqLJgd0yvnSRc+wTSEWuoFLqA0MiDcfmY8NbtFuXMGiisFk30NSDgHDxbsLjcR1
pSr0w6iuD6fLa0f07B8DgH0YnZSIP6tJazL7Ho32eXUqeHkryg1b9fzzZmaD0/ISh
bi5OXffJGXog1qvhF9Ga6nQ4qwYtHthOtQh9hgg9VhRtNN9XoHIE//JZWvUCVNhVz
00g8GOCAiYvobxndpXy9N6D7mA4B0SBkhPuW0UXLOC9MazQIXV9Sqx5kkF3l46tZv
akC7lQyB15W/+vIiVScs3p7r2CC6vh6D8WZH/nBPyetbK8afXkOg0ZfZJznauyt+y
VvXpPBGJjA1UYAmLmcyjkMFY4j0qkY+sRmPTXAVPE1H9GbK2GSNlR2amB98SNxBit
fch507ub1jAAS+a8M3p69Hb9Mv9ljrQpanbabN01rFTuI2yToxTBqdPgUpejKnVpz
1XjeghVz6ODfDnpyzPhlHzgF2fLj3YZ1SiWVHq+Oeni3uUfSI60Ps0IBQb8MI0+Sj
nJ9w+9y7AuyruCuE0duli9wzNGJOqHYPLmOAxv780dnkFkFK3JUZowaJbpEJAauZ3
2kybuyOSwa+hYX4jonikPuQoIKKFZAOEMVUvJK4Rswq2H8jb3y28XHrisPm2f0thM
iAWxG+mm7Fam9DYtIRKzJNKNrYyB1NBMnHa3ev5bxrhCkma9Zj04re8tAZUNSj3Sy
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 2018-07-15
* Revision 2023-10-13
*/
 
declare(ticks=1);
53,7 → 53,7
$this->addExpectedArgument($this->argSystemDir = new VNagArgument('d', 'directory', VNagArgument::VALUE_REQUIRED, 'roundcubePath', 'The local directory where your Roundcube installation is located.'));
}
 
protected function get_roundcube_version($path) {
protected function get_local_version($path) {
$path = realpath($path) === false ? $path : realpath($path);
 
$cont = @file_get_contents("$path/program/lib/Roundcube/bootstrap.php");
64,6 → 64,33
return $m[1];
}
 
protected function get_latest_version() {
$cont = $this->url_get_contents('https://api.github.com/repos/roundcube/roundcubemail/releases/latest');
if ($cont === false) {
throw new Exception('Cannot parse version from GitHub API. The plugin probably needs to be updated. A');
}
 
$data = @json_decode($cont, true);
if ($data === false) {
throw new Exception('Cannot parse version from GitHub API. The plugin probably needs to be updated. B');
}
 
return $data['tag_name']; // e.g. "1.6.3"
}
 
protected function get_latest_versions_with_lts() {
$cont = $this->url_get_contents('https://roundcube.net/download/');
if ($cont === false) {
throw new Exception('Cannot parse version from Roundcube website. The plugin probably needs to be updated. A');
}
 
if (!preg_match_all('@https://github.com/roundcube/roundcubemail/releases/download/([^/]+)/@ismU', $cont, $m)) {
throw new Exception('Cannot parse version from Roundcube website. The plugin probably needs to be updated. B');
}
 
return $m[1];
}
 
protected function cbRun($optional_args=array()) {
$system_dir = $this->argSystemDir->getValue();
if (empty($system_dir)) {
75,16 → 102,19
throw new Exception('Directory "'.$system_dir.'" not found.');
}
 
$version = $this->get_roundcube_version($system_dir);
$version = $this->get_local_version($system_dir);
 
$cont = @file_get_contents('https://roundcube.net/download/');
if (!preg_match_all('@https://github.com/roundcube/roundcubemail/releases/download/([^/]+)/@ismU', $cont, $m)) {
throw new Exception('Cannot parse version from Roundcube website. The plugin probably needs to be updated.');
try {
$stable_versions = $this->get_latest_versions_with_lts();
$latest_version = $stable_versions[0];
} catch (Exception $e) {
// roundcube.net blocks HTTPS connections from the ViaThinkSoft server since 13 Oct 2023. WHY?!
// Access GitHub instead (but we do not get the LTS information there...)
$latest_version = $this->get_latest_version();
$stable_versions = [ $latest_version ];
}
 
$latest_version = $m[1][0];
 
if (in_array($version, $m[1])) {
if (in_array($version, $stable_versions)) {
if ($version === $latest_version) {
$this->setStatus(VNag::STATUS_OK);
$this->setHeadline("Version $version (Latest Stable version) at $system_dir", true);
/trunk/plugins/viewvc_version/ViewVCVersionCheck.class.php
1,25 → 1,25
<?php /* <ViaThinkSoftSignature>
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
w==
</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 2022-12-18
* Revision 2023-10-13
*/
 
declare(ticks=1);
70,28 → 70,13
}
 
protected function get_latest_version() {
$url = 'https://api.github.com/repos/viewvc/viewvc/releases/latest';
$max_cache_time = 24 * 60 * 60;
$cache_file = $this->get_cache_dir().'/'.sha1($url);
if (file_exists($cache_file) && (time()-filemtime($cache_file) < $max_cache_time)) {
$cont = @file_get_contents($cache_file);
if (!$cont) throw new Exception("Failed to get contents from $cache_file");
} else {
$options = array(
'http'=>array(
'method'=>"GET",
'header'=>"Accept-language: en\r\n" .
"User-Agent: Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.102011-10-16 20:23:10\r\n"
)
);
$context = stream_context_create($options);
$cont = @file_get_contents($url, false, $context);
if (!$cont) throw new Exception("Failed to get contents from $url");
file_put_contents($cache_file, $cont);
$cont = $this->url_get_contents('https://api.github.com/repos/viewvc/viewvc/releases/latest');
if ($cont === false) {
throw new Exception('Cannot parse version from GitHub API. The plugin probably needs to be updated. A');
}
 
$data = @json_decode($cont, true);
if (!$data) {
if ($data === false) {
throw new Exception('Cannot parse version from GitHub API. The plugin probably needs to be updated. B');
}
 
/trunk/plugins/webreader/VNagWebReader.class.php
1,26 → 1,26
<?php /* <ViaThinkSoftSignature>
Q5Qtv/JGX2tdxoEqxXuF2TaMaX26SuclN68wP5pYOwMe01/GepIHEZNJU6vFf1JO/
Fu/OZ99tRamEa1ckOEdCR9R/oiadNqQ/3U56/qV0/9NMbVcaETamUFImUm3ztpvFN
83t5S0DtVqqVfCQ08UpJCUTsgFbztlOILKK2yfyIPzwK0vQFAza98fRCZfidJTxYm
xPuThlzLFoVlxyczR5OiCKdwJm1UzZhRCToIbLMU6dIwkx8mE0CBGYcR1sUVBeRoT
Wjqcz4JN7lGNihUYirTZL7kNTllu6lcGIUIQtDGwLw8vYEeUr3XoGvUKZwQtqd6Yn
7/Bw9UmDU2/lNHdMtSgzMRVa7m8hXSApdjKxzzvnoK1qU4bBxaiiCAUSBq1K9hfRf
9oRx5Kea3Jl/uV7aAsr5MMO45CYUxCwPMS/KykTXMAtOe9Yr53GAciQZbxTKCen6G
Wh1wxImMEoFc2m1axWMqzmvsNJw7ZGODbYGgY351htsVhgTdZLxPJOGt5dLs9zsQA
b9/+lMyejv/ZVZ5zOLpfIilbAOZaTSh834YNY2PciKIoPsg/umIYPx2ELcsmgtOrN
nIjvvGBK3r18QBJUN3y9SlEwm9ej62hU/PvQ1HiG+iqtoE86BzxhcUkDn6WUXOlaa
fB4BgETjG+RwX9Kj+h2ZTTiKqoPN1BlpxlUKrQ9ZTLdpy3PHdkA35N2EEFPcCVdf3
ada6oDhmPhvhXbcFZ29Ip100I1L4lxHJcU5XCHJzEaMLkIX5nyT1tPZL1XnV5fOyH
l/LxR/H+t5cvDw4ybqPj11XshtQvxGxkLDyMB2ZUU0mpiUJyxePdAXXPPmOpdO37I
MCStMGQxqrvIJL/EdQn8BVQuDBKm53lXNMGlt1tEky6w8ikTYd+HfSbt/S3yWQATn
elVfQfyEB4+GR/bckylsoirQQpiFZONMIV+iCEE7QUFdM7ms933hRP4Pg9rISaP3i
t7jk7v4Ad1AF9JQLP64cyQdHJaaR97nLYtSYp7WVj9VEMb8WdB21wjBecsJktqdTv
E/gj8a3X71bheeSMc9ZS4sBGhkTryhEb3R4i6yLyyrCJxc3P2ZSvEvkj7OKmHhlWA
nKBhH0Ka4Acv82FFu34hcwksCVf1otQlfAP867EoKRTN9Z5gq0ljpj6Qya0OFuXsV
PVs2h4B4qXqxWD301tYkP6YChHTGLXmo3LAje1OgqOIrivuP7hvZ4v8awaLn/xIFc
REMolTxoQTw+C7F5NmUyy6/1WgpFCQzKcMGxZu+A/xG0G8SwhY5+tlMtWMGUWupyG
RTb901U+uuLs7trE2qxfOq567wmYLdXhU70RKxq1yrGopr2CTGK/g0So3+MqRHNkv
w==
yjpYd6RjoRdUv8xZFrEs3f8uvPQ6gVhf+TIEOFZTd7KIRVbDHy+ZOONeDDtLXJAeX
EPpNHBT2jijIHlPKklWF9fMPoZ3xOuXNaQ8m8aejwxZzMxoB4owNDq9L8neC4PN3y
CvtiaAJa1+mex9P9D0GFEUoVpwNMlKZVaav0ncmedOFE6Y0U+X/hnlbcWF5ItdzAO
1IufVyVECA48edIfuqRQjqGATLs/vkBJPwzbsH3JzrL6hyK5Ry2p+ReMO3/50q5zt
unz9oeGa1A7milra0kZVBapqcrX3XEHsgGNkt9M+S+BuRLnDHYiJiuqshQZBkwfAr
rr6xyd8TahY2V3b8NWjnOEuh6DlKu5BOWzMwDNa43jST9vopyhevNQe3iIDqwswVw
Hw8EnFQWXt+ASFZzi2NSKMWbEWcjR/8Tv4ciQUM8wgAYoAM6YwamTeuuNxJg2fF8B
Oipr7+OX98qyPBTLg/6yGOo1ie/w36toFe6uS5c430fU7VlFHugGo2VMixFOa5f70
E29E6+wzA2LVi9eDrPZka5iGfSdhMyGI2VOQ/keqCp3Xi9WhqfUVJIO4kSz5C9iy/
9A2Nxj7GAQbkn/aYGXyFYvhrZFzwV414P4xXzoS0+BgPjVXbunkhDbsncSoX3YWU8
MRORTxNMdz9WINlLvfx+/7MWMob+z4Bieq1l971cufFyhefDbQ1rluCfIU6Cgxpyf
rq0GmPUSjL6FKWtyDFWKuFPoftz12/9evd2M5Kxr5zz2yiR3+c8w3kta4AAuILNsL
Rni2lUIF5usajSKVZxWVNc4sFoBJ2TCG3GQ9XxeLDFYwxPkGzz0z82h4vj0pnSBGF
Q3z5WZ/V4NCydpmXQP4gR1ghMB/1YKZ7OyJ7jiiglCBSQ2ZASXcnmgvXFMWxCrNFC
a6dMKnKFUAFGjINp+/uKO77qY4z0foWBZJl5+YfzDZgOSWgSPMEPVHKjGZXl2JM0J
Dl3jeI3PwuzrsiCY8GzEEla7ggvkSOJ4jzzXDsx2QULOgHgIOb77FfWDl0EgHQGgf
ezMkbe5JXxP5guV4Y4bMvTNdMIW3OhOE7rl5DMhgUM8u5K6XuxA+cF+WFd7eCOe85
w5FeTdWMWtT/0C3lVhyTFfzLbeRqUuI/9i23xwPURpANo3TQd5BTaYVQqltTKKCPi
wZ7Me7bRnk07tnnnElrmSebv5T9hX9G97GKG3PEHtrOcDLzmhSOITNCm6/0G7xbi/
4DKZr9Dtc86eHaQXEunXKKjuk1pEODb2zh57xqdrtyf7LaW8mRCi/vA5C3uxIgFvj
LZLY8vUeP5eK7+8m8qBkzb+xSJMVl0QWlFDINIcZzM/6JDljLjeEGo+S7kd1VkY2B
Q==
</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-09-13
* Revision 2023-10-13
*/
 
declare(ticks=1);
85,8 → 85,8
)
);
$context = stream_context_create($options);
$cont = file_get_contents($url, false, $context);
if (!$cont) throw new VNagException("Cannot access $url");
$cont = $this->url_get_contents($url, 60, $context);
if ($cont === false) throw new VNagException("Cannot access $url");
 
$data = $this->readInvisibleHTML($cont);
 
/trunk/plugins/websvn_version/WebSvnVersionCheck.class.php
1,26 → 1,26
<?php /* <ViaThinkSoftSignature>
O3yOuJ0uY8SaZtsrvzay90oQ6sp1M+CxL4k53lThK/mXA4x6XNuTX1K8OygUl0swc
+yV3RRKNVNaLXMxKBOhRVC1SqJi5jDM+/AN0vJ2j0fjYcc0mXbuy4amScMq0wFBBq
0Kf2mqWu4QtZiZ6PQo+SoUuoR5QsN4IQkOKdj7cdluNFClt6uar2ZPNEGeHFGt0eT
ddCEJf13rjkpta4FUjjPr1eN2uWE7qFIAqgYbx1tW7+fX3iFOOcnd9F85hbvGQhpY
LJgFwwsFbfgH26E54Za6ynVJ5yvZ3FBFItO/UMtuiAqjFgsv6tmU49B7NxzzFeAln
xTPhhF5SILLJr/aKkMhNd1vWup4s6ZW+HWlwxd5kRdNedGPiWExZZuGDfdorycLLo
kiP2xEHVhMFlOFtBsprOwF8ZjkQ8Jhak+MmUyXIPyhPUPWIyow8kttnBhw2QNxwI3
9l/7Z/HNj+XYcJq+lRPLG7CGzmD6xBDgjhLMVGTb2ZSqR6Y0YVpd8Wsq7zhok5538
YhE0jtLjaX8U99Y5l9hwJnLZJH7POHbmR5GFAyxZdH08E+nboIwlV5LJrFYb6odSC
S2zWC1PCr3fvSErp9ikEE+GKvsvDviYymcR3rd8xxlsUFi8N/gOKgLY1cobY2Ic2s
jtdinhvnoKU8Fmmc9qUUNJcFS2dyM3uv1CSvYJp0iFcMqEZ3G/FcM3/octYhl1hl1
vPJRe+0Xm9O0T6VqhWNvAf6MjJ2FQGMRAKWkP4NGuP1jOkN3yU0GjP0nc3ZXY92r/
wGnYqLTFh4c3WiGRjNJOmWHqSy1QCVKz13lqVTa4/g6RK0dNVphvTjCcpB6/VCAtw
II0K/y1ZJ0JmhWUbN7JXULyB1Ghy00WUZa3XPZCfCGWqVT/KtPkZgL/8zBzg+NFkF
ZNINJsjM3aFebt2yeUn5E13WCOCFsm6fqhhtNBe14tn2b/AEew4gZfuitFuvbPtY/
gPSqg8EnJ2qmoGJEQhgmkLdmklBLQ/Xtyf68kYFGeoRU/IPVnsODqytvS/J23v0vF
f//VIjpE2vmrRi7aE1QmnT+JIKqq1HZsUPnuEjpIWhdH1W+sztLSbYHTmVG89QOeT
cQzGPitGrPgqqSuVJo0q/zYdXDjE+Y6kbIj8QrK05N6MfhCeund5JvTab7AQlg51n
BSNXZFMdena5C5QTXGwU3BQwBpvr92YWCj7EXzGU8N5XTDULiyInNNZ0xOULA+AXP
aV79sQdctyrWEkll9ykl00641y3jdJl0b3FzFy87v9OoRLj8vAsvy2cUmRykRjyJm
Uc8V1D7xjhvuxa5APwrpcaULIpOSiC3upgmNYlZIODV2CKixY5csoo7Ka2wnAttss
Q==
fqkUXo8Mk3LMsdasFOvKADgY4gxxGTLbE4cM7AU1uo+PpfVGfzGKeXsOUYoPivmg7
pYb4KCOneJ5ifN35ujcauLXaaAvthxv8staBS/hHck3SWFCMCoYB5Y+7FYQyAupS1
bqjrkwBWHhjB1RpzheGenurqG/Cbn6vB0XlC9uE2AN52b/kmctIKdsgKfy6ojPfm1
NMOfJ3x7O1Z4+NPla0Ga+ezSScZjARO9jMBYN76FdDpioaa2t1J69rN4Ce7rj8A0v
d0+n1hLlXuIC9PBH3hzVdDbBTdkWDTlIjwr1Hr8+dmyqU7s24ww+55GrAjKNHOr4N
lwyatuMn4bBCT/vsdGZLAsaeC60ug9gHfjGvqXfTykUmVgMJNs+zSy7d5HLivoFsL
lQG1ioDxRr59BFF+St2a+rDjWLlafd7IayZbvUrGwGMeX50r9vEIo7gd7YZk2yyh0
Y+pQ3fENCLkl71COn0aYSRgHWMwL+IZwYV6/MZTC48pKO2U+EYY1GB9OrSMnPTVed
lLS/rJaBi9MEJina93RfHif16A6mn2wy2HkUrFg0FCgXsTEUlDBGlowmYFqG87LCG
vQf6pC+AUCZYCN52nkrwwEJGEgcwRQLq8IHuxrKMI+4HjBuSbdD3qSIl4RZYsJRAL
l62kcZpaF3a9t3oC1kBEiahiLjh7qIkFcTPKJm0Bi1iNAYaApO4qJHHvhT7MuimKV
mtAKlbFThGBIs9qHCQi0VzFwOHjKgFE8rGtA8EQGhs2MD5KdxV1JY4yr9Uj2fcgoJ
7TCOIejx5loBNSi4kaCCN4B4bye3B6fdptCtss/szKjiv4hftWycMartrxCHIHcUZ
FXTYLmDhmzp2fu85CZZ8tqHD/2GECGdqSQRjuWSXpmikzUAUNXnGFTMewHGuzOtiK
Vjhap3cydy5FfeyTxQunwdtiNM/xD+z9s6XICNgM1ur5rt1yGmtA8jJnao0okIBF8
yEjfW2NfK1nTeI6pvmcmWC0G2kHfuZrVnT7kxkzSBd/KDUhbKvYbNkWGQAKNeqMH7
AFYui87Iu4Rf8A9Pvt4unFSzCCiJ0mJO1//re/0IUWCIh8wjLejwPIpYcKDXBngf0
EF1IIbS76kfZ//mDcvh9k5ViCEeMcSSPKwQ6jiOqI2u0bal7IWWhbmwakbEwmE0ZJ
EIumubK3UL2+RKwUNGJ33yrK05VtQmkpqqa4KHvj5QVvnCpSXJu84+dTpW0TMAmKq
6Sh8HDFZIpqiBPUCa3Tug//WNf5xsYLxSrVl9YqsMiGBsPIM4f4J79uB672Azs0lE
1vb4opB5kNRk+u5+EPkY7rddApLDMh55Fda+37CC0NpCXdoo/vwnwXi8Q+4dQxmsw
w==
</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 2022-12-18
* Revision 2023-10-13
*/
 
declare(ticks=1);
70,28 → 70,13
}
 
protected function get_latest_version() {
$url = 'https://api.github.com/repos/websvnphp/websvn/releases/latest';
$max_cache_time = 24 * 60 * 60;
$cache_file = $this->get_cache_dir().'/'.sha1($url);
if (file_exists($cache_file) && (time()-filemtime($cache_file) < $max_cache_time)) {
$cont = @file_get_contents($cache_file);
if (!$cont) throw new Exception("Failed to get contents from $cache_file");
} else {
$options = array(
'http'=>array(
'method'=>"GET",
'header'=>"Accept-language: en\r\n" .
"User-Agent: Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.102011-10-16 20:23:10\r\n"
)
);
$context = stream_context_create($options);
$cont = @file_get_contents($url, false, $context);
if (!$cont) throw new Exception("Failed to get contents from $url");
file_put_contents($cache_file, $cont);
$cont = $this->url_get_contents('https://api.github.com/repos/websvnphp/websvn/releases/latest');
if ($cont === false) {
throw new Exception('Cannot parse version from GitHub API. The plugin probably needs to be updated. A');
}
 
$data = @json_decode($cont, true);
if (!$data) {
if ($data === false) {
throw new Exception('Cannot parse version from GitHub API. The plugin probably needs to be updated. B');
}
 
/trunk/plugins/wordpress_version/WordPressVersionCheck.class.php
1,26 → 1,26
<?php /* <ViaThinkSoftSignature>
a5D298rMx3/qA9ukmfMkxQf4wri7C1GCHanryxaFj+57d4OjKrBALddgP6VyXNkSm
DI8Y+4Y5Da256sr6AXw+VlL98Z+k8cVCtA4yqRJh+rD17SnkswDvQXeUbJuTzJahw
4BVhjzgmVsIE88FAA66gSzj8saBEfWMAymFrdxHn9CK4HZa+JBADLmLo9Oc8FlrnS
+OVQ9ctEeCRG+CWoF//2j35SfmN3ivnrvM6tuZ0ZiLOM5JRNSOpeiOpmrLqlqWVz0
LC6yZ28naCLVyeYf4lwhFXIK0W7KhE2YP3EaUr5Ekd/1sGpr9tQK3rQ+bjvheemTt
JFKTorIRqzdQt2BzymnyenkTVc9KV51mXSZvXJyDN3Er8YIge3CnTjbtw0HagZ0QE
4f2FHLYnID3ntwdPGf3kHbSo554CHkgSw2w52ieuCCkf6qNyRohAYfwdRFYar6l6x
/kJU1nOTdUVAwJLq9HoOvVSeEVM/DTo0CzJDzgjR9KPF7DoiOfHQPakBZnsp1papR
lJunUkkScFcFfMMp9P05lHThZP9tWTEYuSVyPtuKwrras1TrLohSwE092m67D/efb
qtTebeokxICDnhZ66ovDcGp69nC2eqB8M0K+Uh9il6zYlbaUDCVq0yCDT1VHXpxRj
y9ewpQidf3q5Ci8J/Wr67HerQQHKugmrbZlXOmzaB9zppGOhvzCuYCARQj5LPeVz3
Ep/NQ2M0XH3ustgEip+ybbeTJeYHCzbSlhRZr33Z1oJoMuHDI7g6x0kbc6G9t5fVG
GTKqZVhW8SLYzOTi+kwy80+JpFUxfy9743fZA5LhPVPNIkuIzX6NWLtsSD/geqHPf
OX2sdEK7lVTInaK4FVjnbMFn1Q3X4O6F22APlZcX3p3BHcaX3cYg5ZVre8Jt1cNGL
3JrNzwj15rnZ6KlyfSs6xR2Jr7JVuVvnjT9/aCFWwQ48haRe1j4jfBqNPKHV2wJfo
o1oJq4kPPQfQIJrbAMQlTR/l5z4VwLbT0CWKKu59SO1+l2y6gL4Qh2FXhYgnSIPx2
ig7qHr5NAYFLf/Msw0uqsCH6Xevdc030jvqRXr9l+OhdxM1XfnOPCDAudq/+16t7T
JZMF6XwsjQF+D5YUlU/Hz7fmShkiQ+S5fhIy9gfA1n0M4X2s4/bS6GP3edTPFfKpV
ZE1EKloQB5SwPXd3iGQRmGA6Lj8TPg7G20NVDBpQACKsHrxc3ULhP0MMnw3PdhHcN
6mbZkeRiJyJ7dPVwF+XB8Xmd03hZXRR6/xbcy3/3zW373IeFLZ63cU45EHJMM6B4l
plUjYSAqqVehnWDRpAsBCkqJi3z8Mqr9/88LcEXBZgDk4Pe+csbEQaL919EN+ux5n
A==
kIPLa/arm33y/tKdRQOo0OrLc7J0AMf8QkJIHHxuxu0gIy130GFppwRrCySj2ZygP
B8cdjiKqbOmfnXNeOVWYcw7fEvU/Qt5dyI6b/JL17hv/aZPfj74pfIKuy+gfNwGsS
PxFFtuU3U8bqs8nzK8a/Z2sLjY+jdAjiB9+SJJngBMPv9mjTmXAw5w5hlKTrIt1ed
CHwtEg5ZEFHZkwkd+fwWwFFsfU73r/hXxFxeK9r4Y/JG5EJMzhlXHHerJSSw1Y7LZ
pNwQjAfCbqeueh/BfI7Rt8MvFQopGp4ryKp7kUWhxcvhWSgIXP4y099rt4Md3QAK3
zzYSE+S6gVz7nUKZpKKjRcg4Q+j2eGIYR6FKd9OQRdfBxcR0wP4wBcLbVLnFrHLLu
bd/Q9pvBbraeZ0T/WRHWu0+P1MRAyi8vUufAbmzsxrc9xjTVwpWRHdgnHQfll2WD4
gNqRV3frkYsXR6qWhq8I5s5v8Xbukk8dEQcC9kz9PM/109zZdpLPpExPqjI6+KgZ8
y49DOdVzJq4oAFNNVpQKago6z8xeGV2R4q11/qXAWE8Vi13F98LZXZBHMw5rA/9jD
y4Jo7PfEGFqIZj7eL8VNCA3UsC0gYI5cjeH7RmWsrwwqFIs0BZ5ahztXHZGdorvvS
FKrLNsp+mqZ/b8HcsP/lIhxZSPnkCh2Jyun/BQT/CN5Dg+pGU5wtYNmSJQXZbEoIE
hpZ3tFJtHVEO0WQPzUxfRbAmo8fUXATTuCiqZsdYhtH/D5pygpUxr2qPSkpTt2Hus
Efe8niyZ+6BDkeTynlsERWtLe/INYJptsMdf/7MMkFRHqQv/mWjapxFfiz1Xssd9D
ZW9XyED1SLx6i1ACNT6+82GCmEe/Gkx1V0vuWgyZcEgHUJtzbrYY+ZuWXM9xmKfLP
R8QwI/BMeHH8LxL5zBOkM7hV0aH6rkfq873J6O6iJP9j/Di5XTZqsutWiBAFhuQKZ
ukryuJ1gYqMjyg/iVntyuZNiVvOBq7sjNv9asmln4G49DK/wVClPVf0oufI8CNCWA
g6yUzaa/JZvk8xOj1Bfs+ImSfgkWMTIg4ODv85A3mZNE4oYXkFgzXYUbsuvV+FXhU
FIdKNSyzi+39AUeEtXsz9JS/O8s7e57nwXQgauhtiVY/sUYxNwLluKmTfAzR3dzTT
lxnG4lEJMXvBJEyFlEuevboXRXlAyDUQEdl5HtwJvU/fxz2asvisTs5iMmWkb+GFv
S4XD9FoQWg5FHvN6h77Xyoo/8MtdUKkBElB5+F8ZjbBwdmJp7GV39XC6TIhxMNuTB
kxyQLNXrbefpBNy2o/JlPu97V79Q+wcjqwLZMJ4Zs/lghdnUDw24iL/YZXtKADFYY
Q==
</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 2022-09-12
* Revision 2023-10-13
*/
 
declare(ticks=1);
53,7 → 53,7
$this->addExpectedArgument($this->argSystemDir = new VNagArgument('d', 'directory', VNagArgument::VALUE_REQUIRED, 'wordpressPath', 'The local directory where WordPress installation is located.'));
}
 
protected function get_wordpress_version($path) {
protected function get_local_version($path) {
$path = realpath($path) === false ? $path : realpath($path);
 
$cont = @file_get_contents("$path/wp-includes/version.php");
66,8 → 66,8
}
 
protected function get_latest_version() {
$cont = @file_get_contents('https://wordpress.org/download/');
if (!$cont) {
$cont = $this->url_get_contents('https://wordpress.org/download/');
if ($cont === false) {
throw new Exception("Cannot access website with latest version");
}
 
89,7 → 89,7
throw new Exception('Directory "'.$system_dir.'" not found.');
}
 
$version = $this->get_wordpress_version($system_dir);
$version = $this->get_local_version($system_dir);
 
$latest_version = $this->get_latest_version();