commit
89541f5727
|
@ -4,6 +4,8 @@
|
||||||
|
|
||||||
namespace Icinga\Web\Hook;
|
namespace Icinga\Web\Hook;
|
||||||
|
|
||||||
|
use Icinga\Exception\ProgrammingError;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Icinga Web Grapher Hook base class
|
* Icinga Web Grapher Hook base class
|
||||||
*
|
*
|
||||||
|
@ -14,7 +16,7 @@ namespace Icinga\Web\Hook;
|
||||||
* @author Icinga-Web Team <info@icinga.org>
|
* @author Icinga-Web Team <info@icinga.org>
|
||||||
* @license http://www.gnu.org/copyleft/gpl.html GNU General Public License
|
* @license http://www.gnu.org/copyleft/gpl.html GNU General Public License
|
||||||
*/
|
*/
|
||||||
class Grapher
|
abstract class GrapherHook
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Whether this grapher provides preview images
|
* Whether this grapher provides preview images
|
||||||
|
@ -56,9 +58,13 @@ class Grapher
|
||||||
/**
|
/**
|
||||||
* Whether a graph for the given host[, service [, plot]] exists
|
* Whether a graph for the given host[, service [, plot]] exists
|
||||||
*
|
*
|
||||||
|
* @param string $host
|
||||||
|
* @param string $service
|
||||||
|
* @param string $plot
|
||||||
|
*
|
||||||
* @return bool
|
* @return bool
|
||||||
*/
|
*/
|
||||||
public function hasGraph($host, $service = null, $plot = null)
|
public function has($host, $service = null, $plot = null)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -66,13 +72,47 @@ class Grapher
|
||||||
/**
|
/**
|
||||||
* Get a preview image for the given host[, service [, plot]] exists
|
* Get a preview image for the given host[, service [, plot]] exists
|
||||||
*
|
*
|
||||||
* WARNING: We are not sure yet whether this will remain as is
|
* @param string $host
|
||||||
|
* @param string $service
|
||||||
|
* @param string $plot
|
||||||
*
|
*
|
||||||
* @return string
|
* @return string
|
||||||
|
*
|
||||||
|
* @throws ProgrammingError
|
||||||
*/
|
*/
|
||||||
public function getPreviewImage($host, $service = null, $plot = null)
|
public function getPreviewHtml($host, $service = null, $plot = null)
|
||||||
{
|
{
|
||||||
throw new Exception('This backend has no preview images');
|
throw new ProgrammingError('This backend has no preview images');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether a tiny graph for the given host[, service [, plot]] exists
|
||||||
|
*
|
||||||
|
* @param string $host
|
||||||
|
* @param string $service
|
||||||
|
* @param string $plot
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function hasTinyPreview($host, $service = null, $plot = null)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a tiny preview image for the given host[, service [, plot]] exists
|
||||||
|
*
|
||||||
|
* @param string $host
|
||||||
|
* @param string $service
|
||||||
|
* @param string $plot
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*
|
||||||
|
* @throws ProgrammingError
|
||||||
|
*/
|
||||||
|
public function getTinyPreviewHtml($host, $service = null, $plot = null)
|
||||||
|
{
|
||||||
|
throw new ProgrammingError('This backend has no tiny preview images');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -80,10 +120,11 @@ class Grapher
|
||||||
*
|
*
|
||||||
* WARNING: We are not sure yet whether this will remain as is
|
* WARNING: We are not sure yet whether this will remain as is
|
||||||
*
|
*
|
||||||
|
* @param string $host
|
||||||
|
* @param string $service
|
||||||
|
* @param string $plot
|
||||||
|
*
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
public function getGraphUrl($host, $service = null, $plot = null)
|
abstract function getGraphUrl($host, $service = null, $plot = null);
|
||||||
{
|
|
||||||
throw new Exception('This backend has no images');
|
|
||||||
}
|
|
||||||
}
|
}
|
|
@ -14,7 +14,7 @@ namespace Icinga\Web\Hook;
|
||||||
* @author Icinga-Web Team <info@icinga.org>
|
* @author Icinga-Web Team <info@icinga.org>
|
||||||
* @license http://www.gnu.org/copyleft/gpl.html GNU General Public License
|
* @license http://www.gnu.org/copyleft/gpl.html GNU General Public License
|
||||||
*/
|
*/
|
||||||
abstract class Ticket
|
abstract class TicketHook
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Constructor must live without arguments right now
|
* Constructor must live without arguments right now
|
|
@ -10,7 +10,7 @@ use \Zend_View;
|
||||||
/**
|
/**
|
||||||
* Hook to extend topbar items
|
* Hook to extend topbar items
|
||||||
*/
|
*/
|
||||||
interface TopBar
|
abstract class TopBarHook
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Function to generate top bar content
|
* Function to generate top bar content
|
||||||
|
@ -20,5 +20,5 @@ interface TopBar
|
||||||
*
|
*
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
public function getHtml($request, $view);
|
abstract public function getHtml($request, $view);
|
||||||
}
|
}
|
|
@ -25,6 +25,9 @@ class Monitoring_ShowController extends Controller
|
||||||
*/
|
*/
|
||||||
protected $backend;
|
protected $backend;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var Hook\GrapherHook
|
||||||
|
*/
|
||||||
protected $grapher;
|
protected $grapher;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -61,8 +64,8 @@ class Monitoring_ShowController extends Controller
|
||||||
. ' on ' . $o->host_name;
|
. ' on ' . $o->host_name;
|
||||||
$this->getTabs()->activate('service');
|
$this->getTabs()->activate('service');
|
||||||
$o->populate();
|
$o->populate();
|
||||||
if ($this->grapher && $this->grapher->hasGraph($o->host_name, $o->service_description)) {
|
if ($this->grapher && $this->grapher->hasPreviews($o->host_name, $o->service_description)) {
|
||||||
$this->view->grapherHtml = $this->grapher->getPreviewImage($o->host_name, $o->service_description);
|
$this->view->grapherHtml = $this->grapher->getPreviewHtml($o->host_name, $o->service_description);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -76,8 +79,8 @@ class Monitoring_ShowController extends Controller
|
||||||
$this->getTabs()->activate('host');
|
$this->getTabs()->activate('host');
|
||||||
$this->view->title = $o->host_name;
|
$this->view->title = $o->host_name;
|
||||||
$o->populate();
|
$o->populate();
|
||||||
if ($this->grapher && $this->grapher->hasGraph($o->host_name)) {
|
if ($this->grapher && $this->grapher->hasPreviews($o->host_name)) {
|
||||||
$this->view->grapherHtml = $this->grapher->getPreviewImage($o->host_name);
|
$this->view->grapherHtml = $this->grapher->getPreviewHtml($o->host_name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@ use Icinga\Module\Monitoring\Timeline\TimeRange;
|
||||||
/**
|
/**
|
||||||
* Base class for TimeLine providers
|
* Base class for TimeLine providers
|
||||||
*/
|
*/
|
||||||
abstract class TimelineProvider
|
abstract class TimelineProviderHook
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Return the names by which to group entries
|
* Return the names by which to group entries
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
namespace Icinga\Module\Monitoring\Web\Hook;
|
namespace Icinga\Module\Monitoring\Web\Hook;
|
||||||
|
|
||||||
use Icinga\Web\Hook\TopBar as IcingaTopBar;
|
use Icinga\Web\Hook\TopBarHook;
|
||||||
use Icinga\Module\Monitoring\DataView\StatusSummary as StatusSummaryView;
|
use Icinga\Module\Monitoring\DataView\StatusSummary as StatusSummaryView;
|
||||||
use Icinga\Web\Request;
|
use Icinga\Web\Request;
|
||||||
use Zend_View;
|
use Zend_View;
|
||||||
|
@ -12,7 +12,7 @@ use Zend_View;
|
||||||
/**
|
/**
|
||||||
* Render status summary into the topbar of icinga
|
* Render status summary into the topbar of icinga
|
||||||
*/
|
*/
|
||||||
class TopBar implements IcingaTopBar
|
class TopBar extends TopBarHook
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Function to generate top bar content
|
* Function to generate top bar content
|
||||||
|
|
Loading…
Reference in New Issue