Merge branch 'master' into bugfix/rebuild-form-builder-5525
This commit is contained in:
commit
83772c6684
|
@ -11,6 +11,8 @@
|
||||||
|
|
||||||
build/
|
build/
|
||||||
|
|
||||||
|
development/
|
||||||
|
|
||||||
# ./configure output
|
# ./configure output
|
||||||
config.log
|
config.log
|
||||||
autom4te.cache
|
autom4te.cache
|
||||||
|
|
|
@ -18,10 +18,12 @@ class LayoutController extends ActionController
|
||||||
*/
|
*/
|
||||||
public function menuAction()
|
public function menuAction()
|
||||||
{
|
{
|
||||||
|
$this->setAutorefreshInterval(15);
|
||||||
$this->_helper->layout()->disableLayout();
|
$this->_helper->layout()->disableLayout();
|
||||||
$this->view->menuRenderer = new MenuRenderer(
|
|
||||||
Menu::load(), Url::fromRequest()->without('renderLayout')->getRelativeUrl()
|
$url = Url::fromRequest();
|
||||||
);
|
$menu = new MenuRenderer(Menu::load(), $url->getRelativeUrl());
|
||||||
|
$this->view->menuRenderer = $menu->useCustomRenderer();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -59,13 +59,12 @@ class StaticController extends ActionController
|
||||||
public function imgAction()
|
public function imgAction()
|
||||||
{
|
{
|
||||||
$module = $this->_getParam('module_name');
|
$module = $this->_getParam('module_name');
|
||||||
// TODO: This is more than dangerous, must be fixed!!
|
|
||||||
$file = $this->_getParam('file');
|
$file = $this->_getParam('file');
|
||||||
|
|
||||||
$basedir = Icinga::app()->getModuleManager()->getModule($module)->getBaseDir();
|
$basedir = Icinga::app()->getModuleManager()->getModule($module)->getBaseDir();
|
||||||
|
|
||||||
$filePath = $basedir . '/public/img/' . $file;
|
$filePath = realpath($basedir . '/public/img/' . $file);
|
||||||
if (! file_exists($filePath)) {
|
|
||||||
|
if (! $filePath || strpos($filePath, $basedir) !== 0) {
|
||||||
throw new ActionException(sprintf(
|
throw new ActionException(sprintf(
|
||||||
'%s does not exist',
|
'%s does not exist',
|
||||||
$filePath
|
$filePath
|
||||||
|
|
|
@ -11,11 +11,15 @@ if (! $this->auth()->isAuthenticated()) {
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<div id="menu" data-base-target="_main">
|
<div
|
||||||
|
id="menu" data-last-update="<?= (time() - 14) ?>000" data-base-target="_main" class="container" data-icinga-url="<?=$this->href('layout/menu');?>"
|
||||||
|
data-icinga-refresh="15"
|
||||||
|
>
|
||||||
<? if (SearchDashboard::search('dummy')->getPane('search')->hasComponents()): ?>
|
<? if (SearchDashboard::search('dummy')->getPane('search')->hasComponents()): ?>
|
||||||
<form action="<?= $this->href('search') ?>" method="get" role="search">
|
<form action="<?= $this->href('search') ?>" method="get" role="search">
|
||||||
<input type="text" name="q" class="search autofocus" placeholder="<?= $this->translate('Search...') ?>" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
|
<input type="text" name="q" class="search autofocus" placeholder="<?= $this->translate('Search...') ?>"
|
||||||
</form>
|
autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
|
||||||
|
</form>
|
||||||
<? endif; ?>
|
<? endif; ?>
|
||||||
<?= new MenuRenderer(Menu::load(), Url::fromRequest()->without('renderLayout')->getRelativeUrl()); ?>
|
<?= new MenuRenderer(Menu::load(), Url::fromRequest()->without('renderLayout')->getRelativeUrl()); ?>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
// {{{ICINGA_LICENSE_HEADER}}}
|
// {{{ICINGA_LICENSE_HEADER}}}
|
||||||
// {{{ICINGA_LICENSE_HEADER}}}
|
// {{{ICINGA_LICENSE_HEADER}}}
|
||||||
|
|
||||||
use Zend_View_Helper_FormElement;
|
use \Zend_View_Helper_FormElement;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Helper to generate a "datetime" element
|
* Helper to generate a "datetime" element
|
||||||
|
|
|
@ -1 +1,13 @@
|
||||||
<?= $menuRenderer; ?>
|
<?php
|
||||||
|
use Icinga\Web\Widget\SearchDashboard;
|
||||||
|
?>
|
||||||
|
|
||||||
|
<? if (SearchDashboard::search('dummy')->getPane('search')->hasComponents()): ?>
|
||||||
|
<form action="<?= $this->href('search') ?>" method="get" role="search">
|
||||||
|
<input
|
||||||
|
type="text" name="q" class="search autofocus" placeholder="<?= $this->translate('Search...') ?>"
|
||||||
|
autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||||
|
/>
|
||||||
|
</form>
|
||||||
|
<? endif; ?>
|
||||||
|
<?= $menuRenderer; ?>
|
||||||
|
|
|
@ -1,130 +0,0 @@
|
||||||
# Frontend components
|
|
||||||
|
|
||||||
Frontend components are JavaScript modules that can be required directly through the HTML markup of
|
|
||||||
your view, to provide additional functionality for the user. Although its best practice to
|
|
||||||
make all features available without JavaScript, these components can be used to provide a richer
|
|
||||||
and more comfortable user experience in case JavaScript is available.
|
|
||||||
|
|
||||||
There is a certain set of frontend components which come directly with the Icinga2-Web core application,
|
|
||||||
but it is also possible to define new components directly in Icinga2-Web modules.
|
|
||||||
|
|
||||||
|
|
||||||
## How do components work?
|
|
||||||
|
|
||||||
Components are defined in JavaScript files that provide a set of functionality that will be added to the
|
|
||||||
targeted HTML node. Icinga2-Web uses [RequireJS](http://requirejs.org) to load
|
|
||||||
all frontend components, so each frontend component is in fact
|
|
||||||
[defined exactly like a RequireJS-Module](http://requirejs.org/docs/api.html#define) .
|
|
||||||
|
|
||||||
The important difference to plain RequireJS is, that the loading and execution of these components is
|
|
||||||
done automatically through the HTML markup. The attribute *data-icinga-component* in a DIV
|
|
||||||
element will indicate that this element is a container for a frontend component and will trigger
|
|
||||||
the component loader to create a component instance for this HTML node. The component loader
|
|
||||||
keeps track of all available components and makes it possible to retrieve this instance when needed.
|
|
||||||
|
|
||||||
|
|
||||||
### Component names
|
|
||||||
|
|
||||||
A component name consists of two parts: the namespace and the name of the component itself. The component
|
|
||||||
is named exactly like its JavaScript file, while the namespace is the name of the Icinga2-Web module that contains
|
|
||||||
the component. Each Icinga2-Web module can contain its own components in the folder *public/js*.
|
|
||||||
|
|
||||||
<module>/<component>
|
|
||||||
|
|
||||||
|
|
||||||
NOTE: The namespace used for modules defined in the Icinga2-Web core application is "app". In opposition to
|
|
||||||
the modules the core application keeps its modules located in *public/js/icinga/components*
|
|
||||||
instead of *public/js*.
|
|
||||||
|
|
||||||
|
|
||||||
#### Example Names
|
|
||||||
|
|
||||||
|
|
||||||
The full name for the component *modules/monitoring/public/js/someComponent.js* in the module "monitoring" would be:
|
|
||||||
|
|
||||||
"monitoring/someComponent"
|
|
||||||
|
|
||||||
|
|
||||||
The full component name for the component *public/js/icinga/components/datetime.js* in the Icinga2-Web core application
|
|
||||||
would:
|
|
||||||
|
|
||||||
"app/datetime"
|
|
||||||
|
|
||||||
|
|
||||||
## Creating a component
|
|
||||||
|
|
||||||
As described in the chapters above, components are defined exactly like RequireJS modules, but
|
|
||||||
with the additional requirement that they must always return a class constructor. The component below will
|
|
||||||
search all date pickers, set the time format and create a JavaScript date picker when there is no native one
|
|
||||||
available.
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Ensures that our date/time controls will work on every browser (natively or javascript based)
|
|
||||||
*/
|
|
||||||
define(['jquery', 'datetimepicker'], function($) {
|
|
||||||
"use strict";
|
|
||||||
|
|
||||||
var DateTimePicker = function(target) {
|
|
||||||
$(target).find('.datetime input')
|
|
||||||
.attr('data-format', 'yyyy-MM-dd hh:mm:ss');
|
|
||||||
|
|
||||||
$(target).find('.datetime')
|
|
||||||
.addClass('input-append')
|
|
||||||
.append('<span class="add-on">' +
|
|
||||||
'<i data-time-icon="icon-time" data-date-icon="icon-calendar"></i></span>')
|
|
||||||
.datetimepicker();
|
|
||||||
};
|
|
||||||
return DateTimePicker;
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
## Loading a component
|
|
||||||
|
|
||||||
The following code will load the module *datetime*, which will ensure that there is always a datetime-picker
|
|
||||||
with right time-format available.
|
|
||||||
|
|
||||||
<div id="date-time-picker" data-icinga-component="app/datetime">
|
|
||||||
|
|
||||||
<div class="datetime">
|
|
||||||
<input data-format="dd/MM/yyyy hh:mm:ss" type="text"/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
### Component ids
|
|
||||||
|
|
||||||
When an ID is assigned to the HTML element, it will be used by the component loader to reference this
|
|
||||||
component. Otherwise an ID in the form "icinga-component-<ID>" will be created and the ID attribute in the
|
|
||||||
HTML Element will be updated accordingly.
|
|
||||||
|
|
||||||
|
|
||||||
### Component "target"
|
|
||||||
|
|
||||||
The div-element with the *data-icinga-component* will be used as the "target" for the loaded component,
|
|
||||||
which means that the component will perform its actions on this HTML node.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Retrieving a component
|
|
||||||
|
|
||||||
Sometimes it can be necessary to retrieve the instances of the components itself, for example when they implement
|
|
||||||
additional functions that can be called. The component loader is available in the Icinga object and can be used
|
|
||||||
to retrieve component instances using their ID or their full component name.
|
|
||||||
|
|
||||||
|
|
||||||
## By component id
|
|
||||||
|
|
||||||
var component = Icinga.components.getById("component-id");
|
|
||||||
component.doSomething();
|
|
||||||
|
|
||||||
|
|
||||||
## By full component name
|
|
||||||
|
|
||||||
var components = Icinga.components.getByType("app/datetime");
|
|
||||||
// ... do something with every component of the type app/datetime
|
|
||||||
|
|
||||||
## All components
|
|
||||||
|
|
||||||
var components = Icinga.components.getComponents();
|
|
||||||
// ... do something with every component
|
|
|
@ -8,6 +8,7 @@ use Exception;
|
||||||
use Zend_Config;
|
use Zend_Config;
|
||||||
use Zend_Controller_Router_Route_Abstract;
|
use Zend_Controller_Router_Route_Abstract;
|
||||||
use Zend_Controller_Router_Route as Route;
|
use Zend_Controller_Router_Route as Route;
|
||||||
|
use Zend_Controller_Router_Route_Regex as RegexRoute;
|
||||||
use Icinga\Application\ApplicationBootstrap;
|
use Icinga\Application\ApplicationBootstrap;
|
||||||
use Icinga\Application\Config;
|
use Icinga\Application\Config;
|
||||||
use Icinga\Application\Icinga;
|
use Icinga\Application\Icinga;
|
||||||
|
@ -821,12 +822,15 @@ class Module
|
||||||
);
|
);
|
||||||
$router->addRoute(
|
$router->addRoute(
|
||||||
$this->name . '_img',
|
$this->name . '_img',
|
||||||
new Route(
|
new RegexRoute(
|
||||||
'img/' . $this->name . '/:file',
|
'img/' . $this->name . '/(.+)',
|
||||||
array(
|
array(
|
||||||
'controller' => 'static',
|
'controller' => 'static',
|
||||||
'action' => 'img',
|
'action' => 'img',
|
||||||
'module_name' => $this->name
|
'module_name' => $this->name
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
1 => 'file'
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
|
@ -67,7 +67,7 @@ class Tooltip
|
||||||
*/
|
*/
|
||||||
public function __construct (
|
public function __construct (
|
||||||
$data = array(),
|
$data = array(),
|
||||||
$format = '<b>{title}</b></b><br> {value} of {sum} {label}'
|
$format = '<b>{title}</b></b><br/> {value} of {sum} {label}'
|
||||||
) {
|
) {
|
||||||
$this->data = array_merge($this->data, $data);
|
$this->data = array_merge($this->data, $data);
|
||||||
$this->defaultFormat = $format;
|
$this->defaultFormat = $format;
|
||||||
|
|
|
@ -123,7 +123,7 @@ class Hook
|
||||||
*/
|
*/
|
||||||
private static function assertValidHook($instance, $name)
|
private static function assertValidHook($instance, $name)
|
||||||
{
|
{
|
||||||
$base_class = self::$BASE_NS . ucfirst($name);
|
$base_class = self::$BASE_NS . ucfirst($name) . 'Hook';
|
||||||
|
|
||||||
if (strpos($base_class, self::$classSuffix) === false) {
|
if (strpos($base_class, self::$classSuffix) === false) {
|
||||||
$base_class .= self::$classSuffix;
|
$base_class .= self::$classSuffix;
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
|
|
||||||
namespace Icinga\Web;
|
namespace Icinga\Web;
|
||||||
|
|
||||||
|
use Icinga\Web\Menu\MenuItemRenderer;
|
||||||
use RecursiveIterator;
|
use RecursiveIterator;
|
||||||
use Zend_Config;
|
use Zend_Config;
|
||||||
use Icinga\Application\Config;
|
use Icinga\Application\Config;
|
||||||
|
@ -61,15 +62,32 @@ class Menu implements RecursiveIterator
|
||||||
*/
|
*/
|
||||||
protected $subMenus = array();
|
protected $subMenus = array();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A custom item renderer used instead of the default rendering logic
|
||||||
|
*
|
||||||
|
* @var MenuItemRenderer
|
||||||
|
*/
|
||||||
|
protected $itemRenderer = null;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Parent menu
|
||||||
|
*
|
||||||
|
* @var Menu
|
||||||
|
*/
|
||||||
|
protected $parent;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a new menu
|
* Create a new menu
|
||||||
*
|
*
|
||||||
* @param int $id The id of this menu
|
* @param int $id The id of this menu
|
||||||
* @param Zend_Config $config The configuration for this menu
|
* @param Zend_Config $config The configuration for this menu
|
||||||
*/
|
*/
|
||||||
public function __construct($id, Zend_Config $config = null)
|
public function __construct($id, Zend_Config $config = null, Menu $parent = null)
|
||||||
{
|
{
|
||||||
$this->id = $id;
|
$this->id = $id;
|
||||||
|
if ($parent !== null) {
|
||||||
|
$this->parent = $parent;
|
||||||
|
}
|
||||||
$this->setProperties($config);
|
$this->setProperties($config);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -83,6 +101,15 @@ class Menu implements RecursiveIterator
|
||||||
if ($props !== null) {
|
if ($props !== null) {
|
||||||
foreach ($props as $key => $value) {
|
foreach ($props as $key => $value) {
|
||||||
$method = 'set' . implode('', array_map('ucfirst', explode('_', strtolower($key))));
|
$method = 'set' . implode('', array_map('ucfirst', explode('_', strtolower($key))));
|
||||||
|
if ($key === 'renderer') {
|
||||||
|
$class = '\Icinga\Web\Menu\\' . $value;
|
||||||
|
if (!class_exists($class)) {
|
||||||
|
throw new ConfigurationError(
|
||||||
|
sprintf('ItemRenderer with class "%s" does not exist', $class)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
$value = new $class;
|
||||||
|
}
|
||||||
if (method_exists($this, $method)) {
|
if (method_exists($this, $method)) {
|
||||||
$this->{$method}($value);
|
$this->{$method}($value);
|
||||||
} else {
|
} else {
|
||||||
|
@ -234,6 +261,30 @@ class Menu implements RecursiveIterator
|
||||||
return $this->id;
|
return $this->id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get our ID without invalid characters
|
||||||
|
*
|
||||||
|
* @return string the ID
|
||||||
|
*/
|
||||||
|
protected function getSafeHtmlId()
|
||||||
|
{
|
||||||
|
return preg_replace('/[^a-zA-Z0-9]/', '_', $this->getId());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a unique menu item id
|
||||||
|
*
|
||||||
|
* @return string the ID
|
||||||
|
*/
|
||||||
|
public function getUniqueId()
|
||||||
|
{
|
||||||
|
if ($this->parent === null) {
|
||||||
|
return 'menuitem-' . $this->getSafeHtmlId();
|
||||||
|
} else {
|
||||||
|
return $this->parent->getUniqueId() . '-' . $this->getSafeHtmlId();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the title of this menu
|
* Set the title of this menu
|
||||||
*
|
*
|
||||||
|
@ -330,6 +381,26 @@ class Menu implements RecursiveIterator
|
||||||
return $this->icon;
|
return $this->icon;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the class that renders the current menu item
|
||||||
|
*
|
||||||
|
* @return MenuItemRenderer
|
||||||
|
*/
|
||||||
|
public function getRenderer()
|
||||||
|
{
|
||||||
|
return $this->itemRenderer;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the class that renders the current menu item
|
||||||
|
*
|
||||||
|
* @param MenuItemRenderer $renderer
|
||||||
|
*/
|
||||||
|
public function setRenderer(MenuItemRenderer $renderer)
|
||||||
|
{
|
||||||
|
$this->itemRenderer = $renderer;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return whether this menu has any sub menus
|
* Return whether this menu has any sub menus
|
||||||
*
|
*
|
||||||
|
@ -351,7 +422,7 @@ class Menu implements RecursiveIterator
|
||||||
public function addSubMenu($id, Zend_Config $menuConfig = null)
|
public function addSubMenu($id, Zend_Config $menuConfig = null)
|
||||||
{
|
{
|
||||||
if (false === ($pos = strpos($id, '.'))) {
|
if (false === ($pos = strpos($id, '.'))) {
|
||||||
$subMenu = new self($id, $menuConfig);
|
$subMenu = new self($id, $menuConfig, $this);
|
||||||
$this->subMenus[$id] = $subMenu;
|
$this->subMenus[$id] = $subMenu;
|
||||||
} else {
|
} else {
|
||||||
list($parentId, $id) = explode('.', $id, 2);
|
list($parentId, $id) = explode('.', $id, 2);
|
||||||
|
@ -618,4 +689,12 @@ class Menu implements RecursiveIterator
|
||||||
{
|
{
|
||||||
next($this->subMenus);
|
next($this->subMenus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PHP 5.3 GC should not leak, but just to be on the safe side...
|
||||||
|
*/
|
||||||
|
public function __destruct()
|
||||||
|
{
|
||||||
|
$this->parent = null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
<?php
|
||||||
|
// {{{ICINGA_LICENSE_HEADER}}}
|
||||||
|
// {{{ICINGA_LICENSE_HEADER}}}
|
||||||
|
|
||||||
|
namespace Icinga\Web\Menu;
|
||||||
|
|
||||||
|
use Icinga\Web\Menu;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Renders the html content of a single menu item
|
||||||
|
*/
|
||||||
|
interface MenuItemRenderer {
|
||||||
|
public function render(Menu $menu);
|
||||||
|
}
|
|
@ -0,0 +1,39 @@
|
||||||
|
<?php
|
||||||
|
// {{{ICINGA_LICENSE_HEADER}}}
|
||||||
|
// {{{ICINGA_LICENSE_HEADER}}}
|
||||||
|
|
||||||
|
namespace Icinga\Web\Menu;
|
||||||
|
|
||||||
|
use Icinga\Module\Monitoring\Backend;
|
||||||
|
use Icinga\Web\Menu;
|
||||||
|
use Icinga\Web\Url;
|
||||||
|
|
||||||
|
class ProblemMenuItemRenderer implements MenuItemRenderer {
|
||||||
|
|
||||||
|
public function render(Menu $menu)
|
||||||
|
{
|
||||||
|
$statusSummary = Backend::createBackend()
|
||||||
|
->select()->from(
|
||||||
|
'statusSummary',
|
||||||
|
array(
|
||||||
|
'hosts_down_unhandled',
|
||||||
|
'services_critical_unhandled'
|
||||||
|
)
|
||||||
|
)->getQuery()->fetchRow();
|
||||||
|
$unhandled = $statusSummary->hosts_down_unhandled + $statusSummary->services_critical_unhandled;
|
||||||
|
$badge = '';
|
||||||
|
if ($unhandled) {
|
||||||
|
$badge = sprintf(
|
||||||
|
'<div class="badge-container"><span class="badge badge-critical">%s</span></div>',
|
||||||
|
$unhandled
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return sprintf(
|
||||||
|
'<a href="%s">%s%s %s</a>',
|
||||||
|
$menu->getUrl() ?: '#',
|
||||||
|
$menu->getIcon() ? '<img src="' . Url::fromPath($menu->getIcon()) . '" class="icon" /> ' : '',
|
||||||
|
htmlspecialchars($menu->getTitle()),
|
||||||
|
$badge
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,38 @@
|
||||||
|
<?php
|
||||||
|
// {{{ICINGA_LICENSE_HEADER}}}
|
||||||
|
// {{{ICINGA_LICENSE_HEADER}}}
|
||||||
|
|
||||||
|
namespace Icinga\Web\Menu;
|
||||||
|
|
||||||
|
use Icinga\Module\Monitoring\Backend;
|
||||||
|
use Icinga\Web\Menu;
|
||||||
|
use Icinga\Web\Url;
|
||||||
|
|
||||||
|
class UnhandledHostMenuItemRenderer implements MenuItemRenderer {
|
||||||
|
|
||||||
|
public function render(Menu $menu)
|
||||||
|
{
|
||||||
|
$statusSummary = Backend::createBackend()
|
||||||
|
->select()->from(
|
||||||
|
'statusSummary',
|
||||||
|
array(
|
||||||
|
'hosts_down_unhandled'
|
||||||
|
)
|
||||||
|
)->getQuery()->fetchRow();
|
||||||
|
$badge = '';
|
||||||
|
if ($statusSummary->hosts_down_unhandled) {
|
||||||
|
$badge = sprintf(
|
||||||
|
'<div title="%s" class="badge-container"><span class="badge badge-critical">%s</span></div>',
|
||||||
|
t(sprintf('%d unhandled host problems', $statusSummary->hosts_down_unhandled)),
|
||||||
|
$statusSummary->hosts_down_unhandled
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return sprintf(
|
||||||
|
'<a href="%s">%s%s %s</a>',
|
||||||
|
$menu->getUrl() ?: '#',
|
||||||
|
$menu->getIcon() ? '<img src="' . Url::fromPath($menu->getIcon()) . '" class="icon" /> ' : '',
|
||||||
|
htmlspecialchars($menu->getTitle()),
|
||||||
|
$badge
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,38 @@
|
||||||
|
<?php
|
||||||
|
// {{{ICINGA_LICENSE_HEADER}}}
|
||||||
|
// {{{ICINGA_LICENSE_HEADER}}}
|
||||||
|
|
||||||
|
namespace Icinga\Web\Menu;
|
||||||
|
|
||||||
|
use Icinga\Module\Monitoring\Backend;
|
||||||
|
use Icinga\Web\Menu;
|
||||||
|
use Icinga\Web\Url;
|
||||||
|
|
||||||
|
class UnhandledServiceMenuItemRenderer implements MenuItemRenderer {
|
||||||
|
|
||||||
|
public function render(Menu $menu)
|
||||||
|
{
|
||||||
|
$statusSummary = Backend::createBackend()
|
||||||
|
->select()->from(
|
||||||
|
'statusSummary',
|
||||||
|
array(
|
||||||
|
'services_critical_unhandled'
|
||||||
|
)
|
||||||
|
)->getQuery()->fetchRow();
|
||||||
|
$badge = '';
|
||||||
|
if ($statusSummary->services_critical_unhandled) {
|
||||||
|
$badge = sprintf(
|
||||||
|
'<div title="%s" class="badge-container"><span class="badge badge-critical">%s</span></div>',
|
||||||
|
t(sprintf('%d unhandled service problems', $statusSummary->services_critical_unhandled)),
|
||||||
|
$statusSummary->services_critical_unhandled
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return sprintf(
|
||||||
|
'<a href="%s">%s%s %s</a>',
|
||||||
|
$menu->getUrl() ?: '#',
|
||||||
|
$menu->getIcon() ? '<img src="' . Url::fromPath($menu->getIcon()) . '" class="icon" /> ' : '',
|
||||||
|
htmlspecialchars($menu->getTitle()),
|
||||||
|
$badge
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
|
@ -25,6 +25,11 @@ class MenuRenderer extends RecursiveIteratorIterator
|
||||||
*/
|
*/
|
||||||
protected $tags = array();
|
protected $tags = array();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var bool
|
||||||
|
*/
|
||||||
|
protected $useCustomRenderer = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a new MenuRenderer
|
* Create a new MenuRenderer
|
||||||
*
|
*
|
||||||
|
@ -41,6 +46,15 @@ class MenuRenderer extends RecursiveIteratorIterator
|
||||||
parent::__construct($menu, RecursiveIteratorIterator::CHILD_FIRST);
|
parent::__construct($menu, RecursiveIteratorIterator::CHILD_FIRST);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param bool $value
|
||||||
|
*/
|
||||||
|
public function useCustomRenderer($value = true)
|
||||||
|
{
|
||||||
|
$this->useCustomRenderer = $value;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Register the outer ul opening html-tag
|
* Register the outer ul opening html-tag
|
||||||
*/
|
*/
|
||||||
|
@ -91,6 +105,9 @@ class MenuRenderer extends RecursiveIteratorIterator
|
||||||
*/
|
*/
|
||||||
public function renderChild(Menu $child)
|
public function renderChild(Menu $child)
|
||||||
{
|
{
|
||||||
|
if ($child->getRenderer() !== null && $this->useCustomRenderer) {
|
||||||
|
return $child->getRenderer()->render($child);
|
||||||
|
}
|
||||||
return sprintf(
|
return sprintf(
|
||||||
'<a href="%s">%s%s</a>',
|
'<a href="%s">%s%s</a>',
|
||||||
$child->getUrl() ?: '#',
|
$child->getUrl() ?: '#',
|
||||||
|
@ -115,9 +132,9 @@ class MenuRenderer extends RecursiveIteratorIterator
|
||||||
|
|
||||||
if ($childIsActive || ($passedActiveChild && $this->getDepth() === 0)) {
|
if ($childIsActive || ($passedActiveChild && $this->getDepth() === 0)) {
|
||||||
$passedActiveChild &= $this->getDepth() !== 0;
|
$passedActiveChild &= $this->getDepth() !== 0;
|
||||||
$openTag = '<li class="active">';
|
$openTag = '<li class="active" id="' . $child->getUniqueId() . '">';
|
||||||
} else {
|
} else {
|
||||||
$openTag = '<li>';
|
$openTag = '<li id="' . $child->getUniqueId() . '">';
|
||||||
}
|
}
|
||||||
$content = $this->renderChild($child);
|
$content = $this->renderChild($child);
|
||||||
$closingTag = '</li>';
|
$closingTag = '</li>';
|
||||||
|
|
|
@ -24,7 +24,6 @@ class StyleSheet
|
||||||
'css/icinga/monitoring-colors.less',
|
'css/icinga/monitoring-colors.less',
|
||||||
'css/icinga/selection-toolbar.less',
|
'css/icinga/selection-toolbar.less',
|
||||||
'css/icinga/login.less',
|
'css/icinga/login.less',
|
||||||
'css/icinga/charts.less',
|
|
||||||
'css/vendor/tipsy.css'
|
'css/vendor/tipsy.css'
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@ $this->addHelperFunction('url', function ($path = null, $params = null) {
|
||||||
$url = Url::fromPath($path);
|
$url = Url::fromPath($path);
|
||||||
}
|
}
|
||||||
if ($params !== null) {
|
if ($params !== null) {
|
||||||
$url->setParams($params);
|
$url->overwriteParams($params);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $url;
|
return $url;
|
||||||
|
|
|
@ -273,7 +273,7 @@ class HistoryColorGrid extends AbstractWidget {
|
||||||
$sun = DateTimeFactory::create('last Sunday');
|
$sun = DateTimeFactory::create('last Sunday');
|
||||||
$interval = new DateInterval('P' . $weekday . 'D');
|
$interval = new DateInterval('P' . $weekday . 'D');
|
||||||
$sun->add($interval);
|
$sun->add($interval);
|
||||||
return $sun->format('D');
|
return substr($sun->format('D'), 0, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1,324 +0,0 @@
|
||||||
<span style='color: #000'>1084 frames</span> <span style='color: #900'>64,000 KB</span> <span style='color: #090'>12,219.54 ms</span> <span style='color: #009' title='Quirksmode'><span style='color: #c00'>ON</span></span><br /><br />
|
|
||||||
<font size='1'><table class='xdebug-error' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
|
|
||||||
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Notice: Undefined offset: 1 in /vagrant/library/vendor/dompdf/include/table_frame_reflower.cls.php on line <i>396</i></th></tr>
|
|
||||||
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
|
|
||||||
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0015</td><td bgcolor='#eeeeec' align='right'>634696</td><td bgcolor='#eeeeec'>{main}( )</td><td title='/vagrant/public/index.php' bgcolor='#eeeeec'>../index.php<b>:</b>0</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>2</td><td bgcolor='#eeeeec' align='center'>0.6663</td><td bgcolor='#eeeeec' align='right'>7155080</td><td bgcolor='#eeeeec'>Icinga\Application\Web->dispatch( )</td><td title='/vagrant/public/index.php' bgcolor='#eeeeec'>../index.php<b>:</b>17</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>3</td><td bgcolor='#eeeeec' align='center'>0.6663</td><td bgcolor='#eeeeec' align='right'>7155080</td><td bgcolor='#eeeeec'>Zend_Controller_Front->dispatch( )</td><td title='/vagrant/library/Icinga/Application/Web.php' bgcolor='#eeeeec'>../Web.php<b>:</b>177</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>4</td><td bgcolor='#eeeeec' align='center'>0.6718</td><td bgcolor='#eeeeec' align='right'>7339544</td><td bgcolor='#eeeeec'>Zend_Controller_Dispatcher_Standard->dispatch( )</td><td title='/usr/share/php/Zend/Controller/Front.php' bgcolor='#eeeeec'>../Front.php<b>:</b>954</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>5</td><td bgcolor='#eeeeec' align='center'>0.7544</td><td bgcolor='#eeeeec' align='right'>9789672</td><td bgcolor='#eeeeec'>Zend_Controller_Action->dispatch( )</td><td title='/usr/share/php/Zend/Controller/Dispatcher/Standard.php' bgcolor='#eeeeec'>../Standard.php<b>:</b>308</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>6</td><td bgcolor='#eeeeec' align='center'>0.8547</td><td bgcolor='#eeeeec' align='right'>11070736</td><td bgcolor='#eeeeec'>Icinga\Web\Controller\ActionController->postDispatch( )</td><td title='/usr/share/php/Zend/Controller/Action.php' bgcolor='#eeeeec'>../Action.php<b>:</b>521</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>7</td><td bgcolor='#eeeeec' align='center'>0.8550</td><td bgcolor='#eeeeec' align='right'>11071712</td><td bgcolor='#eeeeec'>Icinga\Web\Controller\ActionController->sendAsPdfAndDie( )</td><td title='/vagrant/library/Icinga/Web/Controller/ActionController.php' bgcolor='#eeeeec'>../ActionController.php<b>:</b>244</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>8</td><td bgcolor='#eeeeec' align='center'>1.9930</td><td bgcolor='#eeeeec' align='right'>23228752</td><td bgcolor='#eeeeec'>Icinga\File\Pdf->renderPage( )</td><td title='/vagrant/library/Icinga/Web/Controller/ActionController.php' bgcolor='#eeeeec'>../ActionController.php<b>:</b>279</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>9</td><td bgcolor='#eeeeec' align='center'>2.0668</td><td bgcolor='#eeeeec' align='right'>23495800</td><td bgcolor='#eeeeec'>DOMPDF->render( )</td><td title='/vagrant/library/Icinga/File/Pdf.php' bgcolor='#eeeeec'>../Pdf.php<b>:</b>62</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>10</td><td bgcolor='#eeeeec' align='center'>9.0902</td><td bgcolor='#eeeeec' align='right'>49430472</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/dompdf.cls.php' bgcolor='#eeeeec'>../dompdf.cls.php<b>:</b>817</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>11</td><td bgcolor='#eeeeec' align='center'>9.0902</td><td bgcolor='#eeeeec' align='right'>49430520</td><td bgcolor='#eeeeec'>Page_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>12</td><td bgcolor='#eeeeec' align='center'>9.0910</td><td bgcolor='#eeeeec' align='right'>49432912</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/page_frame_reflower.cls.php' bgcolor='#eeeeec'>../page_frame_reflower.cls.php<b>:</b>138</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>13</td><td bgcolor='#eeeeec' align='center'>9.0910</td><td bgcolor='#eeeeec' align='right'>49432960</td><td bgcolor='#eeeeec'>Block_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>14</td><td bgcolor='#eeeeec' align='center'>9.0962</td><td bgcolor='#eeeeec' align='right'>49449768</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/block_frame_reflower.cls.php' bgcolor='#eeeeec'>../block_frame_reflower.cls.php<b>:</b>722</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>15</td><td bgcolor='#eeeeec' align='center'>9.0962</td><td bgcolor='#eeeeec' align='right'>49449768</td><td bgcolor='#eeeeec'>Block_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>16</td><td bgcolor='#eeeeec' align='center'>9.0987</td><td bgcolor='#eeeeec' align='right'>49466560</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/block_frame_reflower.cls.php' bgcolor='#eeeeec'>../block_frame_reflower.cls.php<b>:</b>722</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>17</td><td bgcolor='#eeeeec' align='center'>9.0987</td><td bgcolor='#eeeeec' align='right'>49466560</td><td bgcolor='#eeeeec'>Table_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
</table></font>
|
|
||||||
<br />
|
|
||||||
<font size='1'><table class='xdebug-error' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
|
|
||||||
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Notice: Undefined offset: 1 in /vagrant/library/vendor/dompdf/include/table_frame_reflower.cls.php on line <i>396</i></th></tr>
|
|
||||||
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
|
|
||||||
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0015</td><td bgcolor='#eeeeec' align='right'>634696</td><td bgcolor='#eeeeec'>{main}( )</td><td title='/vagrant/public/index.php' bgcolor='#eeeeec'>../index.php<b>:</b>0</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>2</td><td bgcolor='#eeeeec' align='center'>0.6663</td><td bgcolor='#eeeeec' align='right'>7155080</td><td bgcolor='#eeeeec'>Icinga\Application\Web->dispatch( )</td><td title='/vagrant/public/index.php' bgcolor='#eeeeec'>../index.php<b>:</b>17</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>3</td><td bgcolor='#eeeeec' align='center'>0.6663</td><td bgcolor='#eeeeec' align='right'>7155080</td><td bgcolor='#eeeeec'>Zend_Controller_Front->dispatch( )</td><td title='/vagrant/library/Icinga/Application/Web.php' bgcolor='#eeeeec'>../Web.php<b>:</b>177</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>4</td><td bgcolor='#eeeeec' align='center'>0.6718</td><td bgcolor='#eeeeec' align='right'>7339544</td><td bgcolor='#eeeeec'>Zend_Controller_Dispatcher_Standard->dispatch( )</td><td title='/usr/share/php/Zend/Controller/Front.php' bgcolor='#eeeeec'>../Front.php<b>:</b>954</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>5</td><td bgcolor='#eeeeec' align='center'>0.7544</td><td bgcolor='#eeeeec' align='right'>9789672</td><td bgcolor='#eeeeec'>Zend_Controller_Action->dispatch( )</td><td title='/usr/share/php/Zend/Controller/Dispatcher/Standard.php' bgcolor='#eeeeec'>../Standard.php<b>:</b>308</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>6</td><td bgcolor='#eeeeec' align='center'>0.8547</td><td bgcolor='#eeeeec' align='right'>11070736</td><td bgcolor='#eeeeec'>Icinga\Web\Controller\ActionController->postDispatch( )</td><td title='/usr/share/php/Zend/Controller/Action.php' bgcolor='#eeeeec'>../Action.php<b>:</b>521</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>7</td><td bgcolor='#eeeeec' align='center'>0.8550</td><td bgcolor='#eeeeec' align='right'>11071712</td><td bgcolor='#eeeeec'>Icinga\Web\Controller\ActionController->sendAsPdfAndDie( )</td><td title='/vagrant/library/Icinga/Web/Controller/ActionController.php' bgcolor='#eeeeec'>../ActionController.php<b>:</b>244</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>8</td><td bgcolor='#eeeeec' align='center'>1.9930</td><td bgcolor='#eeeeec' align='right'>23228752</td><td bgcolor='#eeeeec'>Icinga\File\Pdf->renderPage( )</td><td title='/vagrant/library/Icinga/Web/Controller/ActionController.php' bgcolor='#eeeeec'>../ActionController.php<b>:</b>279</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>9</td><td bgcolor='#eeeeec' align='center'>2.0668</td><td bgcolor='#eeeeec' align='right'>23495800</td><td bgcolor='#eeeeec'>DOMPDF->render( )</td><td title='/vagrant/library/Icinga/File/Pdf.php' bgcolor='#eeeeec'>../Pdf.php<b>:</b>62</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>10</td><td bgcolor='#eeeeec' align='center'>9.0902</td><td bgcolor='#eeeeec' align='right'>49430472</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/dompdf.cls.php' bgcolor='#eeeeec'>../dompdf.cls.php<b>:</b>817</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>11</td><td bgcolor='#eeeeec' align='center'>9.0902</td><td bgcolor='#eeeeec' align='right'>49430520</td><td bgcolor='#eeeeec'>Page_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>12</td><td bgcolor='#eeeeec' align='center'>9.0910</td><td bgcolor='#eeeeec' align='right'>49432912</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/page_frame_reflower.cls.php' bgcolor='#eeeeec'>../page_frame_reflower.cls.php<b>:</b>138</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>13</td><td bgcolor='#eeeeec' align='center'>9.0910</td><td bgcolor='#eeeeec' align='right'>49432960</td><td bgcolor='#eeeeec'>Block_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>14</td><td bgcolor='#eeeeec' align='center'>9.0962</td><td bgcolor='#eeeeec' align='right'>49449768</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/block_frame_reflower.cls.php' bgcolor='#eeeeec'>../block_frame_reflower.cls.php<b>:</b>722</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>15</td><td bgcolor='#eeeeec' align='center'>9.0962</td><td bgcolor='#eeeeec' align='right'>49449768</td><td bgcolor='#eeeeec'>Block_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>16</td><td bgcolor='#eeeeec' align='center'>9.2135</td><td bgcolor='#eeeeec' align='right'>49818768</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/block_frame_reflower.cls.php' bgcolor='#eeeeec'>../block_frame_reflower.cls.php<b>:</b>722</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>17</td><td bgcolor='#eeeeec' align='center'>9.2136</td><td bgcolor='#eeeeec' align='right'>49818768</td><td bgcolor='#eeeeec'>Table_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
</table></font>
|
|
||||||
<br />
|
|
||||||
<font size='1'><table class='xdebug-error' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
|
|
||||||
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Notice: Undefined offset: 1 in /vagrant/library/vendor/dompdf/include/table_frame_reflower.cls.php on line <i>396</i></th></tr>
|
|
||||||
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
|
|
||||||
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0015</td><td bgcolor='#eeeeec' align='right'>634696</td><td bgcolor='#eeeeec'>{main}( )</td><td title='/vagrant/public/index.php' bgcolor='#eeeeec'>../index.php<b>:</b>0</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>2</td><td bgcolor='#eeeeec' align='center'>0.6663</td><td bgcolor='#eeeeec' align='right'>7155080</td><td bgcolor='#eeeeec'>Icinga\Application\Web->dispatch( )</td><td title='/vagrant/public/index.php' bgcolor='#eeeeec'>../index.php<b>:</b>17</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>3</td><td bgcolor='#eeeeec' align='center'>0.6663</td><td bgcolor='#eeeeec' align='right'>7155080</td><td bgcolor='#eeeeec'>Zend_Controller_Front->dispatch( )</td><td title='/vagrant/library/Icinga/Application/Web.php' bgcolor='#eeeeec'>../Web.php<b>:</b>177</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>4</td><td bgcolor='#eeeeec' align='center'>0.6718</td><td bgcolor='#eeeeec' align='right'>7339544</td><td bgcolor='#eeeeec'>Zend_Controller_Dispatcher_Standard->dispatch( )</td><td title='/usr/share/php/Zend/Controller/Front.php' bgcolor='#eeeeec'>../Front.php<b>:</b>954</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>5</td><td bgcolor='#eeeeec' align='center'>0.7544</td><td bgcolor='#eeeeec' align='right'>9789672</td><td bgcolor='#eeeeec'>Zend_Controller_Action->dispatch( )</td><td title='/usr/share/php/Zend/Controller/Dispatcher/Standard.php' bgcolor='#eeeeec'>../Standard.php<b>:</b>308</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>6</td><td bgcolor='#eeeeec' align='center'>0.8547</td><td bgcolor='#eeeeec' align='right'>11070736</td><td bgcolor='#eeeeec'>Icinga\Web\Controller\ActionController->postDispatch( )</td><td title='/usr/share/php/Zend/Controller/Action.php' bgcolor='#eeeeec'>../Action.php<b>:</b>521</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>7</td><td bgcolor='#eeeeec' align='center'>0.8550</td><td bgcolor='#eeeeec' align='right'>11071712</td><td bgcolor='#eeeeec'>Icinga\Web\Controller\ActionController->sendAsPdfAndDie( )</td><td title='/vagrant/library/Icinga/Web/Controller/ActionController.php' bgcolor='#eeeeec'>../ActionController.php<b>:</b>244</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>8</td><td bgcolor='#eeeeec' align='center'>1.9930</td><td bgcolor='#eeeeec' align='right'>23228752</td><td bgcolor='#eeeeec'>Icinga\File\Pdf->renderPage( )</td><td title='/vagrant/library/Icinga/Web/Controller/ActionController.php' bgcolor='#eeeeec'>../ActionController.php<b>:</b>279</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>9</td><td bgcolor='#eeeeec' align='center'>2.0668</td><td bgcolor='#eeeeec' align='right'>23495800</td><td bgcolor='#eeeeec'>DOMPDF->render( )</td><td title='/vagrant/library/Icinga/File/Pdf.php' bgcolor='#eeeeec'>../Pdf.php<b>:</b>62</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>10</td><td bgcolor='#eeeeec' align='center'>9.0902</td><td bgcolor='#eeeeec' align='right'>49430472</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/dompdf.cls.php' bgcolor='#eeeeec'>../dompdf.cls.php<b>:</b>817</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>11</td><td bgcolor='#eeeeec' align='center'>9.0902</td><td bgcolor='#eeeeec' align='right'>49430520</td><td bgcolor='#eeeeec'>Page_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>12</td><td bgcolor='#eeeeec' align='center'>9.0910</td><td bgcolor='#eeeeec' align='right'>49432912</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/page_frame_reflower.cls.php' bgcolor='#eeeeec'>../page_frame_reflower.cls.php<b>:</b>138</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>13</td><td bgcolor='#eeeeec' align='center'>9.0910</td><td bgcolor='#eeeeec' align='right'>49432960</td><td bgcolor='#eeeeec'>Block_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>14</td><td bgcolor='#eeeeec' align='center'>9.2291</td><td bgcolor='#eeeeec' align='right'>49850600</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/block_frame_reflower.cls.php' bgcolor='#eeeeec'>../block_frame_reflower.cls.php<b>:</b>722</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>15</td><td bgcolor='#eeeeec' align='center'>9.2291</td><td bgcolor='#eeeeec' align='right'>49850600</td><td bgcolor='#eeeeec'>Block_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>16</td><td bgcolor='#eeeeec' align='center'>9.2338</td><td bgcolor='#eeeeec' align='right'>49873816</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/block_frame_reflower.cls.php' bgcolor='#eeeeec'>../block_frame_reflower.cls.php<b>:</b>722</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>17</td><td bgcolor='#eeeeec' align='center'>9.2338</td><td bgcolor='#eeeeec' align='right'>49873816</td><td bgcolor='#eeeeec'>Block_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>18</td><td bgcolor='#eeeeec' align='center'>9.2355</td><td bgcolor='#eeeeec' align='right'>49886736</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/block_frame_reflower.cls.php' bgcolor='#eeeeec'>../block_frame_reflower.cls.php<b>:</b>722</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>19</td><td bgcolor='#eeeeec' align='center'>9.2356</td><td bgcolor='#eeeeec' align='right'>49886736</td><td bgcolor='#eeeeec'>Table_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
</table></font>
|
|
||||||
<br />
|
|
||||||
<font size='1'><table class='xdebug-error' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
|
|
||||||
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Notice: Undefined offset: 1 in /vagrant/library/vendor/dompdf/include/table_frame_reflower.cls.php on line <i>396</i></th></tr>
|
|
||||||
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
|
|
||||||
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0015</td><td bgcolor='#eeeeec' align='right'>634696</td><td bgcolor='#eeeeec'>{main}( )</td><td title='/vagrant/public/index.php' bgcolor='#eeeeec'>../index.php<b>:</b>0</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>2</td><td bgcolor='#eeeeec' align='center'>0.6663</td><td bgcolor='#eeeeec' align='right'>7155080</td><td bgcolor='#eeeeec'>Icinga\Application\Web->dispatch( )</td><td title='/vagrant/public/index.php' bgcolor='#eeeeec'>../index.php<b>:</b>17</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>3</td><td bgcolor='#eeeeec' align='center'>0.6663</td><td bgcolor='#eeeeec' align='right'>7155080</td><td bgcolor='#eeeeec'>Zend_Controller_Front->dispatch( )</td><td title='/vagrant/library/Icinga/Application/Web.php' bgcolor='#eeeeec'>../Web.php<b>:</b>177</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>4</td><td bgcolor='#eeeeec' align='center'>0.6718</td><td bgcolor='#eeeeec' align='right'>7339544</td><td bgcolor='#eeeeec'>Zend_Controller_Dispatcher_Standard->dispatch( )</td><td title='/usr/share/php/Zend/Controller/Front.php' bgcolor='#eeeeec'>../Front.php<b>:</b>954</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>5</td><td bgcolor='#eeeeec' align='center'>0.7544</td><td bgcolor='#eeeeec' align='right'>9789672</td><td bgcolor='#eeeeec'>Zend_Controller_Action->dispatch( )</td><td title='/usr/share/php/Zend/Controller/Dispatcher/Standard.php' bgcolor='#eeeeec'>../Standard.php<b>:</b>308</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>6</td><td bgcolor='#eeeeec' align='center'>0.8547</td><td bgcolor='#eeeeec' align='right'>11070736</td><td bgcolor='#eeeeec'>Icinga\Web\Controller\ActionController->postDispatch( )</td><td title='/usr/share/php/Zend/Controller/Action.php' bgcolor='#eeeeec'>../Action.php<b>:</b>521</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>7</td><td bgcolor='#eeeeec' align='center'>0.8550</td><td bgcolor='#eeeeec' align='right'>11071712</td><td bgcolor='#eeeeec'>Icinga\Web\Controller\ActionController->sendAsPdfAndDie( )</td><td title='/vagrant/library/Icinga/Web/Controller/ActionController.php' bgcolor='#eeeeec'>../ActionController.php<b>:</b>244</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>8</td><td bgcolor='#eeeeec' align='center'>1.9930</td><td bgcolor='#eeeeec' align='right'>23228752</td><td bgcolor='#eeeeec'>Icinga\File\Pdf->renderPage( )</td><td title='/vagrant/library/Icinga/Web/Controller/ActionController.php' bgcolor='#eeeeec'>../ActionController.php<b>:</b>279</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>9</td><td bgcolor='#eeeeec' align='center'>2.0668</td><td bgcolor='#eeeeec' align='right'>23495800</td><td bgcolor='#eeeeec'>DOMPDF->render( )</td><td title='/vagrant/library/Icinga/File/Pdf.php' bgcolor='#eeeeec'>../Pdf.php<b>:</b>62</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>10</td><td bgcolor='#eeeeec' align='center'>9.0902</td><td bgcolor='#eeeeec' align='right'>49430472</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/dompdf.cls.php' bgcolor='#eeeeec'>../dompdf.cls.php<b>:</b>817</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>11</td><td bgcolor='#eeeeec' align='center'>9.0902</td><td bgcolor='#eeeeec' align='right'>49430520</td><td bgcolor='#eeeeec'>Page_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>12</td><td bgcolor='#eeeeec' align='center'>9.0910</td><td bgcolor='#eeeeec' align='right'>49432912</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/page_frame_reflower.cls.php' bgcolor='#eeeeec'>../page_frame_reflower.cls.php<b>:</b>138</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>13</td><td bgcolor='#eeeeec' align='center'>9.0910</td><td bgcolor='#eeeeec' align='right'>49432960</td><td bgcolor='#eeeeec'>Block_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>14</td><td bgcolor='#eeeeec' align='center'>9.2291</td><td bgcolor='#eeeeec' align='right'>49850600</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/block_frame_reflower.cls.php' bgcolor='#eeeeec'>../block_frame_reflower.cls.php<b>:</b>722</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>15</td><td bgcolor='#eeeeec' align='center'>9.2291</td><td bgcolor='#eeeeec' align='right'>49850600</td><td bgcolor='#eeeeec'>Block_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>16</td><td bgcolor='#eeeeec' align='center'>9.2338</td><td bgcolor='#eeeeec' align='right'>49873816</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/block_frame_reflower.cls.php' bgcolor='#eeeeec'>../block_frame_reflower.cls.php<b>:</b>722</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>17</td><td bgcolor='#eeeeec' align='center'>9.2338</td><td bgcolor='#eeeeec' align='right'>49873816</td><td bgcolor='#eeeeec'>Block_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>18</td><td bgcolor='#eeeeec' align='center'>9.2431</td><td bgcolor='#eeeeec' align='right'>49918440</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/block_frame_reflower.cls.php' bgcolor='#eeeeec'>../block_frame_reflower.cls.php<b>:</b>722</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>19</td><td bgcolor='#eeeeec' align='center'>9.2431</td><td bgcolor='#eeeeec' align='right'>49918440</td><td bgcolor='#eeeeec'>Block_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>20</td><td bgcolor='#eeeeec' align='center'>9.2459</td><td bgcolor='#eeeeec' align='right'>49935336</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/block_frame_reflower.cls.php' bgcolor='#eeeeec'>../block_frame_reflower.cls.php<b>:</b>722</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>21</td><td bgcolor='#eeeeec' align='center'>9.2459</td><td bgcolor='#eeeeec' align='right'>49935336</td><td bgcolor='#eeeeec'>Table_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
</table></font>
|
|
||||||
<br />
|
|
||||||
<font size='1'><table class='xdebug-error' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
|
|
||||||
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Notice: Undefined offset: 1 in /vagrant/library/vendor/dompdf/include/table_frame_reflower.cls.php on line <i>396</i></th></tr>
|
|
||||||
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
|
|
||||||
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0015</td><td bgcolor='#eeeeec' align='right'>634696</td><td bgcolor='#eeeeec'>{main}( )</td><td title='/vagrant/public/index.php' bgcolor='#eeeeec'>../index.php<b>:</b>0</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>2</td><td bgcolor='#eeeeec' align='center'>0.6663</td><td bgcolor='#eeeeec' align='right'>7155080</td><td bgcolor='#eeeeec'>Icinga\Application\Web->dispatch( )</td><td title='/vagrant/public/index.php' bgcolor='#eeeeec'>../index.php<b>:</b>17</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>3</td><td bgcolor='#eeeeec' align='center'>0.6663</td><td bgcolor='#eeeeec' align='right'>7155080</td><td bgcolor='#eeeeec'>Zend_Controller_Front->dispatch( )</td><td title='/vagrant/library/Icinga/Application/Web.php' bgcolor='#eeeeec'>../Web.php<b>:</b>177</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>4</td><td bgcolor='#eeeeec' align='center'>0.6718</td><td bgcolor='#eeeeec' align='right'>7339544</td><td bgcolor='#eeeeec'>Zend_Controller_Dispatcher_Standard->dispatch( )</td><td title='/usr/share/php/Zend/Controller/Front.php' bgcolor='#eeeeec'>../Front.php<b>:</b>954</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>5</td><td bgcolor='#eeeeec' align='center'>0.7544</td><td bgcolor='#eeeeec' align='right'>9789672</td><td bgcolor='#eeeeec'>Zend_Controller_Action->dispatch( )</td><td title='/usr/share/php/Zend/Controller/Dispatcher/Standard.php' bgcolor='#eeeeec'>../Standard.php<b>:</b>308</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>6</td><td bgcolor='#eeeeec' align='center'>0.8547</td><td bgcolor='#eeeeec' align='right'>11070736</td><td bgcolor='#eeeeec'>Icinga\Web\Controller\ActionController->postDispatch( )</td><td title='/usr/share/php/Zend/Controller/Action.php' bgcolor='#eeeeec'>../Action.php<b>:</b>521</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>7</td><td bgcolor='#eeeeec' align='center'>0.8550</td><td bgcolor='#eeeeec' align='right'>11071712</td><td bgcolor='#eeeeec'>Icinga\Web\Controller\ActionController->sendAsPdfAndDie( )</td><td title='/vagrant/library/Icinga/Web/Controller/ActionController.php' bgcolor='#eeeeec'>../ActionController.php<b>:</b>244</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>8</td><td bgcolor='#eeeeec' align='center'>1.9930</td><td bgcolor='#eeeeec' align='right'>23228752</td><td bgcolor='#eeeeec'>Icinga\File\Pdf->renderPage( )</td><td title='/vagrant/library/Icinga/Web/Controller/ActionController.php' bgcolor='#eeeeec'>../ActionController.php<b>:</b>279</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>9</td><td bgcolor='#eeeeec' align='center'>2.0668</td><td bgcolor='#eeeeec' align='right'>23495800</td><td bgcolor='#eeeeec'>DOMPDF->render( )</td><td title='/vagrant/library/Icinga/File/Pdf.php' bgcolor='#eeeeec'>../Pdf.php<b>:</b>62</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>10</td><td bgcolor='#eeeeec' align='center'>9.0902</td><td bgcolor='#eeeeec' align='right'>49430472</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/dompdf.cls.php' bgcolor='#eeeeec'>../dompdf.cls.php<b>:</b>817</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>11</td><td bgcolor='#eeeeec' align='center'>9.0902</td><td bgcolor='#eeeeec' align='right'>49430520</td><td bgcolor='#eeeeec'>Page_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>12</td><td bgcolor='#eeeeec' align='center'>9.0910</td><td bgcolor='#eeeeec' align='right'>49432912</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/page_frame_reflower.cls.php' bgcolor='#eeeeec'>../page_frame_reflower.cls.php<b>:</b>138</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>13</td><td bgcolor='#eeeeec' align='center'>9.0910</td><td bgcolor='#eeeeec' align='right'>49432960</td><td bgcolor='#eeeeec'>Block_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>14</td><td bgcolor='#eeeeec' align='center'>9.2291</td><td bgcolor='#eeeeec' align='right'>49850600</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/block_frame_reflower.cls.php' bgcolor='#eeeeec'>../block_frame_reflower.cls.php<b>:</b>722</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>15</td><td bgcolor='#eeeeec' align='center'>9.2291</td><td bgcolor='#eeeeec' align='right'>49850600</td><td bgcolor='#eeeeec'>Block_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>16</td><td bgcolor='#eeeeec' align='center'>9.2338</td><td bgcolor='#eeeeec' align='right'>49873816</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/block_frame_reflower.cls.php' bgcolor='#eeeeec'>../block_frame_reflower.cls.php<b>:</b>722</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>17</td><td bgcolor='#eeeeec' align='center'>9.2338</td><td bgcolor='#eeeeec' align='right'>49873816</td><td bgcolor='#eeeeec'>Block_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>18</td><td bgcolor='#eeeeec' align='center'>9.2431</td><td bgcolor='#eeeeec' align='right'>49918440</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/block_frame_reflower.cls.php' bgcolor='#eeeeec'>../block_frame_reflower.cls.php<b>:</b>722</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>19</td><td bgcolor='#eeeeec' align='center'>9.2431</td><td bgcolor='#eeeeec' align='right'>49918440</td><td bgcolor='#eeeeec'>Block_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>20</td><td bgcolor='#eeeeec' align='center'>9.2519</td><td bgcolor='#eeeeec' align='right'>49965624</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/block_frame_reflower.cls.php' bgcolor='#eeeeec'>../block_frame_reflower.cls.php<b>:</b>722</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>21</td><td bgcolor='#eeeeec' align='center'>9.2519</td><td bgcolor='#eeeeec' align='right'>49965624</td><td bgcolor='#eeeeec'>Block_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>22</td><td bgcolor='#eeeeec' align='center'>9.2575</td><td bgcolor='#eeeeec' align='right'>49989664</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/block_frame_reflower.cls.php' bgcolor='#eeeeec'>../block_frame_reflower.cls.php<b>:</b>722</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>23</td><td bgcolor='#eeeeec' align='center'>9.2575</td><td bgcolor='#eeeeec' align='right'>49989664</td><td bgcolor='#eeeeec'>Block_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>24</td><td bgcolor='#eeeeec' align='center'>9.2593</td><td bgcolor='#eeeeec' align='right'>50005472</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/block_frame_reflower.cls.php' bgcolor='#eeeeec'>../block_frame_reflower.cls.php<b>:</b>722</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>25</td><td bgcolor='#eeeeec' align='center'>9.2594</td><td bgcolor='#eeeeec' align='right'>50005472</td><td bgcolor='#eeeeec'>Block_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>26</td><td bgcolor='#eeeeec' align='center'>9.2611</td><td bgcolor='#eeeeec' align='right'>50020048</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/block_frame_reflower.cls.php' bgcolor='#eeeeec'>../block_frame_reflower.cls.php<b>:</b>722</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>27</td><td bgcolor='#eeeeec' align='center'>9.2611</td><td bgcolor='#eeeeec' align='right'>50020048</td><td bgcolor='#eeeeec'>Table_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
</table></font>
|
|
||||||
<br />
|
|
||||||
<font size='1'><table class='xdebug-error' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
|
|
||||||
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Notice: Undefined offset: 1 in /vagrant/library/vendor/dompdf/include/table_frame_reflower.cls.php on line <i>396</i></th></tr>
|
|
||||||
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
|
|
||||||
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0015</td><td bgcolor='#eeeeec' align='right'>634696</td><td bgcolor='#eeeeec'>{main}( )</td><td title='/vagrant/public/index.php' bgcolor='#eeeeec'>../index.php<b>:</b>0</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>2</td><td bgcolor='#eeeeec' align='center'>0.6663</td><td bgcolor='#eeeeec' align='right'>7155080</td><td bgcolor='#eeeeec'>Icinga\Application\Web->dispatch( )</td><td title='/vagrant/public/index.php' bgcolor='#eeeeec'>../index.php<b>:</b>17</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>3</td><td bgcolor='#eeeeec' align='center'>0.6663</td><td bgcolor='#eeeeec' align='right'>7155080</td><td bgcolor='#eeeeec'>Zend_Controller_Front->dispatch( )</td><td title='/vagrant/library/Icinga/Application/Web.php' bgcolor='#eeeeec'>../Web.php<b>:</b>177</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>4</td><td bgcolor='#eeeeec' align='center'>0.6718</td><td bgcolor='#eeeeec' align='right'>7339544</td><td bgcolor='#eeeeec'>Zend_Controller_Dispatcher_Standard->dispatch( )</td><td title='/usr/share/php/Zend/Controller/Front.php' bgcolor='#eeeeec'>../Front.php<b>:</b>954</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>5</td><td bgcolor='#eeeeec' align='center'>0.7544</td><td bgcolor='#eeeeec' align='right'>9789672</td><td bgcolor='#eeeeec'>Zend_Controller_Action->dispatch( )</td><td title='/usr/share/php/Zend/Controller/Dispatcher/Standard.php' bgcolor='#eeeeec'>../Standard.php<b>:</b>308</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>6</td><td bgcolor='#eeeeec' align='center'>0.8547</td><td bgcolor='#eeeeec' align='right'>11070736</td><td bgcolor='#eeeeec'>Icinga\Web\Controller\ActionController->postDispatch( )</td><td title='/usr/share/php/Zend/Controller/Action.php' bgcolor='#eeeeec'>../Action.php<b>:</b>521</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>7</td><td bgcolor='#eeeeec' align='center'>0.8550</td><td bgcolor='#eeeeec' align='right'>11071712</td><td bgcolor='#eeeeec'>Icinga\Web\Controller\ActionController->sendAsPdfAndDie( )</td><td title='/vagrant/library/Icinga/Web/Controller/ActionController.php' bgcolor='#eeeeec'>../ActionController.php<b>:</b>244</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>8</td><td bgcolor='#eeeeec' align='center'>1.9930</td><td bgcolor='#eeeeec' align='right'>23228752</td><td bgcolor='#eeeeec'>Icinga\File\Pdf->renderPage( )</td><td title='/vagrant/library/Icinga/Web/Controller/ActionController.php' bgcolor='#eeeeec'>../ActionController.php<b>:</b>279</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>9</td><td bgcolor='#eeeeec' align='center'>2.0668</td><td bgcolor='#eeeeec' align='right'>23495800</td><td bgcolor='#eeeeec'>DOMPDF->render( )</td><td title='/vagrant/library/Icinga/File/Pdf.php' bgcolor='#eeeeec'>../Pdf.php<b>:</b>62</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>10</td><td bgcolor='#eeeeec' align='center'>9.0902</td><td bgcolor='#eeeeec' align='right'>49430472</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/dompdf.cls.php' bgcolor='#eeeeec'>../dompdf.cls.php<b>:</b>817</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>11</td><td bgcolor='#eeeeec' align='center'>9.0902</td><td bgcolor='#eeeeec' align='right'>49430520</td><td bgcolor='#eeeeec'>Page_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>12</td><td bgcolor='#eeeeec' align='center'>9.0910</td><td bgcolor='#eeeeec' align='right'>49432912</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/page_frame_reflower.cls.php' bgcolor='#eeeeec'>../page_frame_reflower.cls.php<b>:</b>138</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>13</td><td bgcolor='#eeeeec' align='center'>9.0910</td><td bgcolor='#eeeeec' align='right'>49432960</td><td bgcolor='#eeeeec'>Block_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>14</td><td bgcolor='#eeeeec' align='center'>9.2291</td><td bgcolor='#eeeeec' align='right'>49850600</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/block_frame_reflower.cls.php' bgcolor='#eeeeec'>../block_frame_reflower.cls.php<b>:</b>722</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>15</td><td bgcolor='#eeeeec' align='center'>9.2291</td><td bgcolor='#eeeeec' align='right'>49850600</td><td bgcolor='#eeeeec'>Block_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>16</td><td bgcolor='#eeeeec' align='center'>9.2338</td><td bgcolor='#eeeeec' align='right'>49873816</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/block_frame_reflower.cls.php' bgcolor='#eeeeec'>../block_frame_reflower.cls.php<b>:</b>722</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>17</td><td bgcolor='#eeeeec' align='center'>9.2338</td><td bgcolor='#eeeeec' align='right'>49873816</td><td bgcolor='#eeeeec'>Block_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>18</td><td bgcolor='#eeeeec' align='center'>9.2431</td><td bgcolor='#eeeeec' align='right'>49918440</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/block_frame_reflower.cls.php' bgcolor='#eeeeec'>../block_frame_reflower.cls.php<b>:</b>722</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>19</td><td bgcolor='#eeeeec' align='center'>9.2431</td><td bgcolor='#eeeeec' align='right'>49918440</td><td bgcolor='#eeeeec'>Block_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>20</td><td bgcolor='#eeeeec' align='center'>9.2519</td><td bgcolor='#eeeeec' align='right'>49965624</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/block_frame_reflower.cls.php' bgcolor='#eeeeec'>../block_frame_reflower.cls.php<b>:</b>722</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>21</td><td bgcolor='#eeeeec' align='center'>9.2519</td><td bgcolor='#eeeeec' align='right'>49965624</td><td bgcolor='#eeeeec'>Block_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>22</td><td bgcolor='#eeeeec' align='center'>9.2575</td><td bgcolor='#eeeeec' align='right'>49989664</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/block_frame_reflower.cls.php' bgcolor='#eeeeec'>../block_frame_reflower.cls.php<b>:</b>722</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>23</td><td bgcolor='#eeeeec' align='center'>9.2575</td><td bgcolor='#eeeeec' align='right'>49989664</td><td bgcolor='#eeeeec'>Block_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>24</td><td bgcolor='#eeeeec' align='center'>9.2593</td><td bgcolor='#eeeeec' align='right'>50005472</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/block_frame_reflower.cls.php' bgcolor='#eeeeec'>../block_frame_reflower.cls.php<b>:</b>722</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>25</td><td bgcolor='#eeeeec' align='center'>9.2594</td><td bgcolor='#eeeeec' align='right'>50005472</td><td bgcolor='#eeeeec'>Block_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>26</td><td bgcolor='#eeeeec' align='center'>9.2722</td><td bgcolor='#eeeeec' align='right'>50061408</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/block_frame_reflower.cls.php' bgcolor='#eeeeec'>../block_frame_reflower.cls.php<b>:</b>722</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>27</td><td bgcolor='#eeeeec' align='center'>9.2722</td><td bgcolor='#eeeeec' align='right'>50061408</td><td bgcolor='#eeeeec'>Table_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
</table></font>
|
|
||||||
<br />
|
|
||||||
<font size='1'><table class='xdebug-error' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
|
|
||||||
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Notice: Undefined offset: 1 in /vagrant/library/vendor/dompdf/include/table_frame_reflower.cls.php on line <i>396</i></th></tr>
|
|
||||||
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
|
|
||||||
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0015</td><td bgcolor='#eeeeec' align='right'>634696</td><td bgcolor='#eeeeec'>{main}( )</td><td title='/vagrant/public/index.php' bgcolor='#eeeeec'>../index.php<b>:</b>0</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>2</td><td bgcolor='#eeeeec' align='center'>0.6663</td><td bgcolor='#eeeeec' align='right'>7155080</td><td bgcolor='#eeeeec'>Icinga\Application\Web->dispatch( )</td><td title='/vagrant/public/index.php' bgcolor='#eeeeec'>../index.php<b>:</b>17</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>3</td><td bgcolor='#eeeeec' align='center'>0.6663</td><td bgcolor='#eeeeec' align='right'>7155080</td><td bgcolor='#eeeeec'>Zend_Controller_Front->dispatch( )</td><td title='/vagrant/library/Icinga/Application/Web.php' bgcolor='#eeeeec'>../Web.php<b>:</b>177</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>4</td><td bgcolor='#eeeeec' align='center'>0.6718</td><td bgcolor='#eeeeec' align='right'>7339544</td><td bgcolor='#eeeeec'>Zend_Controller_Dispatcher_Standard->dispatch( )</td><td title='/usr/share/php/Zend/Controller/Front.php' bgcolor='#eeeeec'>../Front.php<b>:</b>954</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>5</td><td bgcolor='#eeeeec' align='center'>0.7544</td><td bgcolor='#eeeeec' align='right'>9789672</td><td bgcolor='#eeeeec'>Zend_Controller_Action->dispatch( )</td><td title='/usr/share/php/Zend/Controller/Dispatcher/Standard.php' bgcolor='#eeeeec'>../Standard.php<b>:</b>308</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>6</td><td bgcolor='#eeeeec' align='center'>0.8547</td><td bgcolor='#eeeeec' align='right'>11070736</td><td bgcolor='#eeeeec'>Icinga\Web\Controller\ActionController->postDispatch( )</td><td title='/usr/share/php/Zend/Controller/Action.php' bgcolor='#eeeeec'>../Action.php<b>:</b>521</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>7</td><td bgcolor='#eeeeec' align='center'>0.8550</td><td bgcolor='#eeeeec' align='right'>11071712</td><td bgcolor='#eeeeec'>Icinga\Web\Controller\ActionController->sendAsPdfAndDie( )</td><td title='/vagrant/library/Icinga/Web/Controller/ActionController.php' bgcolor='#eeeeec'>../ActionController.php<b>:</b>244</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>8</td><td bgcolor='#eeeeec' align='center'>1.9930</td><td bgcolor='#eeeeec' align='right'>23228752</td><td bgcolor='#eeeeec'>Icinga\File\Pdf->renderPage( )</td><td title='/vagrant/library/Icinga/Web/Controller/ActionController.php' bgcolor='#eeeeec'>../ActionController.php<b>:</b>279</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>9</td><td bgcolor='#eeeeec' align='center'>2.0668</td><td bgcolor='#eeeeec' align='right'>23495800</td><td bgcolor='#eeeeec'>DOMPDF->render( )</td><td title='/vagrant/library/Icinga/File/Pdf.php' bgcolor='#eeeeec'>../Pdf.php<b>:</b>62</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>10</td><td bgcolor='#eeeeec' align='center'>9.0902</td><td bgcolor='#eeeeec' align='right'>49430472</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/dompdf.cls.php' bgcolor='#eeeeec'>../dompdf.cls.php<b>:</b>817</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>11</td><td bgcolor='#eeeeec' align='center'>9.0902</td><td bgcolor='#eeeeec' align='right'>49430520</td><td bgcolor='#eeeeec'>Page_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>12</td><td bgcolor='#eeeeec' align='center'>9.0910</td><td bgcolor='#eeeeec' align='right'>49432912</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/page_frame_reflower.cls.php' bgcolor='#eeeeec'>../page_frame_reflower.cls.php<b>:</b>138</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>13</td><td bgcolor='#eeeeec' align='center'>9.0910</td><td bgcolor='#eeeeec' align='right'>49432960</td><td bgcolor='#eeeeec'>Block_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>14</td><td bgcolor='#eeeeec' align='center'>9.2291</td><td bgcolor='#eeeeec' align='right'>49850600</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/block_frame_reflower.cls.php' bgcolor='#eeeeec'>../block_frame_reflower.cls.php<b>:</b>722</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>15</td><td bgcolor='#eeeeec' align='center'>9.2291</td><td bgcolor='#eeeeec' align='right'>49850600</td><td bgcolor='#eeeeec'>Block_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>16</td><td bgcolor='#eeeeec' align='center'>9.2338</td><td bgcolor='#eeeeec' align='right'>49873816</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/block_frame_reflower.cls.php' bgcolor='#eeeeec'>../block_frame_reflower.cls.php<b>:</b>722</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>17</td><td bgcolor='#eeeeec' align='center'>9.2338</td><td bgcolor='#eeeeec' align='right'>49873816</td><td bgcolor='#eeeeec'>Block_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>18</td><td bgcolor='#eeeeec' align='center'>9.2431</td><td bgcolor='#eeeeec' align='right'>49918440</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/block_frame_reflower.cls.php' bgcolor='#eeeeec'>../block_frame_reflower.cls.php<b>:</b>722</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>19</td><td bgcolor='#eeeeec' align='center'>9.2431</td><td bgcolor='#eeeeec' align='right'>49918440</td><td bgcolor='#eeeeec'>Block_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>20</td><td bgcolor='#eeeeec' align='center'>9.2999</td><td bgcolor='#eeeeec' align='right'>50176560</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/block_frame_reflower.cls.php' bgcolor='#eeeeec'>../block_frame_reflower.cls.php<b>:</b>722</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>21</td><td bgcolor='#eeeeec' align='center'>9.2999</td><td bgcolor='#eeeeec' align='right'>50176560</td><td bgcolor='#eeeeec'>Table_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
</table></font>
|
|
||||||
<br />
|
|
||||||
<font size='1'><table class='xdebug-error' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
|
|
||||||
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Notice: Undefined offset: 1 in /vagrant/library/vendor/dompdf/include/table_frame_reflower.cls.php on line <i>396</i></th></tr>
|
|
||||||
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
|
|
||||||
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0015</td><td bgcolor='#eeeeec' align='right'>634696</td><td bgcolor='#eeeeec'>{main}( )</td><td title='/vagrant/public/index.php' bgcolor='#eeeeec'>../index.php<b>:</b>0</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>2</td><td bgcolor='#eeeeec' align='center'>0.6663</td><td bgcolor='#eeeeec' align='right'>7155080</td><td bgcolor='#eeeeec'>Icinga\Application\Web->dispatch( )</td><td title='/vagrant/public/index.php' bgcolor='#eeeeec'>../index.php<b>:</b>17</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>3</td><td bgcolor='#eeeeec' align='center'>0.6663</td><td bgcolor='#eeeeec' align='right'>7155080</td><td bgcolor='#eeeeec'>Zend_Controller_Front->dispatch( )</td><td title='/vagrant/library/Icinga/Application/Web.php' bgcolor='#eeeeec'>../Web.php<b>:</b>177</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>4</td><td bgcolor='#eeeeec' align='center'>0.6718</td><td bgcolor='#eeeeec' align='right'>7339544</td><td bgcolor='#eeeeec'>Zend_Controller_Dispatcher_Standard->dispatch( )</td><td title='/usr/share/php/Zend/Controller/Front.php' bgcolor='#eeeeec'>../Front.php<b>:</b>954</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>5</td><td bgcolor='#eeeeec' align='center'>0.7544</td><td bgcolor='#eeeeec' align='right'>9789672</td><td bgcolor='#eeeeec'>Zend_Controller_Action->dispatch( )</td><td title='/usr/share/php/Zend/Controller/Dispatcher/Standard.php' bgcolor='#eeeeec'>../Standard.php<b>:</b>308</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>6</td><td bgcolor='#eeeeec' align='center'>0.8547</td><td bgcolor='#eeeeec' align='right'>11070736</td><td bgcolor='#eeeeec'>Icinga\Web\Controller\ActionController->postDispatch( )</td><td title='/usr/share/php/Zend/Controller/Action.php' bgcolor='#eeeeec'>../Action.php<b>:</b>521</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>7</td><td bgcolor='#eeeeec' align='center'>0.8550</td><td bgcolor='#eeeeec' align='right'>11071712</td><td bgcolor='#eeeeec'>Icinga\Web\Controller\ActionController->sendAsPdfAndDie( )</td><td title='/vagrant/library/Icinga/Web/Controller/ActionController.php' bgcolor='#eeeeec'>../ActionController.php<b>:</b>244</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>8</td><td bgcolor='#eeeeec' align='center'>1.9930</td><td bgcolor='#eeeeec' align='right'>23228752</td><td bgcolor='#eeeeec'>Icinga\File\Pdf->renderPage( )</td><td title='/vagrant/library/Icinga/Web/Controller/ActionController.php' bgcolor='#eeeeec'>../ActionController.php<b>:</b>279</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>9</td><td bgcolor='#eeeeec' align='center'>2.0668</td><td bgcolor='#eeeeec' align='right'>23495800</td><td bgcolor='#eeeeec'>DOMPDF->render( )</td><td title='/vagrant/library/Icinga/File/Pdf.php' bgcolor='#eeeeec'>../Pdf.php<b>:</b>62</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>10</td><td bgcolor='#eeeeec' align='center'>9.0902</td><td bgcolor='#eeeeec' align='right'>49430472</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/dompdf.cls.php' bgcolor='#eeeeec'>../dompdf.cls.php<b>:</b>817</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>11</td><td bgcolor='#eeeeec' align='center'>9.0902</td><td bgcolor='#eeeeec' align='right'>49430520</td><td bgcolor='#eeeeec'>Page_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>12</td><td bgcolor='#eeeeec' align='center'>9.0910</td><td bgcolor='#eeeeec' align='right'>49432912</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/page_frame_reflower.cls.php' bgcolor='#eeeeec'>../page_frame_reflower.cls.php<b>:</b>138</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>13</td><td bgcolor='#eeeeec' align='center'>9.0910</td><td bgcolor='#eeeeec' align='right'>49432960</td><td bgcolor='#eeeeec'>Block_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>14</td><td bgcolor='#eeeeec' align='center'>9.2291</td><td bgcolor='#eeeeec' align='right'>49850600</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/block_frame_reflower.cls.php' bgcolor='#eeeeec'>../block_frame_reflower.cls.php<b>:</b>722</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>15</td><td bgcolor='#eeeeec' align='center'>9.2291</td><td bgcolor='#eeeeec' align='right'>49850600</td><td bgcolor='#eeeeec'>Block_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>16</td><td bgcolor='#eeeeec' align='center'>9.2338</td><td bgcolor='#eeeeec' align='right'>49873816</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/block_frame_reflower.cls.php' bgcolor='#eeeeec'>../block_frame_reflower.cls.php<b>:</b>722</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>17</td><td bgcolor='#eeeeec' align='center'>9.2338</td><td bgcolor='#eeeeec' align='right'>49873816</td><td bgcolor='#eeeeec'>Block_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>18</td><td bgcolor='#eeeeec' align='center'>9.3083</td><td bgcolor='#eeeeec' align='right'>50220200</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/block_frame_reflower.cls.php' bgcolor='#eeeeec'>../block_frame_reflower.cls.php<b>:</b>722</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>19</td><td bgcolor='#eeeeec' align='center'>9.3083</td><td bgcolor='#eeeeec' align='right'>50220200</td><td bgcolor='#eeeeec'>Block_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>20</td><td bgcolor='#eeeeec' align='center'>9.3103</td><td bgcolor='#eeeeec' align='right'>50235768</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/block_frame_reflower.cls.php' bgcolor='#eeeeec'>../block_frame_reflower.cls.php<b>:</b>722</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>21</td><td bgcolor='#eeeeec' align='center'>9.3103</td><td bgcolor='#eeeeec' align='right'>50235768</td><td bgcolor='#eeeeec'>Table_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
</table></font>
|
|
||||||
<br />
|
|
||||||
<font size='1'><table class='xdebug-error' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
|
|
||||||
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Notice: Undefined offset: 1 in /vagrant/library/vendor/dompdf/include/table_frame_reflower.cls.php on line <i>396</i></th></tr>
|
|
||||||
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
|
|
||||||
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0015</td><td bgcolor='#eeeeec' align='right'>634696</td><td bgcolor='#eeeeec'>{main}( )</td><td title='/vagrant/public/index.php' bgcolor='#eeeeec'>../index.php<b>:</b>0</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>2</td><td bgcolor='#eeeeec' align='center'>0.6663</td><td bgcolor='#eeeeec' align='right'>7155080</td><td bgcolor='#eeeeec'>Icinga\Application\Web->dispatch( )</td><td title='/vagrant/public/index.php' bgcolor='#eeeeec'>../index.php<b>:</b>17</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>3</td><td bgcolor='#eeeeec' align='center'>0.6663</td><td bgcolor='#eeeeec' align='right'>7155080</td><td bgcolor='#eeeeec'>Zend_Controller_Front->dispatch( )</td><td title='/vagrant/library/Icinga/Application/Web.php' bgcolor='#eeeeec'>../Web.php<b>:</b>177</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>4</td><td bgcolor='#eeeeec' align='center'>0.6718</td><td bgcolor='#eeeeec' align='right'>7339544</td><td bgcolor='#eeeeec'>Zend_Controller_Dispatcher_Standard->dispatch( )</td><td title='/usr/share/php/Zend/Controller/Front.php' bgcolor='#eeeeec'>../Front.php<b>:</b>954</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>5</td><td bgcolor='#eeeeec' align='center'>0.7544</td><td bgcolor='#eeeeec' align='right'>9789672</td><td bgcolor='#eeeeec'>Zend_Controller_Action->dispatch( )</td><td title='/usr/share/php/Zend/Controller/Dispatcher/Standard.php' bgcolor='#eeeeec'>../Standard.php<b>:</b>308</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>6</td><td bgcolor='#eeeeec' align='center'>0.8547</td><td bgcolor='#eeeeec' align='right'>11070736</td><td bgcolor='#eeeeec'>Icinga\Web\Controller\ActionController->postDispatch( )</td><td title='/usr/share/php/Zend/Controller/Action.php' bgcolor='#eeeeec'>../Action.php<b>:</b>521</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>7</td><td bgcolor='#eeeeec' align='center'>0.8550</td><td bgcolor='#eeeeec' align='right'>11071712</td><td bgcolor='#eeeeec'>Icinga\Web\Controller\ActionController->sendAsPdfAndDie( )</td><td title='/vagrant/library/Icinga/Web/Controller/ActionController.php' bgcolor='#eeeeec'>../ActionController.php<b>:</b>244</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>8</td><td bgcolor='#eeeeec' align='center'>1.9930</td><td bgcolor='#eeeeec' align='right'>23228752</td><td bgcolor='#eeeeec'>Icinga\File\Pdf->renderPage( )</td><td title='/vagrant/library/Icinga/Web/Controller/ActionController.php' bgcolor='#eeeeec'>../ActionController.php<b>:</b>279</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>9</td><td bgcolor='#eeeeec' align='center'>2.0668</td><td bgcolor='#eeeeec' align='right'>23495800</td><td bgcolor='#eeeeec'>DOMPDF->render( )</td><td title='/vagrant/library/Icinga/File/Pdf.php' bgcolor='#eeeeec'>../Pdf.php<b>:</b>62</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>10</td><td bgcolor='#eeeeec' align='center'>9.0902</td><td bgcolor='#eeeeec' align='right'>49430472</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/dompdf.cls.php' bgcolor='#eeeeec'>../dompdf.cls.php<b>:</b>817</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>11</td><td bgcolor='#eeeeec' align='center'>9.0902</td><td bgcolor='#eeeeec' align='right'>49430520</td><td bgcolor='#eeeeec'>Page_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>12</td><td bgcolor='#eeeeec' align='center'>9.0910</td><td bgcolor='#eeeeec' align='right'>49432912</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/page_frame_reflower.cls.php' bgcolor='#eeeeec'>../page_frame_reflower.cls.php<b>:</b>138</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>13</td><td bgcolor='#eeeeec' align='center'>9.0910</td><td bgcolor='#eeeeec' align='right'>49432960</td><td bgcolor='#eeeeec'>Block_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>14</td><td bgcolor='#eeeeec' align='center'>9.2291</td><td bgcolor='#eeeeec' align='right'>49850600</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/block_frame_reflower.cls.php' bgcolor='#eeeeec'>../block_frame_reflower.cls.php<b>:</b>722</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>15</td><td bgcolor='#eeeeec' align='center'>9.2291</td><td bgcolor='#eeeeec' align='right'>49850600</td><td bgcolor='#eeeeec'>Block_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>16</td><td bgcolor='#eeeeec' align='center'>9.2338</td><td bgcolor='#eeeeec' align='right'>49873816</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/block_frame_reflower.cls.php' bgcolor='#eeeeec'>../block_frame_reflower.cls.php<b>:</b>722</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>17</td><td bgcolor='#eeeeec' align='center'>9.2338</td><td bgcolor='#eeeeec' align='right'>49873816</td><td bgcolor='#eeeeec'>Block_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>18</td><td bgcolor='#eeeeec' align='center'>9.3083</td><td bgcolor='#eeeeec' align='right'>50220200</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/block_frame_reflower.cls.php' bgcolor='#eeeeec'>../block_frame_reflower.cls.php<b>:</b>722</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>19</td><td bgcolor='#eeeeec' align='center'>9.3083</td><td bgcolor='#eeeeec' align='right'>50220200</td><td bgcolor='#eeeeec'>Block_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>20</td><td bgcolor='#eeeeec' align='center'>9.3170</td><td bgcolor='#eeeeec' align='right'>50278592</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/block_frame_reflower.cls.php' bgcolor='#eeeeec'>../block_frame_reflower.cls.php<b>:</b>722</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>21</td><td bgcolor='#eeeeec' align='center'>9.3170</td><td bgcolor='#eeeeec' align='right'>50278592</td><td bgcolor='#eeeeec'>Table_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
</table></font>
|
|
||||||
<br />
|
|
||||||
<font size='1'><table class='xdebug-error' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
|
|
||||||
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Notice: Undefined offset: 1 in /vagrant/library/vendor/dompdf/include/table_frame_reflower.cls.php on line <i>396</i></th></tr>
|
|
||||||
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
|
|
||||||
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0015</td><td bgcolor='#eeeeec' align='right'>634696</td><td bgcolor='#eeeeec'>{main}( )</td><td title='/vagrant/public/index.php' bgcolor='#eeeeec'>../index.php<b>:</b>0</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>2</td><td bgcolor='#eeeeec' align='center'>0.6663</td><td bgcolor='#eeeeec' align='right'>7155080</td><td bgcolor='#eeeeec'>Icinga\Application\Web->dispatch( )</td><td title='/vagrant/public/index.php' bgcolor='#eeeeec'>../index.php<b>:</b>17</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>3</td><td bgcolor='#eeeeec' align='center'>0.6663</td><td bgcolor='#eeeeec' align='right'>7155080</td><td bgcolor='#eeeeec'>Zend_Controller_Front->dispatch( )</td><td title='/vagrant/library/Icinga/Application/Web.php' bgcolor='#eeeeec'>../Web.php<b>:</b>177</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>4</td><td bgcolor='#eeeeec' align='center'>0.6718</td><td bgcolor='#eeeeec' align='right'>7339544</td><td bgcolor='#eeeeec'>Zend_Controller_Dispatcher_Standard->dispatch( )</td><td title='/usr/share/php/Zend/Controller/Front.php' bgcolor='#eeeeec'>../Front.php<b>:</b>954</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>5</td><td bgcolor='#eeeeec' align='center'>0.7544</td><td bgcolor='#eeeeec' align='right'>9789672</td><td bgcolor='#eeeeec'>Zend_Controller_Action->dispatch( )</td><td title='/usr/share/php/Zend/Controller/Dispatcher/Standard.php' bgcolor='#eeeeec'>../Standard.php<b>:</b>308</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>6</td><td bgcolor='#eeeeec' align='center'>0.8547</td><td bgcolor='#eeeeec' align='right'>11070736</td><td bgcolor='#eeeeec'>Icinga\Web\Controller\ActionController->postDispatch( )</td><td title='/usr/share/php/Zend/Controller/Action.php' bgcolor='#eeeeec'>../Action.php<b>:</b>521</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>7</td><td bgcolor='#eeeeec' align='center'>0.8550</td><td bgcolor='#eeeeec' align='right'>11071712</td><td bgcolor='#eeeeec'>Icinga\Web\Controller\ActionController->sendAsPdfAndDie( )</td><td title='/vagrant/library/Icinga/Web/Controller/ActionController.php' bgcolor='#eeeeec'>../ActionController.php<b>:</b>244</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>8</td><td bgcolor='#eeeeec' align='center'>1.9930</td><td bgcolor='#eeeeec' align='right'>23228752</td><td bgcolor='#eeeeec'>Icinga\File\Pdf->renderPage( )</td><td title='/vagrant/library/Icinga/Web/Controller/ActionController.php' bgcolor='#eeeeec'>../ActionController.php<b>:</b>279</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>9</td><td bgcolor='#eeeeec' align='center'>2.0668</td><td bgcolor='#eeeeec' align='right'>23495800</td><td bgcolor='#eeeeec'>DOMPDF->render( )</td><td title='/vagrant/library/Icinga/File/Pdf.php' bgcolor='#eeeeec'>../Pdf.php<b>:</b>62</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>10</td><td bgcolor='#eeeeec' align='center'>9.0902</td><td bgcolor='#eeeeec' align='right'>49430472</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/dompdf.cls.php' bgcolor='#eeeeec'>../dompdf.cls.php<b>:</b>817</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>11</td><td bgcolor='#eeeeec' align='center'>9.0902</td><td bgcolor='#eeeeec' align='right'>49430520</td><td bgcolor='#eeeeec'>Page_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>12</td><td bgcolor='#eeeeec' align='center'>9.0910</td><td bgcolor='#eeeeec' align='right'>49432912</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/page_frame_reflower.cls.php' bgcolor='#eeeeec'>../page_frame_reflower.cls.php<b>:</b>138</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>13</td><td bgcolor='#eeeeec' align='center'>9.0910</td><td bgcolor='#eeeeec' align='right'>49432960</td><td bgcolor='#eeeeec'>Block_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>14</td><td bgcolor='#eeeeec' align='center'>9.2291</td><td bgcolor='#eeeeec' align='right'>49850600</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/block_frame_reflower.cls.php' bgcolor='#eeeeec'>../block_frame_reflower.cls.php<b>:</b>722</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>15</td><td bgcolor='#eeeeec' align='center'>9.2291</td><td bgcolor='#eeeeec' align='right'>49850600</td><td bgcolor='#eeeeec'>Block_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>16</td><td bgcolor='#eeeeec' align='center'>9.2338</td><td bgcolor='#eeeeec' align='right'>49873816</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/block_frame_reflower.cls.php' bgcolor='#eeeeec'>../block_frame_reflower.cls.php<b>:</b>722</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>17</td><td bgcolor='#eeeeec' align='center'>9.2338</td><td bgcolor='#eeeeec' align='right'>49873816</td><td bgcolor='#eeeeec'>Block_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>18</td><td bgcolor='#eeeeec' align='center'>9.3246</td><td bgcolor='#eeeeec' align='right'>50312056</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/block_frame_reflower.cls.php' bgcolor='#eeeeec'>../block_frame_reflower.cls.php<b>:</b>722</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>19</td><td bgcolor='#eeeeec' align='center'>9.3247</td><td bgcolor='#eeeeec' align='right'>50312056</td><td bgcolor='#eeeeec'>Block_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>20</td><td bgcolor='#eeeeec' align='center'>9.3266</td><td bgcolor='#eeeeec' align='right'>50326968</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/block_frame_reflower.cls.php' bgcolor='#eeeeec'>../block_frame_reflower.cls.php<b>:</b>722</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>21</td><td bgcolor='#eeeeec' align='center'>9.3266</td><td bgcolor='#eeeeec' align='right'>50326968</td><td bgcolor='#eeeeec'>Table_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
</table></font>
|
|
||||||
<br />
|
|
||||||
<font size='1'><table class='xdebug-error' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
|
|
||||||
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Notice: Undefined offset: 1 in /vagrant/library/vendor/dompdf/include/table_frame_reflower.cls.php on line <i>396</i></th></tr>
|
|
||||||
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
|
|
||||||
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0015</td><td bgcolor='#eeeeec' align='right'>634696</td><td bgcolor='#eeeeec'>{main}( )</td><td title='/vagrant/public/index.php' bgcolor='#eeeeec'>../index.php<b>:</b>0</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>2</td><td bgcolor='#eeeeec' align='center'>0.6663</td><td bgcolor='#eeeeec' align='right'>7155080</td><td bgcolor='#eeeeec'>Icinga\Application\Web->dispatch( )</td><td title='/vagrant/public/index.php' bgcolor='#eeeeec'>../index.php<b>:</b>17</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>3</td><td bgcolor='#eeeeec' align='center'>0.6663</td><td bgcolor='#eeeeec' align='right'>7155080</td><td bgcolor='#eeeeec'>Zend_Controller_Front->dispatch( )</td><td title='/vagrant/library/Icinga/Application/Web.php' bgcolor='#eeeeec'>../Web.php<b>:</b>177</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>4</td><td bgcolor='#eeeeec' align='center'>0.6718</td><td bgcolor='#eeeeec' align='right'>7339544</td><td bgcolor='#eeeeec'>Zend_Controller_Dispatcher_Standard->dispatch( )</td><td title='/usr/share/php/Zend/Controller/Front.php' bgcolor='#eeeeec'>../Front.php<b>:</b>954</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>5</td><td bgcolor='#eeeeec' align='center'>0.7544</td><td bgcolor='#eeeeec' align='right'>9789672</td><td bgcolor='#eeeeec'>Zend_Controller_Action->dispatch( )</td><td title='/usr/share/php/Zend/Controller/Dispatcher/Standard.php' bgcolor='#eeeeec'>../Standard.php<b>:</b>308</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>6</td><td bgcolor='#eeeeec' align='center'>0.8547</td><td bgcolor='#eeeeec' align='right'>11070736</td><td bgcolor='#eeeeec'>Icinga\Web\Controller\ActionController->postDispatch( )</td><td title='/usr/share/php/Zend/Controller/Action.php' bgcolor='#eeeeec'>../Action.php<b>:</b>521</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>7</td><td bgcolor='#eeeeec' align='center'>0.8550</td><td bgcolor='#eeeeec' align='right'>11071712</td><td bgcolor='#eeeeec'>Icinga\Web\Controller\ActionController->sendAsPdfAndDie( )</td><td title='/vagrant/library/Icinga/Web/Controller/ActionController.php' bgcolor='#eeeeec'>../ActionController.php<b>:</b>244</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>8</td><td bgcolor='#eeeeec' align='center'>1.9930</td><td bgcolor='#eeeeec' align='right'>23228752</td><td bgcolor='#eeeeec'>Icinga\File\Pdf->renderPage( )</td><td title='/vagrant/library/Icinga/Web/Controller/ActionController.php' bgcolor='#eeeeec'>../ActionController.php<b>:</b>279</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>9</td><td bgcolor='#eeeeec' align='center'>2.0668</td><td bgcolor='#eeeeec' align='right'>23495800</td><td bgcolor='#eeeeec'>DOMPDF->render( )</td><td title='/vagrant/library/Icinga/File/Pdf.php' bgcolor='#eeeeec'>../Pdf.php<b>:</b>62</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>10</td><td bgcolor='#eeeeec' align='center'>9.0902</td><td bgcolor='#eeeeec' align='right'>49430472</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/dompdf.cls.php' bgcolor='#eeeeec'>../dompdf.cls.php<b>:</b>817</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>11</td><td bgcolor='#eeeeec' align='center'>9.0902</td><td bgcolor='#eeeeec' align='right'>49430520</td><td bgcolor='#eeeeec'>Page_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>12</td><td bgcolor='#eeeeec' align='center'>9.0910</td><td bgcolor='#eeeeec' align='right'>49432912</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/page_frame_reflower.cls.php' bgcolor='#eeeeec'>../page_frame_reflower.cls.php<b>:</b>138</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>13</td><td bgcolor='#eeeeec' align='center'>9.0910</td><td bgcolor='#eeeeec' align='right'>49432960</td><td bgcolor='#eeeeec'>Block_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>14</td><td bgcolor='#eeeeec' align='center'>9.2291</td><td bgcolor='#eeeeec' align='right'>49850600</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/block_frame_reflower.cls.php' bgcolor='#eeeeec'>../block_frame_reflower.cls.php<b>:</b>722</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>15</td><td bgcolor='#eeeeec' align='center'>9.2291</td><td bgcolor='#eeeeec' align='right'>49850600</td><td bgcolor='#eeeeec'>Block_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>16</td><td bgcolor='#eeeeec' align='center'>9.2338</td><td bgcolor='#eeeeec' align='right'>49873816</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/block_frame_reflower.cls.php' bgcolor='#eeeeec'>../block_frame_reflower.cls.php<b>:</b>722</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>17</td><td bgcolor='#eeeeec' align='center'>9.2338</td><td bgcolor='#eeeeec' align='right'>49873816</td><td bgcolor='#eeeeec'>Block_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>18</td><td bgcolor='#eeeeec' align='center'>9.3246</td><td bgcolor='#eeeeec' align='right'>50312056</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/block_frame_reflower.cls.php' bgcolor='#eeeeec'>../block_frame_reflower.cls.php<b>:</b>722</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>19</td><td bgcolor='#eeeeec' align='center'>9.3247</td><td bgcolor='#eeeeec' align='right'>50312056</td><td bgcolor='#eeeeec'>Block_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>20</td><td bgcolor='#eeeeec' align='center'>9.3367</td><td bgcolor='#eeeeec' align='right'>50378088</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/block_frame_reflower.cls.php' bgcolor='#eeeeec'>../block_frame_reflower.cls.php<b>:</b>722</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>21</td><td bgcolor='#eeeeec' align='center'>9.3367</td><td bgcolor='#eeeeec' align='right'>50378088</td><td bgcolor='#eeeeec'>Table_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
</table></font>
|
|
||||||
<br />
|
|
||||||
<font size='1'><table class='xdebug-error' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
|
|
||||||
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Notice: Undefined offset: 1 in /vagrant/library/vendor/dompdf/include/table_frame_reflower.cls.php on line <i>396</i></th></tr>
|
|
||||||
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
|
|
||||||
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0015</td><td bgcolor='#eeeeec' align='right'>634696</td><td bgcolor='#eeeeec'>{main}( )</td><td title='/vagrant/public/index.php' bgcolor='#eeeeec'>../index.php<b>:</b>0</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>2</td><td bgcolor='#eeeeec' align='center'>0.6663</td><td bgcolor='#eeeeec' align='right'>7155080</td><td bgcolor='#eeeeec'>Icinga\Application\Web->dispatch( )</td><td title='/vagrant/public/index.php' bgcolor='#eeeeec'>../index.php<b>:</b>17</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>3</td><td bgcolor='#eeeeec' align='center'>0.6663</td><td bgcolor='#eeeeec' align='right'>7155080</td><td bgcolor='#eeeeec'>Zend_Controller_Front->dispatch( )</td><td title='/vagrant/library/Icinga/Application/Web.php' bgcolor='#eeeeec'>../Web.php<b>:</b>177</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>4</td><td bgcolor='#eeeeec' align='center'>0.6718</td><td bgcolor='#eeeeec' align='right'>7339544</td><td bgcolor='#eeeeec'>Zend_Controller_Dispatcher_Standard->dispatch( )</td><td title='/usr/share/php/Zend/Controller/Front.php' bgcolor='#eeeeec'>../Front.php<b>:</b>954</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>5</td><td bgcolor='#eeeeec' align='center'>0.7544</td><td bgcolor='#eeeeec' align='right'>9789672</td><td bgcolor='#eeeeec'>Zend_Controller_Action->dispatch( )</td><td title='/usr/share/php/Zend/Controller/Dispatcher/Standard.php' bgcolor='#eeeeec'>../Standard.php<b>:</b>308</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>6</td><td bgcolor='#eeeeec' align='center'>0.8547</td><td bgcolor='#eeeeec' align='right'>11070736</td><td bgcolor='#eeeeec'>Icinga\Web\Controller\ActionController->postDispatch( )</td><td title='/usr/share/php/Zend/Controller/Action.php' bgcolor='#eeeeec'>../Action.php<b>:</b>521</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>7</td><td bgcolor='#eeeeec' align='center'>0.8550</td><td bgcolor='#eeeeec' align='right'>11071712</td><td bgcolor='#eeeeec'>Icinga\Web\Controller\ActionController->sendAsPdfAndDie( )</td><td title='/vagrant/library/Icinga/Web/Controller/ActionController.php' bgcolor='#eeeeec'>../ActionController.php<b>:</b>244</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>8</td><td bgcolor='#eeeeec' align='center'>1.9930</td><td bgcolor='#eeeeec' align='right'>23228752</td><td bgcolor='#eeeeec'>Icinga\File\Pdf->renderPage( )</td><td title='/vagrant/library/Icinga/Web/Controller/ActionController.php' bgcolor='#eeeeec'>../ActionController.php<b>:</b>279</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>9</td><td bgcolor='#eeeeec' align='center'>2.0668</td><td bgcolor='#eeeeec' align='right'>23495800</td><td bgcolor='#eeeeec'>DOMPDF->render( )</td><td title='/vagrant/library/Icinga/File/Pdf.php' bgcolor='#eeeeec'>../Pdf.php<b>:</b>62</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>10</td><td bgcolor='#eeeeec' align='center'>9.0902</td><td bgcolor='#eeeeec' align='right'>49430472</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/dompdf.cls.php' bgcolor='#eeeeec'>../dompdf.cls.php<b>:</b>817</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>11</td><td bgcolor='#eeeeec' align='center'>9.0902</td><td bgcolor='#eeeeec' align='right'>49430520</td><td bgcolor='#eeeeec'>Page_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>12</td><td bgcolor='#eeeeec' align='center'>9.0910</td><td bgcolor='#eeeeec' align='right'>49432912</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/page_frame_reflower.cls.php' bgcolor='#eeeeec'>../page_frame_reflower.cls.php<b>:</b>138</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>13</td><td bgcolor='#eeeeec' align='center'>9.0910</td><td bgcolor='#eeeeec' align='right'>49432960</td><td bgcolor='#eeeeec'>Block_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>14</td><td bgcolor='#eeeeec' align='center'>9.2291</td><td bgcolor='#eeeeec' align='right'>49850600</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/block_frame_reflower.cls.php' bgcolor='#eeeeec'>../block_frame_reflower.cls.php<b>:</b>722</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>15</td><td bgcolor='#eeeeec' align='center'>9.2291</td><td bgcolor='#eeeeec' align='right'>49850600</td><td bgcolor='#eeeeec'>Block_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>16</td><td bgcolor='#eeeeec' align='center'>9.2338</td><td bgcolor='#eeeeec' align='right'>49873816</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/block_frame_reflower.cls.php' bgcolor='#eeeeec'>../block_frame_reflower.cls.php<b>:</b>722</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>17</td><td bgcolor='#eeeeec' align='center'>9.2338</td><td bgcolor='#eeeeec' align='right'>49873816</td><td bgcolor='#eeeeec'>Block_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>18</td><td bgcolor='#eeeeec' align='center'>9.3442</td><td bgcolor='#eeeeec' align='right'>50422280</td><td bgcolor='#eeeeec'>Frame_Decorator->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/block_frame_reflower.cls.php' bgcolor='#eeeeec'>../block_frame_reflower.cls.php<b>:</b>722</td></tr>
|
|
||||||
<tr><td bgcolor='#eeeeec' align='center'>19</td><td bgcolor='#eeeeec' align='center'>9.3442</td><td bgcolor='#eeeeec' align='right'>50422280</td><td bgcolor='#eeeeec'>Table_Frame_Reflower->reflow( )</td><td title='/vagrant/library/vendor/dompdf/include/frame_decorator.cls.php' bgcolor='#eeeeec'>../frame_decorator.cls.php<b>:</b>556</td></tr>
|
|
||||||
</table></font>
|
|
|
@ -147,7 +147,7 @@ class Monitoring_ChartController extends Controller
|
||||||
->setXAxis(new StaticAxis())
|
->setXAxis(new StaticAxis())
|
||||||
->setAxisMin(null, 0);
|
->setAxisMin(null, 0);
|
||||||
|
|
||||||
$tooltip = t('<b>{title}:</b><br />{value} of {sum} services are {label}');
|
$tooltip = t('<b>{title}:</b><br>{value} of {sum} services are {label}');
|
||||||
$this->view->chart->drawBars(
|
$this->view->chart->drawBars(
|
||||||
array(
|
array(
|
||||||
'label' => t('Ok'),
|
'label' => t('Ok'),
|
||||||
|
@ -199,7 +199,7 @@ class Monitoring_ChartController extends Controller
|
||||||
$hostgroup->hosts_unreachable_unhandled
|
$hostgroup->hosts_unreachable_unhandled
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
$tooltip = t('<b>{title}:</b><br /> {value} of {sum} hosts are {label}');
|
$tooltip = t('<b>{title}:</b><br> {value} of {sum} hosts are {label}');
|
||||||
$this->view->chart = new GridChart();
|
$this->view->chart = new GridChart();
|
||||||
$this->view->chart->alignTopLeft();
|
$this->view->chart->alignTopLeft();
|
||||||
$this->view->chart->setAxisLabel('', t('Hosts'))
|
$this->view->chart->setAxisLabel('', t('Hosts'))
|
||||||
|
|
|
@ -4,7 +4,6 @@
|
||||||
|
|
||||||
use Icinga\Module\Monitoring\Controller;
|
use Icinga\Module\Monitoring\Controller;
|
||||||
use Icinga\Module\Monitoring\Backend;
|
use Icinga\Module\Monitoring\Backend;
|
||||||
use Icinga\Module\Monitoring\DataView\DataView;
|
|
||||||
use Icinga\Web\Url;
|
use Icinga\Web\Url;
|
||||||
use Icinga\Web\Hook;
|
use Icinga\Web\Hook;
|
||||||
use Icinga\Web\Widget\Tabextension\DashboardAction;
|
use Icinga\Web\Widget\Tabextension\DashboardAction;
|
||||||
|
@ -236,6 +235,25 @@ class Monitoring_ListController extends Controller
|
||||||
// TODO: Workaround, paginate should be able to fetch limit from new params
|
// TODO: Workaround, paginate should be able to fetch limit from new params
|
||||||
$this->view->services = $query->paginate($this->params->get('limit'));
|
$this->view->services = $query->paginate($this->params->get('limit'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$this->view->stats = $this->backend->select()->from('statusSummary', array(
|
||||||
|
'services_total',
|
||||||
|
'services_ok',
|
||||||
|
'services_problem',
|
||||||
|
'services_problem_handled',
|
||||||
|
'services_problem_unhandled',
|
||||||
|
'services_critical',
|
||||||
|
'services_critical_unhandled',
|
||||||
|
'services_critical_handled',
|
||||||
|
'services_warning',
|
||||||
|
'services_warning_unhandled',
|
||||||
|
'services_warning_handled',
|
||||||
|
'services_unknown',
|
||||||
|
'services_unknown_unhandled',
|
||||||
|
'services_unknown_handled',
|
||||||
|
'services_pending',
|
||||||
|
))->getQuery()->fetchRow();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -490,7 +508,7 @@ class Monitoring_ListController extends Controller
|
||||||
));
|
));
|
||||||
|
|
||||||
$this->setupSortControl(array(
|
$this->setupSortControl(array(
|
||||||
'raw_timestamp' => 'Occurence'
|
'timestamp' => 'Occurence'
|
||||||
));
|
));
|
||||||
$this->applyFilters($query);
|
$this->applyFilters($query);
|
||||||
$this->view->history = $query->paginate();
|
$this->view->history = $query->paginate();
|
||||||
|
@ -500,19 +518,19 @@ class Monitoring_ListController extends Controller
|
||||||
{
|
{
|
||||||
$this->addTitleTab('servicematrix');
|
$this->addTitleTab('servicematrix');
|
||||||
$this->setAutorefreshInterval(15);
|
$this->setAutorefreshInterval(15);
|
||||||
$dataview = $this->backend->select()->from('serviceStatus', array(
|
$query = $this->backend->select()->from('serviceStatus', array(
|
||||||
'host_name',
|
'host_name',
|
||||||
'service_description',
|
'service_description',
|
||||||
'service_state',
|
'service_state',
|
||||||
'service_output',
|
'service_output',
|
||||||
'service_handled'
|
'service_handled'
|
||||||
));
|
));
|
||||||
$this->applyFilters($dataview);
|
$this->applyFilters($query);
|
||||||
$this->setupSortControl(array(
|
$this->setupSortControl(array(
|
||||||
'host_name' => 'Hostname',
|
'host_name' => 'Hostname',
|
||||||
'service_description' => 'Service description'
|
'service_description' => 'Service description'
|
||||||
));
|
));
|
||||||
$pivot = $dataview->pivot('service_description', 'host_name');
|
$pivot = $query->pivot('service_description', 'host_name');
|
||||||
$this->view->pivot = $pivot;
|
$this->view->pivot = $pivot;
|
||||||
$this->view->horizontalPaginator = $pivot->paginateXAxis();
|
$this->view->horizontalPaginator = $pivot->paginateXAxis();
|
||||||
$this->view->verticalPaginator = $pivot->paginateYAxis();
|
$this->view->verticalPaginator = $pivot->paginateYAxis();
|
||||||
|
@ -572,10 +590,6 @@ class Monitoring_ListController extends Controller
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Apply current user's `monitoring/filter' restrictions on the given data view
|
* Apply current user's `monitoring/filter' restrictions on the given data view
|
||||||
*
|
|
||||||
* @param DataView $dataView
|
|
||||||
*
|
|
||||||
* @return DataView
|
|
||||||
*/
|
*/
|
||||||
protected function applyRestrictions($query)
|
protected function applyRestrictions($query)
|
||||||
{
|
{
|
||||||
|
|
|
@ -70,6 +70,7 @@ class Monitoring_ShowController extends Controller
|
||||||
if ($this->grapher) {
|
if ($this->grapher) {
|
||||||
$this->view->grapherHtml = $this->grapher->getPreviewHtml($o);
|
$this->view->grapherHtml = $this->grapher->getPreviewHtml($o);
|
||||||
}
|
}
|
||||||
|
$this->fetchHostStats();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -85,6 +86,7 @@ class Monitoring_ShowController extends Controller
|
||||||
if ($this->grapher) {
|
if ($this->grapher) {
|
||||||
$this->view->grapherHtml = $this->grapher->getPreviewHtml($o);
|
$this->view->grapherHtml = $this->grapher->getPreviewHtml($o);
|
||||||
}
|
}
|
||||||
|
$this->fetchHostStats();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function historyAction()
|
public function historyAction()
|
||||||
|
@ -94,6 +96,7 @@ class Monitoring_ShowController extends Controller
|
||||||
$this->view->object->fetchEventHistory();
|
$this->view->object->fetchEventHistory();
|
||||||
$this->view->history = $this->view->object->eventhistory->paginate($this->params->get('limit', 50));
|
$this->view->history = $this->view->object->eventhistory->paginate($this->params->get('limit', 50));
|
||||||
$this->handleFormatRequest($this->view->object->eventhistory);
|
$this->handleFormatRequest($this->view->object->eventhistory);
|
||||||
|
$this->fetchHostStats();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function servicesAction()
|
public function servicesAction()
|
||||||
|
@ -106,6 +109,28 @@ class Monitoring_ShowController extends Controller
|
||||||
'view' => 'compact',
|
'view' => 'compact',
|
||||||
'sort' => 'service_description',
|
'sort' => 'service_description',
|
||||||
));
|
));
|
||||||
|
$this->fetchHostStats();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function fetchHostStats()
|
||||||
|
{
|
||||||
|
$this->view->stats = $this->backend->select()->from('statusSummary', array(
|
||||||
|
'services_total',
|
||||||
|
'services_ok',
|
||||||
|
'services_problem',
|
||||||
|
'services_problem_handled',
|
||||||
|
'services_problem_unhandled',
|
||||||
|
'services_critical',
|
||||||
|
'services_critical_unhandled',
|
||||||
|
'services_critical_handled',
|
||||||
|
'services_warning',
|
||||||
|
'services_warning_unhandled',
|
||||||
|
'services_warning_handled',
|
||||||
|
'services_unknown',
|
||||||
|
'services_unknown_unhandled',
|
||||||
|
'services_unknown_handled',
|
||||||
|
'services_pending',
|
||||||
|
))->where('service_host_name', $this->params->get('host'))->getQuery()->fetchRow();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function contactAction()
|
public function contactAction()
|
||||||
|
|
|
@ -1493,7 +1493,7 @@ msgstr "UP"
|
||||||
|
|
||||||
#: /usr/local/src/bugfix.master/modules/monitoring/application/views/scripts/list/components/servicesummary.phtml:23
|
#: /usr/local/src/bugfix.master/modules/monitoring/application/views/scripts/list/components/servicesummary.phtml:23
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "Unandled services with state %s"
|
msgid "Unhandled services with state %s"
|
||||||
msgstr "Unbestätigte Services mit Status %s"
|
msgstr "Unbestätigte Services mit Status %s"
|
||||||
|
|
||||||
#: /usr/local/src/bugfix.master/modules/monitoring/configuration.php:29
|
#: /usr/local/src/bugfix.master/modules/monitoring/configuration.php:29
|
||||||
|
|
|
@ -85,7 +85,7 @@ $helper = $this->getHelper('CommandForm');
|
||||||
<br>
|
<br>
|
||||||
<?= $comment->expiration ? sprintf(
|
<?= $comment->expiration ? sprintf(
|
||||||
$this->translate('This comment expires on %s at %s.'),
|
$this->translate('This comment expires on %s at %s.'),
|
||||||
date('d.m.y', $comment-expiration),
|
date('d.m.y', $comment->expiration),
|
||||||
date('H:i', $comment->expiration)
|
date('H:i', $comment->expiration)
|
||||||
) : $this->translate('This comment does not expire.'); ?>
|
) : $this->translate('This comment does not expire.'); ?>
|
||||||
</td>
|
</td>
|
||||||
|
@ -111,4 +111,4 @@ $helper = $this->getHelper('CommandForm');
|
||||||
<?php endforeach ?>
|
<?php endforeach ?>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -0,0 +1,80 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use Icinga\Web\Url;
|
||||||
|
$selfUrl = 'monitoring/list/services';
|
||||||
|
$currentUrl = Url::fromRequest()->getRelativeUrl();
|
||||||
|
|
||||||
|
?><h3 class="tinystatesummary" <?= $this->compact ? ' data-base-target="col1"' : '' ?>>
|
||||||
|
<?= $this->qlink(sprintf($this->translate('%s services:'), $this->stats->services_total), $selfUrl) ?>
|
||||||
|
<span class="state ok<?= $currentUrl === Url::fromPath($selfUrl, array('service_state' => 0))->getRelativeUrl() ? ' active' : '' ?>"><?= $this->qlink(
|
||||||
|
$this->stats->services_ok,
|
||||||
|
$selfUrl,
|
||||||
|
array('service_state' => 0),
|
||||||
|
array('title' => sprintf($this->translate('Services with state %s'), strtoupper($this->translate('ok'))))
|
||||||
|
) ?></span>
|
||||||
|
<?php
|
||||||
|
|
||||||
|
foreach (array(2 => 'critical', 3 => 'unknown', 1 => 'warning') as $stateId => $state) {
|
||||||
|
$pre = 'services_' . $state;
|
||||||
|
if ($this->stats->$pre) {
|
||||||
|
$handled = $pre . '_handled';
|
||||||
|
$unhandled = $pre . '_unhandled';
|
||||||
|
$paramsHandled = array('service_state' => $stateId, 'service_handled' => 1);
|
||||||
|
$paramsUnhandled = array('service_state' => $stateId, 'service_handled' => 0);
|
||||||
|
if ($this->stats->$unhandled) {
|
||||||
|
$compareUrl = Url::fromPath($selfUrl, $paramsUnhandled)->getRelativeUrl();
|
||||||
|
} else {
|
||||||
|
$compareUrl = Url::fromPath($selfUrl, $paramsHandled)->getRelativeUrl();
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($compareUrl === $currentUrl) {
|
||||||
|
$active = ' active';
|
||||||
|
} else {
|
||||||
|
$active = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
echo '<span class="state ' . $state . $active . ($this->stats->$unhandled ? '' : ' handled') . '">';
|
||||||
|
if ($this->stats->$unhandled) {
|
||||||
|
|
||||||
|
echo $this->qlink(
|
||||||
|
$this->stats->$unhandled,
|
||||||
|
$selfUrl,
|
||||||
|
$paramsUnhandled,
|
||||||
|
array('title' => sprintf($this->translate('Unhandled services with state %s'), strtoupper($this->translate($state))))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if ($this->stats->$handled) {
|
||||||
|
|
||||||
|
if (Url::fromPath($selfUrl, $paramsHandled)->getRelativeUrl() === $currentUrl) {
|
||||||
|
$active = ' active';
|
||||||
|
} else {
|
||||||
|
$active = '';
|
||||||
|
}
|
||||||
|
if ($this->stats->$unhandled) {
|
||||||
|
echo '<span class="state handled ' . $state . $active . '">';
|
||||||
|
}
|
||||||
|
echo $this->qlink(
|
||||||
|
$this->stats->$handled,
|
||||||
|
$selfUrl,
|
||||||
|
$paramsHandled,
|
||||||
|
array('title' => sprintf($this->translate('Handled services with state %s'), strtoupper($this->translate($state))))
|
||||||
|
);
|
||||||
|
if ($this->stats->$unhandled) {
|
||||||
|
echo "</span>\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
echo "</span>\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
||||||
|
<?php if ($this->stats->services_pending): ?>
|
||||||
|
<span class="state pending<?= $currentUrl === Url::fromPath($selfUrl, array('service_state' => 99))->getRelativeUrl() ? ' active' : '' ?>"><?= $this->qlink(
|
||||||
|
$this->stats->services_pending,
|
||||||
|
$selfUrl,
|
||||||
|
array('service_state' => 99),
|
||||||
|
array('title' => sprintf($this->translate('Services with state %s'), strtoupper($this->translate('pending'))))
|
||||||
|
) ?></span>
|
||||||
|
<?php endif ?>
|
||||||
|
</h3>
|
||||||
|
|
|
@ -81,14 +81,14 @@ if ($hosts->count() === 0) {
|
||||||
<tr class="state <?= $hostStateName ?><?= $host->host_handled ? ' handled' : '' ?>">
|
<tr class="state <?= $hostStateName ?><?= $host->host_handled ? ' handled' : '' ?>">
|
||||||
<!-- State -->
|
<!-- State -->
|
||||||
<td class="state" title="<?= $helper->getStateTitle($host, 'host') ?>">
|
<td class="state" title="<?= $helper->getStateTitle($host, 'host') ?>">
|
||||||
<?php if (! $this->compact): ?>
|
|
||||||
<strong><?= ucfirst($helper->monitoringState($host, 'host')) ?></strong><br />
|
<strong><?= ucfirst($helper->monitoringState($host, 'host')) ?></strong><br />
|
||||||
<?php endif ?>
|
<?php if ((int) $host->host_state !== 99): ?>
|
||||||
<?= $this->prefixedTimeSince($host->host_last_state_change, true) ?>
|
<?= $this->prefixedTimeSince($host->host_last_state_change, true) ?>
|
||||||
<?php if ($host->host_state > 0 && (int) $host->host_state_type === 0): ?>
|
<?php if ($host->host_state > 0 && (int) $host->host_state_type === 0): ?>
|
||||||
<br />
|
<br />
|
||||||
<strong>Soft <?= $host->host_attempt ?></strong>
|
<strong>Soft <?= $host->host_attempt ?></strong>
|
||||||
<?php endif ?>
|
<?php endif ?>
|
||||||
|
<?php endif ?>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
<!-- Host / Status / Output -->
|
<!-- Host / Status / Output -->
|
||||||
|
|
|
@ -1,15 +1,13 @@
|
||||||
|
|
||||||
<?php if (!$this->compact): ?>
|
<?php if (!$this->compact): ?>
|
||||||
<div class="controls">
|
<div class="controls">
|
||||||
<?= $this->tabs ?>
|
<?= $this->tabs ?>
|
||||||
<div class="dontprint">
|
<div class="dontprint" style="margin: 1em;">
|
||||||
<?= $this->translate('Sort by') ?> <?= $this->sortControl->render($this) ?>
|
<?= $this->translate('Sort by') ?> <?= $this->sortControl->render($this) ?>
|
||||||
<?= $this->selectionToolbar('single') ?>
|
</div>
|
||||||
</div>
|
<?= $this->widget('limiter') ?>
|
||||||
<?= $this->widget('limiter') ?>
|
<?= $this->paginationControl($notifications, null, null, array('preserve' => $this->preserve)) ?>
|
||||||
<?php if ($notifications->count() >= 100): ?><br /><?php endif ?>
|
</div>
|
||||||
<?= $this->paginationControl($notifications, null, null, array('preserve' => $this->preserve)) ?>
|
|
||||||
</div>
|
|
||||||
<?php endif ?>
|
<?php endif ?>
|
||||||
|
|
||||||
<div class="content">
|
<div class="content">
|
||||||
|
@ -47,7 +45,7 @@ foreach ($notifications as $notification):
|
||||||
?>
|
?>
|
||||||
<tr class="state <?= $stateName ?>">
|
<tr class="state <?= $stateName ?>">
|
||||||
<td class="state"><?= $this->timeSince($notification->notification_start_time) ?></td>
|
<td class="state"><?= $this->timeSince($notification->notification_start_time) ?></td>
|
||||||
<td>
|
<td style="font-size: 0.8em">
|
||||||
<?php if ($isService): ?>
|
<?php if ($isService): ?>
|
||||||
<a href="<?= $href ?>"><?= $notification->service ?></a> on <?= $notification->host ?>
|
<a href="<?= $href ?>"><?= $notification->service ?></a> on <?= $notification->host ?>
|
||||||
<?php else: ?>
|
<?php else: ?>
|
||||||
|
@ -56,12 +54,14 @@ foreach ($notifications as $notification):
|
||||||
<br />
|
<br />
|
||||||
<?= $this->escape(substr(strip_tags($notification->notification_output), 0, 10000)); ?>
|
<?= $this->escape(substr(strip_tags($notification->notification_output), 0, 10000)); ?>
|
||||||
<br />
|
<br />
|
||||||
|
<?php if (!$this->contact): ?>
|
||||||
<small>
|
<small>
|
||||||
Sent to <a href="<?= $this->href(
|
Sent to <a href="<?= $this->href(
|
||||||
'monitoring/show/contact',
|
'monitoring/show/contact',
|
||||||
array('contact' => $notification->notification_contact)
|
array('contact' => $notification->notification_contact)
|
||||||
) ?>"><?= $this->escape($notification->notification_contact) ?></a>
|
) ?>"><?= $this->escape($notification->notification_contact) ?></a>
|
||||||
</small>
|
</small>
|
||||||
|
<?php endif ?>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<?php endforeach ?>
|
<?php endforeach ?>
|
||||||
|
|
|
@ -1,10 +1,13 @@
|
||||||
<?php
|
<?php
|
||||||
$helper = $this->getHelper('MonitoringState');
|
$helper = $this->getHelper('MonitoringState');
|
||||||
|
|
||||||
|
$selfUrl = 'monitoring/list/services';
|
||||||
|
|
||||||
if (!$this->compact): ?>
|
if (!$this->compact): ?>
|
||||||
<div class="controls">
|
<div class="controls">
|
||||||
<?= $this->tabs ?>
|
<?= $this->tabs ?>
|
||||||
<div style="margin: 1em;" class="dontprint">
|
<div style="margin: 1em;" class="dontprint">
|
||||||
|
<?= $this->render('list/components/servicesummary.phtml') ?>
|
||||||
<?= $this->translate('Sort by') ?> <?= $this->sortControl ?>
|
<?= $this->translate('Sort by') ?> <?= $this->sortControl ?>
|
||||||
<?php if (! $this->filterEditor): ?>
|
<?php if (! $this->filterEditor): ?>
|
||||||
<?= $this->filterPreview ?>
|
<?= $this->filterPreview ?>
|
||||||
|
@ -21,6 +24,9 @@ if (!$this->compact): ?>
|
||||||
|
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<?= $this->filterEditor ?>
|
<?= $this->filterEditor ?>
|
||||||
|
<?php else: ?>
|
||||||
|
|
||||||
|
<div class="content">
|
||||||
<?php endif ?>
|
<?php endif ?>
|
||||||
<table data-base-target="_next"
|
<table data-base-target="_next"
|
||||||
class="action multiselect <?php if ($this->compact): ?> compact<?php endif ?>" style="table-layout: auto;"
|
class="action multiselect <?php if ($this->compact): ?> compact<?php endif ?>" style="table-layout: auto;"
|
||||||
|
@ -113,6 +119,4 @@ foreach ($services as $service):
|
||||||
<?php endforeach ?>
|
<?php endforeach ?>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<?php if (!$this->compact): ?>
|
|
||||||
</div>
|
</div>
|
||||||
<?php endif ?>
|
|
||||||
|
|
|
@ -1,11 +1,15 @@
|
||||||
<div class="controls">
|
<?php
|
||||||
|
|
||||||
|
use Icinga\Data\Filter\Filter;
|
||||||
|
|
||||||
|
?><div class="controls">
|
||||||
<?= $this->tabs ?>
|
<?= $this->tabs ?>
|
||||||
<h1>History - Critical Events</h1>
|
<h1>History - Critical Events</h1>
|
||||||
</div>
|
</div>
|
||||||
<div class="content" data-base-target="_next">
|
<div class="content" data-base-target="_next">
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
$grid->setColor('#FC0707');
|
$grid->setColor('#f05060');
|
||||||
$data = array();
|
$data = array();
|
||||||
|
|
||||||
if (count($summary) === 0) {
|
if (count($summary) === 0) {
|
||||||
|
@ -16,19 +20,20 @@ foreach ($summary as $entry) {
|
||||||
$value = $entry->cnt_critical;
|
$value = $entry->cnt_critical;
|
||||||
$caption = $value . ' ' .
|
$caption = $value . ' ' .
|
||||||
t('critical events on ') . $this->dateFormat()->formatDate(strtotime($day));
|
t('critical events on ') . $this->dateFormat()->formatDate(strtotime($day));
|
||||||
|
$filter = Filter::matchAll(
|
||||||
|
Filter::expression('timestamp', '<', strtotime($day . ' 23:59:59')),
|
||||||
|
Filter::expression('timestamp', '>', strtotime($day . ' 00:00:00')),
|
||||||
|
Filter::expression('object_type', '=', 'service'),
|
||||||
|
Filter::expression('state', '=', '2'),
|
||||||
|
Filter::matchAny(
|
||||||
|
Filter::expression('type', '=', 'hard_state'),
|
||||||
|
Filter::expression('type', '=', 'hard_state')
|
||||||
|
)
|
||||||
|
);
|
||||||
$data[$day] = array(
|
$data[$day] = array(
|
||||||
'value' => $value,
|
'value' => $value,
|
||||||
'caption' => $caption,
|
'caption' => $caption,
|
||||||
'url' => $this->href(
|
'url' => $this->href('monitoring/list/eventhistory?' . $filter->toQueryString())
|
||||||
'monitoring/list/eventhistory',
|
|
||||||
array(
|
|
||||||
'timestamp<' => strtotime($day . ' 23:59:59'),
|
|
||||||
'timestamp>' => strtotime($day . ' 00:00:00'),
|
|
||||||
'object_type' => 'service',
|
|
||||||
'state' => '2',
|
|
||||||
'type' => '(hard_state|soft_state)'
|
|
||||||
)
|
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
$grid->setData($data);
|
$grid->setData($data);
|
||||||
|
|
|
@ -0,0 +1,83 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use Icinga\Web\Url;
|
||||||
|
$selfUrl = Url::fromPath('monitoring/show/services', array('host' => $this->object->host_name));
|
||||||
|
$currentUrl = Url::fromRequest()->without('limit')->getRelativeUrl();
|
||||||
|
|
||||||
|
?>
|
||||||
|
<h3 class="tinystatesummary" <?= $this->compact ? ' data-base-target="col1"' : '' ?>>
|
||||||
|
<?= $this->qlink(sprintf($this->translate('%s service configured:'), $this->stats->services_total), $selfUrl) ?>
|
||||||
|
<?php if ($this->stats->services_ok > 0): ?>
|
||||||
|
<span class="state ok<?= $currentUrl === $selfUrl->with('service_state', 0)->getRelativeUrl() ? ' active' : '' ?>"><?= $this->qlink(
|
||||||
|
$this->stats->services_ok,
|
||||||
|
$selfUrl,
|
||||||
|
array('service_state' => 0),
|
||||||
|
array('title' => sprintf($this->translate('Services with state %s'), strtoupper($this->translate('ok'))))
|
||||||
|
) ?></span>
|
||||||
|
<?php endif ?>
|
||||||
|
<?php
|
||||||
|
|
||||||
|
foreach (array(2 => 'critical', 3 => 'unknown', 1 => 'warning') as $stateId => $state) {
|
||||||
|
$pre = 'services_' . $state;
|
||||||
|
if ($this->stats->$pre) {
|
||||||
|
$handled = $pre . '_handled';
|
||||||
|
$unhandled = $pre . '_unhandled';
|
||||||
|
$paramsHandled = array('service_state' => $stateId, 'service_handled' => 1);
|
||||||
|
$paramsUnhandled = array('service_state' => $stateId, 'service_handled' => 0);
|
||||||
|
if ($this->stats->$unhandled) {
|
||||||
|
$compareUrl = $selfUrl->with($paramsUnhandled)->getRelativeUrl();
|
||||||
|
} else {
|
||||||
|
$compareUrl = $selfUrl->with($paramsHandled)->getRelativeUrl();
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($compareUrl === $currentUrl) {
|
||||||
|
$active = ' active';
|
||||||
|
} else {
|
||||||
|
$active = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
echo '<span class="state ' . $state . $active . ($this->stats->$unhandled ? '' : ' handled') . '">';
|
||||||
|
if ($this->stats->$unhandled) {
|
||||||
|
|
||||||
|
echo $this->qlink(
|
||||||
|
$this->stats->$unhandled,
|
||||||
|
$selfUrl,
|
||||||
|
$paramsUnhandled,
|
||||||
|
array('title' => sprintf($this->translate('Unhandled services with state %s'), strtoupper($this->translate($state))))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if ($this->stats->$handled) {
|
||||||
|
|
||||||
|
if ($selfUrl->with($paramsHandled)->getRelativeUrl() === $currentUrl) {
|
||||||
|
$active = ' active';
|
||||||
|
} else {
|
||||||
|
$active = '';
|
||||||
|
}
|
||||||
|
if ($this->stats->$unhandled) {
|
||||||
|
echo '<span class="state handled ' . $state . $active . '">';
|
||||||
|
}
|
||||||
|
echo $this->qlink(
|
||||||
|
$this->stats->$handled,
|
||||||
|
$selfUrl,
|
||||||
|
$paramsHandled,
|
||||||
|
array('title' => sprintf($this->translate('Handled services with state %s'), strtoupper($this->translate($state))))
|
||||||
|
);
|
||||||
|
if ($this->stats->$unhandled) {
|
||||||
|
echo "</span>\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
echo "</span>\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
||||||
|
<?php if ($this->stats->services_pending): ?>
|
||||||
|
<span class="state pending<?= $currentUrl === $selfUrl->with('service_state', 99)->getRelativeUrl() ? ' active' : '' ?>"><?= $this->qlink(
|
||||||
|
$this->stats->services_pending,
|
||||||
|
$selfUrl,
|
||||||
|
array('service_state' => 99),
|
||||||
|
array('title' => sprintf($this->translate('Services with state %s'), strtoupper($this->translate('pending'))))
|
||||||
|
) ?></span>
|
||||||
|
<?php endif ?>
|
||||||
|
</h3>
|
||||||
|
|
|
@ -1,69 +1,59 @@
|
||||||
<?php
|
<?php $contactHelper = $this->getHelper('ContactFlags') ?>
|
||||||
$contactHelper = $this->getHelper('ContactFlags');
|
<div class="controls">
|
||||||
?>
|
<h1><?= $this->translate('Contact details') ?></h1>
|
||||||
<div style="margin-top: 0.5em;">
|
<div class="circular" style="margin-top: 1em; margin-left: 2em; width: 120px; height: 120px; float: left; background-image: url('<?=
|
||||||
<?php if ($contact): ?>
|
$this->href('static/gravatar', array('email' => $contact->contact_email))
|
||||||
<table style="border-spacing: 0.25em; border-collapse: separate;">
|
?>')"></div>
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th colspan="2" style="text-align: left">
|
|
||||||
<?= $this->escape($contact->contact_name) ?><span style="font-weight: normal;"> (<?=
|
|
||||||
$this->escape($contact->contact_alias)
|
|
||||||
?>)</span>
|
|
||||||
</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td><?= t('Email') ?></td>
|
|
||||||
<td><?php printf(
|
|
||||||
'<a href="mailto:%1$s">%1$s</a>',
|
|
||||||
$this->escape($contact->contact_email)
|
|
||||||
); ?></td>
|
|
||||||
</tr>
|
|
||||||
<?php if ($contact->contact_pager): ?>
|
|
||||||
<tr>
|
|
||||||
<td><?= t('Pager') ?></td>
|
|
||||||
<td><?= $this->escape($contact->contact_pager) ?></td>
|
|
||||||
</tr>
|
|
||||||
<?php endif; ?>
|
|
||||||
<tr>
|
|
||||||
<td><?= t('Flags (service)') ?></td>
|
|
||||||
<td><?= $this->escape($contactHelper->contactFlags($contact, 'service')) ?></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><?= t('Flags (host)') ?></td>
|
|
||||||
<td><?= $this->escape($contactHelper->contactFlags($contact, 'host')) ?></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><?= t('Service notification period') ?></td>
|
|
||||||
<td><?= $this->escape($contact->contact_notify_service_timeperiod) ?></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><?= t('Host notification period') ?></td>
|
|
||||||
<td><?= $this->escape($contact->contact_notify_host_timeperiod) ?></td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
<?php if (count($commands)): ?>
|
<?php if (! $contact): ?>
|
||||||
<h4><?= $this->translate('Commands'); ?>:</h4>
|
<?= $this->translate('No such contact') ?>: <?= $contactName ?>
|
||||||
<ul>
|
|
||||||
<?php foreach ($commands as $command): ?>
|
|
||||||
<li><?= $command->command_name; ?></li>
|
|
||||||
<?php endforeach; ?>
|
|
||||||
</ul>
|
|
||||||
<?php endif; ?>
|
|
||||||
|
|
||||||
|
|
||||||
<h4><?= $this->translate('Notifications'); ?>:</h4>
|
|
||||||
<?php if (count($notifications)): ?>
|
|
||||||
<?= $this->render('list/notifications.phtml') ?>
|
|
||||||
<?php else: ?>
|
|
||||||
<p><?= $this->translate('No notifications for this contact'); ?></p>
|
|
||||||
<?php endif; ?>
|
|
||||||
|
|
||||||
<?php else: ?>
|
|
||||||
<?= $this->translate('No such contact'); ?>: <?= $contactName; ?>
|
|
||||||
<?php endif; ?>
|
|
||||||
</div>
|
</div>
|
||||||
|
<?php return; endif ?>
|
||||||
|
|
||||||
|
<table class="avp" style="width: 70%">
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<th style="width: 20%"></th>
|
||||||
|
<td><strong><?= $this->escape($contact->contact_alias) ?></strong> (<?= $contact->contact_name ?>)</td>
|
||||||
|
</tr>
|
||||||
|
<?php if ($contact->contact_email): ?>
|
||||||
|
<tr>
|
||||||
|
<th><?= t('Email') ?></th>
|
||||||
|
<td><?= sprintf('<a href="mailto:%1$s">%1$s</a>', $this->escape($contact->contact_email)) ?></td>
|
||||||
|
</tr>
|
||||||
|
<?php endif ?>
|
||||||
|
<?php if ($contact->contact_pager): ?>
|
||||||
|
<tr>
|
||||||
|
<th><?= t('Pager') ?></th>
|
||||||
|
<td><?= $this->escape($contact->contact_pager) ?></td>
|
||||||
|
</tr>
|
||||||
|
<?php endif ?>
|
||||||
|
<tr>
|
||||||
|
<th><?= t('Hosts') ?></th>
|
||||||
|
<td><?= $this->escape($contactHelper->contactFlags($contact, 'host')) ?><br />
|
||||||
|
<?= $this->escape($contact->contact_notify_host_timeperiod) ?></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th><?= t('Services') ?></th>
|
||||||
|
<td><?= $this->escape($contactHelper->contactFlags($contact, 'service')) ?><br />
|
||||||
|
<?= $this->escape($contact->contact_notify_service_timeperiod) ?></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<?php /* WTF?? */ ?>
|
||||||
|
<?php if (count($commands)): ?>
|
||||||
|
<h1><?= $this->translate('Commands') ?>:</h1>
|
||||||
|
<ul>
|
||||||
|
<?php foreach ($commands as $command): ?>
|
||||||
|
<li><?= $command->command_name ?></li>
|
||||||
|
<?php endforeach ?>
|
||||||
|
</ul>
|
||||||
|
<?php endif ?>
|
||||||
|
<h1><?= $this->translate('Notifications sent to this contact') ?></h1>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<?php if (count($notifications)): ?>
|
||||||
|
<?= $this->render('list/notifications.phtml') ?>
|
||||||
|
<?php else: ?>
|
||||||
|
<div class="content"><?= $this->translate('No notifications have been sent for this contact') ?></div>
|
||||||
|
<?php endif ?>
|
||||||
|
|
|
@ -11,6 +11,16 @@
|
||||||
</div>
|
</div>
|
||||||
<?php return; endif ?>
|
<?php return; endif ?>
|
||||||
|
|
||||||
|
<?php
|
||||||
|
function contactsLink($match, $self) {
|
||||||
|
$links = array();
|
||||||
|
foreach (preg_split('/,\s/', $match[1]) as $contact) {
|
||||||
|
$links[] = $self->qlink($contact, 'monitoring/show/contact', array('contact' => $contact));
|
||||||
|
}
|
||||||
|
return '[' . implode(', ', $links) . ']';
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
|
||||||
<table data-base-target="_next" class="action objecthistory">
|
<table data-base-target="_next" class="action objecthistory">
|
||||||
<tbody>
|
<tbody>
|
||||||
<?php foreach ($history as $event): ?>
|
<?php foreach ($history as $event): ?>
|
||||||
|
@ -21,51 +31,61 @@
|
||||||
case 'notify':
|
case 'notify':
|
||||||
$icon = 'notification';
|
$icon = 'notification';
|
||||||
$title = $this->translate('Notification');
|
$title = $this->translate('Notification');
|
||||||
$msg = $event->output;
|
$stateClass = (
|
||||||
|
$isService
|
||||||
|
? strtolower($this->util()->getServiceStateName($event->state))
|
||||||
|
: strtolower($this->util()->getHostStateName($event->state))
|
||||||
|
);
|
||||||
|
|
||||||
|
$msg = preg_replace_callback(
|
||||||
|
'/^\[([^\]]+)\]/',
|
||||||
|
function($match) { return contactsLink($match, $this); },
|
||||||
|
$this->escape($event->output)
|
||||||
|
);
|
||||||
break;
|
break;
|
||||||
case 'comment':
|
case 'comment':
|
||||||
$icon = 'comment';
|
$icon = 'comment';
|
||||||
$title = $this->translate('Comment');
|
$title = $this->translate('Comment');
|
||||||
$msg = $event->output;
|
$msg = $this->escape($event->output);
|
||||||
break;
|
break;
|
||||||
case 'comment_deleted':
|
case 'comment_deleted':
|
||||||
$icon = 'remove';
|
$icon = 'remove';
|
||||||
$title = $this->translate('Comment deleted');
|
$title = $this->translate('Comment deleted');
|
||||||
$msg = $event->output;
|
$msg = $this->escape($event->output);
|
||||||
break;
|
break;
|
||||||
case 'ack':
|
case 'ack':
|
||||||
$icon = 'acknowledgement';
|
$icon = 'acknowledgement';
|
||||||
$title = $this->translate('Acknowledge');
|
$title = $this->translate('Acknowledge');
|
||||||
$msg = $event->output;
|
$msg = $this->escape($event->output);
|
||||||
break;
|
break;
|
||||||
case 'ack_deleted':
|
case 'ack_deleted':
|
||||||
$icon = 'remove';
|
$icon = 'remove';
|
||||||
$title = $this->translate('Ack removed');
|
$title = $this->translate('Ack removed');
|
||||||
$msg = $event->output;
|
$msg = $this->escape($event->output);
|
||||||
break;
|
break;
|
||||||
case 'dt_comment':
|
case 'dt_comment':
|
||||||
$icon = 'in_downtime';
|
$icon = 'in_downtime';
|
||||||
$title = $this->translate('In Downtime');
|
$title = $this->translate('In Downtime');
|
||||||
$msg = $event->output;
|
$msg = $this->escape($event->output);
|
||||||
break;
|
break;
|
||||||
case 'dt_comment_deleted':
|
case 'dt_comment_deleted':
|
||||||
$icon = 'remove';
|
$icon = 'remove';
|
||||||
$title = $this->translate('Downtime removed');
|
$title = $this->translate('Downtime removed');
|
||||||
$msg = $event->output;
|
$msg = $this->escape($event->output);
|
||||||
break;
|
break;
|
||||||
case 'flapping':
|
case 'flapping':
|
||||||
$icon = 'flapping';
|
$icon = 'flapping';
|
||||||
$title = $this->translate('Flapping');
|
$title = $this->translate('Flapping');
|
||||||
$msg = $event->output;
|
$msg = $this->escape($event->output);
|
||||||
break;
|
break;
|
||||||
case 'flapping_deleted':
|
case 'flapping_deleted':
|
||||||
$icon = 'remove';
|
$icon = 'remove';
|
||||||
$title = $this->translate('Flapping stopped');
|
$title = $this->translate('Flapping stopped');
|
||||||
$msg = $event->output;
|
$msg = $this->escape($event->output);
|
||||||
break;
|
break;
|
||||||
case 'hard_state':
|
case 'hard_state':
|
||||||
$icon = $isService ? 'service' : 'host';
|
$icon = $isService ? 'service' : 'host';
|
||||||
$msg = '[ ' . $event->attempt . '/' . $event->max_attempts . ' ] ' . $event->output;
|
$msg = '[ ' . $event->attempt . '/' . $event->max_attempts . ' ] ' . $this->escape($event->output);
|
||||||
$stateClass = (
|
$stateClass = (
|
||||||
$isService
|
$isService
|
||||||
? strtolower($this->util()->getServiceStateName($event->state))
|
? strtolower($this->util()->getServiceStateName($event->state))
|
||||||
|
@ -75,7 +95,7 @@
|
||||||
break;
|
break;
|
||||||
case 'soft_state':
|
case 'soft_state':
|
||||||
$icon = 'softstate';
|
$icon = 'softstate';
|
||||||
$msg = '[ ' . $event->attempt . '/' . $event->max_attempts . ' ] ' . $event->output;
|
$msg = '[ ' . $event->attempt . '/' . $event->max_attempts . ' ] ' . $this->escape($event->output);
|
||||||
$stateClass = (
|
$stateClass = (
|
||||||
$isService
|
$isService
|
||||||
? strtolower($this->util()->getServiceStateName($event->state))
|
? strtolower($this->util()->getServiceStateName($event->state))
|
||||||
|
@ -86,12 +106,12 @@
|
||||||
case 'dt_start':
|
case 'dt_start':
|
||||||
$icon = 'downtime_start';
|
$icon = 'downtime_start';
|
||||||
$title = $this->translate('Downtime Start');
|
$title = $this->translate('Downtime Start');
|
||||||
$msg = $event->output;
|
$msg = $this->escape($event->output);
|
||||||
break;
|
break;
|
||||||
case 'dt_end':
|
case 'dt_end':
|
||||||
$icon = 'downtime_end';
|
$icon = 'downtime_end';
|
||||||
$title = $this->translate('Downtime End');
|
$title = $this->translate('Downtime End');
|
||||||
$msg = $event->output;
|
$msg = $this->escape($event->output);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
@ -106,8 +126,8 @@
|
||||||
$output = $this->tickets ? preg_replace_callback(
|
$output = $this->tickets ? preg_replace_callback(
|
||||||
$this->tickets->getPattern(),
|
$this->tickets->getPattern(),
|
||||||
array($this->tickets, 'createLink'),
|
array($this->tickets, 'createLink'),
|
||||||
$this->escape($msg)
|
$msg
|
||||||
) : $this->escape($msg);
|
) : $msg;
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<?php if ($isService): ?>
|
<?php if ($isService): ?>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<?php if ($object->host_name !== false): ?>
|
<?php if ($object->host_name !== false): ?>
|
||||||
<div class="controls">
|
<div class="controls">
|
||||||
<?= $this->render('show/components/header.phtml') ?>
|
<?= $this->render('show/components/header.phtml') ?>
|
||||||
<h1><?= $this->translate("This host's current state") ?></h1>
|
<?= $this->render('show/components/hostservicesummary.phtml') ?>
|
||||||
</div>
|
</div>
|
||||||
<div class="content" data-base-target="_next">
|
<div class="content" data-base-target="_next">
|
||||||
<?= $this->render('show/components/output.phtml') ?>
|
<?= $this->render('show/components/output.phtml') ?>
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
<div class="controls">
|
<div class="controls">
|
||||||
<?= $this->render('show/components/header.phtml') ?>
|
<?= $this->render('show/components/header.phtml') ?>
|
||||||
<h1><?= $this->translate('All services configured on this host') ?></h1>
|
<?= $this->render('show/components/hostservicesummary.phtml') ?>
|
||||||
</div>
|
</div>
|
||||||
<div class="content">
|
|
||||||
<?= preg_replace('~<table data-base-target="_next"~', '<table data-base-target="_self"', $services) /* TODO: find an elegant solution for this */ ?>
|
<?= preg_replace('~<table data-base-target="_next"~', '<table data-base-target="_self"', $services) /* TODO: find an elegant solution for this */ ?>
|
||||||
</div>
|
|
||||||
|
|
|
@ -31,14 +31,17 @@ $this->provideSearchUrl($this->translate('Servicegroups'), 'monitoring/list/serv
|
||||||
* Problems Section
|
* Problems Section
|
||||||
*/
|
*/
|
||||||
$section = $this->menuSection($this->translate('Problems'), array(
|
$section = $this->menuSection($this->translate('Problems'), array(
|
||||||
'icon' => 'img/icons/error.png',
|
'renderer' => 'ProblemMenuItemRenderer',
|
||||||
'priority' => 20
|
'icon' => 'img/icons/error.png',
|
||||||
|
'priority' => 20
|
||||||
));
|
));
|
||||||
$section->add($this->translate('Unhandled Hosts'), array(
|
$section->add($this->translate('Unhandled Hosts'), array(
|
||||||
|
'renderer' => 'UnhandledHostMenuItemRenderer',
|
||||||
'url' => 'monitoring/list/hosts?host_problem=1&host_handled=0',
|
'url' => 'monitoring/list/hosts?host_problem=1&host_handled=0',
|
||||||
'priority' => 40
|
'priority' => 40
|
||||||
));
|
));
|
||||||
$section->add($this->translate('Unhandled Services'), array(
|
$section->add($this->translate('Unhandled Services'), array(
|
||||||
|
'renderer' => 'UnhandledServiceMenuItemRenderer',
|
||||||
'url' => 'monitoring/list/services?service_problem=1&service_handled=0&sort=service_severity',
|
'url' => 'monitoring/list/services?service_problem=1&service_handled=0&sort=service_severity',
|
||||||
'priority' => 40
|
'priority' => 40
|
||||||
));
|
));
|
||||||
|
|
|
@ -42,15 +42,15 @@ class NotificationhistoryQuery extends IdoQuery
|
||||||
{
|
{
|
||||||
switch ($this->ds->getDbType()) {
|
switch ($this->ds->getDbType()) {
|
||||||
case 'mysql':
|
case 'mysql':
|
||||||
$concattedContacts = "GROUP_CONCAT(c.alias ORDER BY c.alias SEPARATOR ', ')";
|
$concattedContacts = "GROUP_CONCAT(co.name1 ORDER BY co.name1 SEPARATOR ', ') COLLATE latin1_general_ci";
|
||||||
break;
|
break;
|
||||||
case 'pgsql':
|
case 'pgsql':
|
||||||
// TODO: Find a way to order the contact alias list:
|
// TODO: Find a way to order the contact alias list:
|
||||||
$concattedContacts = "ARRAY_TO_STRING(ARRAY_AGG(c.alias), ', ')";
|
$concattedContacts = "ARRAY_TO_STRING(ARRAY_AGG(co.name1), ', ')";
|
||||||
break;
|
break;
|
||||||
case 'oracle':
|
case 'oracle':
|
||||||
// TODO: This is only valid for Oracle >= 11g Release 2
|
// TODO: This is only valid for Oracle >= 11g Release 2
|
||||||
$concattedContacts = "LISTAGG(c.alias, ', ') WITHIN GROUP (ORDER BY c.alias)";
|
$concattedContacts = "LISTAGG(co.name1, ', ') WITHIN GROUP (ORDER BY co.name1)";
|
||||||
// Alternatives:
|
// Alternatives:
|
||||||
//
|
//
|
||||||
// RTRIM(XMLAGG(XMLELEMENT(e, column_name, ',').EXTRACT('//text()')),
|
// RTRIM(XMLAGG(XMLELEMENT(e, column_name, ',').EXTRACT('//text()')),
|
||||||
|
@ -74,9 +74,13 @@ class NotificationhistoryQuery extends IdoQuery
|
||||||
array('cn' => $this->prefix . 'contactnotifications'),
|
array('cn' => $this->prefix . 'contactnotifications'),
|
||||||
'cn.notification_id = n.notification_id',
|
'cn.notification_id = n.notification_id',
|
||||||
array()
|
array()
|
||||||
|
)->joinLeft(
|
||||||
|
array('co' => $this->prefix . 'objects'),
|
||||||
|
'cn.contact_object_id = co.object_id',
|
||||||
|
array()
|
||||||
)->joinLeft(
|
)->joinLeft(
|
||||||
array('c' => $this->prefix . 'contacts'),
|
array('c' => $this->prefix . 'contacts'),
|
||||||
'cn.contact_object_id = c.contact_object_id',
|
'co.object_id = c.contact_object_id',
|
||||||
array()
|
array()
|
||||||
)->group('cn.notification_id');
|
)->group('cn.notification_id');
|
||||||
|
|
||||||
|
|
|
@ -6,6 +6,11 @@ namespace Icinga\Module\Monitoring\Backend\Ido\Query;
|
||||||
|
|
||||||
class StatehistoryQuery extends IdoQuery
|
class StatehistoryQuery extends IdoQuery
|
||||||
{
|
{
|
||||||
|
protected $types = array(
|
||||||
|
'soft_state' => 0,
|
||||||
|
'hard_state' => 1,
|
||||||
|
);
|
||||||
|
|
||||||
protected $columnMap = array(
|
protected $columnMap = array(
|
||||||
'statehistory' => array(
|
'statehistory' => array(
|
||||||
'raw_timestamp' => 'sh.state_time',
|
'raw_timestamp' => 'sh.state_time',
|
||||||
|
@ -33,6 +38,8 @@ class StatehistoryQuery extends IdoQuery
|
||||||
{
|
{
|
||||||
if ($col === 'UNIX_TIMESTAMP(sh.state_time)') {
|
if ($col === 'UNIX_TIMESTAMP(sh.state_time)') {
|
||||||
return 'sh.state_time ' . $sign . ' ' . $this->timestampForSql($this->valueToTimestamp($expression));
|
return 'sh.state_time ' . $sign . ' ' . $this->timestampForSql($this->valueToTimestamp($expression));
|
||||||
|
} elseif ($col === $this->columnMap['statehistory']['type']) {
|
||||||
|
return 'sh.state_type ' . $sign . ' ' . $this->types[$expression];
|
||||||
} else {
|
} else {
|
||||||
return parent::whereToSql($col, $sign, $expression);
|
return parent::whereToSql($col, $sign, $expression);
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,15 @@ use Zend_Db_Select;
|
||||||
|
|
||||||
class StatusSummaryQuery extends IdoQuery
|
class StatusSummaryQuery extends IdoQuery
|
||||||
{
|
{
|
||||||
|
protected $subHosts;
|
||||||
|
|
||||||
|
protected $subServices;
|
||||||
|
|
||||||
protected $columnMap = array(
|
protected $columnMap = array(
|
||||||
|
'services' => array(
|
||||||
|
'service_host_name' => 'so.name1',
|
||||||
|
'service_description' => 'so.name2',
|
||||||
|
),
|
||||||
'hoststatussummary' => array(
|
'hoststatussummary' => array(
|
||||||
'hosts_up' => 'SUM(CASE WHEN object_type = \'host\' AND state = 0 THEN 1 ELSE 0 END)',
|
'hosts_up' => 'SUM(CASE WHEN object_type = \'host\' AND state = 0 THEN 1 ELSE 0 END)',
|
||||||
'hosts_up_not_checked' => 'SUM(CASE WHEN object_type = \'host\' AND state = 0 AND is_active_checked = 0 AND is_passive_checked = 0 THEN 1 ELSE 0 END)',
|
'hosts_up_not_checked' => 'SUM(CASE WHEN object_type = \'host\' AND state = 0 AND is_active_checked = 0 AND is_passive_checked = 0 THEN 1 ELSE 0 END)',
|
||||||
|
@ -159,10 +167,24 @@ class StatusSummaryQuery extends IdoQuery
|
||||||
'object_type' => '(\'service\')'
|
'object_type' => '(\'service\')'
|
||||||
));
|
));
|
||||||
$union = $this->db->select()->union(array($hosts, $services), Zend_Db_Select::SQL_UNION_ALL);
|
$union = $this->db->select()->union(array($hosts, $services), Zend_Db_Select::SQL_UNION_ALL);
|
||||||
|
$this->subHosts = $hosts;
|
||||||
|
$this->subServices = $services;
|
||||||
$this->select->from(array('statussummary' => $union), array());
|
$this->select->from(array('statussummary' => $union), array());
|
||||||
$this->joinedVirtualTables = array(
|
$this->joinedVirtualTables = array(
|
||||||
'servicestatussummary' => true,
|
'services' => true,
|
||||||
'hoststatussummary' => true
|
'servicestatussummary' => true,
|
||||||
|
'hoststatussummary' => true
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function whereToSql($col, $sign, $expression)
|
||||||
|
{
|
||||||
|
if ($col === 'so.name1') {
|
||||||
|
$this->subServices->where('so.name1 ' . $sign . ' ?', $expression);
|
||||||
|
return '';
|
||||||
|
return 'sh.state_time ' . $sign . ' ' . $this->timestampForSql($this->valueToTimestamp($expression));
|
||||||
|
} else {
|
||||||
|
return parent::whereToSql($col, $sign, $expression);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -69,7 +69,8 @@ class Host extends MonitoredObject
|
||||||
'host_action_url',
|
'host_action_url',
|
||||||
'host_notes_url',
|
'host_notes_url',
|
||||||
'host_modified_host_attributes',
|
'host_modified_host_attributes',
|
||||||
'host_problem'
|
'host_problem',
|
||||||
|
'process_perfdata' => 'host_process_performance_data',
|
||||||
))->where('host_name', $this->params->get('host'));
|
))->where('host_name', $this->params->get('host'));
|
||||||
return $this->view->getQuery()->fetchRow();
|
return $this->view->getQuery()->fetchRow();
|
||||||
}
|
}
|
||||||
|
|
|
@ -114,6 +114,7 @@ class Service extends MonitoredObject
|
||||||
'service_flap_detection_enabled',
|
'service_flap_detection_enabled',
|
||||||
'service_flap_detection_enabled_changed',
|
'service_flap_detection_enabled_changed',
|
||||||
'service_modified_service_attributes',
|
'service_modified_service_attributes',
|
||||||
|
'process_perfdata' => 'service_process_performance_data',
|
||||||
))->where('host_name', $this->params->get('host'))
|
))->where('host_name', $this->params->get('host'))
|
||||||
->where('service_description', $this->params->get('service'));
|
->where('service_description', $this->params->get('service'));
|
||||||
|
|
||||||
|
|
|
@ -53,3 +53,80 @@ div.contacts div.contact > img {
|
||||||
div.contacts div.notification-periods {
|
div.contacts div.notification-periods {
|
||||||
margin-top: 0.5em;
|
margin-top: 0.5em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
h3.tinystatesummary {
|
||||||
|
line-height: 2em;
|
||||||
|
font-size: 1em;
|
||||||
|
font-weight: bold;
|
||||||
|
padding-left: 1em;
|
||||||
|
background-color: #555;
|
||||||
|
color: white;
|
||||||
|
border: none;
|
||||||
|
border-radius: 0.2em;
|
||||||
|
-moz-border-radius: 0.2em;
|
||||||
|
-webkit-border-radius: 0.2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
h3.tinystatesummary a {
|
||||||
|
color: inherit;
|
||||||
|
text-decoration: none;
|
||||||
|
padding: 1px 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
h3.tinystatesummary a:hover {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* State badges */
|
||||||
|
span.state {
|
||||||
|
font-size: 0.8em;
|
||||||
|
color: white;
|
||||||
|
font-weight: bold;
|
||||||
|
padding: 1px 2px;
|
||||||
|
margin-right: 5px;
|
||||||
|
border-radius: 5px;
|
||||||
|
-moz-border-radius: 5px;
|
||||||
|
-webkit-border-radius: 5px;
|
||||||
|
border: 2px solid transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
span.state.active {
|
||||||
|
border: 2px solid white;
|
||||||
|
}
|
||||||
|
|
||||||
|
span.state span.state {
|
||||||
|
font-size: 1em;
|
||||||
|
margin: 0 -3px 0 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
span.state.ok {
|
||||||
|
background: @colorOk;
|
||||||
|
}
|
||||||
|
|
||||||
|
span.state.critical {
|
||||||
|
background: @colorCritical;
|
||||||
|
}
|
||||||
|
|
||||||
|
span.state.handled.critical {
|
||||||
|
background: @colorCriticalHandled;
|
||||||
|
}
|
||||||
|
|
||||||
|
span.state.warning {
|
||||||
|
background: @colorWarning;
|
||||||
|
}
|
||||||
|
|
||||||
|
span.state.handled.warning {
|
||||||
|
background: @colorWarningHandled;
|
||||||
|
}
|
||||||
|
|
||||||
|
span.state.unknown {
|
||||||
|
background: @colorUnknown;
|
||||||
|
}
|
||||||
|
|
||||||
|
span.state.handled.unknown {
|
||||||
|
background: @colorUnknownHandled;
|
||||||
|
}
|
||||||
|
|
||||||
|
span.state.pending {
|
||||||
|
background: @colorPending;
|
||||||
|
}
|
||||||
|
|
|
@ -271,6 +271,7 @@ class GettextTranslationHelper
|
||||||
'po_revision_date' => 'YEAR-MO-DA HO:MI+ZONE',
|
'po_revision_date' => 'YEAR-MO-DA HO:MI+ZONE',
|
||||||
'translator_name' => 'FULL NAME',
|
'translator_name' => 'FULL NAME',
|
||||||
'translator_mail' => 'EMAIL@ADDRESS',
|
'translator_mail' => 'EMAIL@ADDRESS',
|
||||||
|
'language' => $this->locale,
|
||||||
'language_team_name' => 'LANGUAGE',
|
'language_team_name' => 'LANGUAGE',
|
||||||
'language_team_url' => 'LL@li.org',
|
'language_team_url' => 'LL@li.org',
|
||||||
'charset' => self::FILE_ENCODING
|
'charset' => self::FILE_ENCODING
|
||||||
|
@ -298,6 +299,9 @@ class GettextTranslationHelper
|
||||||
$headerInfo['language_team_name'] = $languageInfo[1];
|
$headerInfo['language_team_name'] = $languageInfo[1];
|
||||||
$headerInfo['language_team_url'] = $languageInfo[2];
|
$headerInfo['language_team_url'] = $languageInfo[2];
|
||||||
}
|
}
|
||||||
|
if (preg_match('@Language: ([a-z]{2}_[A-Z]{2})@', $content, $languageInfo)) {
|
||||||
|
$headerInfo['language'] = $languageInfo[1];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
file_put_contents(
|
file_put_contents(
|
||||||
|
@ -321,6 +325,7 @@ class GettextTranslationHelper
|
||||||
'"PO-Revision-Date: ' . $headerInfo['po_revision_date'] . '\n"',
|
'"PO-Revision-Date: ' . $headerInfo['po_revision_date'] . '\n"',
|
||||||
'"Last-Translator: ' . $headerInfo['translator_name'] . ' <'
|
'"Last-Translator: ' . $headerInfo['translator_name'] . ' <'
|
||||||
. $headerInfo['translator_mail'] . '>\n"',
|
. $headerInfo['translator_mail'] . '>\n"',
|
||||||
|
'"Language: ' . $headerInfo['language'] . '\n"',
|
||||||
'"Language-Team: ' . $headerInfo['language_team_name'] . ' <'
|
'"Language-Team: ' . $headerInfo['language_team_name'] . ' <'
|
||||||
. $headerInfo['language_team_url'] . '>\n"',
|
. $headerInfo['language_team_url'] . '>\n"',
|
||||||
'"MIME-Version: 1.0\n"',
|
'"MIME-Version: 1.0\n"',
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
// {{{ICINGA_LICENSE_HEADER}}}
|
|
||||||
// {{{ICINGA_LICENSE_HEADER}}}
|
|
||||||
|
|
||||||
/* Add hover effects to chart data */
|
|
||||||
.chart-data:hover {
|
|
||||||
opacity: 0.85;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pie-data:hover {
|
|
||||||
opacity: 0.6;
|
|
||||||
}
|
|
|
@ -26,7 +26,6 @@
|
||||||
|
|
||||||
#menu li {
|
#menu li {
|
||||||
margin-left: 0.5em;
|
margin-left: 0.5em;
|
||||||
margin-right: 0.5em;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#menu > ul > li {
|
#menu > ul > li {
|
||||||
|
@ -159,7 +158,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
#menu li.hover > ul a {
|
#menu li.hover > ul a {
|
||||||
width: 100%;
|
width: 95%;
|
||||||
display: block;
|
display: block;
|
||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,7 @@ ul.pagination {
|
||||||
font-size: 0.68em;
|
font-size: 0.68em;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
display: inline;
|
display: inline;
|
||||||
|
white-space: nowrap;
|
||||||
|
|
||||||
-webkit-touch-callout: none;
|
-webkit-touch-callout: none;
|
||||||
-webkit-user-select: none;
|
-webkit-user-select: none;
|
||||||
|
|
|
@ -174,8 +174,82 @@ ul.tree li a.error:hover {
|
||||||
color: @colorCritical;
|
color: @colorCritical;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Add hover effect to chart data */
|
||||||
|
.chart-data:hover {
|
||||||
|
opacity: 0.85;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pie-data:hover {
|
||||||
|
opacity: 0.6;
|
||||||
|
}
|
||||||
|
|
||||||
/* charts should grow as much as possible but never beyond the current viewport's size */
|
/* charts should grow as much as possible but never beyond the current viewport's size */
|
||||||
.svg-container-responsive {
|
.svg-container-responsive {
|
||||||
padding: 1.5em;
|
padding: 1.5em;
|
||||||
height: 80vh;
|
height: 80vh;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.badge-container {
|
||||||
|
font-size: 1em;
|
||||||
|
display: inline-block;
|
||||||
|
float: right;
|
||||||
|
margin-right: 0.6em;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
li li .badge-container {
|
||||||
|
/*
|
||||||
|
fix margin for smaller font-size of list elements
|
||||||
|
1 = 0,8em / 0.8em
|
||||||
|
*/
|
||||||
|
margin-right: 0.75em;
|
||||||
|
}
|
||||||
|
|
||||||
|
#menu > ul > li.active > a > .badge-container {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#layout.hoveredmenu .hover > a > .badge-container {
|
||||||
|
margin-right: 14.15em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.badge {
|
||||||
|
position: relative;
|
||||||
|
top: -0.1em;
|
||||||
|
display: inline-block;
|
||||||
|
min-width: 1em;
|
||||||
|
padding: 3px 7px;
|
||||||
|
font-size: 0.8em;
|
||||||
|
font-weight: 700;
|
||||||
|
line-height: 1.1em;
|
||||||
|
color: white;
|
||||||
|
text-align: center;
|
||||||
|
white-space: nowrap;
|
||||||
|
vertical-align: baseline;
|
||||||
|
border-radius: 1em;
|
||||||
|
background-color: @colorInvalid;
|
||||||
|
}
|
||||||
|
|
||||||
|
li li .badge {
|
||||||
|
font-size: 0.975em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.badge-critical {
|
||||||
|
background-color: @colorCritical;
|
||||||
|
}
|
||||||
|
|
||||||
|
.badge-warning {
|
||||||
|
background-color: @colorWarning;
|
||||||
|
}
|
||||||
|
|
||||||
|
.badge-ok {
|
||||||
|
background-color: @colorOk;
|
||||||
|
}
|
||||||
|
|
||||||
|
.badge-pending {
|
||||||
|
background-color: @colorPending;
|
||||||
|
}
|
||||||
|
|
||||||
|
.badge-pending {
|
||||||
|
background-color: @colorUnknown;
|
||||||
|
}
|
||||||
|
|
|
@ -10,6 +10,8 @@
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
|
var activeMenuId;
|
||||||
|
|
||||||
var mouseX, mouseY;
|
var mouseX, mouseY;
|
||||||
|
|
||||||
Icinga.Events = function (icinga) {
|
Icinga.Events = function (icinga) {
|
||||||
|
@ -133,22 +135,37 @@
|
||||||
if (!icinga.utils.elementsOverlap(arrow, el)) {
|
if (!icinga.utils.elementsOverlap(arrow, el)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var title = $(this).find('.tipsy-inner').html();
|
var title = $(this).find('.tipsy-inner').html();
|
||||||
var atMouse = document.elementFromPoint(mouseX, mouseY);
|
var atMouse = document.elementFromPoint(mouseX, mouseY);
|
||||||
var nearestTip = $(atMouse)
|
var nearestTip = $(atMouse)
|
||||||
.closest('[original-title="' + title + '"]')[0];
|
.closest('[original-title="' + title + '"]')[0];
|
||||||
if (nearestTip) {
|
if (nearestTip) {
|
||||||
console.log ('migrating orphan...');
|
|
||||||
var tipsy = $.data(nearestTip, 'tipsy');
|
var tipsy = $.data(nearestTip, 'tipsy');
|
||||||
tipsy.$tip = $(this);
|
tipsy.$tip = $(this);
|
||||||
$.data(this, 'tipsy-pointee', nearestTip);
|
$.data(this, 'tipsy-pointee', nearestTip);
|
||||||
} else {
|
} else {
|
||||||
// doesn't match delete
|
// doesn't match delete
|
||||||
console.log ('deleting orphan...');
|
|
||||||
$(this).remove();
|
$(this).remove();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// restore menu state
|
||||||
|
if (activeMenuId) {
|
||||||
|
$('li.active', el).removeClass('active');
|
||||||
|
|
||||||
|
var $selectedMenu = $('#' + activeMenuId, el);
|
||||||
|
var $outerMenu = $selectedMenu.parent().closest('li');
|
||||||
|
if ($outerMenu.size()) {
|
||||||
|
$selectedMenu = $outerMenu;
|
||||||
|
}
|
||||||
|
$selectedMenu.addClass('active');
|
||||||
|
} else {
|
||||||
|
// store menu state
|
||||||
|
var $menus = $('[role="navigation"] li.active', el);
|
||||||
|
if ($menus.size()) {
|
||||||
|
activeMenuId = $menus[0].id;
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -569,6 +586,7 @@
|
||||||
$li = $a.closest('li');
|
$li = $a.closest('li');
|
||||||
$('#menu .active').removeClass('active');
|
$('#menu .active').removeClass('active');
|
||||||
$li.addClass('active');
|
$li.addClass('active');
|
||||||
|
activeMenuId = $($li).attr('id');
|
||||||
if ($li.hasClass('hover')) {
|
if ($li.hasClass('hover')) {
|
||||||
$li.removeClass('hover');
|
$li.removeClass('hover');
|
||||||
}
|
}
|
||||||
|
@ -594,14 +612,22 @@
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
if (isMenuLink) {
|
||||||
|
activeMenuId = $(event.target).closest('li').attr('id');
|
||||||
|
}
|
||||||
$target = self.getLinkTargetFor($a);
|
$target = self.getLinkTargetFor($a);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load link URL
|
// Load link URL
|
||||||
icinga.loader.loadUrl(href, $target);
|
icinga.loader.loadUrl(href, $target);
|
||||||
|
|
||||||
// Menu links should remove all but the first layout column
|
|
||||||
if (isMenuLink) {
|
if (isMenuLink) {
|
||||||
|
// update target url of the menu container to the clicked link
|
||||||
|
var menuDataUrl = icinga.utils.parseUrl($('#menu').data('icinga-url'));
|
||||||
|
menuDataUrl = icinga.utils.addUrlParams(menuDataUrl.path, { url: href });
|
||||||
|
$('#menu').data('icinga-url', menuDataUrl);
|
||||||
|
|
||||||
|
// Menu links should remove all but the first layout column
|
||||||
icinga.ui.layout1col();
|
icinga.ui.layout1col();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -687,6 +713,7 @@
|
||||||
$(document).off('mouseenter', 'li.dropdown', this.dropdownHover);
|
$(document).off('mouseenter', 'li.dropdown', this.dropdownHover);
|
||||||
$(document).off('mouseleave', 'li.dropdown', this.dropdownLeave);
|
$(document).off('mouseleave', 'li.dropdown', this.dropdownLeave);
|
||||||
$(document).off('click', 'div.tristate .tristate-dummy', this.clickTriState);
|
$(document).off('click', 'div.tristate .tristate-dummy', this.clickTriState);
|
||||||
|
$(document).off('mousemove');
|
||||||
},
|
},
|
||||||
|
|
||||||
destroy: function() {
|
destroy: function() {
|
||||||
|
|
|
@ -673,8 +673,12 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
var origFocus = document.activeElement;
|
var origFocus = document.activeElement;
|
||||||
if (typeof containerId !== 'undefined' && autorefresh && origFocus && $(origFocus).closest('form').length && $container.has($(origFocus)) && $(origFocus).closest('#' + containerId).length && ! $(origFocus).hasClass('autosubmit')) {
|
if (
|
||||||
this.icinga.logger.debug('Not changing content, form has focus');
|
// Do not reload menu when search field has content
|
||||||
|
(containerId === 'menu' && $(origFocus).length && $(origFocus).val().length)
|
||||||
|
// TODO: remove once #7146 is solved
|
||||||
|
|| (containerId !== 'menu' && typeof containerId !== 'undefined' && autorefresh && origFocus && $(origFocus).closest('form').length && $container.has($(origFocus)) && $(origFocus).closest('#' + containerId).length && ! $(origFocus).hasClass('autosubmit'))) {
|
||||||
|
this.icinga.logger.debug('Not changing content for ', containerId, ' form has focus');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,9 +10,6 @@
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
// The currently hovered tooltip
|
|
||||||
var tooltip = null;
|
|
||||||
|
|
||||||
// Stores the icinga-data-url of the last focused table.
|
// Stores the icinga-data-url of the last focused table.
|
||||||
var focusedTableDataUrl = null;
|
var focusedTableDataUrl = null;
|
||||||
|
|
||||||
|
|
|
@ -217,9 +217,9 @@
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
var at = aoff.top;
|
var at = aoff.top;
|
||||||
var ah = a.offsetHeight;
|
var ah = a.offsetHeight || (a.getBBox && a.getBBox().height);
|
||||||
var al = aoff.left;
|
var al = aoff.left;
|
||||||
var aw = a.offsetWidth;
|
var aw = a.offsetWidth || (a.getBBox && a.getBBox().width);
|
||||||
|
|
||||||
// b bounds
|
// b bounds
|
||||||
var boff = $(b).offset();
|
var boff = $(b).offset();
|
||||||
|
@ -227,9 +227,9 @@
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
var bt = boff.top;
|
var bt = boff.top;
|
||||||
var bh = b.offsetHeight;
|
var bh = b.offsetHeight || (b.getBBox && b.getBBox().height);
|
||||||
var bl = boff.left;
|
var bl = boff.left;
|
||||||
var bw = b.offsetWidth;
|
var bw = b.offsetWidth || (b.getBBox && b.getBBox().width);
|
||||||
|
|
||||||
return !(at > (bt + bh) || bt > (at + ah)) && !(bl > (al + aw) || al > (bl + bw));
|
return !(at > (bt + bh) || bt > (at + ah)) && !(bl > (al + aw) || al > (bl + bw));
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue