Subversion Repositories vnag

Compare Revisions

Regard whitespace Rev 28 → Rev 29

/trunk/framework/vnag_framework.inc.php
1,25 → 1,25
<?php /* <ViaThinkSoftSignature>
k4m/Emj7hYYrZwtoLj9vpNheGIz7+qu1IqypYD9i3AwSjQI2PVtCgCkFZKypJZjwA
B/G3Tg6U9RMJ/o2poK5iAvuyEguNumk0zncYRtydw+SxR7IEi9lwZct7A6RNnqcRK
uaSYpCWXF27ucuQnWCt2bIN9vDs+3BN15uDxj3cDjuFtIjJpIBLW2UKRkLSCDsM3r
xEmsX5q64IQIaX0mgJmHDI8fwOOIT2IY/WvRz+kGa8FswfiEnr2bm0X2hp3z0tP65
NkpjhvbZ2sZNErNub+Ws1QOasM6OxvwU840h49kpHlBM6rAdsjO5GH9oQcl2w+vlR
0ilqtGXo6nzTwoycbaSSVFelDM3xGBtJ0df9TNqWbLJ9kgjVTe7qVhbxZbFmXAb5O
ZpKXMQVbsLnrfOboMErd5zBNj1aLCTvRbUC0cSN7CaD9a0oQpEO4SJU00M55ySimo
pdb1uMDSaNydEZ/7cfWW8rnWTw5Jvxac5KDjNrgYEPZBWRzCNNfZTMaW1JX6NLQjn
VjkFiwcxikZoHT0pOc1jHFa1/x+lzPp9gGqwx9fFQ6NlEbGv9DEBtySPwNUxG4EI6
xNr5gJG9RxjYIKSDxO0WUA5mS5OrcU+cNGmYrEvSKS5ZYRZudzjVbtuduFFrmJdg9
IAAccNv29Wwl9dn+zOD/FWf31Wc48JGPLiqM607WMQqkRyXX5ezYVxvaIIPSX6YIr
YhxzckheRcEsq8ciu62Rz2InuB0NuILfoLOV3XRxEmkYZefNQi8RlYlVYRxY9E5YG
AAB7Ai0ZP9fd9qkfZ3zhuN4shqVEBlve9QLBPlIbAi3H82ZpThrR94bhFNsTblRr5
JCcBUCrG9wPJ8g2Aa7dSGIm8lPFdy5Mg/7kAI619+0DjLNL+qsBnkqsTAePbKK6sV
M6WRWeEPMaSZ0qDjHdOQiUsBe4Dy8KEvJ1LxDL20S06wJ6lCoXgEPSchaGnv+3oGj
ltuYmyllwofAA/QlpDLxlLw2O0D9esdJqpzKxsvO9c5F/dePWUzHZpQzR6smq2CyG
PRojTUzpiCS2tcEzFUXk/nQHZQ1Qe8ZOlkEku5hDV+AMpGjLYP9u1cLHRHs5qtfN6
/ucubUsvaFYfNHrpJLW8hcOBUQooFp3WB0asQl+0z1UTfq374+jh6gGosD0zm4lQg
kvaKHqsh+jF/E/oHeLnD0r0LjG/7rJ8KYe7uBboW9jLtoaYNMXcp6G5kVyTWYppba
IKlWiLUSNr4UYcmWnMMBdupepbxNGEJ9nEVzFuhOZfwLrQ6lRlkJqIL6Z6qBHAx+S
pHVmoES/mOPUMzr9EP6/vQJhLqbpPQHH9LJsuzEzyNM74g0D7kcOUhOVNmOQoR+gu
jEarmFgZcQwPIFZAA4nVmfR0bIXlgEzaHB13HcFiAwP2kJGiXgS1O8f/tVxSlOjqw
fYOc6ygwQ2koCd5sWJDE+Jen/S9Dxy5tgzv0GfUuwDp27D96dUa8btvK8ZLq2NtPQ
5ONe6sLiF1m1hC0ECCrjgjSl22cJH4VkjMTVcBtc1lSk9xqmZzuIuQ6rVG3dQNaeT
//xMOsS+t3jb3hsA5deqvxraNa6RguXLPTXj6BIimUtVapIWVmFSKrlcUb5+Odhpm
eM5k5iD2igItmmyBKRwQbyMEhqQOAsarAmqAt2b7E7880KExGaV4lNaSrKnXWVjvv
ZDUHYkGYu2awh3gaK05MJgZc6a2hHfX1HDui9pC+IFzbdlSOGFblpS5X51M/Ys5k0
2oq1Zf6yVhIAW1vzM7o3IW9QV3PHkrBQhrTVzBiqOCYSeg33kWO/OZqwGz9sOKsU2
dDXwojzPGHUlJaraVxMFOpuUUAz3dmY+SMmTOActYLlxJktEVRX4PxtuqS7foDSpM
yyNOm9aSvhK2yicYEVlYIKAoXEVZUd8N8ITQ7CNTeHfupJloDQsLbPNaBpi1/852d
+gQYLTwSlQpBY4lO1AnnXqIp66IlTxvlQL7qDa6+GD4XfOhtfmh7j65OAEa0EgaQj
Vge++w1jUdldsBOOjrmkkUxfmm+KtbnEKJMmG/+0G7qRq2cf+SWxKXuLcyhVAxVxr
EI5v0XXDyB2B2EeqoO5o0cizNYI+iVDJ7fWHJs/uHJvYBPgMsGeQTOIC/Ad169E+K
fXCFAfqyqXJc6QriA5eH2hJsVd3OtOHpdvTCRnT/n/2rSJkDvDBO0wGlP6/zWI0js
DYgadSIU8dUzTUAwEb6RZSw7cW60Nz845zKPhKOilJl/hQonp52+QPcWxXbQWD3A9
hflXMHXQ3GxJgKeJ1S6d2dzw6m6dYTrrtZxZ4i9T/r6flycpGpFmWkLCU8ceBZS41
/0gKre1iZlXupZHJlP46KX6eV7dhe1ibuW52Ek9UpTRvl8tjlUT5CgXM8dXbHHvh7
UPOYU24iHgi7T3So8WNuN0rnngbZ1/E6IP2bhcdgog4MdG7MNBdSDpx90AXChfx+A
YrIjlyY57dId+rgUdyAn+Vd9AfO1jIVjhHkBs3oCEOt/hU1JAYlgDhhJ0J+xmE13Q
vvc899YoaOwcHARqvXADA2sVoXOixOEnoHSI0qjH9SUBtgMtK5o7npkBeRxbdJJAn
L2aDO/ZGPyF3FA+cAG2Ytu6sD3Eu+CYMzfkw4RQeKopSlAwKkLicoEzInwkj13dXH
YHJSzqZlyfJMrZBAJ5d0YznWrPatYTChaxYfgrXZBC7zB3kmoDw5V3vZZoCQCeUNa
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 2021-04-10
Revision 2021-05-21
 
*/
 
