Subversion Repositories vnag

Compare Revisions

No changes between revisions

Regard whitespace Rev 57 → Rev 58

/trunk/plugins/net2ftp_version/Net2FtpVersionCheck.class.php
1,26 → 1,26
<?php /* <ViaThinkSoftSignature>
lExJowQmx58MVA6MsmRUWBXI3PT7vScRq6WfY82k/2gX71+VIIIoAP7CR+RC2F9t1
gSxNUoNAtbwtJry6OSlnKl9Eg/RLmGUFFTuw9J7flX5zBnZwejquWSfvQM3AhkFLe
0zNLNhaD56gceVrquJzaXqIPdfCSfpPZU0Mo+FvrvbpfTUlMsbabb2Aesxy+Xr0JL
e2a97WXlUdeBKVZQANbjNzArtUgtvkkrIzZOenZ0LLmVvyYQ5oJ6Vlj/dymRyMCzI
tSJFr3e9XdCAyoNOwbjbOTaylYCZYR7lz6pU1gyUyrFrLaVsfMolZouX8t2HzJp1K
ew4GnJ52106GjjXynkMsvry4195S4XrWoWchbbK5FGKKCJXoJK5Mmn/b9IlUBTrQf
osJ9CWjI6K9iEVVNWr6UxyABOqfQokzbqTCf7Az/3kJcLqwk9oB2Y67NiwQgM0eek
nTZdO4KKzLvD3IYrKfhnzXJN4hUz+KE3AsMGXpmSy8ovDYNZtY/Rbs49K8ZlJGqSZ
P/WErF3laGosOnLAmosT8mdUM8pF54sH1Ve57lN4HdDH0Ro1qOWljAB9LridDxj/B
qp5ZTJ89sz/RC6XIVYBJ0rNfg41BhXIEQ3OcVQ2UddgySXUri0J/K/acgpwLa2DB1
8l+L7hxox97647hOybj2QWAtbg6l7CffU5sIdw/8fRnuorlmNdnKcqguFynpt3d2c
zKSRmjJdqXEQFMxnz5Toc6BBNRMjl1RLIjyImfiagdP15eDIRnH7ARn6KEmJSDWsR
nsAFXFavn4kc4mkIyf+hef9Dn86wGYP5lJITuFwwz3V5i5PDXwBgkB5Z29qXA1jkg
Bu3GwWKrASpaN6+VxNrZlvLot+BLFPbpDdpGl0hGYcUm2VhDmtE7ZJqILuLkTqc2t
bGOhtF6kDyyhKU5jaiMOUtq4x8lPhDCMXdLd5Jyf6pIUTJbKt5nnsG/R0avpVgacc
KpB3lrpLOF4lI3PyMxMuekoAhXmeRIUcH6fw/k25dfb71FSFiqXpDajYbZGbkSo1I
KKV2VbiAxzE0v6gKDvFNlSNbFwCVshxPHk0jx332qkNecgLKUGOgoXtL/3urjqbv1
M/40Ci+G+2Wb4uvQ6x8SJZ7f69OxyHr4h7Hrx+MthqoEPDuQKsixw63LjwPbzCXOb
ePysuJrIiy0IqxsUbLSiIBSW7AQkdwcHdmj39vuW+t/Swek5XK7CAu3+lY3LeMC20
BzgDvUlWohWq7EPTpY2hhjrGvs66sLRPIgbquXB3yo8dfzjHrfwYd3qhjLAUPvepW
PcL+UXgnr+ViOyRjfukNsfruULKvWWs0kaiGbWj5hU+IJoGo3tqK8xtf7ed8VZacu
w==
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==
</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 2022-12-18
*/
 
declare(ticks=1);
53,7 → 53,7
$this->addExpectedArgument($this->argSystemDir = new VNagArgument('d', 'directory', VNagArgument::VALUE_REQUIRED, 'net2ftpPath', 'The local directory where your net2ftp installation is located.'));
}
 
