56 lines
1.5 KiB
PHP
56 lines
1.5 KiB
PHP
<?php
|
|
/* Icinga Web 2 | (c) 2019 Icinga Development Team | GPLv2+ */
|
|
|
|
namespace Icinga\Clicommands;
|
|
|
|
use Icinga\Application\Version;
|
|
use Icinga\Application\Icinga;
|
|
use Icinga\Cli\Loader;
|
|
use Icinga\Cli\Command;
|
|
|
|
/**
|
|
* Shows version of Icinga Web 2, loaded modules and PHP
|
|
*
|
|
* The version command shows version numbers for Icinga Web 2, loaded modules and PHP.
|
|
*
|
|
* Usage: icingacli --version
|
|
*/
|
|
class VersionCommand extends Command
|
|
{
|
|
protected $defaultActionName = 'show';
|
|
|
|
/**
|
|
* Shows version of Icinga Web 2, loaded modules and PHP
|
|
*
|
|
* The version command shows version numbers for Icinga Web 2, loaded modules and PHP.
|
|
*
|
|
* Usage: icingacli --version
|
|
*/
|
|
public function showAction()
|
|
{
|
|
$getVersion = Version::get();
|
|
printf("%-12s %-9s \n", 'Icinga Web 2', $getVersion['appVersion']);
|
|
|
|
if (isset($getVersion['gitCommitID'])) {
|
|
printf("%-12s %-9s \n", 'Git Commit', $getVersion['gitCommitID']);
|
|
}
|
|
|
|
printf("%-12s %-9s \n", 'PHP Version', PHP_VERSION);
|
|
|
|
$modules = Icinga::app()->getModuleManager()->loadEnabledModules()->getLoadedModules();
|
|
|
|
$maxLength = 0;
|
|
foreach ($modules as $module) {
|
|
$length = strlen($module->getName());
|
|
if ($length > $maxLength) {
|
|
$maxLength = $length;
|
|
}
|
|
}
|
|
|
|
printf("%-${maxLength}s %-9s \n", 'MODULE', 'VERSION');
|
|
foreach ($modules as $module) {
|
|
printf("%-${maxLength}s %-9s \n", $module->getName(), $module->getVersion());
|
|
}
|
|
}
|
|
}
|