2025-08-06 18:11:51 +02:00

74 lines
2.7 KiB
PHP

<?php
// phpcs:disable PSR1.Classes.ClassDeclaration.MissingNamespace
// phpcs:disable PSR1.Files.SideEffects
defined('SYSPATH') or die('No direct access allowed.');
// phpcs:enable PSR1.Files.SideEffects
//phpcs:disable Squiz.Classes.ValidClassName.NotCamelCaps
/**
* Debug controller.
*
* @package PNP4Nagios
* @author Joerg Linge
* @license GPL
*/
class Debug_Controller extends System_Controller
{
public function __construct()
{
parent::__construct();
$this->template = $this->add_view('template');
$this->template->debug = $this->add_view('debug');
}
public function index()
{
$this->data->getTimeRange($this->start, $this->end, $this->view);
if (isset($this->host) && isset($this->service)) {
$this->url = "?host=" . $this->host . "&srv=" . $this->service;
if ($this->start) {
$this->url .= "&start=" . $this->start;
$this->session->set("start", $this->start);
}
if ($this->end) {
$this->url .= "&end=" . $this->end;
$this->session->set("end", $this->end);
}
$services = $this->data->getServices($this->host);
$this->data->buildDataStruct($this->host, $this->service, $this->view);
$this->is_authorized = $this->auth->is_authorized($this->data->MACRO['AUTH_HOSTNAME'], $this->data->MACRO['AUTH_SERVICEDESC']);
$this->title = "Service Details " . $this->host . " -> " . $this->data->MACRO['DISP_SERVICEDESC'];
} elseif (isset($this->host)) {
$this->is_authorized = $this->auth->is_authorized($this->host);
if ($this->view == "") {
$this->view = $this->config->conf['overview-range'];
}
if ($this->start) {
$this->url .= "&start=" . $this->start;
$this->session->set("start", $this->start);
}
if ($this->end) {
$this->url .= "&end=" . $this->end;
$this->session->set("end", $this->end);
}
$this->title = "Start $this->host";
$services = $this->data->getServices($this->host);
$this->title = "Service Overview for $this->host";
foreach ($services as $service) {
if ($service['state'] == 'active') {
$this->data->buildDataStruct($this->host, $service['name'], $this->view);
}
}
} else {
if (isset($this->host)) {
url::redirect("/graph");
} else {
throw new Kohana_Exception('error.get-first-host');
}
}
}
}