protected function get_net2ftp_version($path) {
protected function get_local_version($path) {
$path = realpath($path) === false ? $path : realpath($path);
 
if (!file_exists("$path/settings.inc.php")) {
62,7 → 62,7
 
$cont = @file_get_contents("$path/settings.inc.php");
 
if (!preg_match('@\$net2ftp_settings\["application_version"\]\s*=\s*"([^"]+)";@ismU', $cont, $m)) {
if (!preg_match('@\\$net2ftp_settings\\["application_version"\\]\\s*=\\s*"([^"]+)";@ismU', $cont, $m)) {
throw new Exception("Cannot determine version for system $path");
}
 
69,19 → 69,7
return $m[1];
}
 
protected function cbRun($optional_args=array()) {
$system_dir = $this->argSystemDir->getValue();
if (empty($system_dir)) {
throw new Exception("Please specify the directory of the net2ftp installation.");
}
$system_dir = realpath($system_dir) === false ? $system_dir : realpath($system_dir);
 
if (!is_dir($system_dir)) {
throw new Exception('Directory "'.$system_dir.'" not found.');
}
 
$version = $this->get_net2ftp_version($system_dir);
 
protected function get_latest_version() {
$cont = @file_get_contents('https://www.net2ftp.com/version.js');
if (!$cont) {
throw new Exception('Cannot parse version from net2ftp website. The plugin probably needs to be updated.');
99,6 → 87,24
$latest_beta = $m[1];
}
 
return array($latest_stable, $latest_beta);
}
 
protected function cbRun($optional_args=array()) {
$system_dir = $this->argSystemDir->getValue();
if (empty($system_dir)) {
throw new Exception("Please specify the directory of the net2ftp installation.");
}
$system_dir = realpath($system_dir) === false ? $system_dir : realpath($system_dir);
 
if (!is_dir($system_dir)) {
throw new Exception('Directory "'.$system_dir.'" not found.');
}
 
$version = $this->get_local_version($system_dir);
 
list($latest_stable, $latest_beta) = $this->get_latest_version();
 
if ($version == $latest_stable) {
$this->setStatus(VNag::STATUS_OK);
$this->setHeadline("Version $version (Latest Stable version) at $system_dir", true);
/trunk/plugins/overview
32,6 → 32,7
| website_monitor | (Discontinued) | - | - | |
| wordpress_version | vnag_wordpress_version | No | Generic | |
| | vnag_webreader | No | Generic | |
| | vnag_websvn | No | Generic | |
| | vnag_disk_running | No | Generic | For monitoring disks which do not have SMART functionality. |
| | vnag_pmwiki_version | No | Generic | |
| | vnag_gitlab_version | No | Generic | |
/trunk/plugins/websvn_version/WebSvnVersionCheck.class.php
0,0 → 1,121
<?php /* <ViaThinkSoftSignature>
xhl/K7K2NBjuGDzJ8SDyDfjnqVYQGqJYY8y/rSj2nQ2qB1UaPExnZbVeYXmkuuNHn
0FYtsd797Xuz5VJrqTGE8FjIwYxW4wjuOn/AKdzI7EJIVah9inU52Nh9i/t1ZBBSj
l6M6qn0Hr0gImkW4aPagZ5PVTW9D/kGyI01TiNY5lmXnDYnOIGwVTriOqEl1KWVaY
Fy350Ji1UN5dh4EeA6UyvTCtTPHV7SwVOMTMSBnQSE1/6Tkr0ETMfUsSE/HA2pnp8
V9DKDj5US43AXTBZf7SUhLbsESzgVJBIX1LIUCSRWZC067GRhYpyOqzzb8Jx0GduQ
5+cnZSckAsv4sjDra0blFjnfYS1mVO0vHY0n3wRANS4bqgodaBhmyN3lvzTK+Hf2N
Ki1MAi91Pd8K81mrQ5EbB+TOVAH3w0p3DejtJrdLTQpYuq+pofQRvE8Ua3zBdBu+3
GWazom0drmFfdOrcWOLp9nMqJmF/GYXB1zbuSsi83amZFtaexZePsPjfFq/2Hx2Tb
iO9Ivao5VKayqeUUzjb40/+9UYfNqz38BKp25SJELQBCyJjUQ4KVa3ugZPFu/79xD
NAs33H1qEMOu99KFayelWamGg44th+MQuRQyF8JWYehYEPNA9TGHQoWKeH7E8GJkr
qP291YkDhxSvmGjVIsgypSHrN29tleKE9RahtFzAFE8gpQT0xDLTirut8ecdHLqkc
dmm15VS2X2oGCvrCkTCNhIucD+wweR0EJ1cOYUW0ET0hOlWgxEohCy65d4GXRvIf3
zgSf91dyv/Of2c6vtx+JEs8bGofkYNxrTGF6mUTb7NDW08xs4SiXbL91KB83kjLxX
ATbeS+t6wTcm9op+82CCnb/VFt5TPeFhoCv1U2ETsAf4SvAsYumHfc+GggZi2wtUK
JMpV41FgPUv51XiYfcCLUyCF2nxenr8sAOzVA8L3gGiqJQ3jf8rUTbp35eMIvAgU2
ut0w/gdtHym44ipjArNVYFS7X8OkEq6bMZ4P/wUBVm8t+WTNf7ra4Upybv5YX1QpT
D6jmyGmb1ggDNstqj7rVRT6dYrbuNBPBhJV8As8oBUcW5BAeUWqCIJj44pyXOEH9Z
pkgSanTgFUEqHAkg/NW/ah2/6CgPNb7xKdosgHSgXTvaROUBqBQ8AiQBnTjdduJTp
1GYXcGOsix70/+DBH8MZW1ToP5FU2oAkiin+iEKe/XE6Ek506hhd0CvyLuIXtrScz
4EYmjCEoXYyZb7f3l9yidIWz/HkmUIWc2RIq8bv9ygzF+6t6PZktBrztMC2jRkFbe
vTtpxQWS485kKJO0s84IBNQXPUb+4Dpfy01OjJa8PXcYK4Ajp7DBt+jgLsFUMpCoV
A==
</ViaThinkSoftSignature> */ ?>
<?php
 
/*
* VNag - Nagios Framework for PHP
* Developed by Daniel Marschall, ViaThinkSoft <www.viathinksoft.com>
* Licensed under the terms of the Apache 2.0 license
*
* Revision 2022-12-18
*/
 
declare(ticks=1);
 
class WebSvnVersionCheck extends VNag {
protected $argSystemDir = null;
 
public function __construct() {
parent::__construct();
 
$this->registerExpectedStandardArguments('Vht');
 
$this->getHelpManager()->setPluginName('check_websvn_version');
$this->getHelpManager()->setVersion('1.0');
$this->getHelpManager()->setShortDescription('This plugin checks if a local websvn system has the latest version installed.');
$this->getHelpManager()->setCopyright('Copyright (C) 2011-$CURYEAR$ Daniel Marschall, ViaThinkSoft.');
$this->getHelpManager()->setSyntax('$SCRIPTNAME$ [-d <directory>]');
$this->getHelpManager()->setFootNotes('If you encounter bugs, please contact ViaThinkSoft at www.viathinksoft.com');
 
// Individual (non-standard) arguments:
$this->addExpectedArgument($this->argSystemDir = new VNagArgument('d', 'directory', VNagArgument::VALUE_REQUIRED, 'websvnPath', 'The local directory where your WebSVN installation is located.'));
}
 
protected function get_local_version($path) {
$path = realpath($path) === false ? $path : realpath($path);
 
if (!file_exists("$path/include/version.php")) {
throw new Exception("Cannot find WebSVN settings file at $path");
}
 
$cont = @file_get_contents("$path/include/version.php");
 
if (!preg_match('@\\$version = \'(.+)\';@ismU', $cont, $m)) {
throw new Exception("Cannot determine version for system $path");
}
 
return $m[1];
}
 
protected function get_latest_version() {
$url = 'https://api.github.com/repos/websvnphp/websvn/releases/latest';
$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('Cannot parse version from GitHub API. The plugin probably needs to be updated. A');
}
 
$data = @json_decode($cont, true);
if (!$data) {
throw new Exception('Cannot parse version from GitHub API. The plugin probably needs to be updated. B');
}
 
return $data['name']; // e.g. "2.8.1"
}
 
protected function cbRun($optional_args=array()) {
$system_dir = $this->argSystemDir->getValue();
if (empty($system_dir)) {
throw new Exception("Please specify the directory of the WebSVN installation.");
}
$system_dir = realpath($system_dir) === false ? $system_dir : realpath($system_dir);
 
if (!is_dir($system_dir)) {
throw new Exception('Directory "'.$system_dir.'" not found.');
}
 
$local_version = $this->get_local_version($system_dir);
 
$latest_stable = $this->get_latest_version();
 
if (version_compare($local_version,$latest_stable,'>')) {
$this->setStatus(VNag::STATUS_OK);
$this->setHeadline("Version $local_version (Latest stable version $latest_stable) at $system_dir", true);
} else if (version_compare($local_version,$latest_stable,'=')) {
$this->setStatus(VNag::STATUS_OK);
$this->setHeadline("Version $local_version (Latest stable version) at $system_dir", true);
} else {
$this->setStatus(VNag::STATUS_WARNING);
$this->setHeadline("Version $local_version is outdated (Latest version is $latest_stable) at $system_dir", true);
}
}
}
/trunk/plugins/websvn_version/check_websvn_version
0,0 → 1,43
#!/usr/bin/php
<?php /* <ViaThinkSoftSignature>
zG+SMY7yy4L7Orhm0vmFe1Y3jA+a1XAWbCM0brMMPzXvhZ6Vz/dMb57e/9QFyUgdj
2u8RERhxYm2x/wopfb12Ii03fqC1UZt/OdmHIMfiLdf11kp+jc5nSdvL/c1DgaC0j
e7of7ncSHQ2UKbO1zFZBwsRei69U6ZeDWoXpfjFZY8ojTDUlVsuEzC2T3V7v7+4sR
juDmNcc71ZSMmNQDSPbJFt04kpGAenlZmpPa4nTJprJQAjmt4s2Z5xa91HWDXncp/
GvbAjsMxUc5g5QQMwsEDFVj9PzoTJvSvinGyJwncUUIR9SMaPJBC++GznjNrhnDOC
3MPsEiXQG6qb+T9vLVQHyWSa3DrkBj7eWOVEnN4lylvgod/PUnHBXKY4myFFhYW+o
PNn/zcn+fVPoAGFZn2zmFsJCw6o5pruGPMUEoMTJ4O3V/uYMYNkNXkDWFjhdfPglS
5In+bU1ab1hT/wJgqAx3HOp1bycfgiA7SpsV9C2p/w3Jv7bhr2Wmvn5w9xvt/biuj
RZ9tlbE0sAvtUQxhkrjTdb+nVA70FVCu+0cLaS3dUXn1Z2f9KxGIIL8XU141HkT+l
g6biAa5r1LObKKWbAjnNg6z8PoOwfAf/h1EP/VTbpicNrC+lkJ2gxR4iDNB6N8ndB
7xg6j3UyTFKftiPxxnUwXoPb5zO0dQa3ER9+SLGgWFQFJk9S3SwvKGLupTl2KCun9
kPTG4wlq/QyDMxwXI2g8KdqmHmr5SwjLmRDr6x09rR7zbrV9SRmGDmeInbzSGV/kY
ohxIXSfknzRbKUwyewEEgVvuS58NFzsXDv+CJe8BWfXmc4ZgBrxUx05HWq3I0Ju99
zRvGMMXN6XY2apitbPVE1NwDLDWCVTelEqhOtcUiQtJkLCHDsNouuBV+PiQHNt6R+
kYtbva4K+fhw3dXzDKBuUc9Rj/1pEGC+vUdTE2p8lvzhXp46q8Zt9ve225Y0J4SZu
7QWxjg7e2MWHaDbP8PAYu+havSm6oNSQL51Ov4iGWStubujYLyUcOdjcrCwObOytx
yfz6g7GGUiItNXCVB8t4Nh1bz0zhvpvz0sOGX/LP2PSLSAUjCjLRLfNeJI1D8ONK7
CJfwrEmO3U+ma6VSxy4Zop4BTf/8LsItW25eDcOfVQ194gRtBm9+FZ1GSyKqzig9j
imQR/RnlmfVroLbCPw5ILje9HO7BENx3fhCHnnkhgJEM340oNQtjaXMM5eJTae5Ue
P2vUOEgCkAQz6D2Z26HdNQpw70VK3wk1FR1WiPRh6PFRZcQ+81rciToLU37Wu49lp
qT/ossrEN3siX0MD7k/rT00+EDxrimCQXEaJ19CSIhaDVtqIA6Omo0Z+6MLpkGdBk
w==
</ViaThinkSoftSignature> */ ?>
<?php
 
/*
* VNag - Nagios Framework for PHP
* Developed by Daniel Marschall, ViaThinkSoft <www.viathinksoft.com>
* Licensed under the terms of the Apache 2.0 license
*
* Revision 2022-12-18
*/
 
declare(ticks=1);
 
require_once __DIR__ . '/../../framework/vnag_framework.inc.php';
require_once __DIR__ . '/WebSvnVersionCheck.class.php';
 
$job = new WebSvnVersionCheck();
$job->run();
unset($job);
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/trunk/plugins/websvn_version/icinga2.conf
0,0 → 1,49
// Put this file in /etc/icinga2/conf.d/...
 
// VNag - Nagios Framework for PHP
// Developed by Daniel Marschall, ViaThinkSoft <www.viathinksoft.com>
// Licensed under the terms of the Apache 2.0 license
//
// Revision 2022-12-18
 
object CheckCommand "vnag_websvn_version" {
// PLEASE ADJUST THIS PATH
command = [ "/daten/vnag/plugins/websvn_version/check_websvn_version" ]
 
arguments = {
"-d" = {
value = "$vnag_websvn_version_dir$"
description = "Location where the WebSVN installation is located"
required = true
}
}
}
 
// Example usage:
//
// apply Service "example_website1_websvn_version" {
// import "generic-service"
// check_command = "vnag_websvn_version"
// vars = {
// vnag_websvn_version_dir = "/var/www/website1/websvn/"
// }
// assign where host.name == NodeName
// }
//
// apply Service "example_website2_websvn_version" {
// import "generic-service"
// check_command = "vnag_websvn_version"
// vars = {
// vnag_websvn_version_dir = "/var/www/website2/websvn/"
// }
// assign where host.name == NodeName
// }
//
// apply Service "example_website3_websvn_version" {
// import "generic-service"
// check_command = "vnag_websvn_version"
// vars = {
// vnag_websvn_version_dir = "/var/www/website3/websvn/"
// }
// assign where host.name == NodeName
// }