347,7 → 347,7
}
 
abstract class VNag {
/*public*/ const VNAG_VERSION = '2021-04-10';
/*public*/ const VNAG_VERSION = '2021-05-21';
 
// 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."
553,7 → 553,7
default:
$letter = $args[$i];
throw new VNagInvalidStandardArgument(sprintf(VNagLang::$no_standard_arguments_with_letter, $letter));
break;
#break;
}
}
}
746,8 → 746,7
}
}
 
// $optional_args will be forwarded to the callback function cbRun()
public function run($optional_args=array()) {
public function run() {
global $inside_vnag_run;
 
$inside_vnag_run = true;
827,7 → 826,7
ob_start();
$init_ob_level = ob_get_level();
try {
$this->cbRun($optional_args);
$this->cbRun();
 
// This will NOT be put in the 'finally' block, because otherwise it would trigger if an Exception happened (Which clears the OB)
if (ob_get_level() < $init_ob_level) throw new VNagImplementationErrorException(VNagLang::$output_level_lowered);
1543,13 → 1542,11
}
 
if (is_array($longopts)) { // $longopts is an array
if (!is_null($longopts)) {
foreach ($longopts as $longopt) {
if (!self::validateLongOpt($longopt)) {
throw new VNagInvalidLongOpt(sprintf(VNagLang::$illegal_longopt, $longopt));
}
}
}
} else if (!_empty($longopts)) { // $longopts is a string
if (!self::validateLongOpt($longopts)) {
throw new VNagInvalidLongOpt(sprintf(VNagLang::$illegal_longopt, $longopts));
1575,7 → 1572,7
}
 
if ((!is_null($shortopt)) && ($shortopt != '?')) self::$all_short .= $shortopt.$policyApdx;
if (!is_null($longopts)) {
if (is_array($longopts)) {
foreach ($longopts as $longopt) {
self::$all_long[] = $longopt.$policyApdx;
}
1904,7 → 1901,7
}
}
 
public static function isKnownUOM($uom) {
public static function isKnownUOM(string $uom) {
// see https://nagios-plugins.org/doc/guidelines.html#AEN200
// 10. UOM (unit of measurement) is one of:
return (
2385,37 → 2382,37
switch ($code) {
case VNag::STATUS_OK:
return 'OK';
break;
#break;
case VNag::STATUS_WARNING:
return 'Warning';
break;
#break;
case VNag::STATUS_CRITICAL:
return 'Critical';
break;
#break;
case VNag::STATUS_UNKNOWN:
return 'Unknown';
break;
#break;
default:
return sprintf('Error (%d)', $code);
break;
#break;
}
break;
#break;
case VNag::STATUSMODEL_HOST:
switch ($code) {
case VNag::STATUS_UP:
return 'Up';
break;
#break;
case VNag::STATUS_DOWN:
return 'Down';
break;
#break;
default:
return sprintf('Maintain last state (%d)', $code);
break;
#break;
}
break;
#break;
default:
throw new VNagIllegalStatusModel(sprintf(self::$illegal_statusmodel, $statusmodel));
break;
#break;
}
}
 
2545,7 → 2542,7
throw new VNagException(VNagLang::$php_error . " $errortext at $file:$line (kind $errorkind)");
 
// true = the PHP internal error handling will NOT be called.
return true;
#return true;
}
 
$inside_vnag_run = false;