From 7bc489ba4d0d4f7feb7c7376f48a32957b7b65fb Mon Sep 17 00:00:00 2001 From: "Alexander A. Klimov" Date: Fri, 22 Jan 2016 18:37:27 +0100 Subject: [PATCH 01/96] MonitoredObject: obfuscate custom variables recursively refs #10640 --- .../Monitoring/Object/MonitoredObject.php | 33 ++++++++++++++----- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/modules/monitoring/library/Monitoring/Object/MonitoredObject.php b/modules/monitoring/library/Monitoring/Object/MonitoredObject.php index 4a787d309..37d1d48d7 100644 --- a/modules/monitoring/library/Monitoring/Object/MonitoredObject.php +++ b/modules/monitoring/library/Monitoring/Object/MonitoredObject.php @@ -3,6 +3,7 @@ namespace Icinga\Module\Monitoring\Object; +use stdClass; use InvalidArgumentException; use Icinga\Application\Config; use Icinga\Data\Filter\Filter; @@ -456,18 +457,34 @@ abstract class MonitoredObject implements Filterable $customvars = $this->hostVariables; } - $this->customvars = array(); - foreach ($customvars as $name => $value) { - if ($blacklistPattern && preg_match($blacklistPattern, $name)) { - $this->customvars[$name] = '***'; - } else { - $this->customvars[$name] = $value; - } - } + $this->customvars = $this->obfuscateCustomVars($customvars, $blacklistPattern); return $this; } + /** + * Obfuscate custom variables recursively for $this->customvars. + * + * @param stdClass|array $customvars The custom variables to obfuscate + * @param string $blacklistPattern Which custom variables to obfuscate + * + * @return stdClass|array The obfuscated custom variables + */ + protected function obfuscateCustomVars($customvars, $blacklistPattern) + { + $obfuscatedCustomVars = array(); + foreach ($customvars as $name => $value) { + if ($blacklistPattern && preg_match($blacklistPattern, $name)) { + $obfuscatedCustomVars[$name] = '***'; + } else { + $obfuscatedCustomVars[$name] = $value instanceof stdClass || is_array($value) + ? $this->obfuscateCustomVars($value, $blacklistPattern) + : $value; + } + } + return $customvars instanceof stdClass ? (object) $obfuscatedCustomVars : $obfuscatedCustomVars; + } + /** * Fetch the host custom variables related to this object * From b0932d2413e7b5cc7127fc89c8fa389b908669f1 Mon Sep 17 00:00:00 2001 From: "Alexander A. Klimov" Date: Mon, 15 Feb 2016 16:26:52 +0100 Subject: [PATCH 02/96] Implement escapeComment helper refs #10654 --- .../views/helpers/EscapeComment.php | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 modules/monitoring/application/views/helpers/EscapeComment.php diff --git a/modules/monitoring/application/views/helpers/EscapeComment.php b/modules/monitoring/application/views/helpers/EscapeComment.php new file mode 100644 index 000000000..be85a223e --- /dev/null +++ b/modules/monitoring/application/views/helpers/EscapeComment.php @@ -0,0 +1,38 @@ +). + * + * @param string $comment + * + * @return string + */ + public function escapeComment($comment) + { + if (self::$purifier === null) { + require_once 'HTMLPurifier/Bootstrap.php'; + require_once 'HTMLPurifier.php'; + require_once 'HTMLPurifier.autoload.php'; + + $config = HTMLPurifier_Config::createDefault(); + $config->set('Core.EscapeNonASCIICharacters', true); + $config->set('HTML.Allowed', 'a[href]'); + $config->set('Cache.DefinitionImpl', null); + self::$purifier = new HTMLPurifier($config); + } + return self::$purifier->purify($comment); + } +} From af3abb76c823531ad3e5efd9b2f4a86f1040ef4d Mon Sep 17 00:00:00 2001 From: "Alexander A. Klimov" Date: Tue, 16 Feb 2016 14:55:27 +0100 Subject: [PATCH 03/96] Render simple HTML links (a[href]) in acknowledgements, comments and downtimes refs #10654 --- .../monitoring/application/views/scripts/downtime/show.phtml | 2 +- .../views/scripts/partials/comment/comment-detail.phtml | 2 +- .../views/scripts/partials/downtime/downtime-header.phtml | 2 +- .../application/views/scripts/partials/event-history.phtml | 4 +++- .../views/scripts/show/components/acknowledgement.phtml | 2 +- .../application/views/scripts/show/components/comments.phtml | 2 +- .../application/views/scripts/show/components/downtime.phtml | 2 +- 7 files changed, 9 insertions(+), 7 deletions(-) diff --git a/modules/monitoring/application/views/scripts/downtime/show.phtml b/modules/monitoring/application/views/scripts/downtime/show.phtml index c584540fc..b10ae9587 100644 --- a/modules/monitoring/application/views/scripts/downtime/show.phtml +++ b/modules/monitoring/application/views/scripts/downtime/show.phtml @@ -45,7 +45,7 @@ translate('Comment') ?> - nl2br($this->escape($this->downtime->comment)) ?> + nl2br($this->escapeComment($this->downtime->comment)) ?> diff --git a/modules/monitoring/application/views/scripts/partials/comment/comment-detail.phtml b/modules/monitoring/application/views/scripts/partials/comment/comment-detail.phtml index 433b60412..0fb72c38d 100644 --- a/modules/monitoring/application/views/scripts/partials/comment/comment-detail.phtml +++ b/modules/monitoring/application/views/scripts/partials/comment/comment-detail.phtml @@ -56,5 +56,5 @@

- nl2br($this->escape($comment->comment)) ?> + nl2br($this->escapeComment($comment->comment)) ?>

diff --git a/modules/monitoring/application/views/scripts/partials/downtime/downtime-header.phtml b/modules/monitoring/application/views/scripts/partials/downtime/downtime-header.phtml index cf2cdf651..96130db7a 100644 --- a/modules/monitoring/application/views/scripts/partials/downtime/downtime-header.phtml +++ b/modules/monitoring/application/views/scripts/partials/downtime/downtime-header.phtml @@ -67,6 +67,6 @@

- nl2br($this->escape($downtime->comment)) ?> + nl2br($this->escapeComment($downtime->comment)) ?>

diff --git a/modules/monitoring/application/views/scripts/partials/event-history.phtml b/modules/monitoring/application/views/scripts/partials/event-history.phtml index e7ae0e034..7a0cee293 100644 --- a/modules/monitoring/application/views/scripts/partials/event-history.phtml +++ b/modules/monitoring/application/views/scripts/partials/event-history.phtml @@ -147,7 +147,9 @@ $history->limit($limit * $page); icon($icon, null, $iconCssClass ? array('class' => $iconCssClass) : array()); } ?> - createTicketLinks($this->escape($msg)), false) ?> + nl2br($this->createTicketLinks($this->escapeComment($msg))) + // TODO(ak): this allows only a[href] in messages, but plugin output allows more + ?>

diff --git a/modules/monitoring/application/views/scripts/show/components/acknowledgement.phtml b/modules/monitoring/application/views/scripts/show/components/acknowledgement.phtml index 289405c5b..568dc9062 100644 --- a/modules/monitoring/application/views/scripts/show/components/acknowledgement.phtml +++ b/modules/monitoring/application/views/scripts/show/components/acknowledgement.phtml @@ -44,7 +44,7 @@ $acknowledgement = $object->acknowledgement; } ?>
- nl2br($this->createTicketLinks($this->escape($acknowledgement->getComment()))) ?> + nl2br($this->createTicketLinks($this->escapeComment($acknowledgement->getComment()))) ?>
diff --git a/modules/monitoring/application/views/scripts/show/components/comments.phtml b/modules/monitoring/application/views/scripts/show/components/comments.phtml index 34b72c589..671c363d1 100644 --- a/modules/monitoring/application/views/scripts/show/components/comments.phtml +++ b/modules/monitoring/application/views/scripts/show/components/comments.phtml @@ -67,7 +67,7 @@ if (empty($object->comments) && ! $addLink) { } ?>
- nl2br($this->createTicketLinks($this->escape($comment->comment))) ?> + nl2br($this->createTicketLinks($this->escapeComment($comment->comment))) ?>
diff --git a/modules/monitoring/application/views/scripts/show/components/downtime.phtml b/modules/monitoring/application/views/scripts/show/components/downtime.phtml index 7da27f2bf..5655da4c4 100644 --- a/modules/monitoring/application/views/scripts/show/components/downtime.phtml +++ b/modules/monitoring/application/views/scripts/show/components/downtime.phtml @@ -96,7 +96,7 @@ if (empty($object->comments) && ! $addLink) { } ?>
- nl2br($this->createTicketLinks($this->escape($downtime->comment))) ?> + nl2br($this->createTicketLinks($this->escapeComment($downtime->comment))) ?>
From 6c39fb51f8bd73c852c8b6e46702bea11b8729ae Mon Sep 17 00:00:00 2001 From: "Alexander A. Klimov" Date: Wed, 17 Feb 2016 18:23:38 +0100 Subject: [PATCH 04/96] Menu: move Configuration/Authentication to Configuration/Application/Authentication refs #10309 --- application/controllers/ConfigController.php | 23 ++++---------------- library/Icinga/Application/Web.php | 6 ----- 2 files changed, 4 insertions(+), 25 deletions(-) diff --git a/application/controllers/ConfigController.php b/application/controllers/ConfigController.php index 7b01bbff5..ce8440749 100644 --- a/application/controllers/ConfigController.php +++ b/application/controllers/ConfigController.php @@ -45,27 +45,12 @@ class ConfigController extends Controller 'url' => 'config/resource', 'baseTarget' => '_main' )); - return $tabs; - } - - /** - * Create and return the tabs to display when showing authentication configuration - */ - public function createAuthenticationTabs() - { - $tabs = $this->getTabs(); - $tabs->add('userbackend', array( - 'title' => $this->translate('Configure how users authenticate with and log into Icinga Web 2'), - 'label' => $this->translate('Users'), + $tabs->add('authentication', array( + 'title' => $this->translate('Configure the user and group backends'), + 'label' => $this->translate('Authentication'), 'url' => 'config/userbackend', 'baseTarget' => '_main' )); - $tabs->add('usergroupbackend', array( - 'title' => $this->translate('Configure how users are associated with groups by Icinga Web 2'), - 'label' => $this->translate('User Groups'), - 'url' => 'usergroupbackend/list', - 'baseTarget' => '_main' - )); return $tabs; } @@ -194,7 +179,7 @@ class ConfigController extends Controller $form->handleRequest(); $this->view->form = $form; - $this->createAuthenticationTabs()->activate('userbackend'); + $this->createApplicationTabs()->activate('authentication'); $this->render('userbackend/reorder'); } diff --git a/library/Icinga/Application/Web.php b/library/Icinga/Application/Web.php index d0535423f..f50beb2e8 100644 --- a/library/Icinga/Application/Web.php +++ b/library/Icinga/Application/Web.php @@ -321,12 +321,6 @@ class Web extends EmbeddedWeb 'permission' => 'config/application/*', 'priority' => 810 ), - 'authentication' => array( - 'label' => t('Authentication'), - 'url' => 'config/userbackend', - 'permission' => 'config/application/*', - 'priority' => 820 - ), 'authorization' => array( 'label' => t('Authorization'), 'permission' => 'config/authentication/*', From 88ff055f39b669a9750d084d39649418f0ee8384 Mon Sep 17 00:00:00 2001 From: "Alexander A. Klimov" Date: Wed, 17 Feb 2016 18:43:26 +0100 Subject: [PATCH 05/96] Combine the lists of user and group backends refs #10309 --- application/controllers/ConfigController.php | 4 +- .../UsergroupbackendController.php | 36 ++---------- .../scripts/config/userbackend/reorder.phtml | 52 +++++++++++++++++ .../views/scripts/usergroupbackend/list.phtml | 56 ------------------- 4 files changed, 59 insertions(+), 89 deletions(-) delete mode 100644 application/views/scripts/usergroupbackend/list.phtml diff --git a/application/controllers/ConfigController.php b/application/controllers/ConfigController.php index ce8440749..c1d75b711 100644 --- a/application/controllers/ConfigController.php +++ b/application/controllers/ConfigController.php @@ -169,16 +169,18 @@ class ConfigController extends Controller } /** - * Action for listing and reordering user backends + * Action for listing user and group backends */ public function userbackendAction() { $this->assertPermission('config/application/userbackend'); + $this->assertPermission('config/application/usergroupbackend'); $form = new UserBackendReorderForm(); $form->setIniConfig(Config::app('authentication')); $form->handleRequest(); $this->view->form = $form; + $this->view->backendNames = Config::app('groups'); $this->createApplicationTabs()->activate('authentication'); $this->render('userbackend/reorder'); } diff --git a/application/controllers/UsergroupbackendController.php b/application/controllers/UsergroupbackendController.php index 2f134cddd..14456fc01 100644 --- a/application/controllers/UsergroupbackendController.php +++ b/application/controllers/UsergroupbackendController.php @@ -29,16 +29,7 @@ class UsergroupbackendController extends Controller */ public function indexAction() { - $this->redirectNow('usergroupbackend/list'); - } - - /** - * Show a list of all user group backends - */ - public function listAction() - { - $this->view->backendNames = Config::app('groups'); - $this->createListTabs()->activate('usergroupbackend'); + $this->redirectNow('config/userbackend'); } /** @@ -47,7 +38,7 @@ class UsergroupbackendController extends Controller public function createAction() { $form = new UserGroupBackendForm(); - $form->setRedirectUrl('usergroupbackend/list'); + $form->setRedirectUrl('config/userbackend'); $form->addDescription($this->translate('Create a new backend to associate users and groups with.')); $form->setIniConfig(Config::app('groups')); $form->setOnSuccess(function (UserGroupBackendForm $form) { @@ -78,7 +69,7 @@ class UsergroupbackendController extends Controller $backendName = $this->params->getRequired('backend'); $form = new UserGroupBackendForm(); - $form->setRedirectUrl('usergroupbackend/list'); + $form->setRedirectUrl('config/userbackend'); $form->setIniConfig(Config::app('groups')); $form->setOnSuccess(function (UserGroupBackendForm $form) use ($backendName) { try { @@ -121,7 +112,7 @@ class UsergroupbackendController extends Controller $backendForm = new UserGroupBackendForm(); $backendForm->setIniConfig(Config::app('groups')); $form = new ConfirmRemovalForm(); - $form->setRedirectUrl('usergroupbackend/list'); + $form->setRedirectUrl('config/userbackend'); $form->setOnSuccess(function (ConfirmRemovalForm $form) use ($backendName, $backendForm) { try { $backendForm->delete($backendName); @@ -141,23 +132,4 @@ class UsergroupbackendController extends Controller $this->renderForm($form, $this->translate('Remove User Group Backend')); } - - /** - * Create the tabs for the application configuration - */ - protected function createListTabs() - { - $tabs = $this->getTabs(); - $tabs->add('userbackend', array( - 'title' => $this->translate('Configure how users authenticate with and log into Icinga Web 2'), - 'label' => $this->translate('Users'), - 'url' => 'config/userbackend' - )); - $tabs->add('usergroupbackend', array( - 'title' => $this->translate('Configure how users are associated with groups by Icinga Web 2'), - 'label' => $this->translate('User Groups'), - 'url' => 'usergroupbackend/list' - )); - return $tabs; - } } diff --git a/application/views/scripts/config/userbackend/reorder.phtml b/application/views/scripts/config/userbackend/reorder.phtml index a065b6005..02eec6b1d 100644 --- a/application/views/scripts/config/userbackend/reorder.phtml +++ b/application/views/scripts/config/userbackend/reorder.phtml @@ -14,4 +14,56 @@ ) ) ?> + + qlink( + $this->translate('Create a New User Group Backend') , + 'usergroupbackend/create', + null, + array( + 'class' => 'button-link', + 'data-base-target' => '_next', + 'icon' => 'plus', + 'title' => $this->translate('Create a new user group backend') + ) + ) ?> + + + + + + + + + + $config): + $type = $config->get('backend'); +?> + + + + + + +
translate('Backend') ?>
+ qlink( + $backendName, + 'usergroupbackend/edit', + array('backend' => $backendName), + array( + 'icon' => $type === 'external' ? 'magic' : ($type === 'ldap' || $type === 'msldap' ? 'sitemap' : 'database'), + 'title' => sprintf($this->translate('Edit user group backend %s'), $backendName) + ) + ); ?> + + qlink( + null, + 'usergroupbackend/remove', + array('backend' => $backendName), + array( + 'class' => 'action-link', + 'icon' => 'cancel', + 'title' => sprintf($this->translate('Remove user group backend %s'), $backendName) + ) + ) ?> +
diff --git a/application/views/scripts/usergroupbackend/list.phtml b/application/views/scripts/usergroupbackend/list.phtml deleted file mode 100644 index 5ce1df90f..000000000 --- a/application/views/scripts/usergroupbackend/list.phtml +++ /dev/null @@ -1,56 +0,0 @@ -
- -
-
- qlink( - $this->translate('Create a New User Group Backend') , - 'usergroupbackend/create', - null, - array( - 'class' => 'button-link', - 'data-base-target' => '_next', - 'icon' => 'plus', - 'title' => $this->translate('Create a new user group backend') - ) - ) ?> - - - - - - - - - - $config): - $type = $config->get('backend'); -?> - - - - - - -
translate('Backend') ?>
- qlink( - $backendName, - 'usergroupbackend/edit', - array('backend' => $backendName), - array( - 'icon' => $type === 'external' ? 'magic' : ($type === 'ldap' || $type === 'msldap' ? 'sitemap' : 'database'), - 'title' => sprintf($this->translate('Edit user group backend %s'), $backendName) - ) - ); ?> - - qlink( - null, - 'usergroupbackend/remove', - array('backend' => $backendName), - array( - 'class' => 'action-link', - 'icon' => 'cancel', - 'title' => sprintf($this->translate('Remove user group backend %s'), $backendName) - ) - ) ?> -
-
From 4e9e0f9b358699f8bd964c893dffba911718524a Mon Sep 17 00:00:00 2001 From: "Alexander A. Klimov" Date: Wed, 17 Feb 2016 18:48:47 +0100 Subject: [PATCH 06/96] Separate the lists of user and group backends with headings refs #10309 --- application/views/scripts/config/userbackend/reorder.phtml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/application/views/scripts/config/userbackend/reorder.phtml b/application/views/scripts/config/userbackend/reorder.phtml index 02eec6b1d..a8e351e5d 100644 --- a/application/views/scripts/config/userbackend/reorder.phtml +++ b/application/views/scripts/config/userbackend/reorder.phtml @@ -2,6 +2,7 @@
+

translate('User Backends') ?>

qlink( $this->translate('Create a New User Backend') , 'config/createuserbackend', @@ -15,6 +16,7 @@ ) ?> +

translate('User Group Backends') ?>

qlink( $this->translate('Create a New User Group Backend') , 'usergroupbackend/create', From a3c7a04826e0a2c38a855c3d4b9a069601022a22 Mon Sep 17 00:00:00 2001 From: "Alexander A. Klimov" Date: Wed, 17 Feb 2016 18:56:55 +0100 Subject: [PATCH 07/96] Menu: rename Configuration/Authorization to Configuration/Authentication refs #10309 --- library/Icinga/Application/Web.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/library/Icinga/Application/Web.php b/library/Icinga/Application/Web.php index f50beb2e8..c3328a169 100644 --- a/library/Icinga/Application/Web.php +++ b/library/Icinga/Application/Web.php @@ -321,8 +321,8 @@ class Web extends EmbeddedWeb 'permission' => 'config/application/*', 'priority' => 810 ), - 'authorization' => array( - 'label' => t('Authorization'), + 'authentication' => array( + 'label' => t('Authentication'), 'permission' => 'config/authentication/*', 'priority' => 830, 'url' => 'role/list' From c4610ab05d1779fac6908e890f1572ca021cd791 Mon Sep 17 00:00:00 2001 From: "Alexander A. Klimov" Date: Thu, 18 Feb 2016 10:39:52 +0100 Subject: [PATCH 08/96] Comments list: display the absolute expire date and time in tooltips refs #10277 --- .../views/scripts/partials/comment/comment-detail.phtml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/monitoring/application/views/scripts/partials/comment/comment-detail.phtml b/modules/monitoring/application/views/scripts/partials/comment/comment-detail.phtml index 433b60412..5ac1c6f47 100644 --- a/modules/monitoring/application/views/scripts/partials/comment/comment-detail.phtml +++ b/modules/monitoring/application/views/scripts/partials/comment/comment-detail.phtml @@ -38,8 +38,9 @@ persistent ? $this->icon('attach', 'This comment is persistent.') : '' ?> expiration ? $this->icon('clock', sprintf( - $this->translate('This comment expires %s.'), - $this->timeUntil($comment->expiration) + $this->translate('This comment expires on %s at %s.'), + $this->formatDate($comment->expiration), + $this->formatTime($comment->expiration) )) : '' ?> Date: Thu, 18 Feb 2016 11:32:43 +0100 Subject: [PATCH 09/96] Escape service grid tooltips only once refs #10277 --- .../monitoring/application/views/scripts/list/servicegrid.phtml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/monitoring/application/views/scripts/list/servicegrid.phtml b/modules/monitoring/application/views/scripts/list/servicegrid.phtml index 3fdefcbe8..2d50a067d 100644 --- a/modules/monitoring/application/views/scripts/list/servicegrid.phtml +++ b/modules/monitoring/application/views/scripts/list/servicegrid.phtml @@ -82,7 +82,7 @@ $hostFilter = '(host_name=' . implode('|host_name=', array_keys($pivotData)) . ' $service->host_display_name ), 'class' => 'bg-color-' . Service::getStateText($service->service_state) . ($service->service_handled ? ' handled' : ''), - 'title' => $this->escape($service->service_output) + 'title' => $service->service_output ) ) ?> From 923cd1087f7f707d7d18baeb21ad3b4eb8d00ea1 Mon Sep 17 00:00:00 2001 From: "Alexander A. Klimov" Date: Thu, 18 Feb 2016 13:07:36 +0100 Subject: [PATCH 10/96] Make edit user button more prominent refs #10442 --- application/views/scripts/user/show.phtml | 35 +++++++++++------------ 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/application/views/scripts/user/show.phtml b/application/views/scripts/user/show.phtml index 5aabdd11a..ddcbd35c5 100644 --- a/application/views/scripts/user/show.phtml +++ b/application/views/scripts/user/show.phtml @@ -4,29 +4,28 @@ use Icinga\Data\Updatable; use Icinga\Data\Reducible; use Icinga\Data\Selectable; -$editLink = null; -if ($this->hasPermission('config/authentication/users/edit') && $backend instanceof Updatable) { - $editLink = $this->qlink( - null, - 'user/edit', - array( - 'backend' => $backend->getName(), - 'user' => $user->user_name - ), - array( - 'title' => sprintf($this->translate('Edit user %s'), $user->user_name), - 'class' => 'user-edit', - 'icon' => 'edit' - ) - ); -} - ?>
compact): ?> -

escape($user->user_name) ?>

+

escape($user->user_name) ?>

+ hasPermission('config/authentication/users/edit') && $backend instanceof Updatable) { + echo $this->qlink( + $this->translate('Edit User'), + 'user/edit', + array( + 'backend' => $backend->getName(), + 'user' => $user->user_name + ), + array( + 'class' => 'button-link', + 'icon' => 'edit' + ) + ); + } + ?> From c4a69191a31e0364d615e8cb8b1f7645784f0377 Mon Sep 17 00:00:00 2001 From: "Alexander A. Klimov" Date: Mon, 22 Feb 2016 11:14:41 +0100 Subject: [PATCH 11/96] JS: implement Icinga.Utils.padString() refs #10625 --- public/js/icinga/utils.js | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/public/js/icinga/utils.js b/public/js/icinga/utils.js index dea9c37ed..8c69485e1 100644 --- a/public/js/icinga/utils.js +++ b/public/js/icinga/utils.js @@ -386,6 +386,24 @@ }[c]; } ); + }, + + /** + * Pad a string with another one + * + * @param {String} str the string to pad + * @param {String} padding the string to use for padding + * @param {Number} minLength the minimum length of the result + * + * @returns {String} the padded string + */ + padString: function(str, padding, minLength) { + str = String(str); + padding = String(padding); + while (str.length < minLength) { + str = padding + str; + } + return str; } }; From a2a96be8c950ab5df0f943ccfd492cdb45bd4309 Mon Sep 17 00:00:00 2001 From: "Alexander A. Klimov" Date: Mon, 22 Feb 2016 11:24:19 +0100 Subject: [PATCH 12/96] Display ISO date and time when a connection was lost refs #10625 --- public/js/icinga/loader.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/public/js/icinga/loader.js b/public/js/icinga/loader.js index 8a6bf7ffe..323ca3069 100644 --- a/public/js/icinga/loader.js +++ b/public/js/icinga/loader.js @@ -681,11 +681,17 @@ req.addToHistory = false; } else { if (this.failureNotice === null) { + var now = new Date(); + var padString = this.icinga.utils.padString; this.failureNotice = this.createNotice( 'error', - 'The connection to the Icinga web server was lost at ' + - this.icinga.utils.timeShort() + - '.', + 'The connection to the Icinga web server was lost at ' + + now.getFullYear() + + '-' + padString(now.getMonth() + 1, 0, 2) + + '-' + padString(now.getDate(), 0, 2) + + ' ' + padString(now.getHours(), 0, 2) + + ':' + padString(now.getMinutes(), 0, 2) + + '.', true ); From 41e11d318344280a1ee097d57a54cd49b949f856 Mon Sep 17 00:00:00 2001 From: "Alexander A. Klimov" Date: Mon, 22 Feb 2016 11:35:07 +0100 Subject: [PATCH 13/96] Restore the edit user button's title refs #10442 --- application/views/scripts/user/show.phtml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/application/views/scripts/user/show.phtml b/application/views/scripts/user/show.phtml index ddcbd35c5..6b5303e79 100644 --- a/application/views/scripts/user/show.phtml +++ b/application/views/scripts/user/show.phtml @@ -21,7 +21,8 @@ use Icinga\Data\Selectable; ), array( 'class' => 'button-link', - 'icon' => 'edit' + 'icon' => 'edit', + 'title' => sprintf($this->translate('Edit user %s'), $user->user_name) ) ); } From 38a752b0acd9169864581521cfc7de6a87e1fcd6 Mon Sep 17 00:00:00 2001 From: Eric Lippmann Date: Mon, 22 Feb 2016 14:15:35 +0100 Subject: [PATCH 14/96] monitoring: Avoid full stops at the end of comment tooltips refs #10113 --- .../views/scripts/partials/comment/comment-detail.phtml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/monitoring/application/views/scripts/partials/comment/comment-detail.phtml b/modules/monitoring/application/views/scripts/partials/comment/comment-detail.phtml index 5ac1c6f47..95759f857 100644 --- a/modules/monitoring/application/views/scripts/partials/comment/comment-detail.phtml +++ b/modules/monitoring/application/views/scripts/partials/comment/comment-detail.phtml @@ -36,9 +36,9 @@ timeAgo($comment->timestamp) ?> - persistent ? $this->icon('attach', 'This comment is persistent.') : '' ?> + persistent ? $this->icon('attach', 'This comment is persistent') : '' ?> expiration ? $this->icon('clock', sprintf( - $this->translate('This comment expires on %s at %s.'), + $this->translate('This comment expires on %s at %s'), $this->formatDate($comment->expiration), $this->formatTime($comment->expiration) )) : '' ?> From acd2ef709e7db04c25f42b546c777879d9755d15 Mon Sep 17 00:00:00 2001 From: Eric Lippmann Date: Tue, 23 Feb 2016 10:54:47 +0100 Subject: [PATCH 15/96] monitoring: Fix PHPDoc of MonitoredObject::obfuscateCustomVars() refs #10640 --- .../monitoring/library/Monitoring/Object/MonitoredObject.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/monitoring/library/Monitoring/Object/MonitoredObject.php b/modules/monitoring/library/Monitoring/Object/MonitoredObject.php index 37d1d48d7..914ad4003 100644 --- a/modules/monitoring/library/Monitoring/Object/MonitoredObject.php +++ b/modules/monitoring/library/Monitoring/Object/MonitoredObject.php @@ -463,7 +463,7 @@ abstract class MonitoredObject implements Filterable } /** - * Obfuscate custom variables recursively for $this->customvars. + * Obfuscate custom variables recursively * * @param stdClass|array $customvars The custom variables to obfuscate * @param string $blacklistPattern Which custom variables to obfuscate From 15c8269a5793b2b3777a74a2966ae9f2c6a48e1c Mon Sep 17 00:00:00 2001 From: "Alexander A. Klimov" Date: Tue, 23 Feb 2016 13:25:55 +0100 Subject: [PATCH 16/96] Write Url instead of URL not to let IDEs report an unused use statement --- application/forms/Dashboard/DashletForm.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/application/forms/Dashboard/DashletForm.php b/application/forms/Dashboard/DashletForm.php index c616307ba..d00381458 100644 --- a/application/forms/Dashboard/DashletForm.php +++ b/application/forms/Dashboard/DashletForm.php @@ -27,7 +27,7 @@ class DashletForm extends Form if (! $this->getSubmitLabel()) { $this->setSubmitLabel($this->translate('Add To Dashboard')); } - $this->setAction(URL::fromRequest()); + $this->setAction(Url::fromRequest()); } /** From 7f358ed88df8f9b4976c8efc125418398238efb4 Mon Sep 17 00:00:00 2001 From: Eric Lippmann Date: Tue, 23 Feb 2016 11:59:23 +0100 Subject: [PATCH 17/96] Don't sort a data view on dump when the data view is already sorted --- modules/monitoring/library/Monitoring/DataView/DataView.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/monitoring/library/Monitoring/DataView/DataView.php b/modules/monitoring/library/Monitoring/DataView/DataView.php index 271e79aeb..e71469804 100644 --- a/modules/monitoring/library/Monitoring/DataView/DataView.php +++ b/modules/monitoring/library/Monitoring/DataView/DataView.php @@ -95,7 +95,9 @@ abstract class DataView implements QueryInterface, SortRules, FilterColumns, Ite public function dump() { - $this->order(); + if (! $this->isSorted) { + $this->order(); + } return $this->query->dump(); } From ff3aa43070f982c74659467b3128ac160a7e87a6 Mon Sep 17 00:00:00 2001 From: Eric Lippmann Date: Tue, 23 Feb 2016 12:18:52 +0100 Subject: [PATCH 18/96] CSS: Set tr background transition only for hover fixes #11073 --- modules/monitoring/public/css/tables.less | 16 +++++++--------- public/css/icinga/main.less | 21 +++++++++------------ 2 files changed, 16 insertions(+), 21 deletions(-) diff --git a/modules/monitoring/public/css/tables.less b/modules/monitoring/public/css/tables.less index f2f5fd44f..c3a5e00fc 100644 --- a/modules/monitoring/public/css/tables.less +++ b/modules/monitoring/public/css/tables.less @@ -201,16 +201,14 @@ border-spacing: 0 1px; width: 100%; - tr[href] { + tr[href].active { + background-color: @tr-active-color; + } + + tr[href]:hover { .transition(background 0.2s ease); - &.active { - background-color: @tr-active-color; - } - - &:hover { - background-color: @tr-hover-color; - cursor: pointer; - } + background-color: @tr-hover-color; + cursor: pointer; } } diff --git a/public/css/icinga/main.less b/public/css/icinga/main.less index dd85f2b73..54f51860c 100644 --- a/public/css/icinga/main.less +++ b/public/css/icinga/main.less @@ -162,26 +162,23 @@ a:hover > .icon-cancel { } } - tr[href] { + tr[href].active { + background-color: @tr-active-color; + border-left-color: @icinga-blue; + } + + tr[href]:hover { .transition(background 0.2s ease); - &.active { - background-color: @tr-active-color; - border-left-color: @icinga-blue; - transition: none; - } - - &:hover { - background-color: @tr-hover-color; - cursor: pointer; - } + background-color: @tr-hover-color; + cursor: pointer; } caption { border-top: 1px solid @gray-light; caption-side: bottom; - text-align: right; font-style: italic; + text-align: right; } } From 18e3884b8ba1353037649ed29a2287333002ae91 Mon Sep 17 00:00:00 2001 From: Eric Lippmann Date: Tue, 23 Feb 2016 15:41:01 +0100 Subject: [PATCH 19/96] monitoring: Fix order of information and actions in the check execution part in the detail area fixes #10310 --- .../scripts/show/components/checksource.phtml | 12 ++++----- .../show/components/checkstatistics.phtml | 26 +++++++++---------- modules/monitoring/public/css/module.less | 21 +++++++++++++++ 3 files changed, 39 insertions(+), 20 deletions(-) diff --git a/modules/monitoring/application/views/scripts/show/components/checksource.phtml b/modules/monitoring/application/views/scripts/show/components/checksource.phtml index 5e65e9d33..8f069a09b 100644 --- a/modules/monitoring/application/views/scripts/show/components/checksource.phtml +++ b/modules/monitoring/application/views/scripts/show/components/checksource.phtml @@ -4,16 +4,14 @@ translate('Check Source') ?> diff --git a/modules/monitoring/application/views/scripts/show/components/checkstatistics.phtml b/modules/monitoring/application/views/scripts/show/components/checkstatistics.phtml index b88243cf7..0ddcbcaa8 100644 --- a/modules/monitoring/application/views/scripts/show/components/checkstatistics.phtml +++ b/modules/monitoring/application/views/scripts/show/components/checkstatistics.phtml @@ -6,18 +6,28 @@ $activeChecksEnabled = (bool) $object->active_checks_enabled; diff --git a/modules/monitoring/public/css/module.less b/modules/monitoring/public/css/module.less index 5e6bc1aae..c0c2fb023 100644 --- a/modules/monitoring/public/css/module.less +++ b/modules/monitoring/public/css/module.less @@ -1,5 +1,26 @@ /*! Icinga Web 2 | (c) 2014 Icinga Development Team | GPLv2+ */ +// Styles for the icon displayed if a check source is reachable +.check-source-reachable { + color: @color-ok; +} + +// Styles for the icon displayed if a check source is not reachable +.check-source-not-reachable { + color: @color-critical; +} + +// Styles for the icon displayed if a check result is late +.check-result-late { + color: @color-critical; + + &:before { + // Remove right margin because the check now form may be displayed right next to the icon and we already have a gap + // because of inline-blocks + margin-right: 0; + } +} + // Show more and load more links in overviews .action-links { text-align: right; From 35754fbe8ef03c2c5a86f153e5b8a98dba7d63ef Mon Sep 17 00:00:00 2001 From: Eric Lippmann Date: Tue, 23 Feb 2016 16:06:43 +0100 Subject: [PATCH 20/96] monitoring: Respect whitespace characters in the plugin output in list views fixes #10786 --- modules/monitoring/application/views/scripts/list/hosts.phtml | 4 +--- .../application/views/scripts/list/notifications.phtml | 4 +--- .../monitoring/application/views/scripts/list/services.phtml | 4 +--- modules/monitoring/public/css/tables.less | 1 + 4 files changed, 4 insertions(+), 9 deletions(-) diff --git a/modules/monitoring/application/views/scripts/list/hosts.phtml b/modules/monitoring/application/views/scripts/list/hosts.phtml index 073ba0033..f5ff2569a 100644 --- a/modules/monitoring/application/views/scripts/list/hosts.phtml +++ b/modules/monitoring/application/views/scripts/list/hosts.phtml @@ -86,9 +86,7 @@ if (! $this->compact): ?> hostFlags($host)) ?> -

- pluginOutput($this->ellipsis($host->host_output, 10000), true) ?> -

+

pluginOutput($this->ellipsis($host->host_output, 10000), true) ?>

addColumns as $col): ?>
diff --git a/modules/monitoring/application/views/scripts/list/notifications.phtml b/modules/monitoring/application/views/scripts/list/notifications.phtml index 18c029805..53d59474e 100644 --- a/modules/monitoring/application/views/scripts/list/notifications.phtml +++ b/modules/monitoring/application/views/scripts/list/notifications.phtml @@ -70,9 +70,7 @@ if (! $this->compact): ?> -

- pluginOutput($this->ellipsis($notification->notification_output, 10000), true) ?> -

+

pluginOutput($this->ellipsis($notification->notification_output, 10000), true) ?>

diff --git a/modules/monitoring/application/views/scripts/list/services.phtml b/modules/monitoring/application/views/scripts/list/services.phtml index 9086fe40e..211347f53 100644 --- a/modules/monitoring/application/views/scripts/list/services.phtml +++ b/modules/monitoring/application/views/scripts/list/services.phtml @@ -90,9 +90,7 @@ if (! $this->compact): ?>
perfdata($service->service_perfdata, true, 5) ?>
-

- pluginOutput($this->ellipsis($service->service_output, 10000), true) ?> -

+

pluginOutput($this->ellipsis($service->service_output, 10000), true) ?>

addColumns as $col): ?> diff --git a/modules/monitoring/public/css/tables.less b/modules/monitoring/public/css/tables.less index c3a5e00fc..7644f3297 100644 --- a/modules/monitoring/public/css/tables.less +++ b/modules/monitoring/public/css/tables.less @@ -77,6 +77,7 @@ font-family: @font-family-fixed; font-size: @font-size-small; margin: 0; + white-space: pre-wrap; } // Table for performance data in detail views From 358b20cec3cb6c6dbe3163b90c717051131d962d Mon Sep 17 00:00:00 2001 From: Joe Doherty Date: Thu, 18 Feb 2016 10:55:17 +0000 Subject: [PATCH 21/96] doc: Fix backports misspelling Signed-off-by: Eric Lippmann --- doc/installation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/installation.md b/doc/installation.md index d1b82aff5..84b0931bd 100644 --- a/doc/installation.md +++ b/doc/installation.md @@ -114,7 +114,7 @@ The packages for RHEL/CentOS depend on other packages which are distributed as p #### Debian wheezy Notes The packages for Debian wheezy depend on other packages which are distributed as part of the -[wheezy-packports](http://backports.debian.org/) repository. Please make sure to enable this repository by following +[wheezy-backports](http://backports.debian.org/) repository. Please make sure to enable this repository by following [these instructions](http://backports.debian.org/Instructions/). ### Installing Icinga Web 2 From b670855f252590246c92ce511a4a384e6b51df9a Mon Sep 17 00:00:00 2001 From: "Alexander A. Klimov" Date: Tue, 23 Feb 2016 14:00:07 +0100 Subject: [PATCH 22/96] Dashboard settings: escape panes' names to prevent XSS --- application/views/scripts/dashboard/settings.phtml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/application/views/scripts/dashboard/settings.phtml b/application/views/scripts/dashboard/settings.phtml index 3376da835..2d22aaf8e 100644 --- a/application/views/scripts/dashboard/settings.phtml +++ b/application/views/scripts/dashboard/settings.phtml @@ -20,7 +20,7 @@ dashboard->getPanes() as $pane): ?> - - - - + + + + + + From d257c71c5403af5bf27bdd693db88beab525ae18 Mon Sep 17 00:00:00 2001 From: "Alexander A. Klimov" Date: Fri, 12 Feb 2016 16:39:06 +0100 Subject: [PATCH 26/96] Respect permission for check now on multiple services refs #10397 --- .../application/controllers/ServicesController.php | 12 +++++++----- .../application/views/scripts/services/show.phtml | 10 ++++++---- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/modules/monitoring/application/controllers/ServicesController.php b/modules/monitoring/application/controllers/ServicesController.php index 31db67505..9d4c9a4c8 100644 --- a/modules/monitoring/application/controllers/ServicesController.php +++ b/modules/monitoring/application/controllers/ServicesController.php @@ -90,11 +90,13 @@ class ServicesController extends Controller public function showAction() { $this->setAutorefreshInterval(15); - $checkNowForm = new CheckNowCommandForm(); - $checkNowForm - ->setObjects($this->serviceList) - ->handleRequest(); - $this->view->checkNowForm = $checkNowForm; + if ($this->Auth()->hasPermission('monitoring/command/schedule-check')) { + $checkNowForm = new CheckNowCommandForm(); + $checkNowForm + ->setObjects($this->serviceList) + ->handleRequest(); + $this->view->checkNowForm = $checkNowForm; + } $acknowledgedObjects = $this->serviceList->getAcknowledgedObjects(); if (! empty($acknowledgedObjects)) { diff --git a/modules/monitoring/application/views/scripts/services/show.phtml b/modules/monitoring/application/views/scripts/services/show.phtml index 167016be4..f20a01184 100644 --- a/modules/monitoring/application/views/scripts/services/show.phtml +++ b/modules/monitoring/application/views/scripts/services/show.phtml @@ -176,10 +176,12 @@ - - - - + + + + + + From 172ebd0fd4771a7ccdeadaa856d7919f08942413 Mon Sep 17 00:00:00 2001 From: "Alexander A. Klimov" Date: Wed, 24 Feb 2016 16:35:28 +0100 Subject: [PATCH 27/96] Escape backend names in authentication backend reorder form --- .../scripts/form/reorder-authbackend.phtml | 20 ++++++++----------- 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/application/views/scripts/form/reorder-authbackend.phtml b/application/views/scripts/form/reorder-authbackend.phtml index 0e7800f0e..08a2431d1 100644 --- a/application/views/scripts/form/reorder-authbackend.phtml +++ b/application/views/scripts/form/reorder-authbackend.phtml @@ -40,30 +40,26 @@ diff --git a/modules/monitoring/application/views/scripts/services/show.phtml b/modules/monitoring/application/views/scripts/services/show.phtml index f20a01184..8e46f2e32 100644 --- a/modules/monitoring/application/views/scripts/services/show.phtml +++ b/modules/monitoring/application/views/scripts/services/show.phtml @@ -49,7 +49,7 @@ ) ?> From c834e66b9a19a165e42cd8ec8e62b82709f9cb34 Mon Sep 17 00:00:00 2001 From: Eric Lippmann Date: Thu, 25 Feb 2016 10:36:10 +0100 Subject: [PATCH 30/96] Show useful error message if a command transport failed fixes #10173 --- .../Command/Transport/CommandTransport.php | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/modules/monitoring/library/Monitoring/Command/Transport/CommandTransport.php b/modules/monitoring/library/Monitoring/Command/Transport/CommandTransport.php index 179b9e59a..81fb54939 100644 --- a/modules/monitoring/library/Monitoring/Command/Transport/CommandTransport.php +++ b/modules/monitoring/library/Monitoring/Command/Transport/CommandTransport.php @@ -111,16 +111,16 @@ class CommandTransport implements CommandTransportInterface */ public function send(IcingaCommand $command, $now = null) { - $tries = 0; - foreach (static::getConfig() as $transportConfig) { - $transport = static::createTransport($transportConfig); + $errors = array(); + foreach (static::getConfig() as $name => $transportConfig) { + $transport = static::createTransport($transportConfig); if ($this->transferPossible($command, $transport)) { try { $transport->send($command, $now); } catch (CommandTransportException $e) { Logger::error($e); - $tries += 1; + $errors[] = sprintf('%s: %s.', $name, rtrim($e->getMessage(), '.')); continue; // Try the next transport } @@ -128,14 +128,8 @@ class CommandTransport implements CommandTransportInterface } } - if ($tries > 0) { - throw new CommandTransportException( - mt( - 'monitoring', - 'Failed to send external Icinga command. None of the configured transports' - . ' was able to transfer the command. Please see the log for more details.' - ) - ); + if (! empty($errors)) { + throw new CommandTransportException(implode("\n", $errors)); } throw new CommandTransportException( From a34f48c9900e1bc5e5226d7b903afe9912414eac Mon Sep 17 00:00:00 2001 From: Eric Lippmann Date: Thu, 25 Feb 2016 11:33:43 +0100 Subject: [PATCH 31/96] Fix wrong "Sent out to any contact" notification information --- .../application/views/scripts/list/notifications.phtml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/monitoring/application/views/scripts/list/notifications.phtml b/modules/monitoring/application/views/scripts/list/notifications.phtml index 53d59474e..6428055cc 100644 --- a/modules/monitoring/application/views/scripts/list/notifications.phtml +++ b/modules/monitoring/application/views/scripts/list/notifications.phtml @@ -65,7 +65,7 @@ if (! $this->compact): ?> ) ) ?> - translate('Sent out to any contact') ?> + translate('Not sent out to any contact') ?> From 43a7ed357a1e1df58b633a98fc065b53c9347476 Mon Sep 17 00:00:00 2001 From: Eric Lippmann Date: Thu, 25 Feb 2016 11:34:23 +0100 Subject: [PATCH 32/96] Fix whitespaces in event-history overview-plugin-output now has white-space: pre-wrap --- .../views/scripts/partials/event-history.phtml | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/modules/monitoring/application/views/scripts/partials/event-history.phtml b/modules/monitoring/application/views/scripts/partials/event-history.phtml index 7a0cee293..33e34ec8a 100644 --- a/modules/monitoring/application/views/scripts/partials/event-history.phtml +++ b/modules/monitoring/application/views/scripts/partials/event-history.phtml @@ -143,14 +143,11 @@ $history->limit($limit * $page); ) ?> -

- icon($icon, null, $iconCssClass ? array('class' => $iconCssClass) : array()); - } ?> - nl2br($this->createTicketLinks($this->escapeComment($msg))) - // TODO(ak): this allows only a[href] in messages, but plugin output allows more - ?> -

+

icon($icon, null, $iconCssClass ? array('class' => $iconCssClass) : array()); + } ?>nl2br($this->createTicketLinks($this->escapeComment($msg))) + // TODO(ak): this allows only a[href] in messages, but plugin output allows more + ?>

From af18334e3e8725743756f6973988d1422460d0ec Mon Sep 17 00:00:00 2001 From: "Alexander A. Klimov" Date: Thu, 25 Feb 2016 13:21:34 +0100 Subject: [PATCH 33/96] Cookie icingaweb2-tzo: use `-' as separator fixes #11126 --- library/Icinga/Util/TimezoneDetect.php | 2 +- public/js/icinga/timezone.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/library/Icinga/Util/TimezoneDetect.php b/library/Icinga/Util/TimezoneDetect.php index dfd8d550d..f5e033ae0 100644 --- a/library/Icinga/Util/TimezoneDetect.php +++ b/library/Icinga/Util/TimezoneDetect.php @@ -53,7 +53,7 @@ class TimezoneDetect } if (Platform::isCli() === false && array_key_exists(self::$cookieName, $_COOKIE)) { - list($offset, $dst) = explode(',', $_COOKIE[self::$cookieName]); + list($offset, $dst) = explode('-', $_COOKIE[self::$cookieName]); $timezoneName = timezone_name_from_abbr('', (int)$offset, (int)$dst); self::$success = (bool)$timezoneName; diff --git a/public/js/icinga/timezone.js b/public/js/icinga/timezone.js index 1395671a5..c018c5db1 100644 --- a/public/js/icinga/timezone.js +++ b/public/js/icinga/timezone.js @@ -73,7 +73,7 @@ return; } - this.writeCookie(this.cookieName, timezoneOffset + ',' + Number(dst), 1); + this.writeCookie(this.cookieName, timezoneOffset + '-' + Number(dst), 1); }, /** From 45168caa375feafdc01665627972339c49773cf9 Mon Sep 17 00:00:00 2001 From: "Alexander A. Klimov" Date: Thu, 25 Feb 2016 14:41:42 +0100 Subject: [PATCH 34/96] TimezoneDetect: support comma-separated icingaweb2-tzo cookies --- library/Icinga/Util/TimezoneDetect.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/library/Icinga/Util/TimezoneDetect.php b/library/Icinga/Util/TimezoneDetect.php index f5e033ae0..9b6bbc8dc 100644 --- a/library/Icinga/Util/TimezoneDetect.php +++ b/library/Icinga/Util/TimezoneDetect.php @@ -53,7 +53,11 @@ class TimezoneDetect } if (Platform::isCli() === false && array_key_exists(self::$cookieName, $_COOKIE)) { - list($offset, $dst) = explode('-', $_COOKIE[self::$cookieName]); + $cookieValue = $_COOKIE[self::$cookieName]; + list($offset, $dst) = explode( + strpos($cookieValue, ',') === false ? '-' : ',', + $cookieValue + ); $timezoneName = timezone_name_from_abbr('', (int)$offset, (int)$dst); self::$success = (bool)$timezoneName; From 5a76895105775e886d88084ee437087fecfd1a72 Mon Sep 17 00:00:00 2001 From: Eric Lippmann Date: Thu, 25 Feb 2016 13:04:26 +0100 Subject: [PATCH 35/96] CSS: Disable :hover transition on tr (WIP) If any tr is hovered and auto-refresh kicks in, the tr will be hovered again which leads to "flickering". We should find good a way to use transitions w/o flickering. refs #11073 --- modules/monitoring/public/css/tables.less | 2 -- public/css/icinga/main.less | 2 -- 2 files changed, 4 deletions(-) diff --git a/modules/monitoring/public/css/tables.less b/modules/monitoring/public/css/tables.less index 7644f3297..bb2027c95 100644 --- a/modules/monitoring/public/css/tables.less +++ b/modules/monitoring/public/css/tables.less @@ -207,8 +207,6 @@ } tr[href]:hover { - .transition(background 0.2s ease); - background-color: @tr-hover-color; cursor: pointer; } diff --git a/public/css/icinga/main.less b/public/css/icinga/main.less index 54f51860c..82e4456bd 100644 --- a/public/css/icinga/main.less +++ b/public/css/icinga/main.less @@ -168,8 +168,6 @@ a:hover > .icon-cancel { } tr[href]:hover { - .transition(background 0.2s ease); - background-color: @tr-hover-color; cursor: pointer; } From 4751df692dbb18b05f0434668cd48fbc0093400c Mon Sep 17 00:00:00 2001 From: "Alexander A. Klimov" Date: Thu, 25 Feb 2016 17:08:10 +0100 Subject: [PATCH 36/96] Allow style classes in plugin output resolves #11062 --- modules/monitoring/application/views/helpers/PluginOutput.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/monitoring/application/views/helpers/PluginOutput.php b/modules/monitoring/application/views/helpers/PluginOutput.php index 1ccc8f866..f5c73ee21 100644 --- a/modules/monitoring/application/views/helpers/PluginOutput.php +++ b/modules/monitoring/application/views/helpers/PluginOutput.php @@ -97,7 +97,7 @@ class Zend_View_Helper_PluginOutput extends Zend_View_Helper_Abstract $config = HTMLPurifier_Config::createDefault(); $config->set('Core.EscapeNonASCIICharacters', true); - $config->set('HTML.Allowed', 'p,br,b,a[href],i,table,tr,td[colspan],div[class]'); + $config->set('HTML.Allowed', 'p,br,b,a[href],i,table,tr,td[colspan],div,*[class]'); // This avoids permission problems: // $config->set('Core.DefinitionCache', null); $config->set('Cache.DefinitionImpl', null); From 1aada1abbb5334d7e7e8940f59cbfd700ddb42ce Mon Sep 17 00:00:00 2001 From: "Alexander A. Klimov" Date: Thu, 25 Feb 2016 17:31:09 +0100 Subject: [PATCH 37/96] Present the fact that Icinga Web 2's config directory isn't readable in a nicer way fixes #11119 --- library/Icinga/Cli/Loader.php | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/library/Icinga/Cli/Loader.php b/library/Icinga/Cli/Loader.php index 0f7d2500f..14a387a47 100644 --- a/library/Icinga/Cli/Loader.php +++ b/library/Icinga/Cli/Loader.php @@ -5,6 +5,7 @@ namespace Icinga\Cli; use Icinga\Application\ApplicationBootstrap as App; use Icinga\Exception\IcingaException; +use Icinga\Exception\NotReadableError; use Icinga\Exception\ProgrammingError; use Icinga\Cli\Params; use Icinga\Cli\Screen; @@ -421,10 +422,14 @@ class Loader { if ($this->modules === null) { $this->modules = array(); - $this->modules = array_unique(array_merge( - $this->app->getModuleManager()->listEnabledModules(), - $this->app->getModuleManager()->listLoadedModules() - )); + try { + $this->modules = array_unique(array_merge( + $this->app->getModuleManager()->listEnabledModules(), + $this->app->getModuleManager()->listLoadedModules() + )); + } catch (NotReadableError $e) { + $this->fail($e->getMessage()); + } } return $this->modules; } From 1bbb7a311891395b581763c0a984f002b63c9aa5 Mon Sep 17 00:00:00 2001 From: "Alexander A. Klimov" Date: Thu, 25 Feb 2016 17:34:03 +0100 Subject: [PATCH 38/96] Manager::detectEnabledModules(): shorten error message --- library/Icinga/Application/Modules/Manager.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/Icinga/Application/Modules/Manager.php b/library/Icinga/Application/Modules/Manager.php index d152ac0e7..18232d079 100644 --- a/library/Icinga/Application/Modules/Manager.php +++ b/library/Icinga/Application/Modules/Manager.php @@ -120,7 +120,7 @@ class Manager } if (! is_readable($parent)) { throw new NotReadableError( - 'Cannot read enabled modules. Module directory\'s parent directory "%s" is not readable', + 'Cannot read enabled modules. Config directory "%s" is not readable', $parent ); } From 47b30199407c947c09feeea8d51d43860d76b843 Mon Sep 17 00:00:00 2001 From: Eric Lippmann Date: Thu, 25 Feb 2016 17:45:51 +0100 Subject: [PATCH 39/96] Add MonitoringBackend::isIcinga2() This function is for the many places where we have to distinguish between Icinga 1.x and Icinga 2.x. refs #11100 --- .../Monitoring/Backend/MonitoringBackend.php | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/modules/monitoring/library/Monitoring/Backend/MonitoringBackend.php b/modules/monitoring/library/Monitoring/Backend/MonitoringBackend.php index fb2f80410..54caa726f 100644 --- a/modules/monitoring/library/Monitoring/Backend/MonitoringBackend.php +++ b/modules/monitoring/library/Monitoring/Backend/MonitoringBackend.php @@ -341,4 +341,22 @@ class MonitoringBackend implements Selectable, Queryable, ConnectionInterface { return $this->select()->from('programstatus', array('program_version'))->fetchOne(); } + + /** + * Get whether the backend is Icinga 2 + * + * @param string $programVersion + * + * @return bool + */ + public function isIcinga2($programVersion = null) + { + if ($programVersion === null) { + $programVersion = $this->select()->from('programstatus', array('program_version'))->fetchOne(); + } + return (bool) preg_match( + '/^[vr]2\.\d+\.\d+.*$/', + $programVersion + ); + } } From 863bf0886482986d6488d3e41e21c641c85fc04d Mon Sep 17 00:00:00 2001 From: Eric Lippmann Date: Thu, 25 Feb 2016 17:48:32 +0100 Subject: [PATCH 40/96] Use isIcinga2() in the ToggleInstanceFeaturesCommandForm --- modules/monitoring/application/controllers/HealthController.php | 1 + .../Command/Instance/ToggleInstanceFeaturesCommandForm.php | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/monitoring/application/controllers/HealthController.php b/modules/monitoring/application/controllers/HealthController.php index 1614e72e0..999ea99aa 100644 --- a/modules/monitoring/application/controllers/HealthController.php +++ b/modules/monitoring/application/controllers/HealthController.php @@ -93,6 +93,7 @@ class HealthController extends Controller $this->view->programStatus = $programStatus; $toggleFeaturesForm = new ToggleInstanceFeaturesCommandForm(); $toggleFeaturesForm + ->setBackend($this->backend) ->setStatus($programStatus) ->load($programStatus) ->handleRequest(); diff --git a/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php b/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php index 6e6ae83d3..ed50466fe 100644 --- a/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php +++ b/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php @@ -138,7 +138,7 @@ class ToggleInstanceFeaturesCommandForm extends CommandForm ) ); - if (! preg_match('~^v2\.\d+\.\d+.*$~', $this->status->program_version)) { + if (! $this->getBackend()->isIcinga2($this->status->program_version)) { $this->addElement( 'checkbox', ToggleInstanceFeatureCommand::FEATURE_HOST_OBSESSING, From 02eea2ad1128114c6a0bb91d76e4f5d21af594e9 Mon Sep 17 00:00:00 2001 From: Eric Lippmann Date: Thu, 25 Feb 2016 17:51:02 +0100 Subject: [PATCH 41/96] Disable persistent comment checkbox if backend is Icinga 2 refs #11100 --- .../controllers/HostController.php | 2 -- .../controllers/HostsController.php | 3 +- .../controllers/ServiceController.php | 1 - .../controllers/ServicesController.php | 2 +- .../Command/Object/AddCommentCommandForm.php | 34 ++++++++++--------- .../Controller/MonitoredObjectController.php | 1 + 6 files changed, 21 insertions(+), 22 deletions(-) diff --git a/modules/monitoring/application/controllers/HostController.php b/modules/monitoring/application/controllers/HostController.php index 65e0e70fe..bb98b2a8f 100644 --- a/modules/monitoring/application/controllers/HostController.php +++ b/modules/monitoring/application/controllers/HostController.php @@ -151,7 +151,6 @@ class HostController extends MonitoredObjectController $this->assertPermission('monitoring/command/downtime/schedule'); $form = new ScheduleHostDowntimeCommandForm(); - $form->setBackend($this->backend); $form->setTitle($this->translate('Schedule Host Downtime')); $this->handleCommandForm($form); } @@ -164,7 +163,6 @@ class HostController extends MonitoredObjectController $this->assertPermission('monitoring/command/process-check-result'); $form = new ProcessCheckResultCommandForm(); - $form->setBackend($this->backend); $form->setTitle($this->translate('Submit Passive Host Check Result')); $this->handleCommandForm($form); } diff --git a/modules/monitoring/application/controllers/HostsController.php b/modules/monitoring/application/controllers/HostsController.php index 793df1ec8..12017657c 100644 --- a/modules/monitoring/application/controllers/HostsController.php +++ b/modules/monitoring/application/controllers/HostsController.php @@ -69,6 +69,7 @@ class HostsController extends Controller protected function handleCommandForm(ObjectsCommandForm $form) { $form + ->setBackend($this->backend) ->setObjects($this->hostList) ->setRedirectUrl(Url::fromPath('monitoring/hosts/show')->setParams($this->params)) ->handleRequest(); @@ -194,7 +195,6 @@ class HostsController extends Controller $this->assertPermission('monitoring/command/downtime/schedule'); $form = new ScheduleHostDowntimeCommandForm(); - $form->setBackend($this->backend); $form->setTitle($this->translate('Schedule Host Downtimes')); $this->handleCommandForm($form); } @@ -207,7 +207,6 @@ class HostsController extends Controller $this->assertPermission('monitoring/command/process-check-result'); $form = new ProcessCheckResultCommandForm(); - $form->setBackend($this->backend); $form->setTitle($this->translate('Submit Passive Host Check Results')); $this->handleCommandForm($form); } diff --git a/modules/monitoring/application/controllers/ServiceController.php b/modules/monitoring/application/controllers/ServiceController.php index 0018407bb..4d049149a 100644 --- a/modules/monitoring/application/controllers/ServiceController.php +++ b/modules/monitoring/application/controllers/ServiceController.php @@ -121,7 +121,6 @@ class ServiceController extends MonitoredObjectController $this->assertPermission('monitoring/command/process-check-result'); $form = new ProcessCheckResultCommandForm(); - $form->setBackend($this->backend); $form->setTitle($this->translate('Submit Passive Service Check Result')); $this->handleCommandForm($form); } diff --git a/modules/monitoring/application/controllers/ServicesController.php b/modules/monitoring/application/controllers/ServicesController.php index 9d4c9a4c8..53312ae48 100644 --- a/modules/monitoring/application/controllers/ServicesController.php +++ b/modules/monitoring/application/controllers/ServicesController.php @@ -75,6 +75,7 @@ class ServicesController extends Controller protected function handleCommandForm(ObjectsCommandForm $form) { $form + ->setBackend($this->backend) ->setObjects($this->serviceList) ->setRedirectUrl(Url::fromPath('monitoring/services/show')->setParams($this->params)) ->handleRequest(); @@ -209,7 +210,6 @@ class ServicesController extends Controller $this->assertPermission('monitoring/command/process-check-result'); $form = new ProcessCheckResultCommandForm(); - $form->setBackend($this->backend); $form->setTitle($this->translate('Submit Passive Service Check Results')); $this->handleCommandForm($form); } diff --git a/modules/monitoring/application/forms/Command/Object/AddCommentCommandForm.php b/modules/monitoring/application/forms/Command/Object/AddCommentCommandForm.php index a04029c66..4d6124e0c 100644 --- a/modules/monitoring/application/forms/Command/Object/AddCommentCommandForm.php +++ b/modules/monitoring/application/forms/Command/Object/AddCommentCommandForm.php @@ -34,21 +34,21 @@ class AddCommentCommandForm extends ObjectsCommandForm */ public function createElements(array $formData = array()) { - $this->addElements(array( + $this->addElement( + 'textarea', + 'comment', array( - 'textarea', - 'comment', - array( - 'required' => true, - 'label' => $this->translate('Comment'), - 'description' => $this->translate( - 'If you work with other administrators, you may find it useful to share information about the' - . ' the host or service that is having problems. Make sure you enter a brief description of' - . ' what you are doing.' - ) + 'required' => true, + 'label' => $this->translate('Comment'), + 'description' => $this->translate( + 'If you work with other administrators, you may find it useful to share information about the' + . ' the host or service that is having problems. Make sure you enter a brief description of' + . ' what you are doing.' ) - ), - array( + ) + ); + if (! $this->getBackend()->isIcinga2()) { + $this->addElement( 'checkbox', 'persistent', array( @@ -59,8 +59,8 @@ class AddCommentCommandForm extends ObjectsCommandForm . ' restarted.' ) ) - ) - )); + ); + } return $this; } @@ -76,7 +76,9 @@ class AddCommentCommandForm extends ObjectsCommandForm $comment->setObject($object); $comment->setComment($this->getElement('comment')->getValue()); $comment->setAuthor($this->request->getUser()->getUsername()); - $comment->setPersistent($this->getElement('persistent')->isChecked()); + if (($persistent = $this->getElement('persistent')) !== null) { + $comment->setPersistent($persistent->isChecked()); + } $this->getTransport($this->request)->send($comment); } Notification::success($this->translatePlural( diff --git a/modules/monitoring/library/Monitoring/Web/Controller/MonitoredObjectController.php b/modules/monitoring/library/Monitoring/Web/Controller/MonitoredObjectController.php index 2d4d54ffa..f7a0b8179 100644 --- a/modules/monitoring/library/Monitoring/Web/Controller/MonitoredObjectController.php +++ b/modules/monitoring/library/Monitoring/Web/Controller/MonitoredObjectController.php @@ -122,6 +122,7 @@ abstract class MonitoredObjectController extends Controller protected function handleCommandForm(ObjectsCommandForm $form) { $form + ->setBackend($this->backend) ->setObjects($this->object) ->setRedirectUrl(Url::fromPath($this->commandRedirectUrl)->setParams($this->params)) ->handleRequest(); From 5f8b994d5f11ec5f5e05e8db7c007f80594b42d0 Mon Sep 17 00:00:00 2001 From: Eric Lippmann Date: Thu, 25 Feb 2016 17:51:37 +0100 Subject: [PATCH 42/96] Use isIcinga2() in command forms where needed --- .../Command/Object/ProcessCheckResultCommandForm.php | 2 +- .../Object/ScheduleHostDowntimeCommandForm.php | 2 +- .../Object/ToggleObjectFeaturesCommandForm.php | 12 +----------- 3 files changed, 3 insertions(+), 13 deletions(-) diff --git a/modules/monitoring/application/forms/Command/Object/ProcessCheckResultCommandForm.php b/modules/monitoring/application/forms/Command/Object/ProcessCheckResultCommandForm.php index db45449cb..569278567 100644 --- a/modules/monitoring/application/forms/Command/Object/ProcessCheckResultCommandForm.php +++ b/modules/monitoring/application/forms/Command/Object/ProcessCheckResultCommandForm.php @@ -124,7 +124,7 @@ class ProcessCheckResultCommandForm extends ObjectsCommandForm ProcessCheckResultCommand::HOST_DOWN => $this->translate('DOWN', 'icinga.state') ); - if (substr($this->getBackend()->getProgramVersion(), 0, 2) !== 'v2') { + if (! $this->getBackend()->isIcinga2()) { $options[ProcessCheckResultCommand::HOST_UNREACHABLE] = $this->translate('UNREACHABLE', 'icinga.state'); } diff --git a/modules/monitoring/application/forms/Command/Object/ScheduleHostDowntimeCommandForm.php b/modules/monitoring/application/forms/Command/Object/ScheduleHostDowntimeCommandForm.php index 424823cca..05d1451d9 100644 --- a/modules/monitoring/application/forms/Command/Object/ScheduleHostDowntimeCommandForm.php +++ b/modules/monitoring/application/forms/Command/Object/ScheduleHostDowntimeCommandForm.php @@ -33,7 +33,7 @@ class ScheduleHostDowntimeCommandForm extends ScheduleServiceDowntimeCommandForm ) ); - if (substr($this->getBackend()->getProgramVersion(), 0, 2) !== 'v2') { + if (! $this->getBackend()->isIcinga2()) { $this->addElement( 'select', 'child_hosts', diff --git a/modules/monitoring/application/forms/Command/Object/ToggleObjectFeaturesCommandForm.php b/modules/monitoring/application/forms/Command/Object/ToggleObjectFeaturesCommandForm.php index 74d9e073b..cc76327b5 100644 --- a/modules/monitoring/application/forms/Command/Object/ToggleObjectFeaturesCommandForm.php +++ b/modules/monitoring/application/forms/Command/Object/ToggleObjectFeaturesCommandForm.php @@ -59,7 +59,7 @@ class ToggleObjectFeaturesCommandForm extends ObjectsCommandForm 'permission' => 'monitoring/command/feature/object/flap-detection' ) ); - if (preg_match('~^[vr]2\.\d+\.\d+.*$~', $this->getIcingaVersion())) { + if ($this->getBackend()->isIcinga2()) { unset($features[ToggleObjectFeatureCommand::FEATURE_OBSESSING]); } $this->features = $features; @@ -176,14 +176,4 @@ class ToggleObjectFeaturesCommandForm extends ObjectsCommandForm return true; } - - /** - * Fetch and return the program version of the current instance - * - * @return string - */ - protected function getIcingaVersion() - { - return $this->getBackend()->select()->from('programstatus', array('program_version'))->fetchOne(); - } } From 9231746d099823232f9d53750723668c3514e53d Mon Sep 17 00:00:00 2001 From: Thomas Gelf Date: Thu, 25 Feb 2016 18:07:29 +0100 Subject: [PATCH 43/96] functions.php: failsafe method initialization This avoids collisions for modules not using the fake bootstrap in our current tests. Can be removed once we fixed that. --- library/Icinga/Application/functions.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/library/Icinga/Application/functions.php b/library/Icinga/Application/functions.php index 48b5a7cdf..6144c729b 100644 --- a/library/Icinga/Application/functions.php +++ b/library/Icinga/Application/functions.php @@ -3,7 +3,6 @@ use Icinga\Util\Translator; - /** * No-op translate * @@ -19,6 +18,11 @@ function N_($messageId) return $messageId; } +// Workaround for test issues, this is required unless our tests are able to +// accomplish "real" bootstrapping +if (function_exists('t')) { + return; +} if (extension_loaded('gettext')) { From 9d5e21e71ebc611bc46727df512d182ef57059f4 Mon Sep 17 00:00:00 2001 From: Eric Lippmann Date: Fri, 26 Feb 2016 10:32:13 +0100 Subject: [PATCH 44/96] Remove IniUserGroupBackend.php Does not conform to its interface anymore and is not in use. --- .../UserGroup/IniUserGroupBackend.php | 143 ------------------ .../UserGroup/UserGroupBackend.php | 6 +- 2 files changed, 1 insertion(+), 148 deletions(-) delete mode 100644 library/Icinga/Authentication/UserGroup/IniUserGroupBackend.php diff --git a/library/Icinga/Authentication/UserGroup/IniUserGroupBackend.php b/library/Icinga/Authentication/UserGroup/IniUserGroupBackend.php deleted file mode 100644 index 217018d94..000000000 --- a/library/Icinga/Authentication/UserGroup/IniUserGroupBackend.php +++ /dev/null @@ -1,143 +0,0 @@ - array( - 'group' => 'name', - 'group_name' => 'name', - 'parent' => 'parent', - 'created_at' => 'ctime', - 'last_modified' => 'mtime', - 'users' - ) - ); - - /** - * The columns which are not permitted to be queried - * - * @var array - */ - protected $blacklistedQueryColumns = array('group'); - - /** - * The search columns being provided - * - * @var array - */ - protected $searchColumns = array('group'); - - /** - * The value conversion rules to apply on a query or statement - * - * @var array - */ - protected $conversionRules = array( - 'groups' => array( - 'created_at' => 'date_time', - 'last_modified' => 'date_time', - 'users' => 'comma_separated_string' - ) - ); - - /** - * Initialize this ini user group backend - */ - protected function init() - { - $this->ds->getConfigObject()->setKeyColumn('name'); - } - - /** - * Initialize this repository's filter columns - * - * @return array - */ - protected function initializeFilterColumns() - { - return array( - t('User Group') => 'group', - t('Parent') => 'parent', - t('Created At') => 'created_at', - t('Last Modified') => 'last_modified' - ); - } - - /** - * Add a new group to this backend - * - * @param string $target - * @param array $data - * - * @throws StatementException In case the operation has failed - */ - public function insert($target, array $data) - { - $data['created_at'] = time(); - parent::insert($target, $data); - } - - /** - * Update groups of this backend, optionally limited using a filter - * - * @param string $target - * @param array $data - * @param Filter $filter - * - * @throws StatementException In case the operation has failed - */ - public function update($target, array $data, Filter $filter = null) - { - $data['last_modified'] = time(); - parent::update($target, $data, $filter); - } - - /** - * Return the groups the given user is a member of - * - * @param User $user - * - * @return array - */ - public function getMemberships(User $user) - { - $result = $this->select()->fetchAll(); - - $groups = array(); - foreach ($result as $group) { - $groups[$group->group_name] = $group->parent; - } - - $username = strtolower($user->getUsername()); - $memberships = array(); - foreach ($result as $group) { - if ($group->users && !in_array($group->group_name, $memberships)) { - $users = array_map('strtolower', StringHelper::trimSplit($group->users)); - if (in_array($username, $users)) { - $memberships[] = $group->group_name; - $parent = $groups[$group->group_name]; - while ($parent !== null) { - $memberships[] = $parent; - $parent = isset($groups[$parent]) ? $groups[$parent] : null; - } - } - } - } - - return $memberships; - } -} diff --git a/library/Icinga/Authentication/UserGroup/UserGroupBackend.php b/library/Icinga/Authentication/UserGroup/UserGroupBackend.php index 617c758d8..8b8d9cda2 100644 --- a/library/Icinga/Authentication/UserGroup/UserGroupBackend.php +++ b/library/Icinga/Authentication/UserGroup/UserGroupBackend.php @@ -22,8 +22,7 @@ class UserGroupBackend protected static $defaultBackends = array( 'db', 'ldap', - 'msldap', - //'ini' + 'msldap' ); /** @@ -155,9 +154,6 @@ class UserGroupBackend case 'db': $backend = new DbUserGroupBackend($resource); break; - case 'ini': - $backend = new IniUserGroupBackend($resource); - break; case 'ldap': case 'msldap': $backend = new LdapUserGroupBackend($resource); From e4a0678df01ee26eb5969316bdc04e765f99e582 Mon Sep 17 00:00:00 2001 From: Eric Lippmann Date: Fri, 26 Feb 2016 12:29:30 +0100 Subject: [PATCH 45/96] Load resources from config automatically instead of throwing an exception fixes #10918 --- .../Application/ApplicationBootstrap.php | 19 ------------------- library/Icinga/Application/Cli.php | 1 - library/Icinga/Application/Web.php | 1 - library/Icinga/Data/ResourceFactory.php | 6 ++---- 4 files changed, 2 insertions(+), 25 deletions(-) diff --git a/library/Icinga/Application/ApplicationBootstrap.php b/library/Icinga/Application/ApplicationBootstrap.php index c14f58884..7f0a51b25 100644 --- a/library/Icinga/Application/ApplicationBootstrap.php +++ b/library/Icinga/Application/ApplicationBootstrap.php @@ -520,25 +520,6 @@ abstract class ApplicationBootstrap return $this; } - /** - * Set up the resource factory - * - * @return $this - */ - protected function setupResourceFactory() - { - try { - $config = Config::app('resources'); - ResourceFactory::setConfig($config); - } catch (NotReadableError $e) { - Logger::error( - new IcingaException('Cannot load resource configuration. An exception was thrown:', $e) - ); - } - - return $this; - } - /** * Set up the user backend factory * diff --git a/library/Icinga/Application/Cli.php b/library/Icinga/Application/Cli.php index 4fa8bf01e..1ef90e2cb 100644 --- a/library/Icinga/Application/Cli.php +++ b/library/Icinga/Application/Cli.php @@ -41,7 +41,6 @@ class Cli extends ApplicationBootstrap ->setupInternationalization() ->parseBasicParams() ->setupLogger() - ->setupResourceFactory() ->setupModuleManager() ->setupUserBackendFactory() ->loadSetupModuleIfNecessary(); diff --git a/library/Icinga/Application/Web.php b/library/Icinga/Application/Web.php index 7104080ae..02f0aa9a5 100644 --- a/library/Icinga/Application/Web.php +++ b/library/Icinga/Application/Web.php @@ -82,7 +82,6 @@ class Web extends EmbeddedWeb ->setupLogging() ->setupErrorHandling() ->loadConfig() - ->setupResourceFactory() ->setupSession() ->setupNotifications() ->setupRequest() diff --git a/library/Icinga/Data/ResourceFactory.php b/library/Icinga/Data/ResourceFactory.php index 46c114660..cf424963e 100644 --- a/library/Icinga/Data/ResourceFactory.php +++ b/library/Icinga/Data/ResourceFactory.php @@ -67,16 +67,14 @@ class ResourceFactory implements ConfigAwareFactory } /** - * Check if the existing resources are set. If not, throw an error. + * Check if the existing resources are set. If not, load them from resources.ini * * @throws ConfigurationError */ private static function assertResourcesExist() { if (self::$resources === null) { - throw new ConfigurationError( - 'Resources not set up. Please contact your Icinga Web administrator' - ); + self::$resources = Config::app('resources'); } } From d66198e5559fec47cf7c76d7423e0f323f8aab7c Mon Sep 17 00:00:00 2001 From: "Alexander A. Klimov" Date: Fri, 26 Feb 2016 12:33:10 +0100 Subject: [PATCH 46/96] Puppet module apache: install package mod_ssl refs #11238 --- .puppet/modules/apache/manifests/init.pp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.puppet/modules/apache/manifests/init.pp b/.puppet/modules/apache/manifests/init.pp index e96150f12..3eaba1ed7 100644 --- a/.puppet/modules/apache/manifests/init.pp +++ b/.puppet/modules/apache/manifests/init.pp @@ -35,6 +35,11 @@ class apache { require => Package['apache'], } + package { 'mod_ssl': + ensure => latest, + notify => Service[$apache], + } + @user { $user: alias => 'apache', } From ce4f844e9f0e22b2908acdb2c2f9e27a33fe5dd6 Mon Sep 17 00:00:00 2001 From: "Alexander A. Klimov" Date: Fri, 26 Feb 2016 14:01:15 +0100 Subject: [PATCH 47/96] Vagrant: forward port 8443 -> 443 refs #11238 --- Vagrantfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Vagrantfile b/Vagrantfile index 7a966a0e4..b17c2dcc2 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -18,6 +18,8 @@ end Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.network "forwarded_port", guest: 80, host: 8080, auto_correct: true + config.vm.network "forwarded_port", guest: 443, host: 8443, + auto_correct: true config.vm.provision :shell, :path => ".puppet/manifests/puppet.sh" From 0c34c206401c6d06b7225305e6d752c2ef79cf60 Mon Sep 17 00:00:00 2001 From: Florian Strohmaier Date: Wed, 17 Feb 2016 16:42:11 +0100 Subject: [PATCH 48/96] Prepare close-container for behavior implementation refs #8590 --- public/js/icinga/events.js | 6 ------ public/js/icinga/ui.js | 12 +----------- 2 files changed, 1 insertion(+), 17 deletions(-) diff --git a/public/js/icinga/events.js b/public/js/icinga/events.js index dd38f30bb..fc2fb8e77 100644 --- a/public/js/icinga/events.js +++ b/public/js/icinga/events.js @@ -89,12 +89,6 @@ if ($searchField.length && $searchField.val().length) { self.searchValue = $searchField.val(); } - - if (icinga.ui.isOneColLayout()) { - icinga.ui.disableCloseButtons(); - } else { - icinga.ui.enableCloseButtons(); - } }, /** diff --git a/public/js/icinga/ui.js b/public/js/icinga/ui.js index a20cd9b37..a797aab1f 100644 --- a/public/js/icinga/ui.js +++ b/public/js/icinga/ui.js @@ -269,8 +269,6 @@ this.icinga.logger.debug('Switching to single col'); $('#layout').removeClass('twocols'); this.closeContainer($('#col2')); - this.disableCloseButtons(); - // one-column layouts never have any selection active this.icinga.behaviors.actiontable.clearAll(); }, @@ -281,6 +279,7 @@ $c.removeData('lastUpdate'); $c.removeData('icingaModule'); this.icinga.loader.stopPendingRequestsFor($c); + $c.trigger('close-column'); $c.html(''); this.fixControls(); }, @@ -290,7 +289,6 @@ this.icinga.logger.debug('Switching to double col'); $('#layout').addClass('twocols'); this.fixControls(); - this.enableCloseButtons(); }, getAvailableColumnSpace: function () { @@ -508,14 +506,6 @@ } }, - disableCloseButtons: function () { - $('a.close-container-control').hide(); - }, - - enableCloseButtons: function () { - $('a.close-close-container-control').show(); - }, - /** * Toggle mobile menu * From 7188a82a4ccdafe7f00aeeeb9742e7b7eae2c5dd Mon Sep 17 00:00:00 2001 From: Eric Lippmann Date: Sat, 27 Feb 2016 15:09:11 +0100 Subject: [PATCH 49/96] Fix that the close-container-control is not immediately shown for #col1 refs #8590 --- public/css/icinga/tabs.less | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/public/css/icinga/tabs.less b/public/css/icinga/tabs.less index 104ed7f45..4ab8ace23 100644 --- a/public/css/icinga/tabs.less +++ b/public/css/icinga/tabs.less @@ -100,3 +100,11 @@ .dropdown-nav-item > ul > li:hover > a > .display-on-hover { position: static; } + +.tabs > li > .close-container-control { + display: none; +} + +#layout.twocols .tabs > li > .close-container-control { + display: block; +} From c5aab5374581259af895d52ef61219e5a307f3d2 Mon Sep 17 00:00:00 2001 From: Eric Lippmann Date: Sat, 27 Feb 2016 15:27:59 +0100 Subject: [PATCH 50/96] Add upgrading note about the changed Authentication and Authorization menu entries refs #10309 --- doc/installation.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/doc/installation.md b/doc/installation.md index 84b0931bd..04ec7b842 100644 --- a/doc/installation.md +++ b/doc/installation.md @@ -519,3 +519,8 @@ The first release candidate of Icinga Web 2 introduces the following non-backwar * Since Icinga Web 2 version 2.1.3 LDAP user group backends respect the configuration option `group_filter`. Users who changed the configuration manually and used the option `filter` instead have to change it back to `group_filter`. + +## Upgrading to Icinga Web 2 2.2.0 + +* The menu entry `Authorization` beneath `Config` has been renamed to `Authentication`. The role, user backend and user + group backend configuration which was previously found beneath `Authentication` has been moved to `Application`. From d8b14cb772a13f54f711cd39d535b8271df56fe5 Mon Sep 17 00:00:00 2001 From: Eric Lippmann Date: Sat, 27 Feb 2016 15:51:13 +0100 Subject: [PATCH 51/96] Control whether a filter editor should be rendered via setVisible() We (may) have situations where a controller or view has to access the filter editor being created via Controller::setupFilterControl(). This is impossible if the view is compact because the filterEditor will be unset. This change introduces FilterEditor::setVisible() for giving the responsibility of rendering to the filter editor. Controller::setupFilterControl() will be adapted accordingly. refs #10778 --- library/Icinga/Web/Widget/FilterEditor.php | 34 ++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/library/Icinga/Web/Widget/FilterEditor.php b/library/Icinga/Web/Widget/FilterEditor.php index d6f186fdd..f512ffe67 100644 --- a/library/Icinga/Web/Widget/FilterEditor.php +++ b/library/Icinga/Web/Widget/FilterEditor.php @@ -55,6 +55,13 @@ class FilterEditor extends AbstractWidget */ private $selectedIdx; + /** + * Whether the filter control is visible + * + * @var bool + */ + protected $visible = true; + /** * Create a new FilterWidget * @@ -144,6 +151,30 @@ class FilterEditor extends AbstractWidget return $this; } + /** + * Get whether the filter control is visible + * + * @return bool + */ + public function isVisible() + { + return $this->visible; + } + + /** + * Set whether the filter control is visible + * + * @param bool $visible + * + * @return $this + */ + public function setVisible($visible) + { + $this->visible = (bool) $visible; + + return $this; + } + protected function redirectNow($url) { $response = Icinga::app()->getFrontController()->getResponse(); @@ -731,6 +762,9 @@ class FilterEditor extends AbstractWidget public function render() { + if (! $this->visible) { + return ''; + } if (! $this->preservedUrl()->getParam('modifyFilter')) { return '
' . $this->renderSearch() . $this->view()->escape($this->shorten($this->filter, 50)) . '
'; } From 8433bf1fc157db0a2ed431fba28215957f4e8821 Mon Sep 17 00:00:00 2001 From: Eric Lippmann Date: Sat, 27 Feb 2016 15:57:00 +0100 Subject: [PATCH 52/96] Don't hide the filter editor from the view if the view is compact refs #10778 --- library/Icinga/Web/Controller.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/library/Icinga/Web/Controller.php b/library/Icinga/Web/Controller.php index b31b4fb61..f15e4913b 100644 --- a/library/Icinga/Web/Controller.php +++ b/library/Icinga/Web/Controller.php @@ -209,6 +209,7 @@ class Controller extends ModuleActionController ); $editor = Widget::create('filterEditor'); + /** @var \Icinga\Web\Widget\FilterEditor $editor */ call_user_func_array( array($editor, 'preserveParams'), array_merge($defaultPreservedParams, $preserveParams ?: array()) @@ -221,10 +222,12 @@ class Controller extends ModuleActionController ->setSearchColumns($searchColumns) ->handleRequest($this->getRequest()); - if (! $this->view->compact) { - $this->view->filterEditor = $editor; + if ($this->view->compact) { + $editor->setVisible(false); } + $this->view->filterEditor = $editor; + return $this; } } From f6e4b0aed03aca24f2c13fd1ae89752f0c33cd7f Mon Sep 17 00:00:00 2001 From: Eric Lippmann Date: Sat, 27 Feb 2016 16:22:44 +0100 Subject: [PATCH 53/96] Respect filter in state links in group overviews refs #10778 --- .../monitoring/application/views/scripts/list/hostgroups.phtml | 1 + .../application/views/scripts/list/servicegroups.phtml | 1 + 2 files changed, 2 insertions(+) diff --git a/modules/monitoring/application/views/scripts/list/hostgroups.phtml b/modules/monitoring/application/views/scripts/list/hostgroups.phtml index e90b9fd7b..c39a80d33 100644 --- a/modules/monitoring/application/views/scripts/list/hostgroups.phtml +++ b/modules/monitoring/application/views/scripts/list/hostgroups.phtml @@ -50,6 +50,7 @@ if (! $this->compact): ?> $stateBadges = new StateBadges(); $stateBadges ->setUrl('monitoring/list/hosts') + ->setBaseFilter($this->filterEditor->getFilter()) ->add( StateBadges::STATE_UP, $hostgroup->hosts_up, diff --git a/modules/monitoring/application/views/scripts/list/servicegroups.phtml b/modules/monitoring/application/views/scripts/list/servicegroups.phtml index 398f2042f..6f39a90ff 100644 --- a/modules/monitoring/application/views/scripts/list/servicegroups.phtml +++ b/modules/monitoring/application/views/scripts/list/servicegroups.phtml @@ -43,6 +43,7 @@ if (! $this->compact): ?> $stateBadges = new StateBadges(); $stateBadges ->setUrl('monitoring/list/services') + ->setBaseFilter($this->filterEditor->getFilter()) ->add( StateBadges::STATE_OK, $serviceGroup->services_ok, From 5b0730574dc09546d700643a7c60820882e18398 Mon Sep 17 00:00:00 2001 From: "Alexander A. Klimov" Date: Wed, 16 Dec 2015 19:39:03 +0100 Subject: [PATCH 54/96] Simplify Url::addFilter() This changes the rendered resulting Url from x&(y&z) to x&y&z. refs #10778 --- library/Icinga/Web/Url.php | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/library/Icinga/Web/Url.php b/library/Icinga/Web/Url.php index ac8e7af22..4f978370b 100644 --- a/library/Icinga/Web/Url.php +++ b/library/Icinga/Web/Url.php @@ -219,10 +219,9 @@ class Url public function addFilter($and) { $this->setQueryString( - Filter::matchAll( - $and, - Filter::fromQueryString($this->getQueryString()) - )->toQueryString() + Filter::fromQueryString($this->getQueryString()) + ->andFilter($and) + ->toQueryString() ); return $this; } From bf7d0825765a400e054ad028000f63254b9cb3f9 Mon Sep 17 00:00:00 2001 From: Eric Lippmann Date: Sat, 27 Feb 2016 16:25:04 +0100 Subject: [PATCH 55/96] Fix PHPDoc of Url::addFilter() --- library/Icinga/Web/Url.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/library/Icinga/Web/Url.php b/library/Icinga/Web/Url.php index 4f978370b..b61fd990f 100644 --- a/library/Icinga/Web/Url.php +++ b/library/Icinga/Web/Url.php @@ -212,9 +212,11 @@ class Url } /** - * Set the new Filter of the url to be the current filter and the given filter + * Add the given filter to the current filter of the URL * - * @param Filter $and + * @param Filter $and + * + * @return $this */ public function addFilter($and) { From 7cef06f981d41d329477c0d19cdd32bd74477b0b Mon Sep 17 00:00:00 2001 From: Eric Lippmann Date: Sat, 27 Feb 2016 20:14:02 +0100 Subject: [PATCH 56/96] Disable benchmark only if the layout is disabled Benchmark should be disabled if the response is not HTML. This is most likely the case when the layout is disabled. If Web 2 or Zend sends JSON for example, the layout is disabled. The follwing code inside an action disables the layout (and view): $this->_helper->layout()->disableLayout(); The following code inside an action disables the action's view script: $this->_helper->viewRenderer->setNoRender(true); Note that an action's view script is also disabled via setNoRender() when rendering another view script via render() or renderScript(). Another appraoch is to check the content-type. If explicitly set to not HTML, disable benchmark: $renderBenchmark = true; $response = $this->getResponse(); $headers = $response->getHeaders(); foreach ($headers as $header) { if (strtolower($header['name']) === 'content-type' && stristr($header['value'], 'text/html') === false ) { $renderBenchmark = false; break; } } if ($renderBenchmark) { $layout->benchmark = $this->renderBenchmark(); } Maybe we should also provide a action method for disabling benchmark, regardless of the user's setting. refs #10856 --- library/Icinga/Web/Controller/ActionController.php | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/library/Icinga/Web/Controller/ActionController.php b/library/Icinga/Web/Controller/ActionController.php index c4a4d8344..0703e4e98 100644 --- a/library/Icinga/Web/Controller/ActionController.php +++ b/library/Icinga/Web/Controller/ActionController.php @@ -459,15 +459,13 @@ class ActionController extends Zend_Controller_Action $layout->innerLayout = $this->innerLayout; if ($user = $req->getUser()) { - // Cast preference app.show_benchmark to bool because preferences loaded from a preferences storage are - // always strings - if ((bool) $user->getPreferences()->getValue('icingaweb', 'show_benchmark', false) === true) { - if (!$this->_helper->viewRenderer->getNoRender()) { + if ((bool) $user->getPreferences()->getValue('icingaweb', 'show_benchmark', false)) { + if ($this->_helper->layout()->isEnabled()) { $layout->benchmark = $this->renderBenchmark(); } } - if ((bool) $user->getPreferences()->getValue('icingaweb', 'auto_refresh', true) === false) { + if (! (bool) $user->getPreferences()->getValue('icingaweb', 'auto_refresh', true)) { $this->disableAutoRefresh(); } } From dc0359f5b244324e45b38cdf7c97882952e11fc3 Mon Sep 17 00:00:00 2001 From: Eric Lippmann Date: Sat, 27 Feb 2016 21:57:02 +0100 Subject: [PATCH 57/96] Fix icon_image size and provide a CSS class for theming fixes #11032 --- .../application/views/helpers/IconImage.php | 18 ++++++++++-------- modules/monitoring/public/css/tables.less | 7 +++++++ 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/modules/monitoring/application/views/helpers/IconImage.php b/modules/monitoring/application/views/helpers/IconImage.php index a9437156e..3fee8e3a7 100644 --- a/modules/monitoring/application/views/helpers/IconImage.php +++ b/modules/monitoring/application/views/helpers/IconImage.php @@ -27,13 +27,14 @@ class Zend_View_Helper_IconImage extends Zend_View_Helper_Abstract public function host($object) { if ($object->host_icon_image && ! preg_match('/[\'"]/', $object->host_icon_image)) { - return $this->view->icon( + return $this->view->img( Macro::resolveMacros($object->host_icon_image, $object), null, array( - 'alt' => $object->host_icon_image_alt, - 'title' => $object->host_icon_image_alt, - 'data-tooltip-delay' => 0 + 'alt' => $object->host_icon_image_alt, + 'data-tooltip-delay' => 0, + 'class' => 'host-icon-image', + 'title' => $object->host_icon_image_alt ) ); } @@ -49,13 +50,14 @@ class Zend_View_Helper_IconImage extends Zend_View_Helper_Abstract public function service($object) { if ($object->service_icon_image && ! preg_match('/[\'"]/', $object->service_icon_image)) { - return $this->view->icon( + return $this->view->img( Macro::resolveMacros($object->service_icon_image, $object), null, array( - 'alt' => $object->service_icon_image_alt, - 'title' => $object->service_icon_image_alt, - 'data-tooltip-delay' => 0 + 'alt' => $object->service_icon_image_alt, + 'class' => 'service-icon-image', + 'data-tooltip-delay' => 0, + 'title' => $object->service_icon_image_alt ) ); } diff --git a/modules/monitoring/public/css/tables.less b/modules/monitoring/public/css/tables.less index bb2027c95..276f9f130 100644 --- a/modules/monitoring/public/css/tables.less +++ b/modules/monitoring/public/css/tables.less @@ -2,6 +2,13 @@ @border-left-width: 6px; +// Icon images in list and detail views +.host-icon-image, +.service-icon-image { + max-width: 2em; + vertical-align: middle; +} + // Check source reachable information in the host and service detail views .check-source-meta { font-size: @font-size-small; From ad3ca513c9c15b5af6feff03b3305018ca8baa14 Mon Sep 17 00:00:00 2001 From: Eric Lippmann Date: Sat, 27 Feb 2016 22:03:14 +0100 Subject: [PATCH 58/96] Fix misleading tooltip in Tactical Overview fixes #11039 --- .../parts/servicestatesummarybyhoststate.phtml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/modules/monitoring/application/views/scripts/tactical/components/parts/servicestatesummarybyhoststate.phtml b/modules/monitoring/application/views/scripts/tactical/components/parts/servicestatesummarybyhoststate.phtml index 1b5f70532..a795c88df 100644 --- a/modules/monitoring/application/views/scripts/tactical/components/parts/servicestatesummarybyhoststate.phtml +++ b/modules/monitoring/application/views/scripts/tactical/components/parts/servicestatesummarybyhoststate.phtml @@ -28,7 +28,7 @@ use Icinga\Module\Monitoring\Object\Service; qlink( $services_critical_handled . ' ' . ( - $services_critical_unhandled ? $this->translate('Acknowledged') : Service::getStateText(2, true) + $services_critical_unhandled ? $this->translate('Handled') : Service::getStateText(2, true) ), 'monitoring/list/services', array( @@ -38,8 +38,8 @@ use Icinga\Module\Monitoring\Object\Service; ), array('title' => sprintf( $this->translatePlural( - 'List %u service that is currently in state CRITICAL (Acknowledged)', - 'List %u services which are currently in state CRITICAL (Acknowledged)', + 'List %u service that is currently in state CRITICAL (Handled)', + 'List %u services which are currently in state CRITICAL (Handled)', $services_critical_handled ), $services_critical_handled @@ -127,7 +127,7 @@ use Icinga\Module\Monitoring\Object\Service; qlink( $services_warning_handled . ' ' . ( - $services_warning_unhandled ? $this->translate('Acknowledged') : Service::getStateText(1, true) + $services_warning_unhandled ? $this->translate('Handled') : Service::getStateText(1, true) ), 'monitoring/list/services', array( @@ -137,8 +137,8 @@ use Icinga\Module\Monitoring\Object\Service; ), array('title' => sprintf( $this->translatePlural( - 'List %u service that is currently in state WARNING (Acknowledged)', - 'List %u services which are currently in state WARNING (Acknowledged)', + 'List %u service that is currently in state WARNING (Handled)', + 'List %u services which are currently in state WARNING (Handled)', $services_warning_handled ), $services_warning_handled @@ -226,7 +226,7 @@ use Icinga\Module\Monitoring\Object\Service; qlink( $services_unknown_handled . ' ' . ( - $services_unknown_unhandled ? $this->translate('Acknowledged') : Service::getStateText(3, true) + $services_unknown_unhandled ? $this->translate('Handled') : Service::getStateText(3, true) ), 'monitoring/list/services', array( @@ -236,8 +236,8 @@ use Icinga\Module\Monitoring\Object\Service; ), array('title' => sprintf( $this->translatePlural( - 'List %u service that is currently in state UNKNOWN (Acknowledged)', - 'List %u services which are currently in state UNKNOWN (Acknowledged)', + 'List %u service that is currently in state UNKNOWN (Handled)', + 'List %u services which are currently in state UNKNOWN (Handled)', $services_unknown_handled ), $services_unknown_handled From 923e902957b2d05bde220f547f2cc6255d3242ae Mon Sep 17 00:00:00 2001 From: "Alexander A. Klimov" Date: Fri, 26 Feb 2016 14:26:10 +0100 Subject: [PATCH 59/96] Web::bootstrap(): set up the request before setting up the session refs #11187 --- library/Icinga/Application/Web.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/Icinga/Application/Web.php b/library/Icinga/Application/Web.php index d4cb9cecc..0b15ceaf5 100644 --- a/library/Icinga/Application/Web.php +++ b/library/Icinga/Application/Web.php @@ -82,9 +82,9 @@ class Web extends EmbeddedWeb ->setupLogging() ->setupErrorHandling() ->loadConfig() + ->setupRequest() ->setupSession() ->setupNotifications() - ->setupRequest() ->setupResponse() ->setupZendMvc() ->setupModuleManager() From 5f642879c7f4880c10228140c05b064319958079 Mon Sep 17 00:00:00 2001 From: Eric Lippmann Date: Sat, 27 Feb 2016 22:19:37 +0100 Subject: [PATCH 60/96] Respect cookie domain config in Cookie.php refs #11187 --- library/Icinga/Web/Cookie.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/library/Icinga/Web/Cookie.php b/library/Icinga/Web/Cookie.php index aaef3006d..54ad3079f 100644 --- a/library/Icinga/Web/Cookie.php +++ b/library/Icinga/Web/Cookie.php @@ -96,6 +96,9 @@ class Cookie */ public function getDomain() { + if ($this->domain === null) { + $this->domain = Config::app()->get('cookie', 'domain'); + } return $this->domain; } From 5f43ac8f262d9b1ae9b76f529326231aac28f9fa Mon Sep 17 00:00:00 2001 From: Eric Lippmann Date: Sat, 27 Feb 2016 22:24:01 +0100 Subject: [PATCH 61/96] Fix path, secure flag and domain of session cookies refs #11187 --- library/Icinga/Web/Session/PhpSession.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/library/Icinga/Web/Session/PhpSession.php b/library/Icinga/Web/Session/PhpSession.php index 0c10cdefa..4708b84d6 100644 --- a/library/Icinga/Web/Session/PhpSession.php +++ b/library/Icinga/Web/Session/PhpSession.php @@ -5,6 +5,7 @@ namespace Icinga\Web\Session; use Icinga\Application\Logger; use Icinga\Exception\ConfigurationError; +use Icinga\Web\Cookie; /** * Session implementation in PHP @@ -102,11 +103,21 @@ class PhpSession extends Session ini_set('session.cache_limiter', null); } + $cookie = new Cookie('bogus'); + session_set_cookie_params( + 0, + $cookie->getPath(), + $cookie->getDomain(), + $cookie->isSecure(), + true + ); + session_start(); if ($this->hasBeenTouched) { ini_set('session.use_cookies', true); ini_set('session.use_only_cookies', true); + /** @noinspection PhpUndefinedVariableInspection */ ini_set('session.cache_limiter', $cacheLimiter); } } From 03d7f3a1f4542880afee19833dde019f65c30612 Mon Sep 17 00:00:00 2001 From: Eric Lippmann Date: Sat, 27 Feb 2016 22:42:32 +0100 Subject: [PATCH 62/96] Ensure trailing slash if cookie path is detected automatically Seems like IE (8, 9, ?) has problems w/o the trailing slash and additional directories on the server that start w/ the path. refs #11187 --- library/Icinga/Web/Cookie.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/library/Icinga/Web/Cookie.php b/library/Icinga/Web/Cookie.php index 54ad3079f..79ebe2d45 100644 --- a/library/Icinga/Web/Cookie.php +++ b/library/Icinga/Web/Cookie.php @@ -185,9 +185,9 @@ class Cookie if ($path === null) { // The following call could be used as default for ConfigObject::get(), but we prevent unnecessary // function calls here, if the path is set in the config - $path = Icinga::app()->getRequest()->getBaseUrl(); + $path = Icinga::app()->getRequest()->getBaseUrl() . '/'; // Zend has rtrim($baseUrl, '/') } - return $path; + $this->path = $path; } return $this->path; } @@ -222,7 +222,7 @@ class Cookie // function calls here, if the secure flag is set in the config $secure = Icinga::app()->getRequest()->isSecure(); } - return $secure; + $this->secure = $secure; } return $this->secure; } From 1dca5bd123c38ce71d4c25cb8ddbc918fc13cc9c Mon Sep 17 00:00:00 2001 From: Johannes Meyer Date: Mon, 29 Feb 2016 15:25:03 +0100 Subject: [PATCH 63/96] ActionsController: Pass the backend to downtime command forms fixes #11260 --- .../monitoring/application/controllers/ActionsController.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/monitoring/application/controllers/ActionsController.php b/modules/monitoring/application/controllers/ActionsController.php index 2090c2c6c..06bbc8e61 100644 --- a/modules/monitoring/application/controllers/ActionsController.php +++ b/modules/monitoring/application/controllers/ActionsController.php @@ -48,6 +48,7 @@ class Monitoring_ActionsController extends Controller $form = new ScheduleHostDowntimeCommandForm(); $form ->setIsApiTarget(true) + ->setBackend($this->backend) ->setObjects($hostList->fetch()) ->handleRequest($this->getRequest()); } @@ -96,6 +97,7 @@ class Monitoring_ActionsController extends Controller $form = new ScheduleServiceDowntimeCommandForm(); $form ->setIsApiTarget(true) + ->setBackend($this->backend) ->setObjects($serviceList->fetch()) ->handleRequest($this->getRequest()); } From 1fba49116062faaa3d910a87f56daf233e523d19 Mon Sep 17 00:00:00 2001 From: Thomas Gelf Date: Mon, 29 Feb 2016 20:58:34 +0100 Subject: [PATCH 64/96] DbConnection: fix utf8-encoded MySQL connections --- library/Icinga/Data/Db/DbConnection.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/library/Icinga/Data/Db/DbConnection.php b/library/Icinga/Data/Db/DbConnection.php index 4dd69ce84..f643d4849 100644 --- a/library/Icinga/Data/Db/DbConnection.php +++ b/library/Icinga/Data/Db/DbConnection.php @@ -153,6 +153,11 @@ class DbConnection implements Selectable, Extensible, Updatable, Reducible, Insp $driverOptions[PDO::MYSQL_ATTR_INIT_COMMAND] = 'SET SESSION SQL_MODE=\'STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,' . 'NO_AUTO_CREATE_USER,ANSI_QUOTES,PIPES_AS_CONCAT,NO_ENGINE_SUBSTITUTION\';'; + if (array_key_exists('charset', $adapterParamaters) && $adapterParamaters['charset']) { + $driverOptions[PDO::MYSQL_ATTR_INIT_COMMAND] .= 'SET NAMES ' . $adapterParamaters['charset']. ';'; + unset($adapterParamaters['charset']); + } + $adapterParamaters['port'] = $this->config->get('port', 3306); break; case 'oci': From 29eedc1d4a6cba833ae91dcfcb6f44a28ede258e Mon Sep 17 00:00:00 2001 From: Thomas Gelf Date: Mon, 29 Feb 2016 21:08:26 +0100 Subject: [PATCH 65/96] navigation.js: remove forgotten console.log --- public/js/icinga/behavior/navigation.js | 1 - 1 file changed, 1 deletion(-) diff --git a/public/js/icinga/behavior/navigation.js b/public/js/icinga/behavior/navigation.js index fd54bc7e9..539639685 100644 --- a/public/js/icinga/behavior/navigation.js +++ b/public/js/icinga/behavior/navigation.js @@ -243,7 +243,6 @@ */ Navigation.prototype.onPopState = function (url, data) { // 1. get selection data and set active menu - console.log('popstate:', data); if (data) { var active = this.icinga.utils.getElementByDomPath(data); if (!active) { From 96f50c5dfa93f953036ef4e13f119943011d5a1f Mon Sep 17 00:00:00 2001 From: Thomas Gelf Date: Mon, 29 Feb 2016 21:18:46 +0100 Subject: [PATCH 66/96] loader.js: fix JS error on IE --- public/js/icinga/loader.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/js/icinga/loader.js b/public/js/icinga/loader.js index 323ca3069..2ff4d7f6f 100644 --- a/public/js/icinga/loader.js +++ b/public/js/icinga/loader.js @@ -743,7 +743,7 @@ if (forceFocus && forceFocus.length) { activeElementPath = this.icinga.utils.getCSSPath($(forceFocus)); - } else if (document.activeElement.id === 'search') { + } else if (document.activeElement && document.activeElement.id === 'search') { activeElementPath = '#search'; } else if (document.activeElement && document.activeElement !== document.body From 28204762ab26774b026f402ccee4ac2beb4ebff8 Mon Sep 17 00:00:00 2001 From: Thomas Gelf Date: Mon, 29 Feb 2016 21:40:48 +0100 Subject: [PATCH 67/96] js: fix urls for dynamic css/js reloads --- public/js/icinga.js | 2 +- public/js/icinga/ui.js | 14 ++++++++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/public/js/icinga.js b/public/js/icinga.js index 06c797a29..b52c19afc 100644 --- a/public/js/icinga.js +++ b/public/js/icinga.js @@ -217,7 +217,7 @@ $ = undefined; oldjQuery.getScript( - oldConfig.baseUrl + 'js/icinga.min.js' + oldConfig.baseUrl.replace(/\/$/, '') + '/js/icinga.min.js' ).done(function () { var jQuery = window.jQuery; window.icinga = new window.Icinga(oldConfig); diff --git a/public/js/icinga/ui.js b/public/js/icinga/ui.js index a797aab1f..09876e954 100644 --- a/public/js/icinga/ui.js +++ b/public/js/icinga/ui.js @@ -99,12 +99,18 @@ $('link').each(function() { var $oldLink = $(this); if ($oldLink.hasAttr('type') && $oldLink.attr('type').indexOf('css') > -1) { + var base = location.protocol + '//' + location.host; + if (location.port) { + base += location.port; + } + var url = icinga.utils.addUrlParams( + $(this).attr('href'), + { id: new Date().getTime() } + ); + var $newLink = $oldLink.clone().attr( 'href', - icinga.utils.addUrlParams( - $(this).attr('href'), - { id: new Date().getTime() } - ) + base + '/' + url.replace(/^\//, '') ).on('load', function() { icinga.ui.fixControls(); $oldLink.remove(); From b6fd4f5584aa8d0bb02d0011bb7da9f7c7c6938e Mon Sep 17 00:00:00 2001 From: Thomas Gelf Date: Mon, 29 Feb 2016 22:11:30 +0100 Subject: [PATCH 68/96] events.js: do not apply event handlers without... ...an Icinga object. Added a log line, eventually we'll catch this one far day :) --- public/js/icinga/events.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/js/icinga/events.js b/public/js/icinga/events.js index fc2fb8e77..c1bc4c223 100644 --- a/public/js/icinga/events.js +++ b/public/js/icinga/events.js @@ -36,6 +36,12 @@ var self = event.data.self; var icinga = self.icinga; + if (! icinga) { + // Attempt to catch a rare error, race condition, whatever + console.log('Got no icinga in applyHandlers'); + return; + } + if (self.initializeModules) { var loaded = false; var moduleName = $target.data('icingaModule'); From ed8c66e84cae7c4d16c6b1f1dc3fda01f04610f9 Mon Sep 17 00:00:00 2001 From: Thomas Gelf Date: Mon, 29 Feb 2016 22:17:54 +0100 Subject: [PATCH 69/96] css/base: apply impact style to full container --- public/css/icinga/base.less | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/public/css/icinga/base.less b/public/css/icinga/base.less index 8f85674c8..f3c3328fa 100644 --- a/public/css/icinga/base.less +++ b/public/css/icinga/base.less @@ -163,10 +163,11 @@ td, th { // Styles for when containers are loading. JS will remove this once the containers are ready .impact { - .active > a, // Remove > a once .tabs layout has been fixed - .controls, - .content { .transition(background-color 2s 1s linear !important); background-color: @gray-lighter !important; - } +} + +.impact > .controls, .impact li.active a { + .transition(background-color 2s 1s linear !important); + background-color: @gray-lighter !important; } From 2a9a96c8b44df5a5e56153cc54a54d5fdaad6a09 Mon Sep 17 00:00:00 2001 From: Marius Hein Date: Mon, 29 Feb 2016 22:18:06 +0100 Subject: [PATCH 70/96] Update german translation --- .../locale/de_DE/LC_MESSAGES/icinga.mo | Bin 59479 -> 59318 bytes .../locale/de_DE/LC_MESSAGES/icinga.po | 678 +++--- .../locale/de_DE/LC_MESSAGES/monitoring.po | 1827 +++++++++++------ 3 files changed, 1516 insertions(+), 989 deletions(-) diff --git a/application/locale/de_DE/LC_MESSAGES/icinga.mo b/application/locale/de_DE/LC_MESSAGES/icinga.mo index a58586883d7c1f21b411de6f4f70e2cc9c6a6923..83e648c9e926f7038b13657524fb87b65fc77b9d 100644 GIT binary patch delta 13423 zcmZ|WcXSoi`v36>2_XbRN$3gWKp;SXKp+7^54}s5Du(2wXbPmz1Wy2|qLctvdX*wz z;h?A>MG!?mrHG1(hy?{i0Slm4zwgi4TYug^ezVrTujkpbXJ)sV6Itti^nw2?@B4c$ zg$68lIC_Q886)um>XKiv0fuuj z3cF$r%)n5bg-vkwm&> zm)c%bzFgA z_#*0o$58D)M9oMgMl~PfaULGThS-B)x4{XR$n%|D1YPl4)YLX=?KtgmIBEndP(9v+ z>gXQS%)Esf*-5O27p+dBS;}avLwy&ljcFKw^RN^?g`Tnm%L(Kr)C{~}8@yrjw@_<( z4mE;5un|Tx3^@p^;Nw^smt!pMM6LBjRL6tcI!<@2i8`O!mi5;K#Z>6QJ8(1Z!%jG= zo#Q0o8XSt3P#uY9dTQbrq^a{5(kEvh(!{xC>tk6D-S-jfhm%p~kE3SPza#VCpCGKG znZj{clYAb2hg-2UF6zYe;Ytig^-7yC0yTgr)KVp41a`CaVO^Vd!Aj%!@~rU?7(4V?JbMaWHv%)J!iy&wPUQ1iC@PzGeo7U@7t<490n=B`UW0W-Lkm zJZdC+Q6qaFwItV3n^y0ft`Eg(SQE7*EzyOe`Z53N;WR2V;#t;ts0TcSjj$MX<3p$i zo<}XskEo?6!8=?ABT)4XP#tKCx^F++fP-)}-a*aKfCrd=ZHf^Om`~+oj3Qr+75#W1 zmL)$kz|6oU)PruK9&{h|ppb!P1|m@%YKvOBp;!^Ku>yKfGqD);#oVEa5Q4+j_pllH zXQ(9!8DxGFT4Nn@H|jN-hxKqBmcwJH`hoR`HOb}1d z0JY|0ura#Pg-cO4@}e#{Xg!0v(bwo(a||PQhL}xR3Dwa!)cGE$nH!CIP6pQ2`#+vQ zU$mvDrPzbo)n`y^cN5itJJ=lm#D*BhOB{`(P}j{w)o(;?vXiLmenNHZcWe1!W`?3L zNbi3$U%#tY>od@|gfIp^U zFVsMu$Hsd9za-EI$_+OoXo3yMA4H9$2+QNMw*F<*Ubuw0=r_W2U;=h0e-gFUXHf(B z7%zMXgmN>cU2-3)`Yb)*YMT0DK&aa5Dad%W?83 z^MG=^Yr0PuYJid05<8$~uy8c@P)4`4bb;y%=e<`!zLLmo06 zY=s&~57ZL&$C@}6tKf9hK$f98w8i@3L(IQ6#{nuT;s;nAuV5|w19ijjv8KK;YD&AK z-iDzz&pHv?;IGzzWb@$(MQz#`)RJ{V&0ufriccVa5;&d{1bSe|IMc8ODz9sevvxpjsy?Va zGSJqKu%@9lRldz9V+8qZtcsgZOZPfzsV*QL_c)&u#8Yt{)l*lBF$PDHj8d^gs?H!vD6V zdwv1xM$cHcqaOGwYH1FkX68DU#5<^t+(WH(nKaYBj)BMKtK#!(yGQs1x4VhIZ z`Vn)(1(;8M1l6I0N6ngMTIZl1v>Ew^Ip3i=)G5nxI%0}-Gioz`h1%@?+2&8MYT3;H zFe-AW=!b9N01V49f2XHnTk?&_ayg$P-x#NJt{KT%Y({xuP)n3j$ba|YDy)xXJrhj_;!#tViJFOpsGeR#K6XxpNu~ois1MWAI2dsXRtMXfw5YpYLA&7_dwmCFV?^`jKLYG2kkoZ3MNcc+dKiHFUa}+IVX+ zYR#TTmeY9!_25RlI-2U1sQ11jYUa9GN26vmA2ri6ZT$kA#`B$x1e&5+B#p2Rw#ELK ziVJWv{)m;axX8EzYmpzaUc$QM|3w$pnPFz2i}hiwN&R%xb*s^%;B{N^32GDGMfEg% zrZEZw$s3`jvbnAAjm^mip_Xj6bpvWC_hSTph8SVl z8t;ro9zNUrCsz^1lkdSgconr5g4xpA{qd;#B%=%Gqu!q9uryxAj(80w{akrSZV%MYY3{tr?3iMKrPu1SP_F)nWczW#r&&5Q!4aYbVrTAjhf1- z7>4s~z6Q&ZKZknoKAXRdi^$Jo1590Qru-??Uf7JGc*NG9M?L4-YUbZX@D~+T(Y3}r zur8JsnM!lAwVgg?A5U63b zb>=;9jcv$BVh3D~+C=A3ubuyT^Y=kK_9vf-!|)95!3G=5&+DhCrK_~jT%UwZ$j76W zY8|#m&rbyUAjEDmYa5SRyH3{Ls2&eN?TJy?8jDa%^BSuCY19Zm!j||AW@7}uT$-T; z_$Y2bwJW>DH(-xbgFrWEhr!q#E8sxXW*dj)FbB1^(@|5u6*a=ss7-Yr)voNbW_O39 zI+}!WI2HAs*=5~}0eb%r5R~M^5!8GBHfqi9U=0k~YIboH)*)|$>ev|63}m7<*K`cP z#kdof<7iCUW*)o_>ymH9hIkTv|NZ|9K@C4{zTHes`yFO?_dz{q6sjZXSPf^QM!p)O z@Exp;H&C0j+;e8v$DkhA6V)yo)zKx^E$C@M#XbV<#_OoOHr>|)hGI>eiJHOx-nF^kE|Z5?tDs)cPD4fUYkP$Mq2+bod_ zH51XO`Xtl{M`A7XU<9s1EzN!m#P?Bq;R3e8^3R(+)Z=;9Uk}cqLTk4S)w7k@4Y#0P zyKC4H!(TA@D2yjxX!9ee2i``_Sm29huhd0#vQ}A2V(mu?`Ar@C)GkgnsqvuzG0R%~2 zbHk+=Nxl+Q{~C6|;Js`>?2j7ZD>wwtqxL|gVC{nys82@il|0lJb{cB0EJFt1 zan=%O1Y4|L)DpaD^V8Uw{4-pRk*_ccd>Id5-+gA}rC&8ORt~kK5vV2WjEOiCHG>B* z3{PQyz5ka99;Kq`Yi7i&QB!jR8)2*0&5cq}Bif7_(O%Sz4x(o4ENV?}+xjZ|%>!dF zl=?QPcKxs#W@9wZcjgeN$GcHCJcnv{6}4GPF-%ztb)y8E_e4$USgekduqiIV%6P>3 z5k`>zfZ-VYhUsWDdi22F1Tpv!YGm`VITm9a9=F~_Emh1xGu4Txj`l!}C>^zQMVNq3 z;s`u~qcHrCnUP7Tc5@Fg|GME)D&$7g2wz0)?xUyEfh}-3Y7?F~>@f|_QlZ`aF;2xMM@)n5_#*jBI1IEWj+)oEJ+>pyLv6wrur?m@5JVAti50QrF>~XpsI`hh-MAxaMh0Uf zjzrDGR9inEwFHY%GqS_hAHo3g{@n-$ zQ85_@<4IhPk?-?;#zWWvdw*d5J7GSKCjS7{uE`mG8Syms#GJF{@Be+Mj+HuR_Q*i& zMxKdD_yWGk^PO7+vAFlV`E~mW>yrP88bQ>DX2gl8y)qBgp`@-z8L0DGpPy<~1g~v?cF)HGz_#PW!t;^;M z)*IEqB2-6KU^(24>c|1q`}_%NQ+FQFc^l!ev^Hle2c1+0dzVg)>dYIg-o;cX1Z`?waXe9dy>Ueq4&>?6?T z`wk~y)o=J-<9yV}`+RFgo{S~QCu1N!j%9E*>Oo6T=U1XSxE@1s7iuXEp_cX>s^iy@ zne;e6+Y0}y=EAZVOoQsE%~KZxF&1lM0+zxDtz%ISPDkB18`Xh{s3n_)y5B0)3_Xi} zc$NRDr62xnB+Ds;zT+Y%%29r!1Zu80Qi$K7=*TxX)5%9s%G0J8-=j>U=;%n@9uqn_ z7)5DXJg{Ea&saTIwD9;k_R3*pd;_T?Eo-sscs14=8{lcr{ZDf(-!k8E z&&s#Y_pdQZw{iYC%99k{2j82idL7!EKTyv%&iAjisyjw$N}Z0qcmwO(acw4kpSmmx z-!48p96L#3C^~B5eG@vBxTpmAR(p=O*KrfSK;aYRJ6^KqQplbno`G*-9%T-34;)MR zkT?zXrO&{=lrklFejOe%n`8qg#^Zk|y(#=aIth3kpQi-St{a6H)#*=tOT2MbWVl_nFZ5H%JrWKPU~k?``~ED;IwP~F2uP#1BuA??}_ldtFUPSp?l^lN5x6=2aau(T7w)OkONt{_#+$1L4 zbAj4=l&#bTsukrk^4GCBt@Hy`%3k>$rjqO1KA-q`iso`2{)U?{g7PD!F4x{b9gk2} z5bHN!Kjj@t6>~1w_dO?fwiHi@4%6G|dqaz<>CP=W)2s&SI8G^LQ2q^6#VR zzZ2q1oPQ1fz^?Xz=gHqCuSjtd|3G<>I0$vjA=Yur>LPyJ7q{Zi1CmOVL~a&O`Ir-% zDUsCa_>{N`^^v{{OkH!$p~sJ!-zf*}nI|~uqU9Z|fI9AQt~BKU%;IxN>R5zp zDb;9uf_xI?W%9b%0w<%6ag<%;wP>f~5V3y7UXvV~D5ofQ^>y82D|MnF@dE5XSxDR* zhuQPL6Yn5CO8LUpC1E8SbK1E{Tn0Pvu!mH^(U~~ewn@cTC^f0mv4ZD2`BeNunMwQ> z7GeW@8~=TbCGn^JW&FjS2*LK0w$$&yx6w;!#sikxHev>Ke;-ST`;vrHJV!{*5^Sg3 zq?{!8;;Z(8#l$*hl24@^CT_&dkKkXFp%fi&QtEL27QRX;ByLR!rSzhVq^=L;F0qI5 z3Nc5d^MVPSXevJ=&ZV@V^dm1_!uJOY*+{Z$*n~&_eJrPLF3D@{O>Lzf14e`GPL!SvlWxNOe?RZ!>6FRMk4-iM#yd3$jHV!7%k5Ukc@Xg`Y>7Hb zQvVI{0OGyA8m^&8RD&^rU=9uH6^O`F|f*NuJ@{VoE#WbhY}3q&uZLjnCp# zd&O-0np{U8975S(^Easbp16X|^?w}b7JXH?Q&Q1tF+|8tOC_%yItHQ-(Aqym094Ll$n*~8t2vxQe8R8xjAl{WV!S6o&RrFhH&ry zx!?ab%}O5U&I%an>rj{EocaZ>E~Zahm+kgW@4L99xALHZz}n-J^E65gC7DN0%uG+# zQ0bLBJD@*3@y;IZ_6txW@6{2prM;a}()`K{E=W#!v>-1z#hvfHn!4Jr_>9JY4>FG>VY{8WAZr!|i{fv!)W>Shf z%)Hqr&z+xJn3v*?%}PxkAM4IZ$(v#(ULA1?xH`-2XqMCSatp_gGmkQjRXf(!_-;LY zmOG?nlV;7EG*5KJ#kXmZSp4Ix@PBHWH*XWyvbgFKxBXgqgJ)OwFaCLMHE*AJc>%>m zYpZ#`S{UpfI+#6@>CVe@XJ)u_(sHxX-QF9E2Kam5EFK>0ZMQBl(Bs<<+6c*o`IC-r z$;fi&xC*mfo!vQw1ykL5$vNYb^YaVY7*h*f6Ww{^GTjC4oLE=aOt*^(%t=koOEp_z zQf6MNEA8k3)*vg({m%_t+C@{{ndt?w&i`EC_*SvTKMnuilk8)>d0X}bdSiEP3kvMx z&dgzz&U?T1t9o?JIOfiso0rNCbLYFdnLX~^_wtZ3-a$tKN)(SjTFJZP=w-j+$KRRm zt#Z6=c&UHZ^UI4Ri(Oaim+haKl2PE&Qo3`ByI&n1lyApUy!Ptk7QV;1hVde#WMmyZ ake~0)Vg{VTZ1UtR#_yn%7=XcCL_eJ{RJ{v}V-qZg z9kC>iz(5>t&p(4@$QNJ<+ILpl6WdV@9mHaI8g=9Eu^v9cmRPHS<7DG#ERUBk2p^yt zEXrtfT}9N)48iAc3eLp7X zk@Ut|IK{dF%aWhLVEh@Q(XW|V`+BGWjA+LEw~ltemCm#U)cOM79lUnhLYt_d!!0>#u#*?X9|Hv zav8NIzhDLY2elU}v@=sz9W^rzP*dK{=1EwHJR9{COhHZc3)a_B_t}h^i9I+84`UfU z|E<^n8c|;?hoey+n1O0=5$c93?fJJ+kJ(|=b!V{>Ua@(;4(9nTff`5zs$;EeeIJY< zPsJj7{+}n%4VI#&a2INmokKNTr=uBRGt@3`i@M=B)Qru->i7!sGIS20mgE+OU|=V+ zc_Xkj`6y&noi{Ou_MIC9y1{T3Mw@63s^@F50ltsb@DA#_&@OBwY=fGyj#wB+U?Cih zTI+1o-kE_laV2Wzj-jsm8a)97KM?2*_cQjvu&!q0QEEZ67|7SI0j4NGpLzZ=poRn@=Yv;?^{2^dgNcB zmLRaVS;HW#P2LjK(J`o}XCX%7IxLRIQ1`ol>iAXE65O%p|3S^Hr#K6)sV{@2F%O;`cd(MG8A-H;jdI3o$vPzHwM z1k_`=6!lo{M(yHrs5QKU>cB&+kN!NXQP>EpVIt~tb8Y>bsLgf?^|^bfj`{VItbZ_p zrYH)v7aCeyq1LJ+YDx!USxm)X^q_9I1fy{kYRXTb*8Uq*hwq~v&p$CA2K49ciG?v) z&wmdBjbsOEs;{C(P-cJ`SuEBdABrV#w#{Eg?STWBiI-6g_a5lveXFLU*4T#{z#i1+ zkD@w$9`nBcuMlYD*HBAw3$?o+qCQYykoiC`Y9ubKi#2g74#KDL0xrScgU!gVq3&}N zHK2#s5JPzOG-Ex6F#npesZ{8~1=sdtm%f^S!ykA9Y;@s-3CUdBd20ZHAYrD1{rbJnq9vcoucTyS6@HxS2{9YWLT*c>=1T zUba5f`Y)_Z{X*0dY(aHoKkEA99)dCiKVTR>L~X{hBg_Y@qL!u&*21pVr>*NyGkDT^ z3CofHg4(41iDtUH?p9qd;ErA-midx${HviiiIMSRCL2af;)E=p2>tn60 zQM>`Mx;xMWMkF5Sl=8abzW2tX~ybPVOs2Mqc zbMPo?Gxbb1^&V6Mb5TpW2(_fEQA_zAsw1Ca-tYfw1XZYbfO>(1y3JH4pr$qhLvRY} zx+SO?+ilMuMy=^->lIW7en&0YBh-vl8)arN8r88lEbAd?PY{4Zt;wj(H3oI#sThw7 zQSXP7s2TYS^*F_(nCCqe+mUaz-bHn|S*p2i80tN<1l!_K^wcFNmd39fY=PBq4A#RJ zQB(UNPQ}~EY&+ven;U+K+2lpXm<~-tt@#e?DO5whBJVUOHr;e+KDHv?lFs@o_?3#v z7(LcJ4c+l6@+9nsd$1dp%wU~y7&gbP*bIL`R?n%C$;$|zM-Ai}Y9J-XnU1u^Y2?qM zWuml$YHdHp;&=ti;%(GS z6`pKft>vwe7({&xmcn*e9{XcI9FIM;3P%a@QxWnn^SFg!WAd69jY+5;zlgfQD_8-y zV@>=F)zE#^QU*>jk7onaw_F02#%>shBQOlpv7C0na|EGOtVV5`{nj5aoILOuV;yS` z)Rd05zK&X|Pm$Ghen&N&$|IvG&c*^b1vO(ctjn-C?K|5D3gQ8K;t0~Va|tywgSn^{ z4##FVACvJ2uEpBZ%)9=i^(WNl{=`b?OgC1>2-245!X)&B5zHc}h^tW_IAFbG{R_4E z!e*F`w!#4N4psd&Orm{~-jmXPOJzq4MFV2A;+R ze)JOc92b4ojJyTLkgvfwJcCuRFgsX#pf+lW`k|I)Cc1DF>Z$n*3uC@HOkpd6qI1m1 zx?1~UQ|gDHHqR^8ji@Qyj|K2DYExZ9jqnbZ!QykxQ&AOFAB(}*4Ydc7P@8tL#|8`S zi8ZJt*n|4OdDO^$MUAY~bNtf9W=LC3HiqLLSPd)AGmmFmj3w`bQ8)(~tFs+hO($l) znPHF5279fCP$N5P{oHy63se6U7Q-J<&-HCAg#HUmUJSKVl~En-Y4f?L&+S2V>hLb-afb11Pr9U2kM107)<`Cs5yyP#Is680_uaCPz~S2)%XzG1NI{GT= zF};EMeEwzTsR%)Rz6GkG(Wsex-ntCckvFgxzPpV1pGZ*fRnub+mL-1<^`cmXrEov$ zF+5?QtJTC1}YnF{I@G$BTne5jad(M z|EEwhwh+1A2xJ7HX=7uQNB!#UkV$)QrtTZLZ~59N$DO*hGC>R#KGX~5N9#@WC%=mY@Db`cch;LVu8kE)<58P-2v)&t zRL5RMjdTraFYQF#?-SgFpW_hPcP77S8a{^+WT zPewJg6m`SHsF}Qidfb9Ho6kjJAbDLZgw1T;b~E#@ik|kwK-5%@#4b1qi{N3@-Z+Vo zSnzH0T-QN0)D$)H&ZwnILd{5;t)GP&=nAZaA7B`M|2FflHTs*104%-5?9%esh`cve z!+EHNx1-kZ9I9g%u^nDTJ!W;bn%@({Q2FZ^hbL_Azs>wd-S;ijz&^v`cp5c;%NUQIs|1q>qId~t zZP#KnUch=-$Y=fsgC^LMd=^&5FKvDo+mN^4!60xRYGk*uFP41Qti2n9$;VsgU`ajy zD+si?wxIUHZd8vCp?ZAOdJZ+^KiT{iCXhQj%|AM|!Iw!d;65C;%Z#+nZZkvmQA^kw zTj3~dqUV1-fu`&`48q^AJNob8zl5<5YUBs7GnU+I-UEYCH=2Wt#5sZ*$a&O#E~94Z z9%>28zGv#2qT1_@rD@+8MxYDFV+bxrZMu!99-l(p@ILCgK!#TqYgrReduE``(@|ee zGqF4_$GZ3~2IG&`KQQn2f2sXuGex6%+8Nbg2G+zGsFA&m^>G)*;0ii-UhhgY#VhJ9paW*~-> zr(so`kEL)c2I3(M#p9?3uA^q^FRYCIhs_K{pz32$OXF!upsDI(Po$wg`8d>+=c0D& zTpWr^u@m0ICfNF8vzC)lGjs-rVAK)wPcgHx3i{GpMKFAMB0wPnh5P&*Dn*3pfuaoisni{7;!Z z)CM&(^HA4a#Z|QL%=v=4U{mTVUN9pbfc41d zV_)2d>QJe#%zuFN!D{5+p&BgswfRn{g&Lq2hvP-ekIgSK|Ah!zU*s1ncESg^0}JEZ z-~U090zEY`tms1cUEWPV=PM$J?=)b4j8?7o9;X|K>zPe2b*GX@}8&;3`adpQ&4+p zfrlWRU>9m+7pw&@n>SShR6{AK&A9;8;5*i<*qA)*is`^p=p&zwYN){vrsM5UGu<0Q za4?ocPY!`Dd=?Ah5)8!^xB~ZJKJ5RaS^Gh#O*bFM<6b<3wSO`r{uMR#{#VU=Boqsf zyD$K&VIbDQf_na&5a@z<)C;ErY6%9R)-(gv^Vz7WT!cmObu5CLPiO_ZgS42q6R)R(0EK`ElC z;z%O?jIxC?!BjcV5D%sVam`Ek1!YPYe{@u#a;FLNrZs}NzBfEFD0~3XReM!;>|tYj zv6Jpy9UT-ti`o$G!Nzu)6IZhxnQbqtuB$w)I5UizA@~s`hO*FJQJlCEu|K5;h1X=> z!Y@W0JPCQn_gtr)GY6|u0w~%*IvUwlrxEM%(d#jX^YbXHHOm{Q(D8tZwK#>cfq1Jb zIllL{s8-H1g6Kx>AOi>b&op{>0jcFHu@N@!6jC znt$+J%1oPYw}Quc<%tid{uDXyti0n7EAP0x|0+|uk@Ig;=2O`Jd0&jG*P*?6i~5VG zSBZ|plvZ}Gc606~c}<(YsXcj`%5;j}5jwUK*QV&GjDKQ0A1FuhCx6SH<6(8HS* z#5&%!=SC4fPdp1h#w^Nn#2s)rpD<)u=0*Z{QZgZI`m*QBW^>{i*gL*Q%WC--pB)~AB-93>BXN+N)i=SP{$_J zE58;ERK-P;-RG$6*eolD&zlD|`K-f;>04-E^{oxC)n3#t?smI#v_w_!af8KZ=v` zYUl=WN8+}WH*DQwTGG-FoY((F^J80?Y@KR#`I-M1di)v3kBgg7>QQtI;|4k+$p0q3 zPW&R}M^$nZpuVwQ62X~dckIca) zAWu_1rsHKwN8$u7t7z+vP#0+9YSh;?w{Y6wkCb|pW}MIFx)&(-$QzIc*w3^ke|#(= z9!jaexiwV&i?~icc3ew>Tq-V5YEX)D!3)&APW7XAF+9Jn4g+| zC?D7}b2wd!#V07QFNTKn#}%~BB{Z>Uc<-Vcjt&h z{g}f}_R3CN@G9~9+@KJp0cA9$9d%Jy0jJ?AN+{PJBcDv!Lmr87_%GDqrfee*w*&Z) z*q?Ym>R3-XPI;ua#!g$Q6Sat+$JUeu#Ie}Vp8tz@Gw~716wT?KR1`m*S#M$1=UOvZ;7Td6xJSd>U)wQGD_kNm79NJ$T=qD2D6qhyL*hAS%%uzY-$Eud%`n@9!b%w-M#H zbqBE+b)Mn`aa=snesBSKIU6@8-a_d~K7x`)e88UjH_kLjG z;SQya_SaSS`v@eGx9Y_drBBLJB!cQPt3(@mWtL`Ro=_m3o zs^oZzy0(_PkD~ z5l1Sg42QbDyY;H)59;oo=<1o6;db@Na z-+aE!&CcfYq-IWZQ!nL94qHFA=xQ&L(+ zN}{X3d!(zr(sk<2VQ|L;Uw_kTU} z_`^<4W=cxBckoPiu?BTwV(P@ycg4gtjcMdPJ~PzT#JXY{G>wV#-ko{duc7bStn&Fw zba&^vv-9@A$jrp7Wbdgt<$dMnX89M+O3O}jXXR$3c=s-d@@-x4cRt_2MLqJ@?B~uJ zlkwrcaicipn!p@(&&`?a&dPA*vXmXNa>tExXSkAcvyxK1t-LO8iC04WM}4?2ONp<9 zcR-PlzD#JkOLeZ~#3!2e4PDVDz}I};)_}qZ?vyNd26y${*tnsPZ<+6kpYNr2`vf-n zPe)yex!JW{$?mbPK56d%y%GD^m710@IhWg~(2t3k>FMr_Xy3VmW%BhN9GF^S#^v3zmy1No-mdi36b2S^l?P{0q9?Q06>*tPQvD`cg=7YY!Klt9SID@cz zp(}gA>pGg^jXE0Q8*;c=sBg=6#|q@)Zbh5>coWj+)>#%d95V72D|#O q1(@k9cN)*esLXWwIMj(B`S=Q_cUn?v4wLQVj?GR=O-#?BbN>SbaUog& diff --git a/application/locale/de_DE/LC_MESSAGES/icinga.po b/application/locale/de_DE/LC_MESSAGES/icinga.po index 0d35ce0dc..b086aa2c3 100644 --- a/application/locale/de_DE/LC_MESSAGES/icinga.po +++ b/application/locale/de_DE/LC_MESSAGES/icinga.po @@ -1,5 +1,5 @@ # Icinga Web 2 - Head for multiple monitoring backends. -# Copyright (C) 2015 Icinga Development Team +# Copyright (C) 2016 Icinga Development Team # This file is distributed under the same license as Icinga Web 2. # FIRST AUTHOR , YEAR. # @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: Icinga Web 2 (None)\n" "Report-Msgid-Bugs-To: dev@icinga.org\n" -"POT-Creation-Date: 2015-11-12 14:17+0000\n" -"PO-Revision-Date: 2015-11-13 15:14+0100\n" +"POT-Creation-Date: 2016-02-29 14:39+0000\n" +"PO-Revision-Date: 2016-02-29 22:16+0100\n" "Last-Translator: Thomas Gelf \n" "Language: de_DE\n" "MIME-Version: 1.0\n" @@ -16,7 +16,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "Language-Team: \n" -"X-Generator: Poedit 1.8.6\n" +"X-Generator: Poedit 1.8.7\n" #: /vagrant/library/Icinga/Web/Form/Validator/InArray.php:16 #, php-format @@ -115,7 +115,7 @@ msgid "A user backend with the name \"%s\" does already exist" msgstr "Ein Nutzerbackend mit dem Namen “%s” existiert bereits" #: /vagrant/application/controllers/AboutController.php:19 -#: /vagrant/library/Icinga/Application/Web.php:247 +#: /vagrant/library/Icinga/Application/Web.php:305 #: /vagrant/library/Icinga/Web/Menu.php:257 msgid "About" msgstr "Über Icinga Web 2" @@ -142,7 +142,12 @@ msgstr "Aktiv" msgid "Add" msgstr "Hinzufügen" -#: /vagrant/application/controllers/DashboardController.php:72 +#: /vagrant/library/Icinga/Web/Widget/Tabextension/DashboardSettings.php:25 +#, fuzzy +msgid "Add Dashlet" +msgstr "Dashlet bearbeiten" + +#: /vagrant/application/controllers/DashboardController.php:76 msgid "Add Dashlet To Dashboard" msgstr "Zum Dashboard hinzufügem" @@ -150,11 +155,7 @@ msgstr "Zum Dashboard hinzufügem" msgid "Add New Member" msgstr "Mitglied hinzufügen" -#: /vagrant/library/Icinga/Web/Widget/Tabextension/DashboardSettings.php:25 -msgid "Add New Pane Or Dashlet" -msgstr "Neues Dashboard" - -#: /vagrant/application/forms/Dashboard/DashletForm.php:28 +#: /vagrant/application/forms/Dashboard/DashletForm.php:29 #: /vagrant/library/Icinga/Web/Widget/Tabextension/DashboardAction.php:27 msgid "Add To Dashboard" msgstr "Zum Dashboard hinzufügen" @@ -179,7 +180,7 @@ msgstr "Neue Gruppe anlegen" msgid "Add a new user" msgstr "Neuen Benutzer anlegen" -#: /vagrant/library/Icinga/Web/Widget/FilterEditor.php:378 +#: /vagrant/library/Icinga/Web/Widget/FilterEditor.php:409 msgid "Add another filter" msgstr "Weiteren Filter hinzufügen..." @@ -196,7 +197,7 @@ msgstr "Mitglied der Gruppe %s hinzufügen" msgid "Adjust the general configuration of Icinga Web 2" msgstr "Allgemeine Einstellungen von Icinga Web 2" -#: /vagrant/application/controllers/NavigationController.php:132 +#: /vagrant/application/controllers/NavigationController.php:133 #: /vagrant/application/controllers/PreferenceController.php:32 msgid "Adjust the preferences of Icinga Web 2 according to your needs" msgstr "Anpassung von Icinga Web 2 an individuelle Bedürfnisse" @@ -209,7 +210,7 @@ msgstr "" "Alle konfigurierten Authentifizierungsmethoden sind fehlgeschlagen. Mehr " "Details dazu stehen im Systemlog oder im Log von Icinga Web 2." -#: /vagrant/application/forms/Security/RoleForm.php:94 +#: /vagrant/application/forms/Security/RoleForm.php:68 #, php-format msgid "Allow access to module %s" msgstr "Zugriff auf das Modul %s erlauben" @@ -247,17 +248,17 @@ msgstr "" "Ein zusätzlicher Filter für die Suche nach Benutzern für die angegebene " "Verbindung. Leer lassen, um keine Filter zu verwenden." -#: /vagrant/library/Icinga/Application/Web.php:260 +#: /vagrant/library/Icinga/Application/Web.php:318 #: /vagrant/library/Icinga/Web/Menu.php:273 msgid "Application" msgstr "Anwendung" -#: /vagrant/library/Icinga/Application/Web.php:316 +#: /vagrant/library/Icinga/Application/Web.php:366 #: /vagrant/library/Icinga/Web/Menu.php:262 msgid "Application Log" msgstr "Anwendungslog" -#: /vagrant/application/forms/Config/General/LoggingConfigForm.php:65 +#: /vagrant/application/forms/Config/General/LoggingConfigForm.php:71 msgid "Application Prefix" msgstr "Anwendungspräfix" @@ -265,12 +266,8 @@ msgstr "Anwendungspräfix" msgid "Apply" msgstr "Anwenden" -#: /vagrant/library/Icinga/Web/Widget/SortBox.php:194 -msgctxt "sort direction" -msgid "Ascending" -msgstr "Aufsteigend [ Sortierreihenfolge ]" - -#: /vagrant/library/Icinga/Application/Web.php:266 +#: /vagrant/application/controllers/ConfigController.php:50 +#: /vagrant/library/Icinga/Application/Web.php:324 #: /vagrant/library/Icinga/Web/Menu.php:278 msgid "Authentication" msgstr "Authentifizierung" @@ -289,10 +286,6 @@ msgstr "Authentifizierungsbackend “%s” wurde nicht gefunden" msgid "Authentication order updated" msgstr "Authentifizierungsreihenfolge wurde aktualisiert" -#: /vagrant/library/Icinga/Application/Web.php:272 -msgid "Authorization" -msgstr "Autorisierung" - #: /vagrant/application/forms/AutoRefreshForm.php:44 msgid "Auto refresh successfully disabled" msgstr "Automatische Aktualisierung erfolgreich deaktiviert" @@ -306,8 +299,8 @@ msgstr "Automatische Aktualisierung erfolgreich aktiviert" msgid "Back" msgstr "Zurück" +#: /vagrant/application/views/scripts/config/userbackend/reorder.phtml:35 #: /vagrant/application/views/scripts/form/reorder-authbackend.phtml:4 -#: /vagrant/application/views/scripts/usergroupbackend/list.phtml:20 msgid "Backend" msgstr "Backend-Name" @@ -336,29 +329,29 @@ msgstr "Bind DN" msgid "Bind Password" msgstr "Bind Kennwort" -#: /vagrant/application/forms/PreferenceForm.php:147 -#: /vagrant/application/forms/PreferenceForm.php:153 +#: /vagrant/application/forms/PreferenceForm.php:181 +#: /vagrant/application/forms/PreferenceForm.php:187 #, php-format msgctxt "preferences.form" msgid "Browser (%s)" msgstr "Browser (%s)" -#: /vagrant/application/forms/Security/RoleForm.php:240 +#: /vagrant/application/forms/Security/RoleForm.php:214 #, php-format msgid "Can't add role '%s'. Role already exists" msgstr "Kann Rolle ‘%s’ nicht hinzufügen. Die Rolle existiert bereits" -#: /vagrant/application/forms/Security/RoleForm.php:199 +#: /vagrant/application/forms/Security/RoleForm.php:173 #, php-format msgid "Can't load role '%s'. Role does not exist" msgstr "Kann Rolle ‘%s’ nicht laden. Die Rolle existiert nicht" -#: /vagrant/application/forms/Security/RoleForm.php:266 +#: /vagrant/application/forms/Security/RoleForm.php:240 #, php-format msgid "Can't remove role '%s'. Role does not exist" msgstr "Kann Rolle ‘%s’ nicht löschen. Die Rolle existiert nicht" -#: /vagrant/application/forms/Security/RoleForm.php:299 +#: /vagrant/application/forms/Security/RoleForm.php:273 #, php-format msgid "Can't update role '%s'. Role does not exist" msgstr "Kann Rolle ‘%s’ nicht akualisieren. Die Rolle existiert nicht" @@ -372,7 +365,7 @@ msgstr "Abbrechen" msgid "Cancel this membership" msgstr "Diese Mitgliedschaft beenden" -#: /vagrant/library/Icinga/Web/Widget/FilterEditor.php:404 +#: /vagrant/library/Icinga/Web/Widget/FilterEditor.php:435 msgid "Cancel this operation" msgstr "Diese Operation abbrechen" @@ -386,7 +379,7 @@ msgstr "Einfügen nicht möglich. Die Sektion “%s” existiert bereits" msgid "Cannot read config file \"%s\". Permission denied" msgstr "Kann Konfigurationsdatei “%s” nicht lesen" -#: /vagrant/library/Icinga/Web/Widget/FilterEditor.php:252 +#: /vagrant/library/Icinga/Web/Widget/FilterEditor.php:283 msgid "Cannot search here" msgstr "Suche ist hier nicht möglich" @@ -404,10 +397,23 @@ msgstr "" msgid "Cannot update. Section \"%s\" does already exist" msgstr "Aktualisierung nicht möglich. Sektion “%s” existiert bereits" +#: /vagrant/library/Icinga/Web/Widget/SortBox.php:251 +msgid "Change sort direction" +msgstr "Sortierreihenfolge" + #: /vagrant/application/forms/Config/Resource/DbResourceForm.php:146 msgid "Character Set" msgstr "Zeichensatz" +#: /vagrant/application/forms/Config/General/ThemingConfigForm.php:53 +msgctxt "Form element description" +msgid "" +"Check this box for disallowing users to change the theme. If a default theme " +"is set, it will be used nonetheless" +msgstr "" +"Checkbox auswählen um Benutzeranpassung zu verbieten. Die Standardtheme wird " +"für alle Benutzer angezeigt." + #: /vagrant/application/forms/Config/Resource/DbResourceForm.php:154 msgid "" "Check this box for persistent database connections. Persistent connections " @@ -418,7 +424,7 @@ msgstr "" "Verbindungen werden am Ende einer Anfrage nicht geschlossen, sondern " "gecached wiederverwendet" -#: /vagrant/application/forms/Dashboard/DashletForm.php:122 +#: /vagrant/application/forms/Dashboard/DashletForm.php:101 msgid "Check this box if you want to add the dashlet to a new dashboard" msgstr "Häkchen setzen, um dieses Dashlet einem neuen Dashboard hinzuzufügen" @@ -428,7 +434,7 @@ msgstr "" "Häkchen setzen, um die Änderungen ohne Validierung der Verbindung zu " "speichern" -#: /vagrant/application/forms/Config/UserBackendConfigForm.php:398 +#: /vagrant/application/forms/Config/UserBackendConfigForm.php:383 msgid "" "Check this box to enforce changes without validating that authentication is " "possible." @@ -457,39 +463,33 @@ msgstr "" "Kommaseparierte Liste von Nutzernamen, mit denen dieses Element geteilt " "werden soll" -#: /vagrant/application/forms/Security/RoleForm.php:152 +#: /vagrant/application/forms/Security/RoleForm.php:126 msgid "Comma-separated list of groups that are assigned to the role" msgstr "Kommaseparierte Liste von Gruppen, die dieser Rolle zugewiesen werden" -#: /vagrant/application/forms/Security/RoleForm.php:144 +#: /vagrant/application/forms/Security/RoleForm.php:118 msgid "Comma-separated list of users that are assigned to the role" msgstr "Kommaseparierte Liste von Nutzern, die dieser Rolle zugewiesen werden" -#: /vagrant/library/Icinga/Application/Web.php:254 +#: /vagrant/library/Icinga/Application/Web.php:312 #: /vagrant/library/Icinga/Web/Menu.php:268 msgid "Configuration" msgstr "Konfiguration" -#: /vagrant/application/controllers/ConfigController.php:64 -#: /vagrant/application/controllers/UsergroupbackendController.php:157 -msgid "Configure how users are associated with groups by Icinga Web 2" -msgstr "" -"Konfiguration der Verknüpfung von Nutzern und Gruppen durch Icinga Web 2" - -#: /vagrant/application/controllers/ConfigController.php:58 -#: /vagrant/application/controllers/UsergroupbackendController.php:152 -msgid "Configure how users authenticate with and log into Icinga Web 2" -msgstr "Konfiguration der Nutzerauthentifizierung für Icinga Web 2" - -#: /vagrant/application/controllers/GroupController.php:347 +#: /vagrant/application/controllers/GroupController.php:346 #: /vagrant/application/controllers/RoleController.php:155 -#: /vagrant/application/controllers/UserController.php:313 +#: /vagrant/application/controllers/UserController.php:312 msgid "" "Configure roles to permit or restrict users and groups accessing Icinga Web 2" msgstr "" "Konfiguration der Zugangsberechtigungen für Nutzer und Gruppen in Icinga Web " "2" +#: /vagrant/application/controllers/ConfigController.php:49 +#, fuzzy +msgid "Configure the user and group backends" +msgstr "Neues Backend für Benutzergruppen erstellen" + #: /vagrant/application/controllers/ConfigController.php:43 msgid "Configure which resources are being utilized by Icinga Web 2" msgstr "Konfiguration der Ressourcen für Icinga Web 2" @@ -514,7 +514,7 @@ msgstr "Enthält Daten in einem Balken- oder Liniendiagramm." msgid "Contains data in a pie chart." msgstr "Enthält Daten in einem Tortendiagramm." -#: /vagrant/application/forms/Config/General/ApplicationConfigForm.php:50 +#: /vagrant/application/forms/Config/General/ApplicationConfigForm.php:54 msgid "" "Contains the directories that will be searched for available modules, " "separated by colons. Modules that don't exist in these directories can still " @@ -554,7 +554,7 @@ msgstr "Neue Gruppenmitgliedschaft" msgid "Create Role" msgstr "Rolle erstellen" -#: /vagrant/application/views/scripts/navigation/index.phtml:20 +#: /vagrant/application/views/scripts/navigation/index.phtml:12 msgid "Create a New Navigation Item" msgstr "Neues Navigationselement erstellen" @@ -566,15 +566,15 @@ msgstr "Neue Ressource erstellen" msgid "Create a New Role" msgstr "Neue Rolle erstellen" -#: /vagrant/application/views/scripts/config/userbackend/reorder.phtml:6 +#: /vagrant/application/views/scripts/config/userbackend/reorder.phtml:7 msgid "Create a New User Backend" msgstr "Neues Backend für Benutzer erstellen" -#: /vagrant/application/views/scripts/usergroupbackend/list.phtml:6 +#: /vagrant/application/views/scripts/config/userbackend/reorder.phtml:21 msgid "Create a New User Group Backend" msgstr "Neues Backend für Benutzergruppen erstellen" -#: /vagrant/application/controllers/ConfigController.php:217 +#: /vagrant/application/controllers/ConfigController.php:198 msgid "" "Create a new backend for authenticating your users. This backend will be " "added at the end of your authentication order." @@ -582,15 +582,15 @@ msgstr "" "Neues Backend für die Nutzerauthentifizierung anlegen. Dieses Backend wird " "an das Ende Ihrer Authentifizierungsreihenfolge angehängt" -#: /vagrant/application/controllers/UsergroupbackendController.php:51 +#: /vagrant/application/controllers/UsergroupbackendController.php:42 msgid "Create a new backend to associate users and groups with." msgstr "Neues Backend zur Assoziation von Benutzern und Gruppen anlegen." -#: /vagrant/application/views/scripts/navigation/index.phtml:27 +#: /vagrant/application/views/scripts/navigation/index.phtml:19 msgid "Create a new navigation item" msgstr "Ein neues Navigationselement erzeugen" -#: /vagrant/application/controllers/NavigationController.php:215 +#: /vagrant/application/controllers/NavigationController.php:216 msgid "Create a new navigation item, such as a menu entry or dashlet." msgstr "" "Ein neues Navigationselement (zum Beispiel Menüeintrag oder Dashlet) " @@ -604,11 +604,11 @@ msgstr "Neue Ressource erstellen" msgid "Create a new role" msgstr "Neue Rolle erstellen" -#: /vagrant/application/views/scripts/config/userbackend/reorder.phtml:13 +#: /vagrant/application/views/scripts/config/userbackend/reorder.phtml:14 msgid "Create a new user backend" msgstr "Neue Backend für Benutzer erstellen" -#: /vagrant/application/views/scripts/usergroupbackend/list.phtml:13 +#: /vagrant/application/views/scripts/config/userbackend/reorder.phtml:28 msgid "Create a new user group backend" msgstr "Neues Backend für Benutzergruppen erstellen" @@ -620,8 +620,7 @@ msgstr "Mitgliedschaften für %s erstellen" #: /vagrant/library/Icinga/Authentication/User/DbUserBackend.php:120 #: /vagrant/library/Icinga/Authentication/User/LdapUserBackend.php:257 #: /vagrant/library/Icinga/Authentication/UserGroup/DbUserGroupBackend.php:122 -#: /vagrant/library/Icinga/Authentication/UserGroup/IniUserGroupBackend.php:75 -#: /vagrant/library/Icinga/Authentication/UserGroup/LdapUserGroupBackend.php:465 +#: /vagrant/library/Icinga/Authentication/UserGroup/LdapUserGroupBackend.php:466 msgid "Created At" msgstr "Erstellt am" @@ -653,8 +652,8 @@ msgstr "" "Momentan ist kein Dashlet verfügbar. Das könnte durch die Aktivierung von " "einigen der verfügbaren %s behoben werden." -#: /vagrant/application/forms/Dashboard/DashletForm.php:108 -#: /vagrant/library/Icinga/Application/Web.php:232 +#: /vagrant/application/forms/Dashboard/DashletForm.php:120 +#: /vagrant/library/Icinga/Application/Web.php:290 #: /vagrant/library/Icinga/Web/Menu.php:243 msgid "Dashboard" msgstr "Dashboard" @@ -663,7 +662,7 @@ msgstr "Dashboard" msgid "Dashboard Settings" msgstr "Dashboardeinstellungen" -#: /vagrant/application/controllers/DashboardController.php:211 +#: /vagrant/application/controllers/DashboardController.php:219 msgid "Dashboard has been removed" msgstr "Das Dashboard wurde entfernt" @@ -671,29 +670,29 @@ msgstr "Das Dashboard wurde entfernt" msgid "Dashlet Name" msgstr "Name des Dashlets" -#: /vagrant/application/forms/Dashboard/DashletForm.php:79 +#: /vagrant/application/forms/Dashboard/DashletForm.php:81 msgid "Dashlet Title" msgstr "Titel des Dashlets" -#: /vagrant/application/controllers/DashboardController.php:69 +#: /vagrant/application/controllers/DashboardController.php:73 msgid "Dashlet created" msgstr "Dashlet wurde angelegt" -#: /vagrant/application/controllers/DashboardController.php:171 +#: /vagrant/application/controllers/DashboardController.php:183 msgid "Dashlet has been removed from" msgstr "Das Dashlet wurde entfernt von" -#: /vagrant/application/controllers/DashboardController.php:132 +#: /vagrant/application/controllers/DashboardController.php:140 msgid "Dashlet updated" msgstr "Dashlet aktualisiert" #: /vagrant/application/forms/Config/UserBackendConfigForm.php:267 -#: /vagrant/application/forms/Config/General/ApplicationConfigForm.php:66 +#: /vagrant/application/forms/Config/General/ApplicationConfigForm.php:70 #: /vagrant/application/forms/Config/UserGroup/UserGroupBackendForm.php:163 msgid "Database" msgstr "SQL Datenbank" -#: /vagrant/application/forms/Config/General/ApplicationConfigForm.php:85 +#: /vagrant/application/forms/Config/General/ApplicationConfigForm.php:90 #: /vagrant/application/forms/Config/UserBackend/DbBackendForm.php:64 #: /vagrant/application/forms/Config/UserGroup/DbUserGroupBackendForm.php:47 msgid "Database Connection" @@ -707,20 +706,21 @@ msgstr "Datenbankname" msgid "Database Type" msgstr "Datenbanktyp" -#: /vagrant/application/forms/Config/General/LoggingConfigForm.php:53 +#: /vagrant/application/forms/Config/General/LoggingConfigForm.php:59 msgctxt "app.config.logging.level" msgid "Debug" msgstr "Debug" +#: /vagrant/application/forms/Config/General/ThemingConfigForm.php:42 +#, fuzzy +msgctxt "Form element label" +msgid "Default Theme" +msgstr "Standardsprache" + #: /vagrant/application/views/scripts/config/module.phtml:46 msgid "Dependencies" msgstr "Abhängigkeiten" -#: /vagrant/library/Icinga/Web/Widget/SortBox.php:195 -msgctxt "sort direction" -msgid "Descending" -msgstr "Absteigend" - #: /vagrant/application/views/scripts/config/module.phtml:42 msgid "Description" msgstr "Beschreibung" @@ -733,11 +733,6 @@ msgstr "" "Details können im Log der Anwendung gefunden werden. (Wenn kein Zugriff auf " "das Log möglich ist, kontaktieren Sie bitte Ihren Administrator)" -#: /vagrant/library/Icinga/Web/Widget/SortBox.php:192 -msgctxt "sort direction" -msgid "Direction" -msgstr "Richtung" - #: /vagrant/application/forms/AutoRefreshForm.php:65 msgid "Disable auto refresh" msgstr "Automatische Aktualisierung deaktivieren" @@ -752,14 +747,19 @@ msgctxt "A button to discover LDAP capabilities" msgid "Discover" msgstr "Entdecken" -#: /vagrant/application/forms/Config/General/ApplicationConfigForm.php:67 +#: /vagrant/application/forms/Config/General/ApplicationConfigForm.php:71 msgid "Don't Store Preferences" msgstr "Einstellungen nicht speichern" -#: /vagrant/application/controllers/DashboardController.php:135 +#: /vagrant/application/controllers/DashboardController.php:143 msgid "Edit Dashlet" msgstr "Dashlet bearbeiten" +#: /vagrant/application/views/scripts/user/show.phtml:16 +#, fuzzy +msgid "Edit User" +msgstr "Nutzer %s bearbeiten" + #: /vagrant/application/views/scripts/dashboard/settings.phtml:53 #, php-format msgid "Edit dashlet %s" @@ -771,7 +771,7 @@ msgstr "Dashlet %s bearbeiten" msgid "Edit group %s" msgstr "Gruppe %s bearbeiten" -#: /vagrant/application/views/scripts/navigation/index.phtml:55 +#: /vagrant/application/views/scripts/navigation/index.phtml:47 #, php-format msgid "Edit navigation item %s" msgstr "Navigationselement %s bearbeiten" @@ -786,13 +786,13 @@ msgstr "Ressource %s bearbeiten" msgid "Edit role %s" msgstr "Rolle %s bearbeiten" -#: /vagrant/application/views/scripts/navigation/shared.phtml:46 +#: /vagrant/application/views/scripts/navigation/shared.phtml:37 #, php-format msgid "Edit shared navigation item %s" msgstr "Geteiltes Navigationselement %s bearbeiten" #: /vagrant/application/forms/Config/User/UserForm.php:67 -#: /vagrant/application/views/scripts/user/show.phtml:17 +#: /vagrant/application/views/scripts/user/show.phtml:25 #, php-format msgid "Edit user %s" msgstr "Nutzer %s bearbeiten" @@ -802,13 +802,13 @@ msgstr "Nutzer %s bearbeiten" msgid "Edit user backend %s" msgstr "Nutzerbackend %s bearbeiten" -#: /vagrant/application/views/scripts/usergroupbackend/list.phtml:36 +#: /vagrant/application/views/scripts/config/userbackend/reorder.phtml:51 #, php-format msgid "Edit user group backend %s" msgstr "Nutzgruppenbackend %s bearbeiten" #: /vagrant/application/forms/AutoRefreshForm.php:63 -#: /vagrant/application/forms/PreferenceForm.php:209 +#: /vagrant/application/forms/PreferenceForm.php:243 msgid "Enable auto refresh" msgstr "Automatische Aktualisierung aktivieren" @@ -826,15 +826,16 @@ msgstr "Die Aktivierung des Moduls \"%s\" könnte helfen!" msgid "Encryption" msgstr "Verschlüsselung" -#: /vagrant/application/forms/Dashboard/DashletForm.php:80 +#: /vagrant/application/forms/Dashboard/DashletForm.php:82 msgid "Enter a title for the dashlet." msgstr "Titel für das Dashlet eingeben" -#: /vagrant/application/forms/Dashboard/DashletForm.php:99 -msgid "Enter a title for the new pane." +#: /vagrant/application/forms/Dashboard/DashletForm.php:111 +#, fuzzy +msgid "Enter a title for the new dashboard" msgstr "Titel für das Dashboard eingeben" -#: /vagrant/application/forms/Dashboard/DashletForm.php:70 +#: /vagrant/application/forms/Dashboard/DashletForm.php:71 msgid "" "Enter url being loaded in the dashlet. You can paste the full URL, including " "filters." @@ -842,7 +843,12 @@ msgstr "" "URL angeben, die in dem Dashlet geladen werden soll. Es sind vollständige " "URLs mit Filtern möglich." -#: /vagrant/application/forms/Config/General/LoggingConfigForm.php:50 +#: /vagrant/application/controllers/ErrorController.php:109 +#, fuzzy +msgid "Error" +msgstr "Fehler" + +#: /vagrant/application/forms/Config/General/LoggingConfigForm.php:56 msgctxt "app.config.logging.level" msgid "Error" msgstr "Fehler" @@ -934,12 +940,12 @@ msgid "Failed to remove user \"%s\"" msgstr "Benutzer “%s” konnte nicht entfernt werden" #: /vagrant/application/forms/Config/ResourceConfigForm.php:317 -#: /vagrant/application/forms/Config/UserBackendConfigForm.php:437 +#: /vagrant/application/forms/Config/UserBackendConfigForm.php:422 #, php-format msgid "Failed to successfully validate the configuration: %s" msgstr "Validierung der Konfiguration schlug fehl: %s" -#: /vagrant/application/controllers/NavigationController.php:385 +#: /vagrant/application/controllers/NavigationController.php:386 #, php-format msgid "Failed to unshare navigation item \"%s\"" msgstr "" @@ -954,16 +960,16 @@ msgstr "Aktualisierung fehlgeschlagen. Ein Fehler ist aufgetreten: %s" msgid "File" msgstr "Datei" -#: /vagrant/application/forms/Config/General/LoggingConfigForm.php:35 +#: /vagrant/application/forms/Config/General/LoggingConfigForm.php:41 msgctxt "app.config.logging.type" msgid "File" msgstr "Datei" -#: /vagrant/application/forms/Config/General/ApplicationConfigForm.php:65 +#: /vagrant/application/forms/Config/General/ApplicationConfigForm.php:69 msgid "File System (INI Files)" msgstr "Dateisystem" -#: /vagrant/application/forms/Config/General/LoggingConfigForm.php:109 +#: /vagrant/application/forms/Config/General/LoggingConfigForm.php:115 msgid "File path" msgstr "Dateipfad" @@ -985,7 +991,7 @@ msgstr "Filterspalte “%s” nicht gefunden" msgid "Filter column \"%s\" not found in table \"%s\"" msgstr "Filterspalte “%s” in Tabelle “%s” nicht gefunden" -#: /vagrant/library/Icinga/Web/Widget/FilterEditor.php:713 +#: /vagrant/library/Icinga/Web/Widget/FilterEditor.php:744 #: /vagrant/library/Icinga/Web/Widget/FilterWidget.php:89 msgid "Filter this list" msgstr "Diese Liste filtern" @@ -1078,7 +1084,7 @@ msgstr "Gruppenmitglieder wurden erfolgreich hinzugefügt" #: /vagrant/application/forms/Config/User/CreateMembershipForm.php:79 #: /vagrant/application/forms/Navigation/NavigationConfigForm.php:623 -#: /vagrant/application/forms/Security/RoleForm.php:151 +#: /vagrant/application/forms/Security/RoleForm.php:125 #: /vagrant/application/views/scripts/role/list.phtml:24 msgid "Groups" msgstr "Gruppen" @@ -1100,33 +1106,39 @@ msgstr "Hosts" msgid "I'm ready to search, waiting for your input" msgstr "Ich bin bereit zur Suche. Warte auf Eingabe" -#: /vagrant/application/views/scripts/about/index.phtml:99 +#: /vagrant/application/views/scripts/about/index.phtml:106 msgid "Icinga Documentation" msgstr "Icinga Dokumentation" -#: /vagrant/application/views/scripts/authentication/login.phtml:15 +#: /vagrant/application/views/scripts/authentication/login.phtml:11 msgid "Icinga Web 2 Documentation" msgstr "Icinga Web 2 Dokumentation" -#: /vagrant/application/controllers/AuthenticationController.php:51 +#: /vagrant/application/controllers/AuthenticationController.php:53 msgid "Icinga Web 2 Login" msgstr "Icinga Web 2 Anmeldung" -#: /vagrant/application/views/scripts/authentication/login.phtml:16 +#: /vagrant/application/views/scripts/authentication/login.phtml:12 msgid "Icinga Web 2 Setup-Wizard" msgstr "Icinga Web 2 Einrichtungsassistent" -#: /vagrant/application/views/scripts/about/index.phtml:89 +#: /vagrant/application/views/scripts/about/index.phtml:96 msgid "Icinga Wiki" msgstr "Icinga Wiki" #: /vagrant/application/views/scripts/about/index.phtml:55 -#: /vagrant/application/views/scripts/authentication/login.phtml:41 +#: /vagrant/application/views/scripts/authentication/login.phtml:37 msgid "Icinga on Facebook" msgstr "Icinga auf Facebook" +#: /vagrant/application/views/scripts/about/index.phtml:64 +#: /vagrant/application/views/scripts/authentication/login.phtml:46 +#, fuzzy +msgid "Icinga on Google+" +msgstr "Icinga auf Facebook" + #: /vagrant/application/views/scripts/about/index.phtml:46 -#: /vagrant/application/views/scripts/authentication/login.phtml:31 +#: /vagrant/application/views/scripts/authentication/login.phtml:27 msgid "Icinga on Twitter" msgstr "Icinga auf Twitter" @@ -1160,7 +1172,7 @@ msgstr "Inaktiv" msgid "Incorrect username or password" msgstr "Benutzername oder Kennwort ungültig" -#: /vagrant/application/forms/Config/General/LoggingConfigForm.php:52 +#: /vagrant/application/forms/Config/General/LoggingConfigForm.php:58 msgctxt "app.config.logging.level" msgid "Information" msgstr "Information" @@ -1176,7 +1188,7 @@ msgstr "Ungültiger Backendtyp “%s” angegeben" msgid "Invalid resource type \"%s\" provided" msgstr "Ungültiger Ressourcentyp “%s” angegeben" -#: /vagrant/application/views/scripts/authentication/login.phtml:11 +#: /vagrant/application/views/scripts/authentication/login.phtml:7 #, php-format msgid "" "It appears that you did not configure Icinga Web 2 yet so it's not possible " @@ -1243,8 +1255,7 @@ msgstr "LDAP Objektklasse für den Benutzer" #: /vagrant/library/Icinga/Authentication/User/DbUserBackend.php:121 #: /vagrant/library/Icinga/Authentication/User/LdapUserBackend.php:258 #: /vagrant/library/Icinga/Authentication/UserGroup/DbUserGroupBackend.php:123 -#: /vagrant/library/Icinga/Authentication/UserGroup/IniUserGroupBackend.php:76 -#: /vagrant/library/Icinga/Authentication/UserGroup/LdapUserGroupBackend.php:466 +#: /vagrant/library/Icinga/Authentication/UserGroup/LdapUserGroupBackend.php:467 msgid "Last Modified" msgstr "Zuletzt verändert" @@ -1260,44 +1271,40 @@ msgstr "Zuletzt verändert" msgid "Leave empty for not updating the user's password" msgstr "Leer lassen, um das Passwort unverändert zu lassen" -#: /vagrant/library/Icinga/Web/Widget/Limiter.php:108 -msgid "Limiter" -msgstr "Begrenzer" - -#: /vagrant/application/controllers/NavigationController.php:191 +#: /vagrant/application/controllers/NavigationController.php:192 msgid "List and configure shared navigation items" msgstr "Geteilte Navigationselemente auflisten und bearbeiten" -#: /vagrant/application/controllers/NavigationController.php:141 +#: /vagrant/application/controllers/NavigationController.php:142 #: /vagrant/application/controllers/PreferenceController.php:37 msgid "List and configure your own navigation items" msgstr "Eigene Navigationselemente auflisten und bearbeiten" -#: /vagrant/application/controllers/GroupController.php:365 -#: /vagrant/application/controllers/RoleController.php:173 -#: /vagrant/application/controllers/UserController.php:331 +#: /vagrant/application/controllers/GroupController.php:363 +#: /vagrant/application/controllers/RoleController.php:172 +#: /vagrant/application/controllers/UserController.php:329 msgid "List groups of user group backends" msgstr "Gruppierte Benutzergruppenbackends auflisten" -#: /vagrant/application/controllers/ConfigController.php:112 +#: /vagrant/application/controllers/ConfigController.php:97 msgid "List intalled modules" msgstr "Installierte Module auflisten" -#: /vagrant/application/controllers/GroupController.php:356 +#: /vagrant/application/controllers/GroupController.php:355 #: /vagrant/application/controllers/RoleController.php:164 -#: /vagrant/application/controllers/UserController.php:322 +#: /vagrant/application/controllers/UserController.php:321 msgid "List users of authentication backends" msgstr "Benutzer des Authentifizierungsbackends auflisten" -#: /vagrant/application/views/scripts/about/index.phtml:103 +#: /vagrant/application/views/scripts/about/index.phtml:110 msgid "Loaded modules" msgstr "Geladene Module" -#: /vagrant/application/forms/Config/General/LoggingConfigForm.php:47 +#: /vagrant/application/forms/Config/General/LoggingConfigForm.php:53 msgid "Logging Level" msgstr "Log-Level" -#: /vagrant/application/forms/Config/General/LoggingConfigForm.php:31 +#: /vagrant/application/forms/Config/General/LoggingConfigForm.php:37 msgid "Logging Type" msgstr "Logging-Typ" @@ -1314,7 +1321,7 @@ msgstr "Abmelden..." msgid "Login" msgstr "Anmelden" -#: /vagrant/library/Icinga/Application/Web.php:303 +#: /vagrant/library/Icinga/Application/Web.php:355 #: /vagrant/library/Icinga/Web/Menu.php:313 msgid "Logout" msgstr "Abmelden" @@ -1349,111 +1356,111 @@ msgstr "Menüeintrag" msgid "Method Not Allowed" msgstr "Nicht zulässig" -#: /vagrant/library/Icinga/Web/Widget/FilterEditor.php:715 +#: /vagrant/library/Icinga/Web/Widget/FilterEditor.php:746 #: /vagrant/library/Icinga/Web/Widget/FilterWidget.php:94 msgid "Modify this filter" msgstr "Diesen Filter bearbeiten" -#: /vagrant/application/views/scripts/config/modules.phtml:22 +#: /vagrant/application/views/scripts/config/modules.phtml:11 msgid "Module" msgstr "Modul" -#: /vagrant/application/controllers/ConfigController.php:182 +#: /vagrant/application/controllers/ConfigController.php:161 #, php-format msgid "Module \"%s\" disabled" msgstr "Modul “%s” deaktiviert" -#: /vagrant/application/controllers/ConfigController.php:162 +#: /vagrant/application/controllers/ConfigController.php:141 #, php-format msgid "Module \"%s\" enabled" msgstr "Modul “%s” aktiviert" -#: /vagrant/application/views/scripts/config/modules.phtml:34 +#: /vagrant/application/views/scripts/config/modules.phtml:23 #, php-format msgid "Module %s has failed to load" msgstr "Modul %s konnte nicht geladen werden" -#: /vagrant/application/views/scripts/config/modules.phtml:32 +#: /vagrant/application/views/scripts/config/modules.phtml:21 #, php-format msgid "Module %s is disabled" msgstr "Modul “%s” ist deaktiviert" -#: /vagrant/application/views/scripts/config/modules.phtml:30 +#: /vagrant/application/views/scripts/config/modules.phtml:19 #, php-format msgid "Module %s is enabled" msgstr "Modul “%s” ist aktiviert" -#: /vagrant/application/forms/Config/General/ApplicationConfigForm.php:46 +#: /vagrant/application/forms/Config/General/ApplicationConfigForm.php:50 msgid "Module Path" msgstr "Pfad zu den Modulen" -#: /vagrant/application/controllers/ConfigController.php:111 -#: /vagrant/library/Icinga/Application/Web.php:284 +#: /vagrant/application/controllers/ConfigController.php:96 +#: /vagrant/library/Icinga/Application/Web.php:336 #: /vagrant/library/Icinga/Web/Menu.php:298 msgid "Modules" msgstr "Module" -#: /vagrant/application/views/scripts/form/reorder-authbackend.phtml:62 +#: /vagrant/application/views/scripts/form/reorder-authbackend.phtml:58 msgid "Move down in authentication order" msgstr "In der Authentifizierungsreihenfolge nach unten schieben" -#: /vagrant/application/views/scripts/form/reorder-authbackend.phtml:48 +#: /vagrant/application/views/scripts/form/reorder-authbackend.phtml:46 msgid "Move up in authentication order" msgstr "In der Authentifizierungsreihenfolge nach oben schieben" -#: /vagrant/application/views/scripts/form/reorder-authbackend.phtml:64 +#: /vagrant/application/views/scripts/form/reorder-authbackend.phtml:60 #, php-format msgid "Move user backend %s downwards" msgstr "Benutzerbackend %s nach unten schieben" -#: /vagrant/application/views/scripts/form/reorder-authbackend.phtml:50 +#: /vagrant/application/views/scripts/form/reorder-authbackend.phtml:48 #, php-format msgid "Move user backend %s upwards" msgstr "Benutzerbackend %s nach oben schieben" #: /vagrant/application/forms/Navigation/NavigationConfigForm.php:582 -#: /vagrant/application/views/scripts/about/index.phtml:107 +#: /vagrant/application/views/scripts/about/index.phtml:114 #: /vagrant/application/views/scripts/config/module.phtml:16 #: /vagrant/application/views/scripts/role/list.phtml:22 msgid "Name" msgstr "Name" -#: /vagrant/application/controllers/NavigationController.php:142 -#: /vagrant/application/controllers/NavigationController.php:150 +#: /vagrant/application/controllers/NavigationController.php:143 +#: /vagrant/application/controllers/NavigationController.php:151 #: /vagrant/application/controllers/PreferenceController.php:38 #: /vagrant/application/views/scripts/pivottablePagination.phtml:16 #: /vagrant/application/views/scripts/layout/menu.phtml:16 -#: /vagrant/application/views/scripts/navigation/index.phtml:37 +#: /vagrant/application/views/scripts/navigation/index.phtml:29 msgid "Navigation" msgstr "Navigation" -#: /vagrant/application/controllers/NavigationController.php:326 +#: /vagrant/application/controllers/NavigationController.php:327 #, php-format msgid "Navigation Item \"%s\" not found. No action required" msgstr "Navigationselement “%s” nicht gefunden. Kein Eingriff erfoderlich" -#: /vagrant/application/controllers/NavigationController.php:338 +#: /vagrant/application/controllers/NavigationController.php:339 #, php-format msgid "Navigation Item \"%s\" successfully removed" msgstr "Navigationselement “%s” erfolgreich entfernt" -#: /vagrant/application/controllers/NavigationController.php:378 +#: /vagrant/application/controllers/NavigationController.php:379 #, php-format msgid "Navigation item \"%s\" has been unshared" msgstr "Teilen des Navigationselementes “%s” erfolgreich aufgehoben" -#: /vagrant/application/controllers/NavigationController.php:300 -#: /vagrant/application/controllers/NavigationController.php:411 +#: /vagrant/application/controllers/NavigationController.php:301 +#: /vagrant/application/controllers/NavigationController.php:412 #, php-format msgid "Navigation item \"%s\" not found" msgstr "Navigationselement “%s” wurde nicht gefunden" -#: /vagrant/application/controllers/NavigationController.php:289 +#: /vagrant/application/controllers/NavigationController.php:290 #, php-format msgid "Navigation item \"%s\" successfully updated" msgstr "Navigationselement “%s” erfolgreich aktualisiert" -#: /vagrant/application/controllers/NavigationController.php:235 +#: /vagrant/application/controllers/NavigationController.php:236 msgid "Navigation item successfully created" msgstr "Navigationselement “%s” erfolgreich angelegt" @@ -1461,15 +1468,20 @@ msgstr "Navigationselement “%s” erfolgreich angelegt" msgid "New Column" msgstr "Neue Spalte anlegen" -#: /vagrant/application/forms/Dashboard/DashletForm.php:98 +#: /vagrant/application/forms/Dashboard/DashletForm.php:110 msgid "New Dashboard Title" msgstr "Neuen Dashboardtitel vergeben" -#: /vagrant/application/controllers/NavigationController.php:243 +#: /vagrant/application/controllers/DashboardController.php:42 +#, fuzzy +msgid "New Dashlet" +msgstr "Dashlet aktualisieren" + +#: /vagrant/application/controllers/NavigationController.php:244 msgid "New Navigation Item" msgstr "Neues Navigationselement erstellen" -#: /vagrant/application/controllers/ConfigController.php:345 +#: /vagrant/application/controllers/ConfigController.php:326 msgid "New Resource" msgstr "Neue Ressource erstellen" @@ -1481,7 +1493,7 @@ msgstr "Neue Rolle anlegen" msgid "New User" msgstr "Neuen Benutzer anlegen" -#: /vagrant/application/controllers/ConfigController.php:250 +#: /vagrant/application/controllers/ConfigController.php:231 msgid "New User Backend" msgstr "Neues Backend für Benutzer anlegen" @@ -1489,7 +1501,7 @@ msgstr "Neues Backend für Benutzer anlegen" msgid "New User Group" msgstr "Neue Benutzergruppe anlegen" -#: /vagrant/application/controllers/UsergroupbackendController.php:70 +#: /vagrant/application/controllers/UsergroupbackendController.php:61 msgid "New User Group Backend" msgstr "Neues Backend für Benutzergruppen erstellen" @@ -1501,11 +1513,11 @@ msgstr "Neue Benutzergruppe anlegen" msgid "New Window" msgstr "Neues Fenster" -#: /vagrant/application/forms/Config/GeneralConfigForm.php:54 +#: /vagrant/application/forms/ConfigForm.php:74 msgid "New configuration has successfully been stored" msgstr "Die neue Konfiguration wurde erfolgreich gespeichert" -#: /vagrant/application/forms/Dashboard/DashletForm.php:121 +#: /vagrant/application/forms/Dashboard/DashletForm.php:100 msgid "New dashboard" msgstr "Neues Dashboard" @@ -1518,11 +1530,11 @@ msgstr "Name für die neue Ressource fehlt" msgid "Next" msgstr "Weiter" -#: /vagrant/application/views/scripts/mixedPagination.phtml:75 +#: /vagrant/application/views/scripts/mixedPagination.phtml:77 msgid "Next page" msgstr "Nächste Seite" -#: /vagrant/application/views/scripts/navigation/index.phtml:65 +#: /vagrant/application/views/scripts/navigation/index.phtml:57 msgid "No" msgstr "Nein" @@ -1578,23 +1590,23 @@ msgstr "Es wurde kein Benutzer gefunden, der den Filterkriterien entspricht" #: /vagrant/application/forms/Navigation/NavigationConfigForm.php:674 msgctxt "No parent for a navigation item" msgid "None" -msgstr "" +msgstr "Keines" -#: /vagrant/application/forms/Config/General/LoggingConfigForm.php:36 +#: /vagrant/application/forms/Config/General/LoggingConfigForm.php:42 msgctxt "app.config.logging.type" msgid "None" -msgstr "" +msgstr "Nicht loggen" #: /vagrant/application/forms/Config/Resource/LdapResourceForm.php:77 msgctxt "resource.ldap.encryption" msgid "None" -msgstr "" +msgstr "Keine Verschlüsselung" #: /vagrant/application/forms/Config/UserGroup/LdapUserGroupBackendForm.php:67 #: /vagrant/application/forms/Config/UserGroup/LdapUserGroupBackendForm.php:69 msgctxt "usergroupbackend.ldap.user_backend" msgid "None" -msgstr "" +msgstr "Kein Userbackend" #: /vagrant/application/forms/Config/UserGroup/UserGroupForm.php:63 msgid "" @@ -1614,8 +1626,8 @@ msgstr "" "Auf dieser Ressource werden nur der Wurzelknoten und seine Kindknoten " "sichtbar sein." -#: /vagrant/application/controllers/NavigationController.php:199 -#: /vagrant/application/views/scripts/navigation/shared.phtml:30 +#: /vagrant/application/controllers/NavigationController.php:200 +#: /vagrant/application/views/scripts/navigation/shared.phtml:21 msgid "Owner" msgstr "Eigentümer" @@ -1637,9 +1649,8 @@ msgstr "Dashboard" #: /vagrant/application/forms/Navigation/NavigationConfigForm.php:668 #: /vagrant/library/Icinga/Authentication/UserGroup/DbUserGroupBackend.php:121 -#: /vagrant/library/Icinga/Authentication/UserGroup/IniUserGroupBackend.php:74 msgid "Parent" -msgstr "" +msgstr "Übergeordnetes Element" #: /vagrant/application/forms/Authentication/LoginForm.php:52 #: /vagrant/application/forms/Config/Resource/DbResourceForm.php:137 @@ -1656,7 +1667,7 @@ msgstr "Muster" msgid "Permissions" msgstr "Berechtigungen" -#: /vagrant/application/forms/Security/RoleForm.php:159 +#: /vagrant/application/forms/Security/RoleForm.php:133 msgid "Permissions Set" msgstr "Berechtigungen" @@ -1702,18 +1713,18 @@ msgstr "" msgid "Port" msgstr "Port" -#: /vagrant/application/controllers/NavigationController.php:133 +#: /vagrant/application/controllers/NavigationController.php:134 #: /vagrant/application/controllers/PreferenceController.php:33 -#: /vagrant/application/forms/PreferenceForm.php:44 +#: /vagrant/library/Icinga/Application/Web.php:350 #: /vagrant/library/Icinga/Web/Menu.php:308 msgid "Preferences" msgstr "Einstellungen" -#: /vagrant/application/forms/PreferenceForm.php:110 +#: /vagrant/application/forms/PreferenceForm.php:123 msgid "Preferences successfully saved" msgstr "Einstellungen erfolgreich gespeichert" -#: /vagrant/application/forms/PreferenceForm.php:112 +#: /vagrant/application/forms/PreferenceForm.php:125 msgid "Preferences successfully saved for the current session" msgstr "Einstellungen erfolgreich für die aktuelle Sitzung gespeichert" @@ -1721,7 +1732,7 @@ msgstr "Einstellungen erfolgreich für die aktuelle Sitzung gespeichert" msgid "Prevents the user from logging in if unchecked" msgstr "Verhindert das Anmelden des Benutzer, wenn nicht markiert" -#: /vagrant/application/views/scripts/mixedPagination.phtml:26 +#: /vagrant/application/views/scripts/mixedPagination.phtml:27 msgid "Previous page" msgstr "Vorherige Seite" @@ -1777,19 +1788,24 @@ msgstr "Bereit zur Suche" msgid "Remove" msgstr "Entfernen" -#: /vagrant/application/controllers/DashboardController.php:224 +#: /vagrant/application/controllers/DashboardController.php:228 msgid "Remove Dashboard" msgstr "Dashboard entfernen" -#: /vagrant/application/controllers/DashboardController.php:184 +#: /vagrant/application/controllers/DashboardController.php:158 +#, fuzzy +msgid "Remove Dashlet" +msgstr "Dashboard entfernen" + +#: /vagrant/application/controllers/DashboardController.php:192 msgid "Remove Dashlet From Dashboard" msgstr "Dashlet aus Dashboard entfernen" -#: /vagrant/application/controllers/NavigationController.php:346 +#: /vagrant/application/controllers/NavigationController.php:347 msgid "Remove Navigation Item" msgstr "Dieses Navigationselement entfernen" -#: /vagrant/application/controllers/ConfigController.php:384 +#: /vagrant/application/controllers/ConfigController.php:365 msgid "Remove Resource" msgstr "Ressource entfernen" @@ -1802,7 +1818,7 @@ msgstr "Rolle entfernen" msgid "Remove User" msgstr "Benutzer entfernen" -#: /vagrant/application/controllers/ConfigController.php:325 +#: /vagrant/application/controllers/ConfigController.php:306 msgid "Remove User Backend" msgstr "Backend für Benutzer entfernen" @@ -1810,7 +1826,7 @@ msgstr "Backend für Benutzer entfernen" msgid "Remove User Group" msgstr "Benutzergruppe entfernen" -#: /vagrant/application/controllers/UsergroupbackendController.php:142 +#: /vagrant/application/controllers/UsergroupbackendController.php:133 msgid "Remove User Group Backend" msgstr "Backend für Benutzergruppen entfernen" @@ -1824,7 +1840,7 @@ msgstr "Dashlet %s aus Dashboard %s entfernen" msgid "Remove group %s?" msgstr "Gruppe %s entfernen" -#: /vagrant/application/views/scripts/navigation/index.phtml:78 +#: /vagrant/application/views/scripts/navigation/index.phtml:70 #, php-format msgid "Remove navigation item %s" msgstr "Navigationselement %s entfernen" @@ -1857,7 +1873,7 @@ msgstr "Diesen Filter entfernen" msgid "Remove this member" msgstr "Dieses Mitglied entfernen" -#: /vagrant/library/Icinga/Web/Widget/FilterEditor.php:365 +#: /vagrant/library/Icinga/Web/Widget/FilterEditor.php:396 msgid "Remove this part of your filter" msgstr "Klicken, um diesen Teil des Filters zu löschen" @@ -1881,12 +1897,12 @@ msgstr "Benutzerbackend %s entfernen" msgid "Remove user group %s" msgstr "Benutzergruppe %s entfernen" -#: /vagrant/application/views/scripts/usergroupbackend/list.phtml:48 +#: /vagrant/application/views/scripts/config/userbackend/reorder.phtml:63 #, php-format msgid "Remove user group backend %s" msgstr "Benutzergruppenbackend %s entfernen" -#: /vagrant/application/views/scripts/about/index.phtml:67 +#: /vagrant/application/views/scripts/about/index.phtml:76 msgid "Report a bug" msgstr "Einen Fehler melden" @@ -1912,7 +1928,7 @@ msgstr "Die Ressource “%s” wurde erfolgreich geändert" msgid "Resource \"%s\" has been successfully created" msgstr "Die Ressource “%s” wurde erfolgreich angelegt" -#: /vagrant/application/controllers/ConfigController.php:401 +#: /vagrant/application/controllers/ConfigController.php:382 #, php-format msgid "Resource \"%s\" has been successfully removed" msgstr "Die Ressource “%s” wurde erfolgreich entfernt" @@ -1943,17 +1959,17 @@ msgstr "Der Ressourcenname fehlt" msgid "Resources" msgstr "Ressourcen" -#: /vagrant/application/controllers/ConfigController.php:349 +#: /vagrant/application/controllers/ConfigController.php:330 msgid "Resources are entities that provide data to Icinga Web 2." msgstr "Ressourcen dienen als Datenquellen für Icinga Web 2." -#: /vagrant/application/forms/Security/RoleForm.php:85 +#: /vagrant/application/forms/Security/RoleForm.php:59 msgid "Restrict which groups this role can share items and information with" msgstr "" "Beschränken Sie, mit welchen Gruppen diese Rolle Elemente und Informationen " "teilen kann." -#: /vagrant/application/forms/Security/RoleForm.php:79 +#: /vagrant/application/forms/Security/RoleForm.php:53 msgid "Restrict which users this role can share items and information with" msgstr "" "Beschränken Sie, mit welchen Benutzern diese Rolle Elemente und " @@ -1963,7 +1979,7 @@ msgstr "" msgid "Restrictions" msgstr "Beschränkungen" -#: /vagrant/application/forms/Security/RoleForm.php:134 +#: /vagrant/application/forms/Security/RoleForm.php:108 msgid "Role Name" msgstr "Rollenname" @@ -1979,9 +1995,9 @@ msgstr "Rolle entfernt" msgid "Role updated" msgstr "Rolle aktualisiert" -#: /vagrant/application/controllers/GroupController.php:345 +#: /vagrant/application/controllers/GroupController.php:344 #: /vagrant/application/controllers/RoleController.php:153 -#: /vagrant/application/controllers/UserController.php:311 +#: /vagrant/application/controllers/UserController.php:310 #: /vagrant/library/Icinga/Web/Menu.php:283 msgid "Roles" msgstr "Rollen" @@ -2011,11 +2027,11 @@ msgstr "Speichern" msgid "Save Changes" msgstr "Änderungen speichern" -#: /vagrant/application/forms/PreferenceForm.php:232 +#: /vagrant/application/forms/PreferenceForm.php:266 msgid "Save for the current Session" msgstr "Für die aktuelle Sitzung speichern" -#: /vagrant/application/forms/PreferenceForm.php:221 +#: /vagrant/application/forms/PreferenceForm.php:255 msgid "Save to the Preferences" msgstr "Dauerhaft speichern" @@ -2037,7 +2053,7 @@ msgstr "Domains durchsuchen" msgid "Search this domain for records of available servers." msgstr "Diese Domain nach verfügbaren Servern durchsuchen." -#: /vagrant/library/Icinga/Web/Widget/FilterEditor.php:709 +#: /vagrant/library/Icinga/Web/Widget/FilterEditor.php:740 msgid "Search..." msgstr "Suche..." @@ -2045,8 +2061,9 @@ msgstr "Suche..." msgid "Searching" msgstr "Suche" -#: /vagrant/application/forms/Dashboard/DashletForm.php:110 -msgid "Select a pane you want to add the dashlet." +#: /vagrant/application/forms/Dashboard/DashletForm.php:122 +#, fuzzy +msgid "Select a dashboard you want to add the dashlet to" msgstr "Wählen Sie ein Dashboard aus, dem Sie das Dashlet hinzufügen wollen." #: /vagrant/application/forms/Config/User/CreateMembershipForm.php:81 @@ -2068,7 +2085,7 @@ msgstr "" msgid "Services" msgstr "Services" -#: /vagrant/application/forms/Config/General/ApplicationConfigForm.php:36 +#: /vagrant/application/forms/Config/General/ApplicationConfigForm.php:40 msgid "" "Set whether to show an exception's stacktrace by default. This can also be " "set in a user's preferences with the appropriate permission." @@ -2077,7 +2094,7 @@ msgstr "" "Exceptions angezeigt werden soll. Dies kann auch von Benutzern mit den " "nötigen Rechten eingestellt werden." -#: /vagrant/application/forms/PreferenceForm.php:190 +#: /vagrant/application/forms/PreferenceForm.php:224 msgid "Set whether to show an exception's stacktrace." msgstr "" "Stellen Sie hier ein, ob ein Stacktrace im Falle von Exceptions angezeigt " @@ -2087,44 +2104,35 @@ msgstr "" msgid "Settings" msgstr "Einstellungen" -#: /vagrant/application/controllers/NavigationController.php:149 +#: /vagrant/application/controllers/NavigationController.php:150 #: /vagrant/application/forms/Navigation/NavigationConfigForm.php:602 -#: /vagrant/application/views/scripts/navigation/index.phtml:39 +#: /vagrant/application/views/scripts/navigation/index.phtml:31 msgid "Shared" msgstr "Freigegeben" -#: /vagrant/application/controllers/NavigationController.php:192 -#: /vagrant/application/controllers/NavigationController.php:200 -#: /vagrant/application/views/scripts/navigation/shared.phtml:28 -#: /vagrant/library/Icinga/Application/Web.php:278 +#: /vagrant/application/controllers/NavigationController.php:193 +#: /vagrant/application/controllers/NavigationController.php:201 +#: /vagrant/application/views/scripts/navigation/shared.phtml:19 +#: /vagrant/library/Icinga/Application/Web.php:330 msgid "Shared Navigation" msgstr "Freigegebene Navigation" -#: /vagrant/library/Icinga/Web/Widget/Dashboard.php:223 +#: /vagrant/library/Icinga/Web/Widget/Dashboard.php:238 #, php-format msgctxt "dashboard.pane.tooltip" msgid "Show %s" msgstr "Zeige %s" -#: /vagrant/library/Icinga/Web/Widget/Limiter.php:88 -#, php-format -msgid "Show %u rows on this page" -msgstr "Zeige %u Zeilen pro Seite" - #: /vagrant/library/Icinga/Web/Widget/SearchDashboard.php:32 msgctxt "dashboard.pane.tooltip" msgid "Show Search" msgstr "Suche anzeigen" -#: /vagrant/application/forms/PreferenceForm.php:189 -#: /vagrant/application/forms/Config/General/ApplicationConfigForm.php:34 +#: /vagrant/application/forms/PreferenceForm.php:223 +#: /vagrant/application/forms/Config/General/ApplicationConfigForm.php:38 msgid "Show Stacktraces" msgstr "Stacktrace anzeigen" -#: /vagrant/library/Icinga/Web/Widget/Limiter.php:99 -msgid "Show all items on this page" -msgstr "Zeige alle Elemente auf dieser Seite" - #: /vagrant/application/views/scripts/dashboard/settings.phtml:61 #, php-format msgid "Show dashlet %s" @@ -2152,14 +2160,14 @@ msgid "Show group %s" msgstr "Zeige Gruppe %s" #: /vagrant/application/views/scripts/mixedPagination.phtml:11 -#: /vagrant/application/views/scripts/mixedPagination.phtml:43 -#: /vagrant/application/views/scripts/mixedPagination.phtml:60 +#: /vagrant/application/views/scripts/mixedPagination.phtml:44 +#: /vagrant/application/views/scripts/mixedPagination.phtml:61 #, php-format msgid "Show rows %u to %u of %u" msgstr "Zeige die Zeilen %d bis %d von %d" -#: /vagrant/application/views/scripts/about/index.phtml:120 -#: /vagrant/application/views/scripts/config/modules.phtml:41 +#: /vagrant/application/views/scripts/about/index.phtml:127 +#: /vagrant/application/views/scripts/config/modules.phtml:32 #, php-format msgid "Show the overview of the %s module" msgstr "Zeige eine Übersicht des Moduls %s" @@ -2173,7 +2181,7 @@ msgstr "Zeige Benutzer %s" msgid "Single Column" msgstr "Eine Spalte" -#: /vagrant/application/forms/Config/UserBackendConfigForm.php:396 +#: /vagrant/application/forms/Config/UserBackendConfigForm.php:381 msgid "Skip Validation" msgstr "Überprüfung überspringen" @@ -2189,7 +2197,7 @@ msgstr "Socket" msgid "Something went wrong while writing the file" msgstr "Fehler beim Schreiben der Datei" -#: /vagrant/library/Icinga/Web/Widget/SortBox.php:174 +#: /vagrant/library/Icinga/Web/Widget/SortBox.php:196 msgid "Sort by" msgstr "Sortieren nach" @@ -2198,15 +2206,15 @@ msgstr "Sortieren nach" msgid "State" msgstr "Status" -#: /vagrant/library/Icinga/Web/Widget/FilterEditor.php:391 +#: /vagrant/library/Icinga/Web/Widget/FilterEditor.php:422 msgid "Strip this filter" msgstr "Diesen Filter bearbeiten" -#: /vagrant/application/views/scripts/about/index.phtml:77 +#: /vagrant/application/views/scripts/about/index.phtml:86 msgid "Support / Mailinglists" msgstr "Support/Mailinglisten" -#: /vagrant/library/Icinga/Application/Web.php:238 +#: /vagrant/library/Icinga/Application/Web.php:296 #: /vagrant/library/Icinga/Web/Menu.php:249 msgid "System" msgstr "System" @@ -2216,15 +2224,10 @@ msgid "Target" msgstr "Ziel" #: /vagrant/application/views/scripts/about/index.phtml:29 -#: /vagrant/application/views/scripts/authentication/login.phtml:23 +#: /vagrant/application/views/scripts/authentication/login.phtml:19 msgid "The Icinga Project" msgstr "Das Icinga Projekt" -#: /vagrant/application/layouts/scripts/error.phtml:3 -#: /vagrant/application/views/scripts/authentication/login.phtml:4 -msgid "The Icinga logo" -msgstr "Das Icinga Logo" - #: /vagrant/application/forms/Config/UserBackend/LdapBackendForm.php:70 msgid "The LDAP connection to use for authenticating with this provider." msgstr "" @@ -2236,8 +2239,8 @@ msgid "The LDAP connection to use for this backend." msgstr "" "Die Datenbankverbindung, welche mit diesem Backend verwendet werden soll." -#: /vagrant/application/forms/Config/General/LoggingConfigForm.php:69 -#: /vagrant/application/forms/Config/General/LoggingConfigForm.php:79 +#: /vagrant/application/forms/Config/General/LoggingConfigForm.php:75 +#: /vagrant/application/forms/Config/General/LoggingConfigForm.php:85 msgid "The application prefix must not contain whitespace." msgstr "Das Applikationspräfix darf keine Leerzeichen enthalten." @@ -2274,7 +2277,7 @@ msgid "The column pattern must be a valid regular expression." msgstr "Das Muster für die Spalte muss ein gültiger regulärer Ausdruck sein." #: /vagrant/application/forms/Config/ResourceConfigForm.php:324 -#: /vagrant/application/forms/Config/UserBackendConfigForm.php:444 +#: /vagrant/application/forms/Config/UserBackendConfigForm.php:429 msgid "The configuration has been successfully validated." msgstr "Die Konfiguration wurde erfolgreich überprüft." @@ -2290,6 +2293,11 @@ msgstr "" "Die Datenbankverbindung, welche zur Authentifizierung mit diesem Provider " "genutzt werden soll" +#: /vagrant/application/forms/Config/General/ThemingConfigForm.php:40 +msgctxt "Form element description" +msgid "The default theme" +msgstr "Standardtheme" + #: /vagrant/application/views/scripts/showConfiguration.phtml:5 #, php-format msgid "The file %s couldn't be stored. (Error: \"%s\")" @@ -2337,7 +2345,7 @@ msgstr "" "Der Filter, anhand dessen bestimmte Teile von Benutzernamen entfernt werden. " "Lassen Sie dieses Feld leer, wenn Sie keine Änderungen vornehmen möchten." -#: /vagrant/application/forms/Config/General/LoggingConfigForm.php:110 +#: /vagrant/application/forms/Config/General/LoggingConfigForm.php:116 msgid "The full path to the log file to write messages to." msgstr "" "Der vollständige Pfad zu der Logdatei, in welche Nachrichten geschrieben " @@ -2364,12 +2372,12 @@ msgid "" msgstr "" "Das Icon für dieses Navigationselement. Leer lassen, um kein Icon anzuzeigen." -#: /vagrant/application/forms/Config/General/LoggingConfigForm.php:48 +#: /vagrant/application/forms/Config/General/LoggingConfigForm.php:54 msgid "The maximum logging level to emit." msgstr "" "Der höchste Loglevel, bis zu welchem Nachrichten ausgegeben werden sollen." -#: /vagrant/application/forms/Config/General/LoggingConfigForm.php:67 +#: /vagrant/application/forms/Config/General/LoggingConfigForm.php:73 msgid "The name of the application by which to prefix syslog messages." msgstr "" "Der Anwendungsname, welcher Syslog-Nachrichten vorangestellt werden soll." @@ -2383,7 +2391,7 @@ msgstr "" msgid "The name of the database to use" msgstr "Der Name der zu benutzenden Datenbank" -#: /vagrant/application/forms/Security/RoleForm.php:135 +#: /vagrant/application/forms/Security/RoleForm.php:109 msgid "The name of the role" msgstr "Der Name dieser Rolle" @@ -2479,7 +2487,7 @@ msgstr "" msgid "The pattern by which to identify columns." msgstr "Der reguläre Ausdruck, mit welchem Spalten identifiziert werden können" -#: /vagrant/application/forms/Security/RoleForm.php:161 +#: /vagrant/application/forms/Security/RoleForm.php:135 msgid "The permissions to grant. You may select more than one permission" msgstr "" "Die zu vergebenden Berechtigungen. Sie können mehrere gleichzeitig auswählen." @@ -2502,7 +2510,7 @@ msgstr "Der private Schlüssel des Benutzers “%s” ist bereits hinterlegt." msgid "The private key which will be used for the SSH connections" msgstr "Der private Schlüssel, der für SSH-Verbindungen verwendet wird." -#: /vagrant/application/controllers/ConfigController.php:417 +#: /vagrant/application/controllers/ConfigController.php:398 #, php-format msgid "" "The resource \"%s\" is currently utilized for authentication by user backend " @@ -2521,7 +2529,7 @@ msgstr "Das Target der URL dieses Navigationselementes" msgid "The type of SQL database" msgstr "Der Typ der SQL-Datenbank." -#: /vagrant/application/forms/Config/General/LoggingConfigForm.php:32 +#: /vagrant/application/forms/Config/General/LoggingConfigForm.php:38 msgid "The type of logging to utilize." msgstr "Der Typ des zu benutzenden Loggings." @@ -2589,7 +2597,12 @@ msgstr "" msgid "The user name to use for authentication" msgstr "Der für die Authentifizierung zu benutzende Benutzername." -#: /vagrant/application/views/scripts/navigation/shared.phtml:24 +#: /vagrant/application/forms/PreferenceForm.php:170 +msgctxt "Form element label" +msgid "Theme" +msgstr "" + +#: /vagrant/application/views/scripts/navigation/shared.phtml:15 msgid "There are currently no navigation items being shared" msgstr "Aktuell werden keinen Navigationselemente geteilt." @@ -2608,7 +2621,7 @@ msgstr "" msgid "This could have one or more of the following reasons:" msgstr "Dies könnte an einem oder mehreren der folgenden Gründe liegen:" -#: /vagrant/application/views/scripts/navigation/shared.phtml:58 +#: /vagrant/application/views/scripts/navigation/shared.phtml:49 #, php-format msgid "" "This is a child of the navigation item %1$s. You can only unshare this item " @@ -2621,11 +2634,11 @@ msgstr "" msgid "This module has no dependencies" msgstr "Dieses Modul hat keine Abhängigkeiten" -#: /vagrant/library/Icinga/Application/Modules/Module.php:703 +#: /vagrant/library/Icinga/Application/Modules/Module.php:721 msgid "This module has no description" msgstr "Dieses Modul hat keine Beschreibung" -#: /vagrant/application/forms/PreferenceForm.php:210 +#: /vagrant/application/forms/PreferenceForm.php:244 msgid "" "This option allows you to enable or to disable the global page content auto " "refresh" @@ -2644,11 +2657,11 @@ msgstr "" "Um diesen privaten Schlüssel modifizieren zu können, müssen Sie diese " "Ressource neu anlegen." -#: /vagrant/application/controllers/NavigationController.php:148 -#: /vagrant/application/controllers/NavigationController.php:198 +#: /vagrant/application/controllers/NavigationController.php:149 +#: /vagrant/application/controllers/NavigationController.php:199 #: /vagrant/application/forms/Navigation/NavigationConfigForm.php:647 -#: /vagrant/application/views/scripts/navigation/index.phtml:38 -#: /vagrant/application/views/scripts/navigation/shared.phtml:29 +#: /vagrant/application/views/scripts/navigation/index.phtml:30 +#: /vagrant/application/views/scripts/navigation/shared.phtml:20 msgid "Type" msgstr "Typ" @@ -2676,8 +2689,8 @@ msgstr "" "nur aufgehoben werden, wenn dies auch für ihre Elternelemente durchgeführt " "wird." -#: /vagrant/application/views/scripts/navigation/index.phtml:62 -#: /vagrant/application/views/scripts/navigation/shared.phtml:51 +#: /vagrant/application/views/scripts/navigation/index.phtml:54 +#: /vagrant/application/views/scripts/navigation/shared.phtml:42 msgid "Unknown" msgstr "Unbekannt" @@ -2687,23 +2700,24 @@ msgstr "Unbekannt" msgid "Unknown resource provided" msgstr "Unbekannte Ressource angegeben" -#: /vagrant/application/views/scripts/navigation/shared.phtml:31 +#: /vagrant/application/views/scripts/navigation/shared.phtml:22 msgid "Unshare" msgstr "Freigabe aufheben" -#: /vagrant/application/controllers/NavigationController.php:181 +#: /vagrant/application/controllers/NavigationController.php:182 msgid "Unshare this navigation item" msgstr "Freigabe dieses Navigationselementes aufheben" -#: /vagrant/application/controllers/DashboardController.php:84 +#: /vagrant/application/controllers/DashboardController.php:86 +#: /vagrant/application/controllers/DashboardController.php:92 msgid "Update Dashlet" msgstr "Dashlet aktualisieren" -#: /vagrant/application/controllers/NavigationController.php:303 +#: /vagrant/application/controllers/NavigationController.php:304 msgid "Update Navigation Item" msgstr "Navigationselement aktualisieren" -#: /vagrant/application/controllers/ConfigController.php:365 +#: /vagrant/application/controllers/ConfigController.php:346 msgid "Update Resource" msgstr "Ressource aktualisieren" @@ -2716,7 +2730,7 @@ msgstr "Rolle aktualisieren" msgid "Update User" msgstr "Benutzer aktualisieren" -#: /vagrant/application/controllers/ConfigController.php:293 +#: /vagrant/application/controllers/ConfigController.php:274 msgid "Update User Backend" msgstr "Backend für Benutzer aktualisieren" @@ -2724,7 +2738,7 @@ msgstr "Backend für Benutzer aktualisieren" msgid "Update User Group" msgstr "Benutzergruppe aktualisieren" -#: /vagrant/application/controllers/UsergroupbackendController.php:111 +#: /vagrant/application/controllers/UsergroupbackendController.php:102 msgid "Update User Group Backend" msgstr "Backend für Benutzergruppe aktualisieren" @@ -2744,22 +2758,22 @@ msgstr "" "Dieses Feld löst eine automatische Aktualisierung dieser Seite aus, wenn " "sein Inhalt geändert wird." -#: /vagrant/application/forms/Dashboard/DashletForm.php:68 +#: /vagrant/application/forms/Dashboard/DashletForm.php:69 #: /vagrant/application/forms/Navigation/DashletForm.php:27 #: /vagrant/application/forms/Navigation/NavigationItemForm.php:54 #: /vagrant/application/views/scripts/dashboard/settings.phtml:14 msgid "Url" msgstr "URL" -#: /vagrant/application/forms/PreferenceForm.php:200 +#: /vagrant/application/forms/PreferenceForm.php:234 msgid "Use benchmark" msgstr "Benchmark verwenden" -#: /vagrant/application/forms/PreferenceForm.php:164 +#: /vagrant/application/forms/PreferenceForm.php:198 msgid "Use the following language to display texts and messages" msgstr "Die folgende Sprache verwenden, um Texte und Nachrichten anzuzeigen" -#: /vagrant/application/forms/PreferenceForm.php:176 +#: /vagrant/application/forms/PreferenceForm.php:210 msgid "Use the following timezone for dates and times" msgstr "Die folgende Zeitzone für Datums- und Zeitangaben verwenden." @@ -2801,13 +2815,16 @@ msgstr "Der Benutzer %s ist bereits Mitglied in allen Gruppen" msgid "User Backend" msgstr "Backend für Benutzer" +#: /vagrant/application/views/scripts/config/userbackend/reorder.phtml:5 +msgid "User Backends" +msgstr "Backends für Benutzer" + #: /vagrant/application/controllers/GroupController.php:69 #: /vagrant/application/controllers/UserController.php:101 #: /vagrant/application/views/scripts/group/list.phtml:53 #: /vagrant/library/Icinga/Authentication/UserGroup/DbUserGroupBackend.php:115 #: /vagrant/library/Icinga/Authentication/UserGroup/DbUserGroupBackend.php:120 -#: /vagrant/library/Icinga/Authentication/UserGroup/IniUserGroupBackend.php:73 -#: /vagrant/library/Icinga/Authentication/UserGroup/LdapUserGroupBackend.php:464 +#: /vagrant/library/Icinga/Authentication/UserGroup/LdapUserGroupBackend.php:465 msgid "User Group" msgstr "Benutzergruppe" @@ -2815,15 +2832,18 @@ msgstr "Benutzergruppe" msgid "User Group Backend" msgstr "Backend für Benutzergruppen" -#: /vagrant/application/controllers/ConfigController.php:65 -#: /vagrant/application/controllers/GroupController.php:366 -#: /vagrant/application/controllers/RoleController.php:174 -#: /vagrant/application/controllers/UserController.php:332 -#: /vagrant/application/controllers/UsergroupbackendController.php:158 +#: /vagrant/application/views/scripts/config/userbackend/reorder.phtml:19 +#, fuzzy +msgid "User Group Backends" +msgstr "Backend für Benutzergruppen" + +#: /vagrant/application/controllers/GroupController.php:364 +#: /vagrant/application/controllers/RoleController.php:173 +#: /vagrant/application/controllers/UserController.php:330 msgid "User Groups" msgstr "Benutzergruppen" -#: /vagrant/application/forms/Config/General/ApplicationConfigForm.php:63 +#: /vagrant/application/forms/Config/General/ApplicationConfigForm.php:67 msgid "User Preference Storage Type" msgstr "Speicherart für die Benutzereinstellungen" @@ -2831,23 +2851,23 @@ msgstr "Speicherart für die Benutzereinstellungen" msgid "User added successfully" msgstr "Benutzer erfolgreich hinzugefügt" -#: /vagrant/application/controllers/ConfigController.php:290 +#: /vagrant/application/controllers/ConfigController.php:271 #: /vagrant/application/forms/Config/UserBackendReorderForm.php:70 #, php-format msgid "User backend \"%s\" not found" msgstr "Benutzerbackend “%s” wurde nicht gefunden" -#: /vagrant/application/controllers/ConfigController.php:317 +#: /vagrant/application/controllers/ConfigController.php:298 #, php-format msgid "User backend \"%s\" successfully removed" msgstr "Benutzerbackend “%s” erfolgreich entfernt" -#: /vagrant/application/controllers/ConfigController.php:278 +#: /vagrant/application/controllers/ConfigController.php:259 #, php-format msgid "User backend \"%s\" successfully updated" msgstr "Benutzerbackend “%s” erfolgreich aktualisiert" -#: /vagrant/application/controllers/ConfigController.php:242 +#: /vagrant/application/controllers/ConfigController.php:223 msgid "User backend successfully created" msgstr "Benutzerbackend erfolgreich angelegt" @@ -2856,23 +2876,23 @@ msgstr "Benutzerbackend erfolgreich angelegt" msgid "User group backend \"%s\" is not %s" msgstr "Benutzerbackend “%s” ist nicht %s" -#: /vagrant/application/controllers/UsergroupbackendController.php:108 +#: /vagrant/application/controllers/UsergroupbackendController.php:99 #: /vagrant/library/Icinga/Web/Controller/AuthBackendController.php:120 #, php-format msgid "User group backend \"%s\" not found" msgstr "Benutzergruppenbackend “%s” wurde nicht gefunden" -#: /vagrant/application/controllers/UsergroupbackendController.php:134 +#: /vagrant/application/controllers/UsergroupbackendController.php:125 #, php-format msgid "User group backend \"%s\" successfully removed" msgstr "Benutzergruppenbackend “%s” erfolgreich entfernt" -#: /vagrant/application/controllers/UsergroupbackendController.php:97 +#: /vagrant/application/controllers/UsergroupbackendController.php:88 #, php-format msgid "User group backend \"%s\" successfully updated" msgstr "Benutzergruppenbackend “%s” erfolgreich aktualisiert" -#: /vagrant/application/controllers/UsergroupbackendController.php:62 +#: /vagrant/application/controllers/UsergroupbackendController.php:53 msgid "User group backend successfully created" msgstr "Benutzergruppenbackend erfolgreich angelegt" @@ -2901,45 +2921,48 @@ msgstr "Benutzergruppen" #: /vagrant/library/Icinga/Authentication/User/LdapUserBackend.php:255 #: /vagrant/library/Icinga/Authentication/UserGroup/DbUserGroupBackend.php:114 #: /vagrant/library/Icinga/Authentication/UserGroup/DbUserGroupBackend.php:118 -#: /vagrant/library/Icinga/Authentication/UserGroup/LdapUserGroupBackend.php:463 +#: /vagrant/library/Icinga/Authentication/UserGroup/LdapUserGroupBackend.php:464 msgid "Username" msgstr "Benutzername" -#: /vagrant/application/controllers/ConfigController.php:59 -#: /vagrant/application/controllers/GroupController.php:357 +#: /vagrant/application/controllers/GroupController.php:356 #: /vagrant/application/controllers/RoleController.php:165 -#: /vagrant/application/controllers/UserController.php:323 -#: /vagrant/application/controllers/UsergroupbackendController.php:153 +#: /vagrant/application/controllers/UserController.php:322 #: /vagrant/application/forms/Config/UserGroup/AddMemberForm.php:118 #: /vagrant/application/forms/Navigation/NavigationConfigForm.php:613 -#: /vagrant/application/forms/Security/RoleForm.php:143 +#: /vagrant/application/forms/Security/RoleForm.php:117 #: /vagrant/application/views/scripts/role/list.phtml:23 #: /vagrant/library/Icinga/Web/Menu.php:288 msgid "Users" msgstr "Benutzer" +#: /vagrant/application/forms/Config/General/ThemingConfigForm.php:57 +msgctxt "Form element label" +msgid "Users Can't Change Theme" +msgstr "Theme Benutzeranpassung verbieten" + #: /vagrant/application/forms/Config/ResourceConfigForm.php:348 -#: /vagrant/application/forms/Config/UserBackendConfigForm.php:468 +#: /vagrant/application/forms/Config/UserBackendConfigForm.php:453 msgid "Validate Configuration" msgstr "Konfiguration validieren" #: /vagrant/application/forms/Config/ResourceConfigForm.php:349 -#: /vagrant/application/forms/Config/UserBackendConfigForm.php:469 +#: /vagrant/application/forms/Config/UserBackendConfigForm.php:454 msgid "Validation In Progress" msgstr "Wird überprüft" #: /vagrant/application/forms/Config/ResourceConfigForm.php:306 -#: /vagrant/application/forms/Config/UserBackendConfigForm.php:426 +#: /vagrant/application/forms/Config/UserBackendConfigForm.php:411 msgid "Validation Log" msgstr "Validierungslog" #: /vagrant/application/views/scripts/about/index.phtml:14 -#: /vagrant/application/views/scripts/about/index.phtml:108 +#: /vagrant/application/views/scripts/about/index.phtml:115 #: /vagrant/application/views/scripts/config/module.phtml:39 msgid "Version" msgstr "Version" -#: /vagrant/application/forms/Config/General/LoggingConfigForm.php:51 +#: /vagrant/application/forms/Config/General/LoggingConfigForm.php:57 msgctxt "app.config.logging.level" msgid "Warning" msgstr "Warnung" @@ -2970,11 +2993,11 @@ msgstr "Y-Achse" #: /vagrant/application/forms/Config/User/UserForm.php:116 #: /vagrant/application/forms/Config/UserGroup/UserGroupForm.php:66 -#: /vagrant/application/views/scripts/navigation/index.phtml:65 +#: /vagrant/application/views/scripts/navigation/index.phtml:57 msgid "Yes" msgstr "Ja" -#: /vagrant/application/views/scripts/navigation/index.phtml:31 +#: /vagrant/application/views/scripts/navigation/index.phtml:23 msgid "You did not create any navigation item yet." msgstr "Sie haben noch kein Navigationselement angelegt." @@ -3000,18 +3023,14 @@ msgstr "" "konfigurieren Sie eine Authentifizierung über Ihren Webserver, sonst werden " "Sie sich nicht in Icinga Web 2 anmelden können." -#: /vagrant/application/forms/PreferenceForm.php:163 +#: /vagrant/application/forms/PreferenceForm.php:197 msgid "Your Current Language" msgstr "Ihre aktuelle Sprache" -#: /vagrant/application/forms/PreferenceForm.php:175 +#: /vagrant/application/forms/PreferenceForm.php:209 msgid "Your Current Timezone" msgstr "Ihre aktuelle Zeitzone" -#: /vagrant/library/Icinga/Web/Widget/Limiter.php:98 -msgid "all" -msgstr "alle" - #: /vagrant/library/Icinga/Date/DateFormatter.php:176 #, php-format msgctxt "An event happened at the given time" @@ -3024,6 +3043,11 @@ msgctxt "An event will happen at the given time" msgid "at %s" msgstr "in %s" +#: /vagrant/application/forms/PreferenceForm.php:164 +#: /vagrant/application/forms/Config/General/ThemingConfigForm.php:34 +msgid "default" +msgstr "standard" + #: /vagrant/application/views/scripts/config/module.phtml:23 msgid "disable" msgstr "deaktivieren" @@ -3082,6 +3106,46 @@ msgstr "seit %s" msgid "toggle" msgstr "umschalten" +#~ msgid "Add New Pane Or Dashlet" +#~ msgstr "Neues Dashboard" + +#~ msgctxt "sort direction" +#~ msgid "Ascending" +#~ msgstr "Aufsteigend [ Sortierreihenfolge ]" + +#~ msgid "Authorization" +#~ msgstr "Autorisierung" + +#~ msgid "Configure how users are associated with groups by Icinga Web 2" +#~ msgstr "" +#~ "Konfiguration der Verknüpfung von Nutzern und Gruppen durch Icinga Web 2" + +#~ msgid "Configure how users authenticate with and log into Icinga Web 2" +#~ msgstr "Konfiguration der Nutzerauthentifizierung für Icinga Web 2" + +#~ msgctxt "sort direction" +#~ msgid "Descending" +#~ msgstr "Absteigend" + +#~ msgctxt "sort direction" +#~ msgid "Direction" +#~ msgstr "Richtung" + +#~ msgid "Limiter" +#~ msgstr "Begrenzer" + +#~ msgid "Show %u rows on this page" +#~ msgstr "Zeige %u Zeilen pro Seite" + +#~ msgid "Show all items on this page" +#~ msgstr "Zeige alle Elemente auf dieser Seite" + +#~ msgid "The Icinga logo" +#~ msgstr "Das Icinga Logo" + +#~ msgid "all" +#~ msgstr "alle" + #, fuzzy #~ msgid "Add User to Group" #~ msgstr "Benutzergruppe" @@ -3132,9 +3196,6 @@ msgstr "umschalten" #~ msgid "Remove %s %s" #~ msgstr "Diesen Filter entfernen" -#~ msgid "User Backends" -#~ msgstr "Backends für Benutzer" - #~ msgid "Check this to enable logging." #~ msgstr "Aktiviere dieses Häkchen um das Logging zu aktivieren." @@ -3159,9 +3220,6 @@ msgstr "umschalten" #~ "Deine authentication.ini konnte nicht gelesen werden, darum sind keine " #~ "Authentifizierungsmethoden verfügbar." -#~ msgid "Default Language" -#~ msgstr "Standardsprache" - #~ msgid "Expression" #~ msgstr "Ausdruck" diff --git a/modules/monitoring/application/locale/de_DE/LC_MESSAGES/monitoring.po b/modules/monitoring/application/locale/de_DE/LC_MESSAGES/monitoring.po index ebc8cc1a2..c0e2ed8b4 100644 --- a/modules/monitoring/application/locale/de_DE/LC_MESSAGES/monitoring.po +++ b/modules/monitoring/application/locale/de_DE/LC_MESSAGES/monitoring.po @@ -1,22 +1,22 @@ # Icinga Web 2 - Head for multiple monitoring backends. -# Copyright (C) 2015 Icinga Development Team +# Copyright (C) 2016 Icinga Development Team # This file is distributed under the same license as Monitoring Module. # FIRST AUTHOR , YEAR. -# +# +#, fuzzy msgid "" msgstr "" -"Project-Id-Version: Monitoring Module (2.0.0)\n" +"Project-Id-Version: Monitoring Module (2.1.2)\n" "Report-Msgid-Bugs-To: dev@icinga.org\n" -"POT-Creation-Date: 2015-11-13 14:11+0000\n" +"POT-Creation-Date: 2016-02-29 14:40+0000\n" "PO-Revision-Date: 2015-11-16 14:50+0100\n" "Last-Translator: Thomas Gelf \n" "Language: de_DE\n" +"Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Language-Team: \n" -"X-Generator: Poedit 1.8.6\n" #: /vagrant/modules/monitoring/application/controllers/ChartController.php:375 msgid " Down Hosts (Handled)" @@ -125,7 +125,7 @@ msgstr "%d Hosts OK auf %s" msgid "%d hosts unreachable on %s" msgstr "%d nicht erreichbare Hosts auf %s" -#: /vagrant/modules/monitoring/application/views/helpers/Perfdata.php:96 +#: /vagrant/modules/monitoring/application/views/helpers/Perfdata.php:97 #, php-format msgid "%d more ..." msgstr "und %d weitere" @@ -163,7 +163,7 @@ msgstr "%d Services UNBEKANNT auf %s" msgid "%d services warning on %s" msgstr "%d Services WARNING auf %s" -#: /vagrant/modules/monitoring/configuration.php:112 +#: /vagrant/modules/monitoring/configuration.php:132 #, php-format msgid "%d unhandled hosts down" msgstr "%d unbestätigte Hosts DOWN" @@ -174,7 +174,7 @@ msgstr "%d unbestätigte Hosts DOWN" msgid "%d unhandled problems" msgstr "%d unbestätigte Probleme" -#: /vagrant/modules/monitoring/configuration.php:124 +#: /vagrant/modules/monitoring/configuration.php:144 #, php-format msgid "%d unhandled services critical" msgstr "%d unbestätigte Services KRITISCH" @@ -200,12 +200,11 @@ msgstr[1] "%s Kommentare" msgid "%s is currently not up and running" msgstr "%s ist momentan nicht in Betrieb" -#: /vagrant/modules/monitoring/application/views/scripts/host/history.phtml:124 -#: /vagrant/modules/monitoring/application/views/scripts/service/history.phtml:122 -#, php-format -msgctxt "Service running on host" -msgid "%s on %s" -msgstr "%s auf %s" +#: /vagrant/modules/monitoring/application/views/scripts/list/components/selectioninfo.phtml:12 +#, fuzzy, php-format +msgctxt "Multi-selection count" +msgid "%s row(s) selected" +msgstr "gewählte Reihen" #: /vagrant/modules/monitoring/application/views/scripts/tactical/components/hostservicechecks.phtml:19 #, php-format @@ -308,14 +307,14 @@ msgid_plural "%u are passively checked" msgstr[0] "%u wird passiv überwacht" msgstr[1] "%u werden passiv überwacht" -#: /vagrant/modules/monitoring/application/views/scripts/list/hosts.phtml:66 +#: /vagrant/modules/monitoring/application/views/scripts/list/hosts.phtml:64 #, php-format msgid "%u unhandled service" msgid_plural "%u unhandled services" msgstr[0] "%u unbestätigter Service" msgstr[1] "%u unbestätigte Services" -#: /vagrant/modules/monitoring/library/Monitoring/DataView/DataView.php:220 +#: /vagrant/modules/monitoring/library/Monitoring/DataView/DataView.php:235 msgid "(Case insensitive)" msgstr "schreibungsunabhängig" @@ -365,7 +364,8 @@ msgid "A command transport with the name \"%s\" does already exist" msgstr "Eine Befehlsschnittstelle mit dem Namen “%s” existiert bereits" #: /vagrant/modules/monitoring/application/views/scripts/downtime/show.phtml:46 -msgid "A comment, as entered by the author, associated with the scheduled downtime" +msgid "" +"A comment, as entered by the author, associated with the scheduled downtime" msgstr "" "Ein Kommentar, wie vom Autor eingegeben, verknüpft mit der geplanten Downtime" @@ -379,32 +379,33 @@ msgstr "Ein Monitoringbackend mit dem Namen “%s” existiert bereits" msgid "A notification has been sent for this issue %s." msgstr "Eine Benachrichtigung für dieses Problem wurde %s gesendet" -#: /vagrant/modules/monitoring/application/views/scripts/host/history.phtml:75 -#: /vagrant/modules/monitoring/application/views/scripts/service/history.phtml:73 -msgid "Ack removed" -msgstr "Bestätigung entfernt" +#: /vagrant/modules/monitoring/application/views/scripts/partials/event-history.phtml:63 +msgid "ACKNOWLEDGED" +msgstr "" + +#: /vagrant/modules/monitoring/application/views/scripts/partials/event-history.phtml:68 +msgid "ACKNOWLEDGEMENT REMOVED" +msgstr "" -#: /vagrant/modules/monitoring/application/views/scripts/host/history.phtml:71 #: /vagrant/modules/monitoring/application/views/scripts/hosts/show.phtml:30 -#: /vagrant/modules/monitoring/application/views/scripts/service/history.phtml:69 #: /vagrant/modules/monitoring/application/views/scripts/services/show.phtml:29 -#: /vagrant/modules/monitoring/application/views/scripts/show/components/acknowledgement.phtml:75 +#: /vagrant/modules/monitoring/application/views/scripts/show/components/acknowledgement.phtml:77 msgid "Acknowledge" msgstr "Bestätigen" -#: /vagrant/modules/monitoring/application/controllers/HostController.php:120 +#: /vagrant/modules/monitoring/application/controllers/HostController.php:118 msgid "Acknowledge Host Problem" msgstr "Hostproblem bestätigen" -#: /vagrant/modules/monitoring/application/controllers/HostsController.php:182 +#: /vagrant/modules/monitoring/application/controllers/HostsController.php:174 msgid "Acknowledge Host Problems" msgstr "Hostprobleme bestätigen" -#: /vagrant/modules/monitoring/application/controllers/ServiceController.php:78 +#: /vagrant/modules/monitoring/application/controllers/ServiceController.php:76 msgid "Acknowledge Service Problem" msgstr "Serviceproblem bestätigen" -#: /vagrant/modules/monitoring/application/controllers/ServicesController.php:195 +#: /vagrant/modules/monitoring/application/controllers/ServicesController.php:177 msgid "Acknowledge Service Problems" msgstr "Serviceprobleme bestätigen" @@ -414,51 +415,48 @@ msgid_plural "Acknowledge problems" msgstr[0] "Problem bestätigen" msgstr[1] "Probleme bestätigen" -#: /vagrant/modules/monitoring/application/views/scripts/show/components/acknowledgement.phtml:83 +#: /vagrant/modules/monitoring/application/views/scripts/show/components/acknowledgement.phtml:85 msgid "" -"Acknowledge this problem, suppress all future notifications for it and tag it as " -"being handled" +"Acknowledge this problem, suppress all future notifications for it and tag " +"it as being handled" msgstr "" -"Problem bestätigen, alle zukünftigen Benachrichtigungen unterdrücken und als “in " -"Arbeit” markieren" +"Problem bestätigen, alle zukünftigen Benachrichtigungen unterdrücken und als " +"“in Arbeit” markieren" #: /vagrant/modules/monitoring/application/views/helpers/HostFlags.php:16 #: /vagrant/modules/monitoring/application/views/helpers/ServiceFlags.php:12 #: /vagrant/modules/monitoring/application/views/scripts/partials/host/statusicons.phtml:9 #: /vagrant/modules/monitoring/application/views/scripts/partials/service/statusicons.phtml:9 -#: /vagrant/modules/monitoring/application/views/scripts/show/components/acknowledgement.phtml:16 -#: /vagrant/modules/monitoring/application/views/scripts/tactical/components/parts/servicestatesummarybyhoststate.phtml:31 -#: /vagrant/modules/monitoring/application/views/scripts/tactical/components/parts/servicestatesummarybyhoststate.phtml:130 -#: /vagrant/modules/monitoring/application/views/scripts/tactical/components/parts/servicestatesummarybyhoststate.phtml:229 +#: /vagrant/modules/monitoring/application/views/scripts/show/components/acknowledgement.phtml:15 msgid "Acknowledged" msgstr "Bestätigt" -#: /vagrant/modules/monitoring/configuration.php:311 +#: /vagrant/modules/monitoring/configuration.php:331 msgid "Acknowledged Problem Hosts" msgstr "Bestätigte Host-Probleme" -#: /vagrant/modules/monitoring/configuration.php:307 +#: /vagrant/modules/monitoring/configuration.php:327 msgid "Acknowledged Problem Services" msgstr "Bestätigte Service-Probleme" -#: /vagrant/modules/monitoring/application/views/scripts/list/eventhistory.phtml:54 #: /vagrant/modules/monitoring/application/views/scripts/partials/comment/comment-description.phtml:20 msgid "Acknowledgement" msgstr "Bestätigung" -#: /vagrant/modules/monitoring/application/views/scripts/show/components/acknowledgement.phtml:27 +#: /vagrant/modules/monitoring/application/views/scripts/show/components/acknowledgement.phtml:35 #, php-format msgid "" -"Acknowledgement remains until the %1$s recovers even if the %1$s changes state" +"Acknowledgement remains until the %1$s recovers even if the %1$s changes " +"state" msgstr "" -"Bestätigungen bleiben erhalten, bis %1$s sich erholt, sogar wenn %1$s den Zustand " -"wechselt" +"Bestätigungen bleiben erhalten, bis %1$s sich erholt, sogar wenn %1$s den " +"Zustand wechselt" #: /vagrant/modules/monitoring/application/controllers/TimelineController.php:65 msgid "Acknowledgements" msgstr "Bestätigungen" -#: /vagrant/modules/monitoring/configuration.php:278 +#: /vagrant/modules/monitoring/configuration.php:298 msgid "Acknowledgements Active For At Least Three Days" msgstr "Bestätigungen älter als drei Tage" @@ -468,7 +466,7 @@ msgid_plural "Acknowledging problems.." msgstr[0] "Bestätige Problem.." msgstr[1] "Bestätige Probleme.." -#: /vagrant/modules/monitoring/application/views/scripts/show/components/actions.phtml:45 +#: /vagrant/modules/monitoring/application/views/scripts/show/components/actions.phtml:41 msgid "Actions" msgstr "Aktionen" @@ -479,7 +477,7 @@ msgstr "Aktionen" msgid "Active And Passive Checks Disabled" msgstr "Aktive und passive Checks deaktiviert" -#: /vagrant/modules/monitoring/application/forms/Command/Object/ToggleObjectFeaturesCommandForm.php:37 +#: /vagrant/modules/monitoring/application/forms/Command/Object/ToggleObjectFeaturesCommandForm.php:38 msgid "Active Checks" msgstr "Aktive Checks" @@ -494,11 +492,11 @@ msgstr "Aktive Checks deaktiviert" msgid "Active Endpoint" msgstr "Aktiver Endpunkt" -#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:89 +#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:87 msgid "Active Host Checks" msgstr "Aktive Hostchecks" -#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:98 +#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:96 msgid "Active Service Checks" msgstr "Aktive Servicechecks" @@ -514,19 +512,19 @@ msgstr "Tatsächliche Endzeit" msgid "Actual start time" msgstr "Tatsächliche Startzeit" -#: /vagrant/modules/monitoring/application/controllers/HostController.php:132 +#: /vagrant/modules/monitoring/application/controllers/HostController.php:130 msgid "Add Host Comment" msgstr "Kommentar zu Host hinzufügen" -#: /vagrant/modules/monitoring/application/controllers/HostsController.php:170 +#: /vagrant/modules/monitoring/application/controllers/HostsController.php:162 msgid "Add Host Comments" msgstr "Kommentare zu Host hinzufügen" -#: /vagrant/modules/monitoring/application/controllers/ServiceController.php:90 +#: /vagrant/modules/monitoring/application/controllers/ServiceController.php:88 msgid "Add Service Comment" msgstr "Kommentar zu Service hinzufügen" -#: /vagrant/modules/monitoring/application/controllers/ServicesController.php:183 +#: /vagrant/modules/monitoring/application/controllers/ServicesController.php:165 msgid "Add Service Comments" msgstr "Kommentare zu Service hinzufügen" @@ -551,7 +549,7 @@ msgstr[1] "Kommentare hinzufügen" msgid "Add comments" msgstr "Kommentare hinzufügen" -#: /vagrant/modules/monitoring/application/forms/Command/Object/AddCommentCommandForm.php:83 +#: /vagrant/modules/monitoring/application/forms/Command/Object/AddCommentCommandForm.php:85 msgid "Adding comment.." msgid_plural "Adding comments.." msgstr[0] "Füge Kommentar hinzu.." @@ -561,7 +559,7 @@ msgstr[1] "Füge Kommentare hinzu.." msgid "Address" msgstr "Adresse" -#: /vagrant/modules/monitoring/configuration.php:217 +#: /vagrant/modules/monitoring/configuration.php:237 #: /vagrant/modules/monitoring/application/controllers/AlertsummaryController.php:54 #: /vagrant/modules/monitoring/application/controllers/AlertsummaryController.php:58 msgid "Alert Summary" @@ -571,7 +569,7 @@ msgstr "Alarmübersicht" msgid "Alert summary" msgstr "Alarmübersicht" -#: /vagrant/modules/monitoring/application/controllers/ListController.php:295 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:297 #: /vagrant/modules/monitoring/application/views/scripts/list/contactgroups.phtml:26 msgid "Alias" msgstr "Alias" @@ -603,7 +601,8 @@ msgstr "Erlaube das Bestätigen von Host- und Serviceproblemen" #: /vagrant/modules/monitoring/configuration.php:24 msgid "Allow adding and deleting host and service comments" -msgstr "Erlaube das Hinzufügen und Löschen von Kommentaren zu Hosts und Servicesn" +msgstr "" +"Erlaube das Hinzufügen und Löschen von Kommentaren zu Hosts und Servicesn" #: /vagrant/modules/monitoring/configuration.php:8 msgid "Allow all commands" @@ -621,17 +620,64 @@ msgstr "Erlaube das Löschen von Kommentaren zu Hosts und Servicesn" msgid "Allow deleting host and service downtimes" msgstr "Erlaube das Löschen von Downtimes für Hosts und Services" -#: /vagrant/modules/monitoring/configuration.php:52 -msgid "Allow processing commands for toggling features on an instance-wide basis" +#: /vagrant/modules/monitoring/configuration.php:60 +#, fuzzy +msgid "" +"Allow processing commands for toggling active checks on host and service " +"objects" msgstr "" -"Erlaube die Verarbeitung von Kommandos zum Setzen von Eigenschaften in dieser " -"Instanz" +"Erlaube die Verarbeitung von Kommandos zum Setzen von Eigenschaften von " +"Host- und Serviceobjekten" + +#: /vagrant/modules/monitoring/configuration.php:72 +#, fuzzy +msgid "" +"Allow processing commands for toggling event handlers on host and service " +"objects" +msgstr "" +"Erlaube die Verarbeitung von Kommandos zum Setzen von Eigenschaften von " +"Host- und Serviceobjekten" + +#: /vagrant/modules/monitoring/configuration.php:52 +msgid "" +"Allow processing commands for toggling features on an instance-wide basis" +msgstr "" +"Erlaube die Verarbeitung von Kommandos zum Setzen von Eigenschaften in " +"dieser Instanz" #: /vagrant/modules/monitoring/configuration.php:56 -msgid "Allow processing commands for toggling features on host and service objects" +msgid "" +"Allow processing commands for toggling features on host and service objects" msgstr "" -"Erlaube die Verarbeitung von Kommandos zum Setzen von Eigenschaften von Host- und " -"Serviceobjekten" +"Erlaube die Verarbeitung von Kommandos zum Setzen von Eigenschaften von " +"Host- und Serviceobjekten" + +#: /vagrant/modules/monitoring/configuration.php:76 +#, fuzzy +msgid "" +"Allow processing commands for toggling flap detection on host and service " +"objects" +msgstr "" +"Erlaube die Verarbeitung von Kommandos zum Setzen von Eigenschaften von " +"Host- und Serviceobjekten" + +#: /vagrant/modules/monitoring/configuration.php:68 +#, fuzzy +msgid "" +"Allow processing commands for toggling notifications on host and service " +"objects" +msgstr "" +"Erlaube die Verarbeitung von Kommandos zum Setzen von Eigenschaften von " +"Host- und Serviceobjekten" + +#: /vagrant/modules/monitoring/configuration.php:64 +#, fuzzy +msgid "" +"Allow processing commands for toggling passive checks on host and service " +"objects" +msgstr "" +"Erlaube die Verarbeitung von Kommandos zum Setzen von Eigenschaften von " +"Host- und Serviceobjekten" #: /vagrant/modules/monitoring/configuration.php:48 msgid "Allow processing host and service check results" @@ -653,15 +699,16 @@ msgstr "Erlaube das Planen von Host und Servicechecks" msgid "Allow scheduling host and service downtimes" msgstr "Erlaube das Planen von Host- und Servicedowntimes" -#: /vagrant/modules/monitoring/configuration.php:60 +#: /vagrant/modules/monitoring/configuration.php:80 msgid "Allow sending custom notifications for hosts and services" -msgstr "Erlaube das Senden von angepassten Benachrichtigungen für Hosts und Services" +msgstr "" +"Erlaube das Senden von angepassten Benachrichtigungen für Hosts und Services" #: /vagrant/modules/monitoring/application/forms/StatehistoryForm.php:20 msgid "Apply" msgstr "Anwenden" -#: /vagrant/modules/monitoring/application/controllers/ListController.php:228 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:230 #: /vagrant/modules/monitoring/application/views/scripts/comment/show.phtml:42 #: /vagrant/modules/monitoring/application/views/scripts/downtime/show.phtml:39 msgid "Author" @@ -690,7 +737,7 @@ msgstr "Backendname" msgid "Backend Type" msgstr "Backendtyp" -#: /vagrant/modules/monitoring/configuration.php:70 +#: /vagrant/modules/monitoring/configuration.php:90 msgid "Backends" msgstr "Backends" @@ -698,7 +745,15 @@ msgstr "Backends" msgid "Broadcast" msgstr "Broadcast" -#: /vagrant/modules/monitoring/library/Monitoring/Object/Service.php:194 +#: /vagrant/modules/monitoring/application/views/scripts/partials/event-history.phtml:55 +msgid "COMMENT" +msgstr "" + +#: /vagrant/modules/monitoring/application/views/scripts/partials/event-history.phtml:59 +msgid "COMMENT DELETED" +msgstr "" + +#: /vagrant/modules/monitoring/library/Monitoring/Object/Service.php:196 msgid "CRITICAL" msgstr "KRITISCH" @@ -713,7 +768,8 @@ msgstr "Kann externes Icingakommando nicht senden. Der Remotebenutzer fehlt." #: /vagrant/modules/monitoring/library/Monitoring/Command/Transport/RemoteCommandFile.php:219 msgid "" -"Can't send external Icinga Command. The private key for the remote user is missing" +"Can't send external Icinga Command. The private key for the remote user is " +"missing" msgstr "" "Kann externes Icingakommando nicht senden. Der private Schlüssel für den " "Remotebenutzer fehlt." @@ -721,29 +777,29 @@ msgstr "" #: /vagrant/modules/monitoring/library/Monitoring/Controller.php:97 #, php-format msgid "" -"Cannot apply restriction %s using the filter %s. You can only use the following " -"columns: %s" +"Cannot apply restriction %s using the filter %s. You can only use the " +"following columns: %s" msgstr "" -"Kann die Einschränkung %s nicht mit dem Filter %s anwenden. Sie können nur die " -"folgende Spalte verwenden: %s" +"Kann die Einschränkung %s nicht mit dem Filter %s anwenden. Sie können nur " +"die folgende Spalte verwenden: %s" #: /vagrant/modules/monitoring/library/Monitoring/Command/Transport/CommandTransport.php:76 #, php-format msgid "" -"Cannot create command transport \"%s\". Invalid transport defined in \"%s\". Use " -"one of \"%s\" or \"%s\"." +"Cannot create command transport \"%s\". Invalid transport defined in \"%s\". " +"Use one of \"%s\" or \"%s\"." msgstr "" -"Kann die Befehlsschnittstelle “%s” nicht erzeugen. Ungültige Verbindung in “%s” " -"angegeben. Verwenden Sie entweder “%s” oder “%s”." +"Kann die Befehlsschnittstelle “%s” nicht erzeugen. Ungültige Verbindung in " +"“%s” angegeben. Verwenden Sie entweder “%s” oder “%s”." #: /vagrant/modules/monitoring/application/forms/Config/BackendConfigForm.php:350 msgid "" -"Cannot find the IDO schema. Please verify that the given database contains the " -"schema and that the configured user has access to it." +"Cannot find the IDO schema. Please verify that the given database contains " +"the schema and that the configured user has access to it." msgstr "" -"Kann das IDO-Schema nicht finden. Bitte stellen Sie sicher, dass die angegebene " -"Datenbankverbindung das Schema enthält und dass der konfigurierte Benutzer Zugriff " -"darauf hat." +"Kann das IDO-Schema nicht finden. Bitte stellen Sie sicher, dass die " +"angegebene Datenbankverbindung das Schema enthält und dass der konfigurierte " +"Benutzer Zugriff darauf hat." #: /vagrant/modules/monitoring/application/views/scripts/hosts/show.phtml:158 #: /vagrant/modules/monitoring/application/views/scripts/services/show.phtml:160 @@ -789,15 +845,16 @@ msgstr "Check-Latenz" msgid "Check now" msgstr "Jetzt prüfen" -#: /vagrant/modules/monitoring/application/views/scripts/show/components/checkstatistics.phtml:60 +#: /vagrant/modules/monitoring/application/views/scripts/show/components/checkstatistics.phtml:12 msgid "Check result is late" msgstr "Check-Ergebnis" #: /vagrant/modules/monitoring/application/forms/Setup/LivestatusResourcePage.php:78 -msgid "Check this to not to validate connectivity with the given Livestatus socket" +msgid "" +"Check this to not to validate connectivity with the given Livestatus socket" msgstr "" -"Häkchen setzen um die Überprüfung der Verbindung zum angegebenen Livestatus Socket " -"zu unterbinden" +"Häkchen setzen um die Überprüfung der Verbindung zum angegebenen Livestatus " +"Socket zu unterbinden" #: /vagrant/modules/monitoring/application/forms/Config/BackendConfigForm.php:329 msgid "Check this to not to validate the IDO schema of the chosen resource." @@ -812,20 +869,20 @@ msgstr "Häkchen setzen um die Konfiguration nicht zu überprüfen." msgid "Checks" msgstr "Checks" -#: /vagrant/modules/monitoring/application/forms/Command/Object/ScheduleHostDowntimeCommandForm.php:42 +#: /vagrant/modules/monitoring/application/forms/Command/Object/ScheduleHostDowntimeCommandForm.php:44 msgid "Child Hosts" msgstr "Kindhosts" #: /vagrant/modules/monitoring/application/forms/Config/SecurityConfigForm.php:58 msgid "" -"Comma separated case insensitive list of protected custom variables. Use * as a " -"placeholder for zero or more wildcard characters. Existance of those custom " -"variables will be shown, but their values will be masked." +"Comma separated case insensitive list of protected custom variables. Use * " +"as a placeholder for zero or more wildcard characters. Existance of those " +"custom variables will be shown, but their values will be masked." msgstr "" "Kommaseparierte Liste von geschützten angepassten Variablen (ohne Groß- und " -"Kleinschreibung). Verwenden Sie * für null oder mehrere beliebige Zeichen. Das " -"Vorhandensein dieser angepassten Variablen wird angezeigt, aber deren Werte werden " -"maskiert." +"Kleinschreibung). Verwenden Sie * für null oder mehrere beliebige Zeichen. " +"Das Vorhandensein dieser angepassten Variablen wird angezeigt, aber deren " +"Werte werden maskiert." #: /vagrant/modules/monitoring/application/views/scripts/hosts/show.phtml:163 #: /vagrant/modules/monitoring/application/views/scripts/services/show.phtml:165 @@ -874,7 +931,8 @@ msgstr "Befehlsschnittstelle “%s” erfolgreich aktualisiert" #: /vagrant/modules/monitoring/library/Monitoring/TransportStep.php:98 #, php-format msgid "" -"Command transport configuration could not be written to: %s. An error occured:" +"Command transport configuration could not be written to: %s. An error " +"occured:" msgstr "" "Die Konfiguration der Befehlsschnittstelle konnte nicht nach %s geschrieben " "werden. Ein Fehler ist aufgetreten:" @@ -882,7 +940,8 @@ msgstr "" #: /vagrant/modules/monitoring/library/Monitoring/TransportStep.php:90 #, php-format msgid "Command transport configuration has been successfully created: %s" -msgstr "Die Konfiguration der Befehlsschnittstelle wurde erfolgreich angelegt: %s" +msgstr "" +"Die Konfiguration der Befehlsschnittstelle wurde erfolgreich angelegt: %s" #: /vagrant/modules/monitoring/application/controllers/ConfigController.php:254 msgid "Command transport successfully created" @@ -898,29 +957,21 @@ msgstr "Befehle" #: /vagrant/modules/monitoring/application/controllers/CommentController.php:55 #: /vagrant/modules/monitoring/application/forms/Command/Object/AcknowledgeProblemCommandForm.php:49 -#: /vagrant/modules/monitoring/application/forms/Command/Object/AddCommentCommandForm.php:43 +#: /vagrant/modules/monitoring/application/forms/Command/Object/AddCommentCommandForm.php:42 #: /vagrant/modules/monitoring/application/forms/Command/Object/ScheduleServiceDowntimeCommandForm.php:65 #: /vagrant/modules/monitoring/application/forms/Command/Object/SendCustomNotificationCommandForm.php:43 #: /vagrant/modules/monitoring/application/views/scripts/downtime/show.phtml:47 -#: /vagrant/modules/monitoring/application/views/scripts/host/history.phtml:63 -#: /vagrant/modules/monitoring/application/views/scripts/list/eventhistory.phtml:50 -#: /vagrant/modules/monitoring/application/views/scripts/service/history.phtml:61 msgid "Comment" msgstr "Kommentar" -#: /vagrant/modules/monitoring/application/controllers/ListController.php:413 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:415 msgid "Comment Timestamp" msgstr "Kommentarzeitstempel" -#: /vagrant/modules/monitoring/application/controllers/ListController.php:416 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:418 msgid "Comment Type" msgstr "Kommentartyp" -#: /vagrant/modules/monitoring/application/views/scripts/host/history.phtml:67 -#: /vagrant/modules/monitoring/application/views/scripts/service/history.phtml:65 -msgid "Comment deleted" -msgstr "Kommentar gelöscht" - #: /vagrant/modules/monitoring/application/views/scripts/comment/show.phtml:12 msgid "Comment detail information" msgstr "Detailinformation zum Kommentar" @@ -945,9 +996,9 @@ msgstr "Kommentar wurde durch eine Bestätigung erstellt." msgid "Comment was created by an user" msgstr "Kommentar wurde von einem Benutzer erstellt." -#: /vagrant/modules/monitoring/configuration.php:176 +#: /vagrant/modules/monitoring/configuration.php:196 #: /vagrant/modules/monitoring/application/controllers/CommentsController.php:62 -#: /vagrant/modules/monitoring/application/controllers/ListController.php:388 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:390 #: /vagrant/modules/monitoring/application/controllers/TimelineController.php:60 #: /vagrant/modules/monitoring/application/forms/EventOverviewForm.php:64 #: /vagrant/modules/monitoring/application/views/scripts/hosts/show.phtml:59 @@ -961,12 +1012,13 @@ msgstr "Kommentare" msgid "Configuration for backend %s is disabled" msgstr "Die Konfiguration für das Backend %s ist deaktiviert" -#: /vagrant/modules/monitoring/configuration.php:74 -msgid "Configure how to protect your monitoring environment against prying eyes" +#: /vagrant/modules/monitoring/configuration.php:94 +msgid "" +"Configure how to protect your monitoring environment against prying eyes" msgstr "" "Konfigurieren Sie den Schutz Ihrer Monitoringumgebung gegen neugierige Blicke" -#: /vagrant/modules/monitoring/configuration.php:69 +#: /vagrant/modules/monitoring/configuration.php:89 msgid "Configure how to retrieve monitoring information" msgstr "Konfigurieren Sie, wie Monitoringinformationen geholt werden" @@ -984,7 +1036,7 @@ msgstr "Bestätigen Sie das Entfernen von %d Downtimes." msgid "Contact Group " msgstr "Kontaktgruppe" -#: /vagrant/modules/monitoring/application/controllers/ListController.php:347 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:349 msgid "Contact Groups" msgstr "Kontaktgruppen" @@ -992,21 +1044,21 @@ msgstr "Kontaktgruppen" msgid "Contact details" msgstr "Kontaktdetails" -#: /vagrant/modules/monitoring/application/controllers/ListController.php:364 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:366 msgid "Contactgroup Alias" msgstr "Kontaktgruppen-Alias" -#: /vagrant/modules/monitoring/application/controllers/ListController.php:363 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:365 msgid "Contactgroup Name" msgstr "Kontaktgruppenname" -#: /vagrant/modules/monitoring/configuration.php:172 -#: /vagrant/modules/monitoring/application/views/scripts/show/components/contacts.phtml:36 +#: /vagrant/modules/monitoring/configuration.php:192 +#: /vagrant/modules/monitoring/application/views/scripts/show/components/contacts.phtml:35 msgid "Contactgroups" msgstr "Kontaktgruppen" -#: /vagrant/modules/monitoring/configuration.php:168 -#: /vagrant/modules/monitoring/application/controllers/ListController.php:277 +#: /vagrant/modules/monitoring/configuration.php:188 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:279 #: /vagrant/modules/monitoring/application/views/scripts/show/components/contacts.phtml:17 msgid "Contacts" msgstr "Kontakte" @@ -1025,8 +1077,8 @@ msgstr "Konnte keine keine gültigen SSH-Ressourcen finden" #: /vagrant/modules/monitoring/application/forms/Config/BackendConfigForm.php:65 msgid "" -"Could not find any valid monitoring backend resources. Please configure a database " -"resource first." +"Could not find any valid monitoring backend resources. Please configure a " +"database resource first." msgstr "" "Konnte keine gültigen Ressourcen für das Monitoringbackend finden. Bitte " "konfigurieren Sie zuerst eine Datenbankressource." @@ -1065,19 +1117,19 @@ msgstr "Angelegt" msgid "Critical" msgstr "Kritisch" -#: /vagrant/modules/monitoring/configuration.php:136 +#: /vagrant/modules/monitoring/configuration.php:156 msgid "Current Downtimes" msgstr "Aktuelle Downtimes" -#: /vagrant/modules/monitoring/application/controllers/ListController.php:163 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:165 msgid "Current Host State" msgstr "Aktueller Host-Zustand" -#: /vagrant/modules/monitoring/configuration.php:234 +#: /vagrant/modules/monitoring/configuration.php:254 msgid "Current Incidents" msgstr "Aktuelle Probleme" -#: /vagrant/modules/monitoring/application/controllers/ListController.php:159 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:160 msgid "Current Service State" msgstr "Aktueller Service-Zustand" @@ -1098,6 +1150,18 @@ msgctxt "icinga.state" msgid "DOWN" msgstr "DOWN" +#: /vagrant/modules/monitoring/application/views/scripts/partials/event-history.phtml:79 +msgid "DOWNTIME DELETED" +msgstr "" + +#: /vagrant/modules/monitoring/application/views/scripts/partials/event-history.phtml:104 +msgid "DOWNTIME END" +msgstr "" + +#: /vagrant/modules/monitoring/application/views/scripts/partials/event-history.phtml:99 +msgid "DOWNTIME START" +msgstr "" + #: /vagrant/modules/monitoring/library/Monitoring/BackendStep.php:105 msgid "Database Name" msgstr "Datenbankname" @@ -1127,7 +1191,7 @@ msgstr "Fehlerübersicht" msgid "Defects" msgstr "Fehler" -#: /vagrant/modules/monitoring/application/forms/Command/Object/ScheduleHostDowntimeCommandForm.php:40 +#: /vagrant/modules/monitoring/application/forms/Command/Object/ScheduleHostDowntimeCommandForm.php:42 msgid "Define what should be done with the child hosts of the hosts." msgstr "Legen Sie fest, wie die Kindhosts der Hosts behandelt werden sollen." @@ -1160,7 +1224,7 @@ msgstr[1] "Lösche Downtimes" msgid "Details" msgstr "Details" -#: /vagrant/modules/monitoring/application/controllers/HealthController.php:171 +#: /vagrant/modules/monitoring/application/controllers/HealthController.php:172 #: /vagrant/modules/monitoring/application/forms/Command/Instance/DisableNotificationsExpireCommandForm.php:24 msgid "Disable Notifications" msgstr "Benachrichtigungen deaktivieren" @@ -1169,53 +1233,54 @@ msgstr "Benachrichtigungen deaktivieren" msgid "Disable This Backend" msgstr "Backend deaktivieren" -#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:67 +#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:65 msgid "Disable notifications for a specific time on a program-wide basis" msgstr "" -"Deaktiviere Benachrichtigungen applikationsweit für eine bestimmte Zeitspanne." +"Deaktiviere Benachrichtigungen applikationsweit für eine bestimmte " +"Zeitspanne." -#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:69 +#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:67 msgid "Disable temporarily" msgstr "Vorübergehend deaktivieren" -#: /vagrant/modules/monitoring/configuration.php:303 +#: /vagrant/modules/monitoring/configuration.php:323 msgid "Disabled Host Checks" msgstr "Deaktivierte Host-Überprüfungen" -#: /vagrant/modules/monitoring/configuration.php:295 +#: /vagrant/modules/monitoring/configuration.php:315 msgid "Disabled Host Notifications" msgstr "Deaktivierte Host-Notifizierungen" -#: /vagrant/modules/monitoring/configuration.php:299 +#: /vagrant/modules/monitoring/configuration.php:319 msgid "Disabled Service Checks" msgstr "Deaktivierte Service-Überprüfungen" -#: /vagrant/modules/monitoring/configuration.php:291 +#: /vagrant/modules/monitoring/configuration.php:311 msgid "Disabled Service Notifications" msgstr "Deaktivierte Service-Notifizierungen" -#: /vagrant/modules/monitoring/application/forms/Command/Object/ToggleObjectFeaturesCommandForm.php:125 +#: /vagrant/modules/monitoring/application/forms/Command/Object/ToggleObjectFeaturesCommandForm.php:130 msgid "Disabling active checks.." msgstr "Deaktiviere aktive Checks.." -#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:221 +#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:219 msgid "Disabling active host checks.." msgstr "Deaktiviere aktive Host-Checks.." -#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:225 +#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:223 msgid "Disabling active service checks.." msgstr "Deaktiviere Aktive Service-Checks.." -#: /vagrant/modules/monitoring/application/forms/Command/Object/ToggleObjectFeaturesCommandForm.php:141 +#: /vagrant/modules/monitoring/application/forms/Command/Object/ToggleObjectFeaturesCommandForm.php:146 msgid "Disabling event handler.." msgstr "Deaktiviere Event-Handler.." -#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:229 +#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:227 msgid "Disabling event handlers.." msgstr "Deaktiviere Event-Handler.." -#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:233 -#: /vagrant/modules/monitoring/application/forms/Command/Object/ToggleObjectFeaturesCommandForm.php:145 +#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:231 +#: /vagrant/modules/monitoring/application/forms/Command/Object/ToggleObjectFeaturesCommandForm.php:150 msgid "Disabling flap detection.." msgstr "Deaktiviere Flap-Erkennung.." @@ -1223,36 +1288,36 @@ msgstr "Deaktiviere Flap-Erkennung.." msgid "Disabling host and service notifications.." msgstr "Deaktiviere Benachrichtigungen für Hosts und Services.." -#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:237 -#: /vagrant/modules/monitoring/application/forms/Command/Object/ToggleObjectFeaturesCommandForm.php:137 +#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:235 +#: /vagrant/modules/monitoring/application/forms/Command/Object/ToggleObjectFeaturesCommandForm.php:142 msgid "Disabling notifications.." msgstr "Deaktiviere Benachrichtigungen.." -#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:241 +#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:239 msgid "Disabling obsessing over hosts.." msgstr "Deaktiviere Verfolgung von Host.." -#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:245 +#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:243 msgid "Disabling obsessing over services.." msgstr "Deaktiviere Verfolgung von Servicesn.." -#: /vagrant/modules/monitoring/application/forms/Command/Object/ToggleObjectFeaturesCommandForm.php:133 +#: /vagrant/modules/monitoring/application/forms/Command/Object/ToggleObjectFeaturesCommandForm.php:138 msgid "Disabling obsessing.." msgstr "Deaktiviere Verfolgung.." -#: /vagrant/modules/monitoring/application/forms/Command/Object/ToggleObjectFeaturesCommandForm.php:129 +#: /vagrant/modules/monitoring/application/forms/Command/Object/ToggleObjectFeaturesCommandForm.php:134 msgid "Disabling passive checks.." msgstr "Deaktiviere passive Checks.." -#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:249 +#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:247 msgid "Disabling passive host checks.." msgstr "Deaktiviere passive Host-Checks.." -#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:253 +#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:251 msgid "Disabling passive service checks.." msgstr "Deaktiviere passive Service-Checks.." -#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:257 +#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:255 msgid "Disabling performance data.." msgstr "Deaktiviere Performancedaten.." @@ -1274,13 +1339,13 @@ msgstr "Zeige detaillierte Informationen über mehrere Downtimes." #: /vagrant/modules/monitoring/application/forms/Navigation/ActionForm.php:26 msgid "" -"Display this action only for objects matching this filter. Leave it blank if you " -"want this action being displayed regardless of the object" +"Display this action only for objects matching this filter. Leave it blank if " +"you want this action being displayed regardless of the object" msgstr "" -"Zeige diese Aktion nur für Objekte, die diesem Filter entsprechen. Leer lassen, um " -"diese Aktion unabhängig vom Objekt anzuzeigen." +"Zeige diese Aktion nur für Objekte, die diesem Filter entsprechen. Leer " +"lassen, um diese Aktion unabhängig vom Objekt anzuzeigen." -#: /vagrant/modules/monitoring/application/forms/Command/Object/ScheduleHostDowntimeCommandForm.php:44 +#: /vagrant/modules/monitoring/application/forms/Command/Object/ScheduleHostDowntimeCommandForm.php:46 msgid "Do nothing with child hosts" msgstr "Mach nichts mit Kind-Objekten." @@ -1294,30 +1359,13 @@ msgstr "Down" msgid "Downtime" msgstr "Downtime" -#: /vagrant/modules/monitoring/application/views/scripts/host/history.phtml:109 -#: /vagrant/modules/monitoring/application/views/scripts/list/eventhistory.phtml:84 -#: /vagrant/modules/monitoring/application/views/scripts/service/history.phtml:107 -msgid "Downtime End" -msgstr "Downtime Ende" - -#: /vagrant/modules/monitoring/application/views/scripts/host/history.phtml:105 -#: /vagrant/modules/monitoring/application/views/scripts/list/eventhistory.phtml:80 -#: /vagrant/modules/monitoring/application/views/scripts/service/history.phtml:103 -msgid "Downtime Start" -msgstr "Downtime Beginn" - #: /vagrant/modules/monitoring/application/controllers/DowntimeController.php:57 msgid "Downtime not found" msgstr "Downtime nicht gefunden" -#: /vagrant/modules/monitoring/application/views/scripts/host/history.phtml:83 -#: /vagrant/modules/monitoring/application/views/scripts/service/history.phtml:81 -msgid "Downtime removed" -msgstr "Downtime entfernt" - -#: /vagrant/modules/monitoring/configuration.php:180 +#: /vagrant/modules/monitoring/configuration.php:200 #: /vagrant/modules/monitoring/application/controllers/DowntimesController.php:69 -#: /vagrant/modules/monitoring/application/controllers/ListController.php:192 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:194 #: /vagrant/modules/monitoring/application/forms/EventOverviewForm.php:54 #: /vagrant/modules/monitoring/application/views/scripts/hosts/show.phtml:96 #: /vagrant/modules/monitoring/application/views/scripts/services/show.phtml:95 @@ -1325,16 +1373,21 @@ msgstr "Downtime entfernt" msgid "Downtimes" msgstr "Downtimes" -#: /vagrant/modules/monitoring/configuration.php:282 +#: /vagrant/modules/monitoring/configuration.php:302 msgid "Downtimes Active For More Than Three Days" msgstr "Downtimes älter als drei Tage" -#: /vagrant/modules/monitoring/application/controllers/ListController.php:233 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:235 #: /vagrant/modules/monitoring/application/views/scripts/downtime/show.phtml:53 #: /vagrant/modules/monitoring/application/views/scripts/downtime/show.phtml:135 msgid "Duration" msgstr "Dauer" +#: /vagrant/modules/monitoring/application/views/scripts/partials/downtime/downtime-header.phtml:3 +msgctxt "Downtime status" +msgid "ENDS" +msgstr "" + #: /vagrant/modules/monitoring/library/Monitoring/BackendStep.php:155 #: /vagrant/modules/monitoring/library/Monitoring/BackendStep.php:168 #: /vagrant/modules/monitoring/library/Monitoring/SecurityStep.php:80 @@ -1343,6 +1396,11 @@ msgstr "Dauer" msgid "ERROR: %s" msgstr "Fehler: %s" +#: /vagrant/modules/monitoring/application/views/scripts/partials/downtime/downtime-header.phtml:6 +msgctxt "Downtime status" +msgid "EXPIRES" +msgstr "" + #: /vagrant/modules/monitoring/application/controllers/ConfigController.php:200 #, php-format msgid "Edit Command Transport %s" @@ -1363,72 +1421,72 @@ msgstr "Bearbeite Befehlsschnittstelle %s" msgid "Edit monitoring backend %s" msgstr "Bearbeite Monitoring-Backend %s" -#: /vagrant/modules/monitoring/application/controllers/ListController.php:296 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:298 #: /vagrant/modules/monitoring/application/views/scripts/list/contacts.phtml:18 #: /vagrant/modules/monitoring/application/views/scripts/list/contacts.phtml:37 #: /vagrant/modules/monitoring/application/views/scripts/show/contact.phtml:24 msgid "Email" msgstr "E-Mail" -#: /vagrant/modules/monitoring/application/forms/Command/Object/ToggleObjectFeaturesCommandForm.php:124 +#: /vagrant/modules/monitoring/application/forms/Command/Object/ToggleObjectFeaturesCommandForm.php:129 msgid "Enabling active checks.." msgstr "Aktiviere aktive Checks.." -#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:220 +#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:218 msgid "Enabling active host checks.." msgstr "Aktiviere aktive Host-Checks.." -#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:224 +#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:222 msgid "Enabling active service checks.." msgstr "Aktiviere aktive Service-Checks.." -#: /vagrant/modules/monitoring/application/forms/Command/Object/ToggleObjectFeaturesCommandForm.php:140 +#: /vagrant/modules/monitoring/application/forms/Command/Object/ToggleObjectFeaturesCommandForm.php:145 msgid "Enabling event handler.." msgstr "Aktiviere Eventhandler.." -#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:228 +#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:226 msgid "Enabling event handlers.." msgstr "Aktiviere Eventhandler.." -#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:232 -#: /vagrant/modules/monitoring/application/forms/Command/Object/ToggleObjectFeaturesCommandForm.php:144 +#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:230 +#: /vagrant/modules/monitoring/application/forms/Command/Object/ToggleObjectFeaturesCommandForm.php:149 msgid "Enabling flap detection.." msgstr "Aktiviere Flap-Erkennung.." -#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:236 -#: /vagrant/modules/monitoring/application/forms/Command/Object/ToggleObjectFeaturesCommandForm.php:136 +#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:234 +#: /vagrant/modules/monitoring/application/forms/Command/Object/ToggleObjectFeaturesCommandForm.php:141 msgid "Enabling notifications.." msgstr "Aktiviere Benachrichtigungen.." -#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:240 +#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:238 msgid "Enabling obsessing over hosts.." msgstr "Aktiviere Hostverfolgung.." -#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:244 +#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:242 msgid "Enabling obsessing over services.." msgstr "Aktiviere Serviceverfolgung.." -#: /vagrant/modules/monitoring/application/forms/Command/Object/ToggleObjectFeaturesCommandForm.php:132 +#: /vagrant/modules/monitoring/application/forms/Command/Object/ToggleObjectFeaturesCommandForm.php:137 msgid "Enabling obsessing.." msgstr "Aktiviere Verfolgung.." -#: /vagrant/modules/monitoring/application/forms/Command/Object/ToggleObjectFeaturesCommandForm.php:128 +#: /vagrant/modules/monitoring/application/forms/Command/Object/ToggleObjectFeaturesCommandForm.php:133 msgid "Enabling passive checks.." msgstr "Aktiviere passive Checks.." -#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:248 +#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:246 msgid "Enabling passive host checks.." msgstr "Aktiviere passive Host-Checks.." -#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:252 +#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:250 msgid "Enabling passive service checks.." msgstr "Aktiviere passive Service-Checks.." -#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:256 +#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:254 msgid "Enabling performance data.." msgstr "Aktiviere Performancedaten.." -#: /vagrant/modules/monitoring/application/controllers/ListController.php:230 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:232 #: /vagrant/modules/monitoring/application/forms/Command/Object/ScheduleServiceDowntimeCommandForm.php:88 msgid "End Time" msgstr "Endzeitpunkt" @@ -1437,48 +1495,44 @@ msgstr "Endzeitpunkt" msgid "Ended downtimes" msgstr "Beendete Downtimes" -#: /vagrant/modules/monitoring/application/views/scripts/partials/downtime/downtime-header.phtml:3 -msgid "Ends" -msgstr "Endet" - #: /vagrant/modules/monitoring/application/forms/Command/Object/ScheduleServiceDowntimeCommandForm.php:159 msgid "" "Enter here the duration of the downtime. The downtime will be automatically " "deleted after this time expired." msgstr "" -"Tragen Sie hier die gewünschte Dauer der Downtime ein. Die Downtime wird nach " -"Ablauf dieser Zeit automatisch gelöscht." +"Tragen Sie hier die gewünschte Dauer der Downtime ein. Die Downtime wird " +"nach Ablauf dieser Zeit automatisch gelöscht." #: /vagrant/modules/monitoring/application/forms/Command/Object/AcknowledgeProblemCommandForm.php:90 msgid "" -"Enter the expire date and time for this acknowledgement here. Icinga will delete " -"the acknowledgement after this time expired." +"Enter the expire date and time for this acknowledgement here. Icinga will " +"delete the acknowledgement after this time expired." msgstr "" "Tragen Sie hier Ablaufdatum und -uhrzeit für diese Bestätigung ein. Die " "Bestätigung wird nach Ablauf dieser Zeit automatisch gelöscht." -#: /vagrant/modules/monitoring/application/controllers/ListController.php:227 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:229 #: /vagrant/modules/monitoring/application/views/scripts/downtime/show.phtml:43 msgid "Entry Time" msgstr "Eingabezeitpunkt" -#: /vagrant/modules/monitoring/configuration.php:192 -#: /vagrant/modules/monitoring/application/controllers/ListController.php:305 +#: /vagrant/modules/monitoring/configuration.php:212 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:307 msgid "Event Grid" msgstr "Ereignisraster" -#: /vagrant/modules/monitoring/application/forms/Command/Object/ToggleObjectFeaturesCommandForm.php:77 +#: /vagrant/modules/monitoring/application/forms/Command/Object/ToggleObjectFeaturesCommandForm.php:54 msgid "Event Handler" msgstr "Eventhandler" -#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:107 +#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:105 #: /vagrant/modules/monitoring/application/views/scripts/tactical/components/monitoringfeatures.phtml:208 #: /vagrant/modules/monitoring/application/views/scripts/tactical/components/monitoringfeatures.phtml:210 msgid "Event Handlers" msgstr "Eventhandler" -#: /vagrant/modules/monitoring/configuration.php:196 -#: /vagrant/modules/monitoring/application/controllers/ListController.php:506 +#: /vagrant/modules/monitoring/configuration.php:216 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:508 msgid "Event Overview" msgstr "Ereignisverlauf" @@ -1486,7 +1540,7 @@ msgstr "Ereignisverlauf" msgid "Execution time" msgstr "Ausführungsdauer" -#: /vagrant/modules/monitoring/application/controllers/ListController.php:417 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:419 msgid "Expiration" msgstr "Verfall" @@ -1496,38 +1550,39 @@ msgid "Expire Time" msgstr "Verfallszeitpunkt" #: /vagrant/modules/monitoring/application/views/scripts/comment/show.phtml:57 -#: /vagrant/modules/monitoring/application/views/scripts/partials/downtime/downtime-header.phtml:6 msgid "Expires" msgstr "Verfällt" -#: /vagrant/modules/monitoring/application/views/scripts/show/components/acknowledgement.phtml:45 +#: /vagrant/modules/monitoring/application/views/scripts/show/components/acknowledgement.phtml:27 #, php-format msgid "Expires %s" msgstr "Verfällt %s" -#: /vagrant/modules/monitoring/library/Monitoring/Command/Transport/CommandTransport.php:144 -msgid "" -"Failed to send external Icinga command. No transport has been configured for this " -"instance. Please contact your Icinga Web administrator." +#: /vagrant/modules/monitoring/application/views/scripts/partials/event-history.phtml:83 +msgid "FLAPPING" msgstr "" -"Versand des externen Icingakommandos schlug fehl. Für diese Instanz wurde keine " -"Schnittstelle konfiguriert. Bitte kontaktieren Sie Ihren Webadministrator." -#: /vagrant/modules/monitoring/library/Monitoring/Command/Transport/CommandTransport.php:135 -msgid "" -"Failed to send external Icinga command. None of the configured transports was able " -"to transfer the command. Please see the log for more details." +#: /vagrant/modules/monitoring/application/views/scripts/partials/event-history.phtml:87 +msgid "FLAPPING STOPPED" msgstr "" -"Versand des externen Icingakommandos schlug fehl. Das Kommando konnte von keiner " -"der konfigurierten Schnittstellen übertragen werden. Bitte suchen Sie im Log nach " -"weiteren Details." + +#: /vagrant/modules/monitoring/library/Monitoring/Command/Transport/CommandTransport.php:138 +msgid "" +"Failed to send external Icinga command. No transport has been configured for " +"this instance. Please contact your Icinga Web administrator." +msgstr "" +"Versand des externen Icingakommandos schlug fehl. Für diese Instanz wurde " +"keine Schnittstelle konfiguriert. Bitte kontaktieren Sie Ihren " +"Webadministrator." #: /vagrant/modules/monitoring/application/forms/Setup/IdoResourcePage.php:143 #, php-format msgid "Failed to successfully validate the configuration: %s" msgstr "Die Validierung der Konfiguration ist fehlgeschlagen: %s" -#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:29 +#: /vagrant/modules/monitoring/application/views/scripts/health/info.phtml:79 +#: /vagrant/modules/monitoring/application/views/scripts/hosts/show.phtml:200 +#: /vagrant/modules/monitoring/application/views/scripts/services/show.phtml:202 #: /vagrant/modules/monitoring/application/views/scripts/show/components/flags.phtml:2 msgid "Feature Commands" msgstr "Unterstützte Befehle" @@ -1545,8 +1600,8 @@ msgstr "Fix" msgid "Fixed downtimes have a static start and end time." msgstr "Fixe Downtimes haben einen statischen Start- und Endzeitpunkt." -#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:116 -#: /vagrant/modules/monitoring/application/forms/Command/Object/ToggleObjectFeaturesCommandForm.php:86 +#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:114 +#: /vagrant/modules/monitoring/application/forms/Command/Object/ToggleObjectFeaturesCommandForm.php:58 #: /vagrant/modules/monitoring/application/views/scripts/tactical/components/monitoringfeatures.phtml:8 #: /vagrant/modules/monitoring/application/views/scripts/tactical/components/monitoringfeatures.phtml:10 msgid "Flap Detection" @@ -1555,22 +1610,10 @@ msgstr "Flap-Erkennung" #: /vagrant/modules/monitoring/application/forms/EventOverviewForm.php:84 #: /vagrant/modules/monitoring/application/views/helpers/HostFlags.php:19 #: /vagrant/modules/monitoring/application/views/helpers/ServiceFlags.php:15 -#: /vagrant/modules/monitoring/application/views/scripts/host/history.phtml:87 -#: /vagrant/modules/monitoring/application/views/scripts/list/eventhistory.phtml:62 #: /vagrant/modules/monitoring/application/views/scripts/partials/comment/comment-description.phtml:5 -#: /vagrant/modules/monitoring/application/views/scripts/service/history.phtml:85 msgid "Flapping" msgstr "Flapping" -#: /vagrant/modules/monitoring/application/views/scripts/list/eventhistory.phtml:66 -msgid "Flapping Stopped" -msgstr "Flapping beendet" - -#: /vagrant/modules/monitoring/application/views/scripts/host/history.phtml:91 -#: /vagrant/modules/monitoring/application/views/scripts/service/history.phtml:89 -msgid "Flapping stopped" -msgstr "Flapping beendet" - #: /vagrant/modules/monitoring/application/forms/Command/Object/ScheduleServiceDowntimeCommandForm.php:108 #: /vagrant/modules/monitoring/application/views/scripts/downtime/show.phtml:60 msgid "Flexible" @@ -1583,11 +1626,12 @@ msgstr "Flexible Dauer" #: /vagrant/modules/monitoring/application/views/scripts/downtime/show.phtml:63 msgid "" "Flexible downtimes have a hard start and end time, but also an additional " -"restriction on the duration in which the host or service may actually be down." +"restriction on the duration in which the host or service may actually be " +"down." msgstr "" -"Flexible Downtimes haben einen definierten Start- und Endzeitpunkt. Darüber hinaus " -"besitzen sie eine Einschränkung der Dauer, innerhalb derer der Host oder Service " -"tatsächlich down sein wird." +"Flexible Downtimes haben einen definierten Start- und Endzeitpunkt. Darüber " +"hinaus besitzen sie eine Einschränkung der Dauer, innerhalb derer der Host " +"oder Service tatsächlich down sein wird." #: /vagrant/modules/monitoring/application/forms/Command/Object/ScheduleServiceCheckCommandForm.php:62 msgid "Force Check" @@ -1609,6 +1653,13 @@ msgstr "Globaler Host Event Handler" msgid "Global Service Event Handler" msgstr "Globaler Service Event Handler" +#: /vagrant/modules/monitoring/application/views/scripts/tactical/components/parts/servicestatesummarybyhoststate.phtml:31 +#: /vagrant/modules/monitoring/application/views/scripts/tactical/components/parts/servicestatesummarybyhoststate.phtml:130 +#: /vagrant/modules/monitoring/application/views/scripts/tactical/components/parts/servicestatesummarybyhoststate.phtml:229 +#, fuzzy +msgid "Handled" +msgstr "Unbehandelt" + #: /vagrant/modules/monitoring/application/controllers/TimelineController.php:55 msgid "Hard state changes" msgstr "Harte Status-Änderungen" @@ -1617,32 +1668,32 @@ msgstr "Harte Status-Änderungen" msgid "Healing Chart" msgstr "" -#: /vagrant/modules/monitoring/configuration.php:188 +#: /vagrant/modules/monitoring/configuration.php:208 #: /vagrant/modules/monitoring/application/views/scripts/alertsummary/index.phtml:69 #: /vagrant/modules/monitoring/library/Monitoring/Web/Controller/MonitoredObjectController.php:229 msgid "History" msgstr "Historie" -#: /vagrant/modules/monitoring/application/controllers/ListController.php:225 -#: /vagrant/modules/monitoring/application/controllers/ListController.php:414 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:227 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:416 #: /vagrant/modules/monitoring/application/forms/Config/Transport/RemoteTransportForm.php:139 #: /vagrant/modules/monitoring/application/views/scripts/comment/show.phtml:29 #: /vagrant/modules/monitoring/application/views/scripts/comment/show.phtml:31 #: /vagrant/modules/monitoring/application/views/scripts/downtime/show.phtml:15 #: /vagrant/modules/monitoring/application/views/scripts/downtime/show.phtml:30 -#: /vagrant/modules/monitoring/application/views/scripts/list/notifications.phtml:45 -#: /vagrant/modules/monitoring/application/views/scripts/partials/comment/comment-detail.phtml:19 +#: /vagrant/modules/monitoring/application/views/scripts/list/notifications.phtml:53 +#: /vagrant/modules/monitoring/application/views/scripts/partials/comment/comment-detail.phtml:20 #: /vagrant/modules/monitoring/library/Monitoring/BackendStep.php:97 -#: /vagrant/modules/monitoring/library/Monitoring/DataView/DataView.php:260 -#: /vagrant/modules/monitoring/library/Monitoring/Web/Controller/MonitoredObjectController.php:182 +#: /vagrant/modules/monitoring/library/Monitoring/DataView/DataView.php:275 +#: /vagrant/modules/monitoring/library/Monitoring/Web/Controller/MonitoredObjectController.php:185 msgid "Host" msgstr "Host" -#: /vagrant/modules/monitoring/configuration.php:91 +#: /vagrant/modules/monitoring/configuration.php:111 msgid "Host Action" msgstr "Hostaktion" -#: /vagrant/modules/monitoring/application/controllers/ListController.php:165 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:167 msgid "Host Address" msgstr "Host-IP" @@ -1660,20 +1711,20 @@ msgstr "Hostgruppe" msgid "Host Group Chart" msgstr "Hostgruppenübersicht" -#: /vagrant/modules/monitoring/application/controllers/ListController.php:496 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:498 msgid "Host Group Name" msgstr "Hostgruppenname" -#: /vagrant/modules/monitoring/application/controllers/ListController.php:465 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:467 msgid "Host Groups" msgstr "Hostgruppen" -#: /vagrant/modules/monitoring/application/controllers/ListController.php:299 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:301 msgid "Host Notification Timeperiod" msgstr "Host-Benachrichtigungszeitraum" -#: /vagrant/modules/monitoring/configuration.php:108 -#: /vagrant/modules/monitoring/configuration.php:244 +#: /vagrant/modules/monitoring/configuration.php:128 +#: /vagrant/modules/monitoring/configuration.php:264 msgid "Host Problems" msgstr "Host-Probleme" @@ -1681,6 +1732,11 @@ msgstr "Host-Probleme" msgid "Host Problems:" msgstr "Host-Probleme:" +#: /vagrant/modules/monitoring/application/controllers/ListController.php:164 +#, fuzzy +msgid "Host Severity" +msgstr "Schwere" + #: /vagrant/modules/monitoring/application/views/scripts/list/hostgroups.phtml:26 msgid "Host States" msgstr "Host-Zustände" @@ -1693,19 +1749,19 @@ msgstr "Host- und Servicechecks" msgid "Host and service notifications are already disabled." msgstr "Die Host- und Servicebenachrichtigungen sind bereits deaktiviert." -#: /vagrant/modules/monitoring/application/controllers/HostController.php:32 +#: /vagrant/modules/monitoring/application/controllers/HostController.php:33 msgid "Host not found" msgstr "Kein Host gefunden" -#: /vagrant/modules/monitoring/configuration.php:85 -#: /vagrant/modules/monitoring/configuration.php:164 +#: /vagrant/modules/monitoring/configuration.php:105 +#: /vagrant/modules/monitoring/configuration.php:184 #: /vagrant/modules/monitoring/application/views/scripts/show/components/hostgroups.phtml:16 msgid "Hostgroups" msgstr "Hostgruppen" #: /vagrant/modules/monitoring/application/controllers/ListController.php:95 -#: /vagrant/modules/monitoring/application/controllers/ListController.php:164 -#: /vagrant/modules/monitoring/application/controllers/ListController.php:558 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:166 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:560 msgid "Hostname" msgstr "Hostname" @@ -1713,10 +1769,10 @@ msgstr "Hostname" msgid "Hostname or address of the remote Icinga instance" msgstr "Hostname oder IP-Adresse der entfernten Icingainstanz" -#: /vagrant/modules/monitoring/configuration.php:83 -#: /vagrant/modules/monitoring/configuration.php:152 +#: /vagrant/modules/monitoring/configuration.php:103 +#: /vagrant/modules/monitoring/configuration.php:172 #: /vagrant/modules/monitoring/application/controllers/ChartController.php:295 -#: /vagrant/modules/monitoring/application/controllers/HostsController.php:44 +#: /vagrant/modules/monitoring/application/controllers/HostsController.php:58 #: /vagrant/modules/monitoring/application/controllers/ListController.php:54 #: /vagrant/modules/monitoring/application/forms/StatehistoryForm.php:100 #: /vagrant/modules/monitoring/application/views/scripts/show/contact.phtml:39 @@ -1737,33 +1793,34 @@ msgstr "Stunden" msgid "IPv4 address" msgstr "IPv4-Adresse" -#: /vagrant/modules/monitoring/application/views/scripts/partials/object/host-header.phtml:23 -#: /vagrant/modules/monitoring/application/views/scripts/partials/object/service-header.phtml:24 +#: /vagrant/modules/monitoring/application/views/scripts/partials/object/host-header.phtml:24 +#: /vagrant/modules/monitoring/application/views/scripts/partials/object/service-header.phtml:25 msgid "IPv6 address" msgstr "IPv6-Adresse" #: /vagrant/modules/monitoring/library/Monitoring/SecurityStep.php:45 msgid "" -"Icinga Web 2 will protect your monitoring environment against prying eyes using " -"the configuration specified below:" +"Icinga Web 2 will protect your monitoring environment against prying eyes " +"using the configuration specified below:" msgstr "" -"Icinga Web 2 wird Ihre Monitoringumgebung vor neugierigen Blicken anhand der unten " -"spezifizierten Konfiguration schützen:" +"Icinga Web 2 wird Ihre Monitoringumgebung vor neugierigen Blicken anhand der " +"unten spezifizierten Konfiguration schützen:" #: /vagrant/modules/monitoring/library/Monitoring/BackendStep.php:77 #, php-format msgid "" -"Icinga Web 2 will retrieve information from your monitoring environment using a " -"backend called \"%s\" and the specified resource below:" +"Icinga Web 2 will retrieve information from your monitoring environment " +"using a backend called \"%s\" and the specified resource below:" msgstr "" -"Icinga Web 2 wird Informationen aus ihrer Monitoringumgebung über ein Backend mit " -"dem Namen “%s” und die weiter unten spezifizierte Ressourcen abrufen:" +"Icinga Web 2 wird Informationen aus ihrer Monitoringumgebung über ein " +"Backend mit dem Namen “%s” und die weiter unten spezifizierte Ressourcen " +"abrufen:" #: /vagrant/modules/monitoring/library/Monitoring/TransportStep.php:76 #, php-format msgid "" -"Icinga Web 2 will use the named pipe located at \"%s\" to send commands to your " -"monitoring instance." +"Icinga Web 2 will use the named pipe located at \"%s\" to send commands to " +"your monitoring instance." msgstr "" "Icinga Web 2 wird die Named Pipe “%s” verwenden, um Kommandos an Ihre " "Monitoringinstanz zu schicken." @@ -1771,12 +1828,13 @@ msgstr "" #: /vagrant/modules/monitoring/library/Monitoring/TransportStep.php:49 #, php-format msgid "" -"Icinga Web 2 will use the named pipe located on a remote machine at \"%s\" to send " -"commands to your monitoring instance by using the connection details listed below:" +"Icinga Web 2 will use the named pipe located on a remote machine at \"%s\" " +"to send commands to your monitoring instance by using the connection details " +"listed below:" msgstr "" -"Icinga Web 2 wird die Named Pipe “%s” auf einer entfernten Maschine verwenden, um " -"Kommandos an Ihre Monitoringinstanz zu senden. Dazu werden die weiter unter " -"gelisteten Verbindungseinstellungen verwendet:" +"Icinga Web 2 wird die Named Pipe “%s” auf einer entfernten Maschine " +"verwenden, um Kommandos an Ihre Monitoringinstanz zu senden. Dazu werden die " +"weiter unter gelisteten Verbindungseinstellungen verwendet:" #: /vagrant/modules/monitoring/application/forms/Command/Object/AcknowledgeProblemCommandForm.php:74 msgid "If the acknowledgement should expire, check this option." @@ -1793,120 +1851,112 @@ msgstr "" #: /vagrant/modules/monitoring/application/forms/Command/Object/SendCustomNotificationCommandForm.php:70 msgid "" -"If you check this option, the notification is sent out to all normal and escalated " -"contacts." +"If you check this option, the notification is sent out to all normal and " +"escalated contacts." msgstr "" -"Wenn Sie diese Option aktivieren, wird die Benachrichtigung an alle normalen und " -"Eskalationskontakte versendet." +"Wenn Sie diese Option aktivieren, wird die Benachrichtigung an alle normalen " +"und Eskalationskontakte versendet." #: /vagrant/modules/monitoring/application/forms/Command/Object/AcknowledgeProblemCommandForm.php:126 msgid "" "If you do not want an acknowledgement notification to be sent out to the " "appropriate contacts, uncheck this option." msgstr "" -"Deaktivieren Sie diese Option, wenn Sie keine Bestätigungsbenachrichtigung zu den " -"jeweiligen Kontakten senden wollen." - -#: /vagrant/modules/monitoring/application/controllers/ConfigController.php:165 -msgid "" -"If you have still any environments or views referring to this transport, you won't " -"be able to send commands anymore after deletion." -msgstr "" -"Wenn noch irgendwelche Umgebungen oder Sichten auf diese Schnittstelle verweisen, " -"werden Sie nach ihrer Löschung keine Kommandos mehr verschicken können." +"Deaktivieren Sie diese Option, wenn Sie keine Bestätigungsbenachrichtigung " +"zu den jeweiligen Kontakten senden wollen." #: /vagrant/modules/monitoring/application/forms/Command/Object/ScheduleServiceDowntimeCommandForm.php:101 msgid "" -"If you select the fixed option, the downtime will be in effect between the start " -"and end times you specify whereas a flexible downtime starts when the host or " -"service enters a problem state sometime between the start and end times you " -"specified and lasts as long as the duration time you enter. The duration fields do " -"not apply for fixed downtimes." +"If you select the fixed option, the downtime will be in effect between the " +"start and end times you specify whereas a flexible downtime starts when the " +"host or service enters a problem state sometime between the start and end " +"times you specified and lasts as long as the duration time you enter. The " +"duration fields do not apply for fixed downtimes." msgstr "" "Wenn Sie die Option \"fix\" wählen, wird die Downtime zwischen dem gewählten " "Start- und Endzeitpunkt aktiv sein. Bei einer flexiblen Downtime beginnt die " "Downtime sobald der Service (irgendwann zwischen dem gewählten Start- und " -"Endzeitpunkt) einen nicht-OK Zustand erreicht, und dauert so lange, wie im Feld " -"\"Dauer\" angegeben. Diese Optionen gibt es für fixe Downtimes nicht." +"Endzeitpunkt) einen nicht-OK Zustand erreicht, und dauert so lange, wie im " +"Feld \"Dauer\" angegeben. Diese Optionen gibt es für fixe Downtimes nicht." #: /vagrant/modules/monitoring/application/forms/Command/Object/ScheduleServiceCheckCommandForm.php:64 msgid "" -"If you select this option, Icinga will force a check regardless of both what time " -"the scheduled check occurs and whether or not checks are enabled." +"If you select this option, Icinga will force a check regardless of both what " +"time the scheduled check occurs and whether or not checks are enabled." msgstr "" "Wenn diese Option aktiviert wird, erzwingt Icinga einen Check unabhängig vom " "eingeplanten Zeitraum und auch dann, wenn aktive Checks nicht aktiv sind." +#: /vagrant/modules/monitoring/application/controllers/ConfigController.php:165 +#, fuzzy +msgid "" +"If you still have any environments or views referring to this transport, you " +"won't be able to send commands anymore after deletion." +msgstr "" +"Wenn noch irgendwelche Umgebungen oder Sichten auf diese Schnittstelle " +"verweisen, werden Sie nach ihrer Löschung keine Kommandos mehr verschicken " +"können." + #: /vagrant/modules/monitoring/application/forms/Command/Object/AddCommentCommandForm.php:58 msgid "" -"If you uncheck this option, the comment will automatically be deleted the next " -"time Icinga is restarted." +"If you uncheck this option, the comment will automatically be deleted the " +"next time Icinga is restarted." msgstr "" -"Wenn diese Option deaktiviert wird, wird der Kommentar beim nächsten Neustart von " -"Icinga automatisch gelöscht." +"Wenn diese Option deaktiviert wird, wird der Kommentar beim nächsten " +"Neustart von Icinga automatisch gelöscht." #: /vagrant/modules/monitoring/application/forms/Command/Object/AcknowledgeProblemCommandForm.php:114 msgid "" -"If you want the acknowledgement to remain until the host or service recovers even " -"if the host or service changes state, check this option." +"If you want the acknowledgement to remain until the host or service recovers " +"even if the host or service changes state, check this option." msgstr "" -"Aktivieren Sie diese Option, wenn keine weiteren Benachrichtigungen versendet " -"werden sollen, bis der Host/Service sich erholt hat." +"Aktivieren Sie diese Option, wenn keine weiteren Benachrichtigungen " +"versendet werden sollen, bis der Host/Service sich erholt hat." #: /vagrant/modules/monitoring/application/forms/Command/Object/AcknowledgeProblemCommandForm.php:51 -#: /vagrant/modules/monitoring/application/forms/Command/Object/AddCommentCommandForm.php:45 +#: /vagrant/modules/monitoring/application/forms/Command/Object/AddCommentCommandForm.php:44 #: /vagrant/modules/monitoring/application/forms/Command/Object/ScheduleServiceDowntimeCommandForm.php:67 #: /vagrant/modules/monitoring/application/forms/Command/Object/SendCustomNotificationCommandForm.php:45 msgid "" -"If you work with other administrators, you may find it useful to share information " -"about the the host or service that is having problems. Make sure you enter a brief " -"description of what you are doing." +"If you work with other administrators, you may find it useful to share " +"information about the the host or service that is having problems. Make sure " +"you enter a brief description of what you are doing." msgstr "" -"Wenn Sie mit anderen Administratoren zusammenarbeiten, werden Sie es nützlich " -"finden, Informationen zu Hosts oder Services mit Problemen untereinander " -"auszutauschen, insbesondere dann, wenn Sie gemeinsam daran arbeiten. Stellen Sie " -"sicher, hier eine kurze Beschreibung zu Ihrer Tätigkeit einzutragen." +"Wenn Sie mit anderen Administratoren zusammenarbeiten, werden Sie es " +"nützlich finden, Informationen zu Hosts oder Services mit Problemen " +"untereinander auszutauschen, insbesondere dann, wenn Sie gemeinsam daran " +"arbeiten. Stellen Sie sicher, hier eine kurze Beschreibung zu Ihrer " +"Tätigkeit einzutragen." #: /vagrant/modules/monitoring/application/forms/Command/Object/AcknowledgeProblemCommandForm.php:63 msgid "" -"If you would like the comment to remain even when the acknowledgement is removed, " -"check this option." +"If you would like the comment to remain even when the acknowledgement is " +"removed, check this option." msgstr "" "Aktivieren Sie diese Option, wenn der Kommentar auch nach dem Löschen der " "Bestätigung bestehen bleiben soll" #: /vagrant/modules/monitoring/application/views/helpers/HostFlags.php:25 #: /vagrant/modules/monitoring/application/views/helpers/ServiceFlags.php:21 -#: /vagrant/modules/monitoring/application/views/scripts/host/history.phtml:79 -#: /vagrant/modules/monitoring/application/views/scripts/list/eventhistory.phtml:58 #: /vagrant/modules/monitoring/application/views/scripts/partials/host/statusicons.phtml:17 #: /vagrant/modules/monitoring/application/views/scripts/partials/service/statusicons.phtml:17 -#: /vagrant/modules/monitoring/application/views/scripts/service/history.phtml:77 msgid "In Downtime" msgstr "In einer Downtime" -#: /vagrant/modules/monitoring/library/Monitoring/MonitoringWizard.php:182 -msgid "" -"In case it's desired that a TCP connection is being used by Icinga Web 2 to access " -"a Livestatus interface, the Sockets module for PHP is required." -msgstr "" -"Falls Sie beabsichtigen, Icinga Web 2 über eine TCP-Verbindung auf die Livestatus-" -"Schnittstelle zugreifen zu lassen, benötigen das Sockets-Modul für PHP." - #: /vagrant/modules/monitoring/application/views/scripts/downtime/show.phtml:151 msgid "In effect" msgstr "Aktiv" #: /vagrant/modules/monitoring/application/views/scripts/downtime/show.phtml:131 msgid "" -"Indicates the number of seconds that the scheduled downtime should last. This is " -"usually only needed if this is a flexible downtime, which can start at a variable " -"time, but lasts for the specified duration" +"Indicates the number of seconds that the scheduled downtime should last. " +"This is usually only needed if this is a flexible downtime, which can start " +"at a variable time, but lasts for the specified duration" msgstr "" -"Gibt die Anzahl der Sekunden an, die die geplante Downtime dauern soll. Dies wird " -"in der Regel nur dann gebraucht, wenn es sich um eine flexible Downtime handelt. " -"Diese kann zu einem variablen Zeitpunkt starten, aber dauert für die angegebene " -"Dauer an." +"Gibt die Anzahl der Sekunden an, die die geplante Downtime dauern soll. Dies " +"wird in der Regel nur dann gebraucht, wenn es sich um eine flexible " +"Downtime handelt. Diese kann zu einem variablen Zeitpunkt starten, aber " +"dauert für die angegebene Dauer an." #: /vagrant/modules/monitoring/application/views/scripts/show/components/command.phtml:7 msgid "Instance" @@ -1925,25 +1975,26 @@ msgstr "Ungültige Befehlsschnittstelle “%s” angegeben" #, php-format msgid "Invalid filter provided. You can only use the following columns: %s" msgstr "" -"Ungültiger Filter angegeben. Sie können nur die folgenden Spalten verwenden: %s" +"Ungültiger Filter angegeben. Sie können nur die folgenden Spalten verwenden: " +"%s" -#: /vagrant/modules/monitoring/application/controllers/ListController.php:224 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:226 msgid "Is In Effect" msgstr "Ist aktiv" -#: /vagrant/modules/monitoring/application/views/scripts/show/components/checksource.phtml:10 +#: /vagrant/modules/monitoring/application/views/scripts/show/components/checksource.phtml:11 msgid "Is reachable" msgstr "Ist erreichbar" #: /vagrant/modules/monitoring/application/forms/Setup/WelcomePage.php:43 msgid "" -"It offers various status and reporting views with powerful filter capabilities " -"that allow you to keep track of the most important events in your monitoring " -"environment." +"It offers various status and reporting views with powerful filter " +"capabilities that allow you to keep track of the most important events in " +"your monitoring environment." msgstr "" -"Bietet verschieden Status- und Berichtsansichten mit mächtigen Filtermöglichkeiten " -"an, die Ihnen dabei helfen, die wichtigsten Ereignisse in Ihrer Monitoringumgebung " -"im Blick zu behalten." +"Bietet verschieden Status- und Berichtsansichten mit mächtigen " +"Filtermöglichkeiten an, die Ihnen dabei helfen, die wichtigsten Ereignisse " +"in Ihrer Monitoringumgebung im Blick zu behalten." #: /vagrant/modules/monitoring/application/views/helpers/Perfdata.php:36 msgid "Label" @@ -1957,7 +2008,7 @@ msgstr "Letzter Check" msgid "Last External Command Check" msgstr "Letzter Check für externes Kommando" -#: /vagrant/modules/monitoring/application/controllers/ListController.php:166 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:168 msgid "Last Host Check" msgstr "Letzter Host-Check" @@ -1965,10 +2016,16 @@ msgstr "Letzter Host-Check" msgid "Last Log File Rotation" msgstr "Letzte Logdateirotation" -#: /vagrant/modules/monitoring/application/controllers/ListController.php:161 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:162 msgid "Last Service Check" msgstr "Letzter Service-Check" +#: /vagrant/modules/monitoring/application/controllers/ListController.php:98 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:163 +#, fuzzy +msgid "Last State Change" +msgstr "Zustandsänderungen" + #: /vagrant/modules/monitoring/application/views/scripts/health/info.phtml:28 msgid "Last Status Update" msgstr "Letze Status-Aktualisierung" @@ -1981,11 +2038,11 @@ msgstr "Letzter Check" msgid "Last update" msgstr "Letze Aktualisierung" -#: /vagrant/modules/monitoring/configuration.php:270 +#: /vagrant/modules/monitoring/configuration.php:290 msgid "Late Host Check Results" msgstr "Verspätete Host-Überprüfungen" -#: /vagrant/modules/monitoring/configuration.php:274 +#: /vagrant/modules/monitoring/configuration.php:294 msgid "Late Service Check Results" msgstr "Verspätete Service-Überprüfungen" @@ -1997,14 +2054,14 @@ msgstr "Latenz" msgid "Legend" msgstr "Legende" -#: /vagrant/modules/monitoring/application/views/scripts/show/components/actions.phtml:19 -#: /vagrant/modules/monitoring/application/views/scripts/show/components/actions.phtml:20 +#: /vagrant/modules/monitoring/application/views/scripts/show/components/actions.phtml:17 +#: /vagrant/modules/monitoring/application/views/scripts/show/components/actions.phtml:18 #: /vagrant/modules/monitoring/application/views/scripts/show/components/notes.phtml:23 #: /vagrant/modules/monitoring/application/views/scripts/show/components/notes.phtml:24 msgid "Link opens in new window" msgstr "Link öffnet sich in einem neuen Fenster" -#: /vagrant/modules/monitoring/application/views/scripts/list/hosts.phtml:79 +#: /vagrant/modules/monitoring/application/views/scripts/list/hosts.phtml:77 #, php-format msgid "List %s unhandled service problem on host %s" msgid_plural "List %s unhandled service problems on host %s" @@ -2151,15 +2208,25 @@ msgstr[0] "Zeige %u Service im Zustand CRITICAL" msgstr[1] "Zeige %u Services im Zustand CRITICAL" #: /vagrant/modules/monitoring/application/views/scripts/tactical/components/parts/servicestatesummarybyhoststate.phtml:41 -#, php-format -msgid "List %u service that is currently in state CRITICAL (Acknowledged)" -msgid_plural "List %u services which are currently in state CRITICAL (Acknowledged)" +#, fuzzy, php-format +msgid "List %u service that is currently in state CRITICAL (Handled)" +msgid_plural "List %u services which are currently in state CRITICAL (Handled)" msgstr[0] "Zeige %u Service im Zustand CRITICAL (unbestätigt)" msgstr[1] "Zeige %u Services im Zustand CRITICAL (unbestätigt)" +#: /vagrant/modules/monitoring/application/views/scripts/tactical/components/parts/servicestatesummarybyhoststate.phtml:95 +#, fuzzy, php-format +msgid "" +"List %u service that is currently in state CRITICAL and not checked at all" +msgid_plural "" +"List %u services which are currently in state CRITICAL and not checked at all" +msgstr[0] "Zeige %u Service, der gerade OK ist und nicht überwacht wird" +msgstr[1] "Zeige %u Services, die gerade OK sind und nicht überwacht werden" + #: /vagrant/modules/monitoring/application/views/scripts/tactical/components/parts/servicestatesummarybyhoststate.phtml:68 #, php-format -msgid "List %u service that is currently in state CRITICAL and passively checked" +msgid "" +"List %u service that is currently in state CRITICAL and passively checked" msgid_plural "" "List %u services which are currently in state CRITICAL and passively checked" msgstr[0] "Zeige %u Service, der gerade CRITICAL und passiv überwacht ist" @@ -2189,11 +2256,13 @@ msgstr[1] "Zeige %u Services, die gerade PENDING sind" #: /vagrant/modules/monitoring/application/views/scripts/tactical/components/parts/servicestatesummarybyhoststate.phtml:387 #, php-format -msgid "List %u service that is currently in state PENDING and not checked at all" +msgid "" +"List %u service that is currently in state PENDING and not checked at all" msgid_plural "" "List %u services which are currently in state PENDING and not checked at all" msgstr[0] "Zeige %u Service, der gerade PENDING ist und nicht überwacht wird" -msgstr[1] "Zeige %u Services, die gerade PENDING sind und nicht überwacht werden" +msgstr[1] "" +"Zeige %u Services, die gerade PENDING sind und nicht überwacht werden" #: /vagrant/modules/monitoring/application/views/scripts/tactical/components/parts/servicestatesummarybyhoststate.phtml:218 #, php-format @@ -2203,27 +2272,31 @@ msgstr[0] "Zeige %u Service, der gerade UNKNOWN ist" msgstr[1] "Zeige %u Services, die gerade UNKNOWN sind" #: /vagrant/modules/monitoring/application/views/scripts/tactical/components/parts/servicestatesummarybyhoststate.phtml:239 -#, php-format -msgid "List %u service that is currently in state UNKNOWN (Acknowledged)" -msgid_plural "List %u services which are currently in state UNKNOWN (Acknowledged)" +#, fuzzy, php-format +msgid "List %u service that is currently in state UNKNOWN (Handled)" +msgid_plural "List %u services which are currently in state UNKNOWN (Handled)" msgstr[0] "Zeige %u Service, der gerade UNKNOWN ist (bestätigt)" msgstr[1] "Zeige %u Services, die gerade UNKNOWN sind (bestätigt)" #: /vagrant/modules/monitoring/application/views/scripts/tactical/components/parts/servicestatesummarybyhoststate.phtml:293 #, php-format -msgid "List %u service that is currently in state UNKNOWN and not checked at all" +msgid "" +"List %u service that is currently in state UNKNOWN and not checked at all" msgid_plural "" "List %u services which are currently in state UNKNOWN and not checked at all" msgstr[0] "Zeige %u Service, der gerade UNKNOWN ist und nicht überwacht wird" -msgstr[1] "Zeige %u Services, die gerade UNKNOWN sind und nicht überwacht werden" +msgstr[1] "" +"Zeige %u Services, die gerade UNKNOWN sind und nicht überwacht werden" #: /vagrant/modules/monitoring/application/views/scripts/tactical/components/parts/servicestatesummarybyhoststate.phtml:266 #, php-format -msgid "List %u service that is currently in state UNKNOWN and passively checked" +msgid "" +"List %u service that is currently in state UNKNOWN and passively checked" msgid_plural "" "List %u services which are currently in state UNKNOWN and passively checked" msgstr[0] "Zeige %u Service, der gerade UNKNOWN ist und passiv überwacht wird" -msgstr[1] "Zeige %u Services, die gerade UNKNOWN sind und passiv überwacht werden" +msgstr[1] "" +"Zeige %u Services, die gerade UNKNOWN sind und passiv überwacht werden" #: /vagrant/modules/monitoring/application/views/scripts/tactical/components/parts/servicestatesummarybyhoststate.phtml:119 #, php-format @@ -2233,27 +2306,31 @@ msgstr[0] "Zeige %u Service, der gerade WARNING ist" msgstr[1] "Zeige %u Services, die gerade WARNING sind" #: /vagrant/modules/monitoring/application/views/scripts/tactical/components/parts/servicestatesummarybyhoststate.phtml:140 -#, php-format -msgid "List %u service that is currently in state WARNING (Acknowledged)" -msgid_plural "List %u services which are currently in state WARNING (Acknowledged)" +#, fuzzy, php-format +msgid "List %u service that is currently in state WARNING (Handled)" +msgid_plural "List %u services which are currently in state WARNING (Handled)" msgstr[0] "Zeige %u Service, der gerade WARNING ist (bestätigt)" msgstr[1] "Zeige %u Services, die gerade WARNING sind (bestätigt)" #: /vagrant/modules/monitoring/application/views/scripts/tactical/components/parts/servicestatesummarybyhoststate.phtml:194 #, php-format -msgid "List %u service that is currently in state WARNING and not checked at all" +msgid "" +"List %u service that is currently in state WARNING and not checked at all" msgid_plural "" "List %u services which are currently in state WARNING and not checked at all" msgstr[0] "Zeige %u Service, der gerade WARNING ist und nicht überwacht wird" -msgstr[1] "Zeige %u Services, die gerade WARNING sind und nicht überwacht werden" +msgstr[1] "" +"Zeige %u Services, die gerade WARNING sind und nicht überwacht werden" #: /vagrant/modules/monitoring/application/views/scripts/tactical/components/parts/servicestatesummarybyhoststate.phtml:167 #, php-format -msgid "List %u service that is currently in state WARNING and passively checked" +msgid "" +"List %u service that is currently in state WARNING and passively checked" msgid_plural "" "List %u services which are currently in state WARNING and passively checked" msgstr[0] "Zeige %u Service, der gerade WARNING ist und passiv überwacht wird" -msgstr[1] "Zeige %u Services, die gerade WARNING sind und passiv überwacht werden" +msgstr[1] "" +"Zeige %u Services, die gerade WARNING sind und passiv überwacht werden" #: /vagrant/modules/monitoring/application/views/scripts/tactical/components/hostservicechecks.phtml:118 #, php-format @@ -2279,7 +2356,12 @@ msgstr "Zeige alle %d Kommentare" msgid "List all %d downtimes" msgstr "Zeige alle %d Downtimes" -#: /vagrant/modules/monitoring/application/views/scripts/partials/service/objects-header.phtml:35 +#: /vagrant/modules/monitoring/application/views/scripts/partials/host/objects-header.phtml:32 +#, fuzzy, php-format +msgid "List all %d hosts" +msgstr "Zeige alle %d Hosts" + +#: /vagrant/modules/monitoring/application/views/scripts/partials/service/objects-header.phtml:36 #, php-format msgid "List all %d services" msgstr "Zeige alle %d Services" @@ -2308,28 +2390,28 @@ msgstr "Zeige alle Hosts, für die Benachrichtigungen aktiv sind" msgid "List all hosts, which are processing event handlers entirely" msgstr "Zeige alle Hosts, welche Eventhandler verarbeiten" -#: /vagrant/modules/monitoring/application/views/scripts/list/servicegrid.phtml:68 +#: /vagrant/modules/monitoring/application/views/scripts/list/servicegrid.phtml:56 #, php-format msgid "List all reported services on host %s" msgstr "Zeige alle gemeldeten Services auf Host %s" -#: /vagrant/modules/monitoring/application/views/scripts/list/servicegroups.phtml:36 +#: /vagrant/modules/monitoring/application/views/scripts/list/servicegroups.phtml:38 #: /vagrant/modules/monitoring/application/views/scripts/show/components/servicegroups.phtml:11 #, php-format msgid "List all services in the group \"%s\"" msgstr "Zeige alle Services in der Gruppe “%s”" -#: /vagrant/modules/monitoring/application/views/scripts/list/hostgroups.phtml:140 +#: /vagrant/modules/monitoring/application/views/scripts/list/hostgroups.phtml:141 #, php-format msgid "List all services of all hosts in host group \"%s\"" msgstr "Zeige alle Services von allen Hosts in der Hostgruppe %s" -#: /vagrant/modules/monitoring/library/Monitoring/Web/Controller/MonitoredObjectController.php:208 +#: /vagrant/modules/monitoring/library/Monitoring/Web/Controller/MonitoredObjectController.php:209 #, php-format msgid "List all services on host %s" msgstr "Zeige alle Services von Host %s" -#: /vagrant/modules/monitoring/application/views/scripts/list/servicegrid.phtml:48 +#: /vagrant/modules/monitoring/application/views/scripts/list/servicegrid.phtml:36 #, php-format msgid "List all services with the name \"%s\" on all reported hosts" msgstr "Zeige alle Services mit dem Namen “%s” auf allen gemeldeten Hosts" @@ -2346,32 +2428,32 @@ msgstr "Zeige alle Hosts, für die Benachrichtigungen aktiv sind" msgid "List all services, which are processing event handlers entirely" msgstr "Zeige alle Hosts, welche Eventhandler verarbeiten" -#: /vagrant/modules/monitoring/application/controllers/ListController.php:388 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:390 msgid "List comments" msgstr "Zeige Kommentare" -#: /vagrant/modules/monitoring/application/controllers/ListController.php:348 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:350 msgid "List contact groups" msgstr "Zeige Kontaktgruppen" -#: /vagrant/modules/monitoring/application/controllers/ListController.php:277 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:279 msgid "List contacts" msgstr "Zeige Kontakte" -#: /vagrant/modules/monitoring/application/views/scripts/show/components/contacts.phtml:30 +#: /vagrant/modules/monitoring/application/views/scripts/show/components/contacts.phtml:29 #, php-format msgid "List contacts in contact-group \"%s\"" msgstr "Zeige Kontakte in der Kontaktgruppe “%s”" -#: /vagrant/modules/monitoring/application/controllers/ListController.php:192 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:194 msgid "List downtimes" msgstr "Zeige Downtimes" -#: /vagrant/modules/monitoring/application/controllers/ListController.php:507 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:509 msgid "List event records" msgstr "Zeige Ereigniseinträge" -#: /vagrant/modules/monitoring/application/controllers/ListController.php:465 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:467 msgid "List host groups" msgstr "Zeige Hostgruppen" @@ -2379,15 +2461,15 @@ msgstr "Zeige Hostgruppen" msgid "List hosts" msgstr "Zeige Hosts" -#: /vagrant/modules/monitoring/application/controllers/ListController.php:250 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:252 msgid "List notifications" msgstr "Zeige Benachrichtigungen" -#: /vagrant/modules/monitoring/application/controllers/ListController.php:433 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:435 msgid "List service groups" msgstr "Servicegruppen auflisten" -#: /vagrant/modules/monitoring/application/controllers/ListController.php:119 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:120 msgid "List services" msgstr "Zeige Services" @@ -2395,14 +2477,12 @@ msgstr "Zeige Services" msgid "Livestatus Resource" msgstr "Livestatus Ressource" -#: /vagrant/modules/monitoring/application/views/scripts/host/history.phtml:155 -#: /vagrant/modules/monitoring/application/views/scripts/list/eventhistory.phtml:128 -#: /vagrant/modules/monitoring/application/views/scripts/service/history.phtml:139 +#: /vagrant/modules/monitoring/application/views/scripts/partials/event-history.phtml:170 msgid "Load More" msgstr "Mehr laden" -#: /vagrant/modules/monitoring/application/views/scripts/list/servicegrid.phtml:105 -#: /vagrant/modules/monitoring/application/views/scripts/list/servicegrid.phtml:126 +#: /vagrant/modules/monitoring/application/views/scripts/list/servicegrid.phtml:93 +#: /vagrant/modules/monitoring/application/views/scripts/list/servicegrid.phtml:114 msgid "Load more" msgstr "Mehr laden" @@ -2426,6 +2506,11 @@ msgstr "" msgid "Max (min)" msgstr "" +#: /vagrant/modules/monitoring/application/views/helpers/Perfdata.php:38 +#, fuzzy +msgid "Min" +msgstr "Minuten" + #: /vagrant/modules/monitoring/application/forms/Command/Object/ScheduleServiceDowntimeCommandForm.php:147 msgid "Minutes" msgstr "Minuten" @@ -2448,6 +2533,11 @@ msgstr "Monitoring-Backends" msgid "Monitoring Features" msgstr "Monitoring-Features" +#: /vagrant/modules/monitoring/configuration.php:245 +#, fuzzy +msgid "Monitoring Health" +msgstr "Monitoring-Features" + #: /vagrant/modules/monitoring/application/forms/Setup/IdoResourcePage.php:21 msgctxt "setup.page.title" msgid "Monitoring IDO Resource" @@ -2490,10 +2580,11 @@ msgstr "Das Monitoring-Backend %s läuft nicht" #: /vagrant/modules/monitoring/library/Monitoring/BackendStep.php:151 #, php-format msgid "" -"Monitoring backend configuration could not be written to: %s. An error occured:" +"Monitoring backend configuration could not be written to: %s. An error " +"occured:" msgstr "" -"Die Konfiguration für das Monitoring-Backend konnte nicht nach “%s” geschrieben " -"werden. Ein Fehler ist aufgetreten:" +"Die Konfiguration für das Monitoring-Backend konnte nicht nach “%s” " +"geschrieben werden. Ein Fehler ist aufgetreten:" #: /vagrant/modules/monitoring/library/Monitoring/BackendStep.php:144 #, php-format @@ -2509,21 +2600,27 @@ msgstr "Monitoring-Backend erfolgreich angelegt" #: /vagrant/modules/monitoring/library/Monitoring/SecurityStep.php:76 #, php-format msgid "" -"Monitoring security configuration could not be written to: %s. An error occured:" +"Monitoring security configuration could not be written to: %s. An error " +"occured:" msgstr "" -"Die Sicherheitskonfiguration für das Monitoring konnte nicht nach “%s” geschrieben " -"werden. Ein Fehler ist aufgetreten:" +"Die Sicherheitskonfiguration für das Monitoring konnte nicht nach “%s” " +"geschrieben werden. Ein Fehler ist aufgetreten:" #: /vagrant/modules/monitoring/library/Monitoring/SecurityStep.php:68 #, php-format msgid "Monitoring security configuration has been successfully created: %s" msgstr "" -"Die Sicherheitskonfiguration für das Monitoring wurde erfolgreich angelegt: %s" +"Die Sicherheitskonfiguration für das Monitoring wurde erfolgreich angelegt: " +"%s" #: /vagrant/modules/monitoring/application/controllers/AlertsummaryController.php:648 msgid "Month" msgstr "Monat" +#: /vagrant/modules/monitoring/configuration.php:309 +msgid "Muted" +msgstr "" + #: /vagrant/modules/monitoring/application/views/scripts/health/info.phtml:21 #: /vagrant/modules/monitoring/application/views/scripts/health/info.phtml:39 #: /vagrant/modules/monitoring/application/views/scripts/health/info.phtml:45 @@ -2532,7 +2629,11 @@ msgstr "Monat" msgid "N/A" msgstr "Nicht verfügbar" -#: /vagrant/modules/monitoring/application/controllers/ListController.php:294 +#: /vagrant/modules/monitoring/application/views/scripts/partials/event-history.phtml:45 +msgid "NOTIFICATION" +msgstr "" + +#: /vagrant/modules/monitoring/application/controllers/ListController.php:296 #: /vagrant/modules/monitoring/application/views/scripts/list/contacts.phtml:17 msgid "Name" msgstr "Name" @@ -2541,11 +2642,11 @@ msgstr "Name" msgid "New security configuration has successfully been stored" msgstr "Die neue Sicherheitskonfiguration wurde erfolgreich gespeichert" -#: /vagrant/modules/monitoring/application/views/scripts/show/components/checkstatistics.phtml:19 +#: /vagrant/modules/monitoring/application/views/scripts/show/components/checkstatistics.phtml:22 msgid "Next check" msgstr "Nächster Check" -#: /vagrant/modules/monitoring/application/views/scripts/show/components/checkstatistics.phtml:19 +#: /vagrant/modules/monitoring/application/views/scripts/show/components/checkstatistics.phtml:22 msgid "Next update" msgstr "Nächste Aktualisierung" @@ -2563,7 +2664,7 @@ msgstr "Es wurde kein Backend konfiguriert" msgid "No command transports have been configured in \"%s\"." msgstr "Keine Befehlsschnittstellen konfiguriert in “%s”." -#: /vagrant/modules/monitoring/application/views/scripts/list/comments.phtml:38 +#: /vagrant/modules/monitoring/application/views/scripts/list/comments.phtml:15 msgid "No comments found matching the filter" msgstr "Zu diesem Filter wurden keine Kommentare gefunden" @@ -2580,14 +2681,14 @@ msgstr "Zu diesem Filter wurden keine Kontaktgruppen gefunden" msgid "No contacts found matching the filter" msgstr "Zu diesem Filter wurden keine Kontakte gefunden" -#: /vagrant/modules/monitoring/application/views/scripts/list/downtimes.phtml:42 -msgid "No downtimes found matching the filter, maybe the downtime already expired." +#: /vagrant/modules/monitoring/application/views/scripts/list/downtimes.phtml:41 +msgid "" +"No downtimes found matching the filter, maybe the downtime already expired." msgstr "Zu diesem Filter wurden keine Downtimes gefunden." -#: /vagrant/modules/monitoring/application/views/scripts/host/history.phtml:152 -#: /vagrant/modules/monitoring/application/views/scripts/list/eventhistory.phtml:114 -#: /vagrant/modules/monitoring/application/views/scripts/service/history.phtml:136 -msgid "No history events found matching the filter" +#: /vagrant/modules/monitoring/application/views/scripts/partials/event-history.phtml:31 +#, fuzzy +msgid "No historical events found matching the filter." msgstr "Zu diesem Filter wurden keine historischen Ereignisse gefunden" #: /vagrant/modules/monitoring/application/views/scripts/list/hostgroups.phtml:18 @@ -2606,8 +2707,9 @@ msgstr "Zu diesem Filter wurden keine Hosts gefunden." msgid "No notification has been sent for this issue." msgstr "Für dieses Problem wurde keine Benachrichtigung gesendet." -#: /vagrant/modules/monitoring/application/views/scripts/list/notifications.phtml:74 -msgid "No notifications found matching the filter" +#: /vagrant/modules/monitoring/application/views/scripts/list/notifications.phtml:18 +#, fuzzy +msgid "No notifications found matching the filter." msgstr "Zu diesem Filter wurde keine Benachrichtigung gefunden" #: /vagrant/modules/monitoring/application/views/scripts/show/contact.phtml:69 @@ -2618,6 +2720,17 @@ msgstr "Für dieses Problem wurde keine Benachrichtigung gesendet" msgid "No service groups found matching the filter." msgstr "Zu diesem Filter wurden keine Servicegruppen gefundenn" +#: /vagrant/modules/monitoring/application/views/scripts/services/show.phtml:20 +#, fuzzy +msgid "No services found matching the filter" +msgstr "Zu diesem Filter wurden keine Servicegruppen gefundenn" + +#: /vagrant/modules/monitoring/application/views/scripts/list/servicegrid.phtml:14 +#: /vagrant/modules/monitoring/application/views/scripts/list/services.phtml:22 +#, fuzzy +msgid "No services found matching the filter." +msgstr "Zu diesem Filter wurden keine Servicegruppen gefundenn" + #: /vagrant/modules/monitoring/application/views/scripts/list/eventgrid.phtml:81 msgid "No state changes in the selected time period." msgstr "Keine Zustandsänderungen im gewählten Zeitabschnitt" @@ -2635,38 +2748,37 @@ msgctxt "command transport instance association" msgid "None" msgstr "Keines" -#: /vagrant/modules/monitoring/application/views/scripts/show/components/acknowledgement.phtml:55 +#: /vagrant/modules/monitoring/application/views/scripts/show/components/acknowledgement.phtml:57 msgid "Not acknowledged" msgstr "Nicht bestätigt" -#: /vagrant/modules/monitoring/application/views/scripts/show/components/checksource.phtml:12 +#: /vagrant/modules/monitoring/application/views/scripts/show/components/checksource.phtml:13 msgid "Not reachable" msgstr "Nicht erreichbar" +#: /vagrant/modules/monitoring/application/views/scripts/list/notifications.phtml:68 +#, fuzzy +msgid "Not sent out to any contact" +msgstr "Diese Benachrichtigung wurde an keinen Kontakt gesendet." + #: /vagrant/modules/monitoring/application/views/scripts/show/components/notes.phtml:43 msgid "Notes" msgstr "Bemerkungen" -#: /vagrant/modules/monitoring/application/views/scripts/host/history.phtml:52 -#: /vagrant/modules/monitoring/application/views/scripts/list/eventhistory.phtml:45 -#: /vagrant/modules/monitoring/application/views/scripts/service/history.phtml:50 -msgid "Notification" -msgstr "Benachrichtigung" - -#: /vagrant/modules/monitoring/application/controllers/ListController.php:271 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:273 msgid "Notification Start" msgstr "Benachrichtigungsanfang" -#: /vagrant/modules/monitoring/configuration.php:200 +#: /vagrant/modules/monitoring/configuration.php:220 #: /vagrant/modules/monitoring/application/controllers/AlertsummaryController.php:329 #: /vagrant/modules/monitoring/application/controllers/AlertsummaryController.php:424 #: /vagrant/modules/monitoring/application/controllers/AlertsummaryController.php:467 #: /vagrant/modules/monitoring/application/controllers/AlertsummaryController.php:474 -#: /vagrant/modules/monitoring/application/controllers/ListController.php:249 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:251 #: /vagrant/modules/monitoring/application/controllers/TimelineController.php:50 #: /vagrant/modules/monitoring/application/forms/EventOverviewForm.php:74 -#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:125 -#: /vagrant/modules/monitoring/application/forms/Command/Object/ToggleObjectFeaturesCommandForm.php:68 +#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:123 +#: /vagrant/modules/monitoring/application/forms/Command/Object/ToggleObjectFeaturesCommandForm.php:50 #: /vagrant/modules/monitoring/application/views/scripts/hosts/show.phtml:137 #: /vagrant/modules/monitoring/application/views/scripts/hosts/show.phtml:141 #: /vagrant/modules/monitoring/application/views/scripts/partials/object/detail-content.phtml:24 @@ -2693,7 +2805,17 @@ msgstr "Benachrichtigungen und Probleme" msgid "Notifications and average reaction time per hour." msgstr "Benachrichtigungen und durchschnittliche Reaktionszeiten pro Stunden." -#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:76 +#: /vagrant/modules/monitoring/application/controllers/AlertsummaryController.php:464 +#, fuzzy +msgid "Notifications and defects per hour" +msgstr "Benachrichtigungen per Stunde" + +#: /vagrant/modules/monitoring/application/views/scripts/show/contact.phtml:58 +#, fuzzy +msgid "Notifications sent to this contact" +msgstr "Für dieses Problem wurde keine Benachrichtigung gesendet" + +#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:74 #, php-format msgid "Notifications will be re-enabled in %s" msgstr "Benachrichtigungen werden reaktiviert in %s" @@ -2703,7 +2825,7 @@ msgstr "Benachrichtigungen werden reaktiviert in %s" msgid "Notifications will be re-enabled in %s." msgstr "Benachrichtigungen werden reaktiviert in %s." -#: /vagrant/modules/monitoring/library/Monitoring/Object/Service.php:188 +#: /vagrant/modules/monitoring/library/Monitoring/Object/Service.php:190 msgid "OK" msgstr "OK" @@ -2716,19 +2838,19 @@ msgstr "OK" msgid "Object type" msgstr "Objekttyp" -#: /vagrant/modules/monitoring/application/forms/Command/Object/ToggleObjectFeaturesCommandForm.php:57 +#: /vagrant/modules/monitoring/application/forms/Command/Object/ToggleObjectFeaturesCommandForm.php:46 msgid "Obsessing" msgstr "Verfolgung" -#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:148 +#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:146 msgid "Obsessing Over Hosts" msgstr "Host-Checks verfolgen" -#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:157 +#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:155 msgid "Obsessing Over Services" msgstr "Service-Checks verfolgen" -#: /vagrant/modules/monitoring/application/controllers/ListController.php:528 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:530 msgid "Occurence" msgstr "Vorkommen" @@ -2761,16 +2883,16 @@ msgstr "Ein Jahr" msgid "Output" msgstr "Check Ausgabe" -#: /vagrant/modules/monitoring/configuration.php:268 +#: /vagrant/modules/monitoring/configuration.php:288 msgid "Overdue" msgstr "Überfällig" -#: /vagrant/modules/monitoring/configuration.php:144 +#: /vagrant/modules/monitoring/configuration.php:164 msgid "Overview" msgstr "Übersicht" #: /vagrant/modules/monitoring/library/Monitoring/Object/Host.php:191 -#: /vagrant/modules/monitoring/library/Monitoring/Object/Service.php:200 +#: /vagrant/modules/monitoring/library/Monitoring/Object/Service.php:202 msgid "PENDING" msgstr "PENDING" @@ -2779,20 +2901,20 @@ msgstr "PENDING" msgid "Pager" msgstr "Pager" -#: /vagrant/modules/monitoring/application/controllers/ListController.php:297 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:299 msgid "Pager Address / Number" msgstr "Pageradresse/-nummer" -#: /vagrant/modules/monitoring/application/forms/Command/Object/ToggleObjectFeaturesCommandForm.php:46 +#: /vagrant/modules/monitoring/application/forms/Command/Object/ToggleObjectFeaturesCommandForm.php:42 #: /vagrant/modules/monitoring/application/views/scripts/health/stats.phtml:141 msgid "Passive Checks" msgstr "Passive Checks" -#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:166 +#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:164 msgid "Passive Host Checks" msgstr "Passive Host-Checks" -#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:175 +#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:173 msgid "Passive Service Checks" msgstr "Passive Service-Checks" @@ -2816,7 +2938,7 @@ msgstr "Pfad zur lokalen Icinga Kommandodatei" msgid "Per Host" msgstr "pro Host" -#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:186 +#: /vagrant/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php:184 #: /vagrant/modules/monitoring/application/forms/Command/Object/ProcessCheckResultCommandForm.php:77 msgid "Performance Data" msgstr "Performancedaten" @@ -2836,35 +2958,37 @@ msgstr "Persistenter Kommentar" #: /vagrant/modules/monitoring/application/forms/Setup/BackendPage.php:16 msgid "" -"Please configure below how Icinga Web 2 should retrieve monitoring information." +"Please configure below how Icinga Web 2 should retrieve monitoring " +"information." msgstr "" "Bitte konfigurieren Sie weiter unten, wie Icinga Web 2 Monitoringinformation " "abrufen soll." #: /vagrant/modules/monitoring/application/forms/Setup/TransportPage.php:16 msgid "" -"Please define below how you want to send commands to your monitoring instance." +"Please define below how you want to send commands to your monitoring " +"instance." msgstr "" "Bitte legen Sie weiter unten fest, wie Kommandos an Ihre Monitoringinstanz " "gesendet werden sollen." #: /vagrant/modules/monitoring/application/forms/Setup/IdoResourcePage.php:23 msgid "" -"Please fill out the connection details below to access the IDO database of your " -"monitoring environment." +"Please fill out the connection details below to access the IDO database of " +"your monitoring environment." msgstr "" -"Bitte geben Sie weiter unten die Verbindungsdetails für die IDO-Datenbank Ihrer " -"Monitoringumgebung an." +"Bitte geben Sie weiter unten die Verbindungsdetails für die IDO-Datenbank " +"Ihrer Monitoringumgebung an." #: /vagrant/modules/monitoring/application/forms/Setup/LivestatusResourcePage.php:16 msgid "" "Please fill out the connection details below to access the Livestatus socket " "interface for your monitoring environment." msgstr "" -"Bitte geben Sie weiter unten die Verbindungsdetails für den Livestatus-Socket " -"Ihrer Monitoringumgebung an." +"Bitte geben Sie weiter unten die Verbindungsdetails für den Livestatus-" +"Socket Ihrer Monitoringumgebung an." -#: /vagrant/modules/monitoring/application/views/scripts/show/components/output.phtml:2 +#: /vagrant/modules/monitoring/application/views/scripts/show/components/output.phtml:1 msgid "Plugin Output" msgstr "Ausgabe des Plugins" @@ -2873,14 +2997,15 @@ msgstr "Ausgabe des Plugins" msgid "Port" msgstr "Port" -#: /vagrant/modules/monitoring/application/views/scripts/list/components/selectioninfo.phtml:2 -msgctxt "multiselection" +#: /vagrant/modules/monitoring/application/views/scripts/list/components/selectioninfo.phtml:3 +#, fuzzy +msgctxt "Multi-selection help" msgid "" -"Press and hold the Ctrl key while clicking on rows to select multiple rows or " -"press and hold the Shift key to select a range of rows." +"Press and hold the Ctrl key while clicking on rows to select multiple rows " +"or press and hold the Shift key to select a range of rows" msgstr "" -"Drücken und halten Sie STRG, um mehrere einzelne Spalten per Klick auszuwählen. " -"Hochstelltaste und Klick zusammenhängende Bereiche von Spalten." +"Drücken und halten Sie STRG, um mehrere einzelne Spalten per Klick " +"auszuwählen. Hochstelltaste und Klick zusammenhängende Bereiche von Spalten." #: /vagrant/modules/monitoring/application/views/scripts/hosts/show.phtml:20 msgid "Problem Handling" @@ -2891,10 +3016,15 @@ msgstr "Problembehandlung" msgid "Problem handling" msgstr "Problembehandlung" -#: /vagrant/modules/monitoring/configuration.php:100 +#: /vagrant/modules/monitoring/configuration.php:120 msgid "Problems" msgstr "Probleme" +#: /vagrant/modules/monitoring/application/views/scripts/health/info.phtml:14 +#, fuzzy +msgid "Process Info" +msgstr "Prozessinformation" + #: /vagrant/modules/monitoring/application/controllers/HealthController.php:33 #: /vagrant/modules/monitoring/application/controllers/HealthController.php:55 msgid "Process Information" @@ -2926,7 +3056,7 @@ msgstr "Programmversion" msgid "Protected Custom Variables" msgstr "Geschützte Customvariablen" -#: /vagrant/modules/monitoring/configuration.php:240 +#: /vagrant/modules/monitoring/configuration.php:260 msgid "Recently Recovered Services" msgstr "Vor kurzem erholte Services" @@ -2938,6 +3068,11 @@ msgstr "Remote" msgid "Remote Command File" msgstr "Remote Kommandodatei" +#: /vagrant/modules/monitoring/library/Monitoring/TransportStep.php:59 +#, fuzzy +msgid "Remote Host" +msgstr "Remote SSH Port" + #: /vagrant/modules/monitoring/library/Monitoring/TransportStep.php:63 msgid "Remote SSH Port" msgstr "Remote SSH Port" @@ -2999,13 +3134,14 @@ msgstr "Befehlsschnittstelle %s entfernen" msgid "Remove monitoring backend %s" msgstr "Entferne Monitoringbackend %s" -#: /vagrant/modules/monitoring/application/forms/Command/Object/RemoveAcknowledgementCommandForm.php:41 +#: /vagrant/modules/monitoring/application/forms/Command/Object/RemoveAcknowledgementCommandForm.php:73 +#: /vagrant/modules/monitoring/application/forms/Command/Object/RemoveAcknowledgementCommandForm.php:92 msgid "Remove problem acknowledgement" msgid_plural "Remove problem acknowledgements" msgstr[0] "Entferne Problembestätigung" msgstr[1] "Problembestätigung entfernen" -#: /vagrant/modules/monitoring/application/forms/Command/Object/RemoveAcknowledgementCommandForm.php:65 +#: /vagrant/modules/monitoring/application/forms/Command/Object/RemoveAcknowledgementCommandForm.php:114 msgid "Removing problem acknowledgement.." msgid_plural "Removing problem acknowledgements.." msgstr[0] "Entferne Problembestätigung.." @@ -3015,30 +3151,30 @@ msgstr[1] "Problembestätigung entfernen" msgid "Report interval" msgstr "Berichtintervall" -#: /vagrant/modules/monitoring/configuration.php:212 +#: /vagrant/modules/monitoring/configuration.php:232 msgid "Reporting" msgstr "Berichte" -#: /vagrant/modules/monitoring/application/views/scripts/hosts/show.phtml:186 -#: /vagrant/modules/monitoring/application/views/scripts/services/show.phtml:188 -#: /vagrant/modules/monitoring/application/views/scripts/show/components/checkstatistics.phtml:24 -#: /vagrant/modules/monitoring/application/views/scripts/show/components/checkstatistics.phtml:38 +#: /vagrant/modules/monitoring/application/views/scripts/hosts/show.phtml:188 +#: /vagrant/modules/monitoring/application/views/scripts/services/show.phtml:190 +#: /vagrant/modules/monitoring/application/views/scripts/show/components/checkstatistics.phtml:34 +#: /vagrant/modules/monitoring/application/views/scripts/show/components/checkstatistics.phtml:48 msgid "Reschedule" msgstr "Neu planen" -#: /vagrant/modules/monitoring/application/controllers/HostController.php:144 +#: /vagrant/modules/monitoring/application/controllers/HostController.php:142 msgid "Reschedule Host Check" msgstr "Host-Check neu planen" -#: /vagrant/modules/monitoring/application/controllers/HostsController.php:194 +#: /vagrant/modules/monitoring/application/controllers/HostsController.php:186 msgid "Reschedule Host Checks" msgstr "Host-Checks neu planen" -#: /vagrant/modules/monitoring/application/controllers/ServiceController.php:102 +#: /vagrant/modules/monitoring/application/controllers/ServiceController.php:100 msgid "Reschedule Service Check" msgstr "Service-Check neu planen" -#: /vagrant/modules/monitoring/application/controllers/ServicesController.php:207 +#: /vagrant/modules/monitoring/application/controllers/ServicesController.php:189 msgid "Reschedule Service Checks" msgstr "Service-Checks neu planen" @@ -3055,15 +3191,15 @@ msgstr "Ressourcenname" #, php-format msgid "Resource configuration could not be udpated: %s. An error occured:" msgstr "" -"Die Resourcenkonfiguration konnte nicht aktualisiert werden: %s. Ein Fehler ist " -"aufgetreten:" +"Die Resourcenkonfiguration konnte nicht aktualisiert werden: %s. Ein Fehler " +"ist aufgetreten:" #: /vagrant/modules/monitoring/library/Monitoring/BackendStep.php:160 #, php-format msgid "Resource configuration has been successfully updated: %s" msgstr "Die Ressourcenkonfiguration wurde erfolgreich aktualisiert: %s" -#: /vagrant/modules/monitoring/configuration.php:65 +#: /vagrant/modules/monitoring/configuration.php:85 msgid "Restrict views to the Icinga objects that match the filter" msgstr "Beschränke die Sicht auf die Icingaobjekte, die dem Filter entsprechen" @@ -3072,6 +3208,10 @@ msgstr "Beschränke die Sicht auf die Icingaobjekte, die dem Filter entsprechen" msgid "Runtime Variables" msgstr "Laufzeitvariablen" +#: /vagrant/modules/monitoring/application/views/scripts/partials/event-history.phtml:73 +msgid "SCHEDULED DOWNTIME" +msgstr "" + #: /vagrant/modules/monitoring/application/forms/Config/Transport/RemoteTransportForm.php:108 msgid "SSH Identity" msgstr "SSH-Identität" @@ -3080,41 +3220,46 @@ msgstr "SSH-Identität" msgid "SSH port to connect to on the remote Icinga instance" msgstr "SSH-Port auf der entfernten Icingainstanz" +#: /vagrant/modules/monitoring/application/views/scripts/partials/downtime/downtime-header.phtml:6 +msgctxt "Downtime status" +msgid "STARTS" +msgstr "" + #: /vagrant/modules/monitoring/application/forms/Config/BackendConfigForm.php:42 #: /vagrant/modules/monitoring/application/forms/Config/SecurityConfigForm.php:20 #: /vagrant/modules/monitoring/application/forms/Config/TransportConfigForm.php:40 msgid "Save Changes" msgstr "Änderungen speichern" -#: /vagrant/modules/monitoring/application/views/scripts/hosts/show.phtml:178 -#: /vagrant/modules/monitoring/application/views/scripts/services/show.phtml:180 +#: /vagrant/modules/monitoring/application/views/scripts/hosts/show.phtml:179 +#: /vagrant/modules/monitoring/application/views/scripts/services/show.phtml:181 msgid "Schedule Check" msgstr "Check planen" -#: /vagrant/modules/monitoring/application/controllers/HostController.php:156 +#: /vagrant/modules/monitoring/application/controllers/HostController.php:154 msgid "Schedule Host Downtime" msgstr "Host-Downtime planen" -#: /vagrant/modules/monitoring/application/controllers/HostsController.php:206 +#: /vagrant/modules/monitoring/application/controllers/HostsController.php:198 msgid "Schedule Host Downtimes" msgstr "Host-Downtimes planen" -#: /vagrant/modules/monitoring/application/controllers/ServiceController.php:114 +#: /vagrant/modules/monitoring/application/controllers/ServiceController.php:112 msgid "Schedule Service Downtime" msgstr "Service-Downtime planen" -#: /vagrant/modules/monitoring/application/controllers/ServicesController.php:219 +#: /vagrant/modules/monitoring/application/controllers/ServicesController.php:201 msgid "Schedule Service Downtimes" msgstr "Service-Downtimes planen" #: /vagrant/modules/monitoring/application/views/scripts/show/components/downtime.phtml:15 #: /vagrant/modules/monitoring/application/views/scripts/show/components/downtime.phtml:29 msgid "" -"Schedule a downtime to suppress all problem notifications within a specific period " -"of time" +"Schedule a downtime to suppress all problem notifications within a specific " +"period of time" msgstr "" -"Plane eine Downtime, um alle Problembenachrichtigungen innerhalb eines bestimmten " -"Zeitabschnitts zu unterdrücken" +"Plane eine Downtime, um alle Problembenachrichtigungen innerhalb eines " +"bestimmten Zeitabschnitts zu unterdrücken" #: /vagrant/modules/monitoring/application/forms/Command/Object/ScheduleServiceCheckCommandForm.php:34 msgid "Schedule check" @@ -3124,7 +3269,8 @@ msgstr[1] "Check neu planen" #: /vagrant/modules/monitoring/application/forms/Command/Object/ScheduleHostCheckCommandForm.php:28 msgid "Schedule check for all services on the hosts and the hosts themselves." -msgstr "Plane einen Check für alle Services auf Hosts und für die Hosts an sich." +msgstr "" +"Plane einen Check für alle Services auf Hosts und für die Hosts an sich." #: /vagrant/modules/monitoring/application/forms/Command/Object/ScheduleServiceDowntimeCommandForm.php:47 #: /vagrant/modules/monitoring/application/views/scripts/show/components/downtime.phtml:7 @@ -3135,29 +3281,32 @@ msgstr[0] "Downtime planen" msgstr[1] "Downtime planen" #: /vagrant/modules/monitoring/application/forms/Command/Object/ScheduleHostDowntimeCommandForm.php:29 -msgid "Schedule downtime for all services on the hosts and the hosts themselves." -msgstr "Plane einen Check für alle Services auf Hosts und für die Hosts an sich." +msgid "" +"Schedule downtime for all services on the hosts and the hosts themselves." +msgstr "" +"Plane einen Check für alle Services auf Hosts und für die Hosts an sich." #: /vagrant/modules/monitoring/application/views/scripts/hosts/show.phtml:100 #: /vagrant/modules/monitoring/application/views/scripts/services/show.phtml:99 msgid "Schedule downtimes" msgstr "Downtimes planen" -#: /vagrant/modules/monitoring/application/forms/Command/Object/ScheduleHostDowntimeCommandForm.php:46 +#: /vagrant/modules/monitoring/application/forms/Command/Object/ScheduleHostDowntimeCommandForm.php:48 msgid "Schedule non-triggered downtime for all child hosts" msgstr "Plane Downtime ohne Auslöser für alle Kindhosts" -#: /vagrant/modules/monitoring/application/views/scripts/show/components/checkstatistics.phtml:32 -#: /vagrant/modules/monitoring/application/views/scripts/show/components/checkstatistics.phtml:46 +#: /vagrant/modules/monitoring/application/views/scripts/show/components/checkstatistics.phtml:42 +#: /vagrant/modules/monitoring/application/views/scripts/show/components/checkstatistics.phtml:56 msgid "Schedule the next active check at a different time than the current one" msgstr "" -"Plane den nächsten aktiven Check zu einem anderen Zeitpunkt als den Gegenwärtigen" +"Plane den nächsten aktiven Check zu einem anderen Zeitpunkt als den " +"Gegenwärtigen" #: /vagrant/modules/monitoring/application/forms/Command/Object/CheckNowCommandForm.php:44 msgid "Schedule the next active check to run immediately" msgstr "Nächsten Check sofort einplanen" -#: /vagrant/modules/monitoring/application/forms/Command/Object/ScheduleHostDowntimeCommandForm.php:45 +#: /vagrant/modules/monitoring/application/forms/Command/Object/ScheduleHostDowntimeCommandForm.php:47 msgid "Schedule triggered downtime for all child hosts" msgstr "Plane eine Downtime mit Auslöser für alle Kindhosts" @@ -3166,11 +3315,11 @@ msgstr "Plane eine Downtime mit Auslöser für alle Kindhosts" msgid "Scheduled" msgstr "Geplant" -#: /vagrant/modules/monitoring/application/controllers/ListController.php:232 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:234 msgid "Scheduled End" msgstr "Geplantes Ende" -#: /vagrant/modules/monitoring/application/controllers/ListController.php:231 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:233 msgid "Scheduled Start" msgstr "Geplanter Start" @@ -3194,7 +3343,7 @@ msgid_plural "Scheduling host checks.." msgstr[0] "Plane Host-Check.." msgstr[1] "Plane Host-Checks.." -#: /vagrant/modules/monitoring/application/forms/Command/Object/ScheduleHostDowntimeCommandForm.php:87 +#: /vagrant/modules/monitoring/application/forms/Command/Object/ScheduleHostDowntimeCommandForm.php:94 msgid "Scheduling host downtime.." msgid_plural "Scheduling host downtimes.." msgstr[0] "Plane Host-Downtime.." @@ -3212,23 +3361,17 @@ msgid_plural "Scheduling service downtimes.." msgstr[0] "Plane Service-Downtime.." msgstr[1] "Plane Service-Downtimes.." -#: /vagrant/modules/monitoring/application/views/scripts/host/history.phtml:36 -#: /vagrant/modules/monitoring/application/views/scripts/list/eventhistory.phtml:22 -#: /vagrant/modules/monitoring/application/views/scripts/service/history.phtml:35 -msgid "Scroll to the bottom of this page to load additional events" -msgstr "Gehen Sie zum Ende der Seite um weitere Events zu laden" - -#: /vagrant/modules/monitoring/configuration.php:75 +#: /vagrant/modules/monitoring/configuration.php:95 msgid "Security" msgstr "Sicherheit" -#: /vagrant/modules/monitoring/application/controllers/HostController.php:181 -#: /vagrant/modules/monitoring/application/controllers/HostsController.php:231 +#: /vagrant/modules/monitoring/application/controllers/HostController.php:178 +#: /vagrant/modules/monitoring/application/controllers/HostsController.php:222 msgid "Send Custom Host Notification" msgstr "Benutzerdefinierte Benachrichtigung senden" -#: /vagrant/modules/monitoring/application/controllers/ServiceController.php:139 -#: /vagrant/modules/monitoring/application/controllers/ServicesController.php:244 +#: /vagrant/modules/monitoring/application/controllers/ServiceController.php:136 +#: /vagrant/modules/monitoring/application/controllers/ServicesController.php:225 msgid "Send Custom Service Notification" msgstr "Benutzerdefinierte Benachrichtigung senden" @@ -3244,7 +3387,8 @@ msgstr "" #: /vagrant/modules/monitoring/application/views/scripts/show/components/notifications.phtml:33 msgid "Send a custom notification to contacts responsible for this service" msgstr "" -"Benutzerdefinierte Benachrichtigung an Verantwortliche für diesen Service senden" +"Benutzerdefinierte Benachrichtigung an Verantwortliche für diesen Service " +"senden" #: /vagrant/modules/monitoring/application/views/scripts/list/contacts.phtml:39 #: /vagrant/modules/monitoring/application/views/scripts/list/contacts.phtml:40 @@ -3264,29 +3408,133 @@ msgstr[1] "Benutzerdefinierte Benachrichtigung senden" msgid "Send notification" msgstr "Benachrichtigung senden" +#: /vagrant/modules/monitoring/application/views/scripts/hosts/show.phtml:144 +#: /vagrant/modules/monitoring/application/views/scripts/services/show.phtml:146 +#, fuzzy +msgid "Send notifications" +msgstr "Benachrichtigung senden" + #: /vagrant/modules/monitoring/application/forms/Command/Object/SendCustomNotificationCommandForm.php:95 msgid "Sending custom notification.." msgid_plural "Sending custom notifications.." msgstr[0] "Benutzerdefinierte Benachrichtigung senden" msgstr[1] "Sende Benutzerdefinierte Benachrichtigung.." -#: /vagrant/modules/monitoring/application/views/scripts/list/notifications.phtml:53 +#: /vagrant/modules/monitoring/application/views/scripts/list/notifications.phtml:60 #, php-format msgid "Sent to %s" msgstr "Gesendet an %s" +#: /vagrant/modules/monitoring/application/controllers/ListController.php:228 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:417 +#: /vagrant/modules/monitoring/application/views/scripts/comment/show.phtml:17 +#: /vagrant/modules/monitoring/application/views/scripts/comment/show.phtml:19 +#: /vagrant/modules/monitoring/application/views/scripts/downtime/show.phtml:15 +#: /vagrant/modules/monitoring/application/views/scripts/downtime/show.phtml:26 +#: /vagrant/modules/monitoring/application/views/scripts/list/notifications.phtml:44 +#: /vagrant/modules/monitoring/application/views/scripts/partials/comment/comment-detail.phtml:3 +#: /vagrant/modules/monitoring/application/views/scripts/partials/downtime/downtime-header.phtml:13 +#: /vagrant/modules/monitoring/application/views/scripts/partials/object/service-header.phtml:48 +#: /vagrant/modules/monitoring/library/Monitoring/DataView/DataView.php:278 +#: /vagrant/modules/monitoring/library/Monitoring/Web/Controller/MonitoredObjectController.php:199 +#, fuzzy +msgid "Service" +msgstr "Service" + +#: /vagrant/modules/monitoring/configuration.php:112 +#, fuzzy +msgid "Service Action" +msgstr "Service nicht gefunden" + +#: /vagrant/modules/monitoring/application/views/scripts/health/stats.phtml:87 +#: /vagrant/modules/monitoring/application/views/scripts/health/stats.phtml:127 +#: /vagrant/modules/monitoring/application/views/scripts/health/stats.phtml:152 +#, fuzzy +msgid "Service Checks" +msgstr "Letzter Service-Check" + +#: /vagrant/modules/monitoring/configuration.php:152 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:536 +#, fuzzy +msgid "Service Grid" +msgstr "Zeige das Servicesraster" + +#: /vagrant/modules/monitoring/application/views/scripts/list/servicegroups.phtml:23 +#, fuzzy +msgid "Service Group" +msgstr "Servicegruppenübersicht" + #: /vagrant/modules/monitoring/application/controllers/ChartController.php:232 msgid "Service Group Chart" msgstr "Servicegruppenübersicht" -#: /vagrant/modules/monitoring/application/controllers/ListController.php:298 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:460 +#, fuzzy +msgid "Service Group Name" +msgstr "Servicegruppenübersicht" + +#: /vagrant/modules/monitoring/application/controllers/ListController.php:434 +#, fuzzy +msgid "Service Groups" +msgstr "Servicegruppenübersicht" + +#: /vagrant/modules/monitoring/application/controllers/ListController.php:161 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:561 +#, fuzzy +msgid "Service Name" +msgstr "Service-Zustand" + +#: /vagrant/modules/monitoring/application/controllers/ListController.php:300 msgid "Service Notification Timeperiod" msgstr "Benachrichtigungszeitraum des Services" -#: /vagrant/modules/monitoring/application/controllers/ServiceController.php:35 +#: /vagrant/modules/monitoring/configuration.php:140 +#: /vagrant/modules/monitoring/configuration.php:256 +#: /vagrant/modules/monitoring/application/views/scripts/tactical/components/ok_hosts.phtml:78 +#, fuzzy +msgid "Service Problems" +msgstr "Serviceprobleme bestätigen" + +#: /vagrant/modules/monitoring/application/views/scripts/health/stats.phtml:20 +#, fuzzy +msgid "Service Problems:" +msgstr "Serviceprobleme bestätigen" + +#: /vagrant/modules/monitoring/application/controllers/ListController.php:159 +#, fuzzy +msgid "Service Severity" +msgstr "Service-Zustand" + +#: /vagrant/modules/monitoring/application/views/scripts/list/hostgroups.phtml:28 +#: /vagrant/modules/monitoring/application/views/scripts/list/servicegroups.phtml:24 +#, fuzzy +msgid "Service States" +msgstr "Service-Zustand" + +#: /vagrant/modules/monitoring/application/controllers/ServiceController.php:36 msgid "Service not found" msgstr "Service nicht gefunden" +#: /vagrant/modules/monitoring/configuration.php:106 +#: /vagrant/modules/monitoring/configuration.php:180 +#: /vagrant/modules/monitoring/application/views/scripts/show/components/servicegroups.phtml:17 +#, fuzzy +msgid "Servicegroups" +msgstr "Servicegruppen auflisten" + +#: /vagrant/modules/monitoring/configuration.php:104 +#: /vagrant/modules/monitoring/configuration.php:176 +#: /vagrant/modules/monitoring/application/controllers/ChartController.php:236 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:120 +#: /vagrant/modules/monitoring/application/controllers/ServicesController.php:65 +#: /vagrant/modules/monitoring/application/forms/StatehistoryForm.php:99 +#: /vagrant/modules/monitoring/application/views/scripts/show/contact.phtml:44 +#: /vagrant/modules/monitoring/application/views/scripts/tactical/components/hostservicechecks.phtml:10 +#: /vagrant/modules/monitoring/library/Monitoring/Web/Controller/MonitoredObjectController.php:212 +#, fuzzy +msgid "Services" +msgstr "Services UP" + #: /vagrant/modules/monitoring/application/forms/Command/Object/ScheduleServiceCheckCommandForm.php:53 msgid "Set the date and time when the check should be scheduled." msgstr "Setze den Zeitpunkt, zu welchem dieser Check ausgeführt werden soll." @@ -3308,20 +3556,20 @@ msgid "Setup the monitoring module for Icinga Web 2" msgstr "Einrichtung des Monitoringmoduls für Icinga Web 2" #: /vagrant/modules/monitoring/application/controllers/ListController.php:93 -#: /vagrant/modules/monitoring/application/controllers/ListController.php:457 -#: /vagrant/modules/monitoring/application/controllers/ListController.php:495 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:459 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:497 msgid "Severity" msgstr "Schwere" -#: /vagrant/modules/monitoring/application/views/scripts/list/comments.phtml:41 +#: /vagrant/modules/monitoring/application/views/scripts/list/comments.phtml:45 #: /vagrant/modules/monitoring/application/views/scripts/list/contacts.phtml:67 -#: /vagrant/modules/monitoring/application/views/scripts/list/downtimes.phtml:45 -#: /vagrant/modules/monitoring/application/views/scripts/list/eventhistory.phtml:118 -#: /vagrant/modules/monitoring/application/views/scripts/list/hostgroups.phtml:268 +#: /vagrant/modules/monitoring/application/views/scripts/list/downtimes.phtml:44 +#: /vagrant/modules/monitoring/application/views/scripts/list/hostgroups.phtml:269 #: /vagrant/modules/monitoring/application/views/scripts/list/hosts.phtml:101 -#: /vagrant/modules/monitoring/application/views/scripts/list/notifications.phtml:77 -#: /vagrant/modules/monitoring/application/views/scripts/list/servicegroups.phtml:162 -#: /vagrant/modules/monitoring/application/views/scripts/list/services.phtml:104 +#: /vagrant/modules/monitoring/application/views/scripts/list/notifications.phtml:82 +#: /vagrant/modules/monitoring/application/views/scripts/list/servicegroups.phtml:165 +#: /vagrant/modules/monitoring/application/views/scripts/list/services.phtml:106 +#: /vagrant/modules/monitoring/application/views/scripts/partials/event-history.phtml:160 #: /vagrant/modules/monitoring/application/views/scripts/partials/show-more.phtml:6 msgid "Show More" msgstr "Mehr zeigen" @@ -3338,76 +3586,78 @@ msgstr "Zeige alle Ereigniseinträge für Service %s auf Host %s" #: /vagrant/modules/monitoring/application/controllers/TacticalController.php:20 msgid "" -"Show an overview of all hosts and services, their current states and monitoring " -"feature utilisation" +"Show an overview of all hosts and services, their current states and " +"monitoring feature utilisation" msgstr "" "Zeige eine Übersicht aller Hosts und Services, ihre aktuellen Zustände und " "Ausutzung der Monitoringmerkmale" -#: /vagrant/modules/monitoring/application/views/scripts/host/history.phtml:12 #: /vagrant/modules/monitoring/application/views/scripts/list/contactgroups.phtml:42 #: /vagrant/modules/monitoring/application/views/scripts/list/contacts.phtml:31 -#: /vagrant/modules/monitoring/application/views/scripts/service/history.phtml:11 +#: /vagrant/modules/monitoring/application/views/scripts/partials/event-history.phtml:12 #: /vagrant/modules/monitoring/application/views/scripts/show/components/contacts.phtml:11 #, php-format msgid "Show detailed information about %s" msgstr "Zeige detaillierte Informationen über %s" #: /vagrant/modules/monitoring/application/views/helpers/Link.php:37 -#: /vagrant/modules/monitoring/application/views/scripts/list/hosts.phtml:56 -#: /vagrant/modules/monitoring/application/views/scripts/list/services.phtml:71 -#: /vagrant/modules/monitoring/library/Monitoring/Web/Controller/MonitoredObjectController.php:179 +#: /vagrant/modules/monitoring/application/views/scripts/list/hosts.phtml:54 +#: /vagrant/modules/monitoring/application/views/scripts/list/services.phtml:69 +#: /vagrant/modules/monitoring/application/views/scripts/partials/event-history.phtml:124 +#: /vagrant/modules/monitoring/library/Monitoring/Web/Controller/MonitoredObjectController.php:182 #, php-format msgid "Show detailed information for host %s" msgstr "Zeige detaillierte Informationen über Host %s" #: /vagrant/modules/monitoring/application/views/helpers/Link.php:63 -#: /vagrant/modules/monitoring/application/views/scripts/host/history.phtml:133 -#: /vagrant/modules/monitoring/application/views/scripts/list/servicegrid.phtml:94 -#: /vagrant/modules/monitoring/application/views/scripts/list/services.phtml:82 -#: /vagrant/modules/monitoring/library/Monitoring/Web/Controller/MonitoredObjectController.php:193 +#: /vagrant/modules/monitoring/application/views/scripts/list/servicegrid.phtml:80 +#: /vagrant/modules/monitoring/application/views/scripts/list/services.phtml:80 +#: /vagrant/modules/monitoring/application/views/scripts/partials/event-history.phtml:138 +#: /vagrant/modules/monitoring/library/Monitoring/Web/Controller/MonitoredObjectController.php:195 #, php-format msgid "Show detailed information for service %s on host %s" msgstr "Zeige detaillierte Informationen über Service %s auf Host %s" -#: /vagrant/modules/monitoring/application/views/scripts/partials/comment/comment-detail.phtml:25 +#: /vagrant/modules/monitoring/application/views/scripts/partials/comment/comment-detail.phtml:27 #, php-format msgid "Show detailed information for this comment about host %s" msgstr "Zeige detaillierte Informationen zu diesem Kommentar über Host %s" -#: /vagrant/modules/monitoring/application/views/scripts/partials/comment/comment-detail.phtml:12 +#: /vagrant/modules/monitoring/application/views/scripts/partials/comment/comment-detail.phtml:13 #, php-format msgid "Show detailed information for this comment about service %s on host %s" msgstr "" -"Zeige detaillierte Informationen zu diesem Kommentar über den Service %s auf Host %s" +"Zeige detaillierte Informationen zu diesem Kommentar über den Service %s auf " +"Host %s" #: /vagrant/modules/monitoring/application/views/scripts/partials/downtime/downtime-header.phtml:35 #, php-format msgid "Show detailed information for this downtime scheduled for host %s" msgstr "" -"Zeige detaillierte Informationen über diese Downtime, die für den Host %s geplant " -"ist" +"Zeige detaillierte Informationen über diese Downtime, die für den Host %s " +"geplant ist" #: /vagrant/modules/monitoring/application/views/scripts/partials/downtime/downtime-header.phtml:22 #, php-format msgid "" -"Show detailed information for this downtime scheduled for service %s on host %s" +"Show detailed information for this downtime scheduled for service %s on host " +"%s" msgstr "" -"Zeige detaillierte Informationen über diese Downtime, die für den Service %s auf " -"Host %s geplant ist" +"Zeige detaillierte Informationen über diese Downtime, die für den Service %s " +"auf Host %s geplant ist" #: /vagrant/modules/monitoring/application/controllers/HealthController.php:30 msgid "" "Show information about the current monitoring instance's process and it's " "performance as well as available features" msgstr "" -"Zeige Informationen über die Prozesse der dieser Monitoringinstanz, ihre Leistung " -"sowie die verfügbaren Features" +"Zeige Informationen über die Prozesse der dieser Monitoringinstanz, ihre " +"Leistung sowie die verfügbaren Features" #: /vagrant/modules/monitoring/application/controllers/AlertsummaryController.php:51 msgid "" -"Show recent alerts and visualize notifications and problems based on their amount " -"and chronological distribution" +"Show recent alerts and visualize notifications and problems based on their " +"amount and chronological distribution" msgstr "" "Zeige die letzten Alarme und visualisiere Benachrichtigungen und Probleme in " "Abhängigkeit von ihrer Anzahl und zeitlichen Verteilung." @@ -3421,21 +3671,21 @@ msgstr "Zeige die Ressourcenkonfiguration" msgid "Show statistics about the monitored objects" msgstr "Zeige Statistiken zu den überwachten Objekten" -#: /vagrant/modules/monitoring/application/controllers/HostsController.php:41 +#: /vagrant/modules/monitoring/application/controllers/HostsController.php:60 #, php-format msgid "Show summarized information for %u hosts" msgstr "Zeige zusammengefasst Informationen für %u Hosts" -#: /vagrant/modules/monitoring/application/controllers/ServicesController.php:43 +#: /vagrant/modules/monitoring/application/controllers/ServicesController.php:67 #, php-format msgid "Show summarized information for %u services" msgstr "Zeige zusammengefasst Informationen für %u Services" -#: /vagrant/modules/monitoring/application/controllers/ListController.php:305 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:307 msgid "Show the Event Grid" msgstr "Zeige das Ereignisraster" -#: /vagrant/modules/monitoring/application/controllers/ListController.php:534 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:536 msgid "Show the Service Grid" msgstr "Zeige das Servicesraster" @@ -3448,7 +3698,8 @@ msgstr "Zeige die Konfiguration der %s Ressource" #: /vagrant/modules/monitoring/application/controllers/TimelineController.php:24 msgid "Show the number of historical event records grouped by time and type" msgstr "" -"Zeige die Anzahl der historischen Ereigniseinträge, gruppiert nach Zeit und Typ" +"Zeige die Anzahl der historischen Ereigniseinträge, gruppiert nach Zeit und " +"Typ" #: /vagrant/modules/monitoring/application/forms/Config/BackendConfigForm.php:327 #: /vagrant/modules/monitoring/application/forms/Setup/IdoResourcePage.php:184 @@ -3460,12 +3711,21 @@ msgstr "Validierung überspringen" msgid "Socket" msgstr "Socken" +#: /vagrant/modules/monitoring/application/views/scripts/list/hosts.phtml:40 +#: /vagrant/modules/monitoring/application/views/scripts/list/services.phtml:53 +#: /vagrant/modules/monitoring/application/views/scripts/partials/object/host-header.phtml:12 +#: /vagrant/modules/monitoring/application/views/scripts/partials/object/service-header.phtml:13 +#: /vagrant/modules/monitoring/application/views/scripts/partials/object/service-header.phtml:42 +msgctxt "Soft state" +msgid "Soft" +msgstr "" + #: /vagrant/modules/monitoring/library/Monitoring/MonitoringWizard.php:111 msgctxt "setup.welcome.btn.next" msgid "Start" msgstr "Anfangen" -#: /vagrant/modules/monitoring/application/controllers/ListController.php:229 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:231 #: /vagrant/modules/monitoring/application/forms/Command/Object/ScheduleServiceDowntimeCommandForm.php:78 msgid "Start Time" msgstr "Anfangszeit" @@ -3474,10 +3734,6 @@ msgstr "Anfangszeit" msgid "Started downtimes" msgstr "Begonnene Downtimes" -#: /vagrant/modules/monitoring/application/views/scripts/partials/downtime/downtime-header.phtml:6 -msgid "Starts" -msgstr "Beginnt" - #: /vagrant/modules/monitoring/application/forms/StatehistoryForm.php:114 #: /vagrant/modules/monitoring/application/forms/StatehistoryForm.php:134 msgid "State" @@ -3505,26 +3761,48 @@ msgid_plural "Submit Passive Check Results" msgstr[0] "Passives Check-Ergebnis übermitteln" msgstr[1] "Passives Check-Ergebnisse übermitteln" +#: /vagrant/modules/monitoring/application/controllers/HostController.php:166 +#, fuzzy +msgid "Submit Passive Host Check Result" +msgstr "Passives Check-Ergebnis übermitteln" + +#: /vagrant/modules/monitoring/application/controllers/HostsController.php:210 +#, fuzzy +msgid "Submit Passive Host Check Results" +msgstr "Passives Check-Ergebnis übermitteln" + +#: /vagrant/modules/monitoring/application/controllers/ServiceController.php:124 +#, fuzzy +msgid "Submit Passive Service Check Result" +msgstr "Passives Check-Ergebnis übermitteln" + +#: /vagrant/modules/monitoring/application/controllers/ServicesController.php:213 +#, fuzzy +msgid "Submit Passive Service Check Results" +msgstr "Passives Check-Ergebnis übermitteln" + #: /vagrant/modules/monitoring/application/views/scripts/show/components/command.phtml:17 #, php-format msgid "Submit a one time or so called passive result for the %s check" msgstr "" -"Einmaliges oder sogenanntes passives Checkergebnis für den %s-Check übermitteln" +"Einmaliges oder sogenanntes passives Checkergebnis für den %s-Check " +"übermitteln" -#: /vagrant/modules/monitoring/configuration.php:224 +#: /vagrant/modules/monitoring/configuration.php:244 msgid "System" msgstr "System" -#: /vagrant/modules/monitoring/configuration.php:148 +#: /vagrant/modules/monitoring/configuration.php:168 #: /vagrant/modules/monitoring/application/controllers/TacticalController.php:23 msgid "Tactical Overview" msgstr "Taktische Übersicht" -#: /vagrant/modules/monitoring/library/Monitoring/MonitoringWizard.php:204 -msgid "The Zend database adapter for MySQL is required to access a MySQL database." +#: /vagrant/modules/monitoring/library/Monitoring/MonitoringWizard.php:192 +msgid "" +"The Zend database adapter for MySQL is required to access a MySQL database." msgstr "" -#: /vagrant/modules/monitoring/library/Monitoring/MonitoringWizard.php:224 +#: /vagrant/modules/monitoring/library/Monitoring/MonitoringWizard.php:212 msgid "" "The Zend database adapter for PostgreSQL is required to access a PostgreSQL " "database." @@ -3544,19 +3822,19 @@ msgstr "" #: /vagrant/modules/monitoring/application/views/scripts/downtime/show.phtml:123 msgid "" -"The date/time the scheduled downtime is supposed to end. If this is a flexible " -"(non-fixed) downtime, this refers to the last possible time that the downtime can " -"start" +"The date/time the scheduled downtime is supposed to end. If this is a " +"flexible (non-fixed) downtime, this refers to the last possible time that " +"the downtime can start" msgstr "" #: /vagrant/modules/monitoring/application/views/scripts/downtime/show.phtml:116 msgid "" -"The date/time the scheduled downtime is supposed to start. If this is a flexible " -"(non-fixed) downtime, this refers to the earliest possible time that the downtime " -"can start" +"The date/time the scheduled downtime is supposed to start. If this is a " +"flexible (non-fixed) downtime, this refers to the earliest possible time " +"that the downtime can start" msgstr "" -#: /vagrant/modules/monitoring/library/Monitoring/DataView/DataView.php:433 +#: /vagrant/modules/monitoring/library/Monitoring/DataView/DataView.php:448 #, php-format msgid "The filter column \"%s\" is not allowed here." msgstr "Die Spalte “%s” ist hier nicht zum Filtern erlaubt." @@ -3569,6 +3847,11 @@ msgstr "Der eingegebene Name der Ressource wird bereits benutzt." msgid "The identifier of this backend" msgstr "Der Name des Backend" +#: /vagrant/modules/monitoring/application/views/scripts/show/components/notifications.phtml:57 +#, php-format +msgid "The last one was sent %s." +msgstr "" + #: /vagrant/modules/monitoring/application/forms/Config/TransportConfigForm.php:205 msgid "" "The name of the Icinga instance this transport should exclusively transfer " @@ -3581,18 +3864,20 @@ msgstr "Der Name der Person, die die Ausfallzeit geplant hat" #: /vagrant/modules/monitoring/application/forms/Config/TransportConfigForm.php:219 msgid "" -"The name of this command transport that is used to differentiate it from others" +"The name of this command transport that is used to differentiate it from " +"others" msgstr "Der Name der Kommando-Übertragung" #: /vagrant/modules/monitoring/application/forms/Config/BackendConfigForm.php:195 msgid "" -"The name of this monitoring backend that is used to differentiate it from others" +"The name of this monitoring backend that is used to differentiate it from " +"others" msgstr "Der Name des Monitoring-Backend" #: /vagrant/modules/monitoring/application/forms/Command/Object/ProcessCheckResultCommandForm.php:79 msgid "" -"The performance data of this check result. Leave empty if this check result has no " -"performance data" +"The performance data of this check result. Leave empty if this check result " +"has no performance data" msgstr "Die Performance-Daten der Überprüfung." #: /vagrant/modules/monitoring/application/forms/Command/Object/ProcessCheckResultCommandForm.php:69 @@ -3604,7 +3889,7 @@ msgstr "Der Plugin Output der Überprüfung" msgid "The resource to use" msgstr "Die zu benutzenden Ressource" -#: /vagrant/modules/monitoring/library/Monitoring/DataView/DataView.php:342 +#: /vagrant/modules/monitoring/library/Monitoring/DataView/DataView.php:357 #, php-format msgid "The sort column \"%s\" is not allowed in \"%s\"." msgstr "Die Spalte “%s” ist in “%s” nicht zum Sortieren erlaubt." @@ -3619,44 +3904,153 @@ msgstr "Der Typ der Datenquelle für Monitoring-Daten" #: /vagrant/modules/monitoring/application/forms/Config/BackendConfigForm.php:381 msgid "" -"There is currently more than one icinga instance writing to the IDO. You'll see " -"all objects from all instances without any differentation. If this is not desired, " -"consider setting up a separate IDO for each instance." +"There is currently more than one icinga instance writing to the IDO. You'll " +"see all objects from all instances without any differentation. If this is " +"not desired, consider setting up a separate IDO for each instance." msgstr "" -"Es gibt zurzeit mehr als eine Icinga-Instanz die in die IDO schreibt. Es werden " -"die Objekte aller Instanzen angezeigt. Falls das nicht gewünscht ist, sollten " -"separate IDO für Instanzen aufgesetzt werden." +"Es gibt zurzeit mehr als eine Icinga-Instanz die in die IDO schreibt. Es " +"werden die Objekte aller Instanzen angezeigt. Falls das nicht gewünscht ist, " +"sollten separate IDO für Instanzen aufgesetzt werden." #: /vagrant/modules/monitoring/application/forms/Config/BackendConfigForm.php:375 msgid "" -"There is currently no icinga instance writing to the IDO. Make sure that a icinga " -"instance is configured and able to write to the IDO." +"There is currently no icinga instance writing to the IDO. Make sure that a " +"icinga instance is configured and able to write to the IDO." msgstr "" -"Es gibt zurzeit keine Icinga-Instanz die in die IDO schreibt. Bitte eine Icinga-" -"Instanz konfigurieren, die in die IDO schreibt." +"Es gibt zurzeit keine Icinga-Instanz die in die IDO schreibt. Bitte eine " +"Icinga-Instanz konfigurieren, die in die IDO schreibt." #: /vagrant/modules/monitoring/library/Monitoring/Backend/MonitoringBackend.php:91 #, php-format msgid "There is no \"%s\" monitoring backend" msgstr "Es gibt kein “%s” Monitoring-Backend" +#: /vagrant/modules/monitoring/application/forms/Command/Object/AcknowledgeProblemCommandForm.php:22 +msgid "" +"This command is used to acknowledge host or service problems. When a problem " +"is acknowledged, future notifications about problems are temporarily " +"disabled until the host or service recovers." +msgstr "" + +#: /vagrant/modules/monitoring/application/forms/Command/Object/AddCommentCommandForm.php:19 +msgid "This command is used to add host or service comments." +msgstr "" + +#: /vagrant/modules/monitoring/application/forms/Command/Instance/DisableNotificationsExpireCommandForm.php:26 +msgid "" +"This command is used to disable host and service notifications for a " +"specific time." +msgstr "" + +#: /vagrant/modules/monitoring/application/forms/Command/Object/ScheduleServiceDowntimeCommandForm.php:33 +msgid "" +"This command is used to schedule host and service downtimes. During the " +"specified downtime, Icinga will not send notifications out about the hosts " +"and services. When the scheduled downtime expires, Icinga will send out " +"notifications for the hosts and services as it normally would. Scheduled " +"downtimes are preserved across program shutdowns and restarts." +msgstr "" + +#: /vagrant/modules/monitoring/application/forms/Command/Object/ScheduleServiceCheckCommandForm.php:23 +msgid "" +"This command is used to schedule the next check of hosts or services. Icinga " +"will re-queue the hosts or services to be checked at the time you specify." +msgstr "" + +#: /vagrant/modules/monitoring/application/forms/Command/Object/SendCustomNotificationCommandForm.php:20 +#, fuzzy +msgid "" +"This command is used to send custom notifications about hosts or services." +msgstr "" +"Erlaube das Senden von angepassten Benachrichtigungen für Hosts und Services" + +#: /vagrant/modules/monitoring/application/forms/Command/Object/ProcessCheckResultCommandForm.php:20 +msgid "This command is used to submit passive host or service check results." +msgstr "" + #: /vagrant/modules/monitoring/application/views/scripts/comment/show.phtml:63 msgid "This comment does not expire." msgstr "Dieser Kommentar verfällt nicht." +#: /vagrant/modules/monitoring/application/views/scripts/partials/comment/comment-detail.phtml:41 +#, fuzzy, php-format +msgid "This comment expires on %s at %s" +msgstr "Dieser Kommentar verfällt am %s um %s." + #: /vagrant/modules/monitoring/application/views/scripts/comment/show.phtml:60 #, php-format msgid "This comment expires on %s at %s." msgstr "Dieser Kommentar verfällt am %s um %s." +#: /vagrant/modules/monitoring/application/views/scripts/partials/downtime/downtime-header.phtml:47 +#, fuzzy +msgid "This downtime is flexible" +msgstr "Zeige Downtimes" + +#: /vagrant/modules/monitoring/application/views/scripts/partials/downtime/downtime-header.phtml:51 +#, fuzzy +msgid "This downtime is in effect" +msgstr "Zeige Downtimes" + +#: /vagrant/modules/monitoring/application/views/scripts/downtime/show.phtml:106 +#, php-format +msgid "" +"This fixed host downtime has been scheduled to start on %s at %s and to end " +"on %s at %s." +msgstr "" + +#: /vagrant/modules/monitoring/application/views/scripts/downtime/show.phtml:96 +#, php-format +msgid "" +"This fixed host downtime was started on %s at %s and expires on %s at %s." +msgstr "" + +#: /vagrant/modules/monitoring/application/views/scripts/downtime/show.phtml:105 +#, php-format +msgid "" +"This fixed service downtime has been scheduled to start on %s at %s and to " +"end on %s at %s." +msgstr "" + +#: /vagrant/modules/monitoring/application/views/scripts/downtime/show.phtml:95 +#, php-format +msgid "" +"This fixed service downtime was started on %s at %s and expires on %s at %s." +msgstr "" + +#: /vagrant/modules/monitoring/application/views/scripts/downtime/show.phtml:85 +#, php-format +msgid "" +"This flexible host downtime has been scheduled to start between %s - %s and " +"to last for %s." +msgstr "" + +#: /vagrant/modules/monitoring/application/views/scripts/downtime/show.phtml:74 +#, php-format +msgid "" +"This flexible host downtime was started on %s at %s and lasts for %s until " +"%s at %s." +msgstr "" + +#: /vagrant/modules/monitoring/application/views/scripts/downtime/show.phtml:84 +#, php-format +msgid "" +"This flexible service downtime has been scheduled to start between %s - %s " +"and to last for %s." +msgstr "" + +#: /vagrant/modules/monitoring/application/views/scripts/downtime/show.phtml:73 +#, php-format +msgid "" +"This flexible service downtime was started on %s at %s and lasts for %s " +"until %s at %s." +msgstr "" + #: /vagrant/modules/monitoring/application/forms/Setup/WelcomePage.php:33 msgid "This is the core module for Icinga Web 2." msgstr "Das monitoring-Modul ist das Kernmodul von Icinga Web 2 " -#: /vagrant/modules/monitoring/application/views/scripts/host/history.phtml:59 -#: /vagrant/modules/monitoring/application/views/scripts/list/eventhistory.phtml:46 -#: /vagrant/modules/monitoring/application/views/scripts/list/notifications.phtml:61 -#: /vagrant/modules/monitoring/application/views/scripts/service/history.phtml:57 +#: /vagrant/modules/monitoring/application/views/scripts/partials/event-history.phtml:50 msgid "This notification was not sent out to any contact." msgstr "Diese Benachrichtigung wurde an keinen Kontakt gesendet." @@ -3668,7 +4062,7 @@ msgstr "Zeit bis zur Reaktion (Bestätigung, Wiederherstellung)" msgid "TimeLine interval" msgstr "Zeitleisten Intervall" -#: /vagrant/modules/monitoring/configuration.php:204 +#: /vagrant/modules/monitoring/configuration.php:224 #: /vagrant/modules/monitoring/application/controllers/TimelineController.php:25 #: /vagrant/modules/monitoring/application/controllers/TimelineController.php:29 msgid "Timeline" @@ -3678,26 +4072,26 @@ msgstr "Zeitleiste" msgid "To" msgstr "Um" -#: /vagrant/modules/monitoring/library/Monitoring/MonitoringWizard.php:195 +#: /vagrant/modules/monitoring/library/Monitoring/MonitoringWizard.php:183 msgid "" "To access the IDO stored in a MySQL database the PDO-MySQL module for PHP is " "required." msgstr "" -"Um auf die, in einer MySQL gespeicherte, IDO zuzugreifen. Wird das PDO-MySQL Modul " -"für PHP benötigt." +"Um auf die, in einer MySQL gespeicherte, IDO zuzugreifen. Wird das PDO-MySQL " +"Modul für PHP benötigt." -#: /vagrant/modules/monitoring/library/Monitoring/MonitoringWizard.php:215 +#: /vagrant/modules/monitoring/library/Monitoring/MonitoringWizard.php:203 msgid "" -"To access the IDO stored in a PostgreSQL database the PDO-PostgreSQL module for " -"PHP is required." +"To access the IDO stored in a PostgreSQL database the PDO-PostgreSQL module " +"for PHP is required." msgstr "" "Um auf die, in einer PostgreSQL gespeicherte, IDO zuzugreifen. Wird das PDO-" "PostgreSQL Modul für PHP benötigt." #: /vagrant/modules/monitoring/application/forms/Setup/SecurityPage.php:16 msgid "" -"To protect your monitoring environment against prying eyes please fill out the " -"settings below." +"To protect your monitoring environment against prying eyes please fill out " +"the settings below." msgstr "" "Füllen Sie die Einstellungen unterhalb aus um Ihre Monitoring Umgebung gegen " "neugierige Augen zu beschützen. " @@ -3715,12 +4109,12 @@ msgstr "Top 5 der letzten Alarme" msgid "Total" msgstr "Gesamt" -#: /vagrant/modules/monitoring/application/controllers/ListController.php:497 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:499 msgid "Total Hosts" msgstr "Alle Hosts" -#: /vagrant/modules/monitoring/application/controllers/ListController.php:459 -#: /vagrant/modules/monitoring/application/controllers/ListController.php:498 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:461 +#: /vagrant/modules/monitoring/application/controllers/ListController.php:500 msgid "Total Services" msgstr "Alle Services" @@ -3754,7 +4148,7 @@ msgstr "Typ" msgid "Type: %s" msgstr "Typ: %s" -#: /vagrant/modules/monitoring/library/Monitoring/Object/Service.php:197 +#: /vagrant/modules/monitoring/library/Monitoring/Object/Service.php:199 msgid "UNKNOWN" msgstr "UNBEKANNT" @@ -3827,11 +4221,11 @@ msgstr "Benutzerkommentar" #: /vagrant/modules/monitoring/application/forms/Config/Transport/RemoteTransportForm.php:165 msgid "" -"User to log in as on the remote Icinga instance. Please note that key-based SSH " -"login must be possible for this user" +"User to log in as on the remote Icinga instance. Please note that key-based " +"SSH login must be possible for this user" msgstr "" -"Der Benutzer der sich auf der remote Icinga Instanz anmeldet. Bitte beachten Sie, " -"der Benutzer muss sich per SSH Schlüssel einloggen können." +"Der Benutzer der sich auf der remote Icinga Instanz anmeldet. Bitte beachten " +"Sie, der Benutzer muss sich per SSH Schlüssel einloggen können." #: /vagrant/modules/monitoring/library/Monitoring/BackendStep.php:109 msgid "Username" @@ -3857,7 +4251,7 @@ msgstr "Wert" msgid "Value for interval not valid" msgstr "Wert des Intervalls ist nicht zulässig" -#: /vagrant/modules/monitoring/library/Monitoring/Object/Service.php:191 +#: /vagrant/modules/monitoring/library/Monitoring/Object/Service.php:193 msgid "WARNING" msgstr "WARNUNG" @@ -3881,44 +4275,63 @@ msgstr "Willkommen bei der Konfiguration des Icinga Web2 Monitoring Moduls!" msgid "Yes" msgstr "Ja" -#: /vagrant/modules/monitoring/library/Monitoring/MonitoringWizard.php:201 +#: /vagrant/modules/monitoring/library/Monitoring/MonitoringWizard.php:189 msgid "Zend database adapter for MySQL" msgstr "Zend Datenbankadapter für MySQL" -#: /vagrant/modules/monitoring/library/Monitoring/MonitoringWizard.php:221 +#: /vagrant/modules/monitoring/library/Monitoring/MonitoringWizard.php:209 msgid "Zend database adapter for PostgreSQL" msgstr "Zend Datenbankadapter für PostgreSQL" +#: /vagrant/modules/monitoring/application/views/scripts/show/components/acknowledgement.phtml:22 +#, fuzzy +msgid "acknowledged" +msgstr "Bestätigt" + #: /vagrant/modules/monitoring/application/views/scripts/timeline/index.phtml:60 #, php-format msgctxt "timeline.link.title.datetime.twice" msgid "between %s and %s" msgstr "zwischen %s und %s" -#: /vagrant/modules/monitoring/application/views/scripts/partials/comment/comment-detail.phtml:31 +#: /vagrant/modules/monitoring/application/views/scripts/partials/comment/comment-detail.phtml:34 #: /vagrant/modules/monitoring/application/views/scripts/partials/downtime/downtime-header.phtml:42 msgid "by" msgstr "von" -#: /vagrant/modules/monitoring/application/forms/Command/Object/ToggleObjectFeaturesCommandForm.php:107 +#: /vagrant/modules/monitoring/application/forms/Command/Object/ToggleObjectFeaturesCommandForm.php:80 msgid "changed" msgstr "geändert" -#: /vagrant/modules/monitoring/application/views/scripts/show/components/comments.phtml:65 +#: /vagrant/modules/monitoring/application/views/scripts/show/components/comments.phtml:51 msgid "commented" msgstr "kommentiert" +#: /vagrant/modules/monitoring/application/views/scripts/show/components/downtime.phtml:79 +#, fuzzy +msgid "created" +msgstr "Angelegt" + +#: /vagrant/modules/monitoring/application/forms/Command/Object/ToggleObjectFeaturesCommandForm.php:84 +#, fuzzy +msgid "disable" +msgstr "%d Deaktiviert" + #: /vagrant/modules/monitoring/application/controllers/AlertsummaryController.php:194 msgid "down" msgstr "Down" +#: /vagrant/modules/monitoring/application/forms/Command/Object/ToggleObjectFeaturesCommandForm.php:85 +msgid "enable" +msgstr "" + #: /vagrant/modules/monitoring/application/views/scripts/show/components/downtime.phtml:60 #, php-format msgctxt "Last format parameter represents the end time" msgid "ends %s" msgstr "Endet %s" -#: /vagrant/modules/monitoring/application/views/scripts/show/components/checkstatistics.phtml:56 +#: /vagrant/modules/monitoring/application/views/scripts/show/components/checkstatistics.phtml:28 #, php-format msgid "expected %s" msgstr "erwartet %s" @@ -3940,7 +4353,7 @@ msgid "he date/time the scheduled downtime was actually started" msgstr "Die geplante Downtime wurde gestartet" #: /vagrant/modules/monitoring/application/views/scripts/partials/downtime/downtime-header.phtml:29 -#: /vagrant/modules/monitoring/library/Monitoring/Object/MonitoredObject.php:687 +#: /vagrant/modules/monitoring/library/Monitoring/Object/MonitoredObject.php:705 msgid "host" msgstr "Host" @@ -3966,11 +4379,11 @@ msgctxt "timeline.link.title.week.and.year" msgid "in week %s of %s" msgstr "in Woche %s im Jahr %s" -#: /vagrant/modules/monitoring/application/views/scripts/show/components/checksource.phtml:17 +#: /vagrant/modules/monitoring/application/views/scripts/show/components/checksource.phtml:9 msgid "is not reachable" msgstr "nicht erreichbar" -#: /vagrant/modules/monitoring/application/views/scripts/show/components/checksource.phtml:17 +#: /vagrant/modules/monitoring/application/views/scripts/show/components/checksource.phtml:9 msgid "is reachable" msgstr "erreichbar" @@ -3984,26 +4397,22 @@ msgctxt "timeline.link.title.time" msgid "on %s" msgstr "bei %s" -#: /vagrant/modules/monitoring/application/views/scripts/list/components/selectioninfo.phtml:5 -msgctxt "multiselection" -msgid "row(s) selected" -msgstr "gewählte Reihen" - #: /vagrant/modules/monitoring/application/views/scripts/show/components/downtime.phtml:65 #, php-format msgctxt "Last format parameter represents the time scheduled" msgid "scheduled %s" msgstr "%s wurde geplant" -#: /vagrant/modules/monitoring/library/Monitoring/Object/MonitoredObject.php:690 +#: /vagrant/modules/monitoring/application/views/scripts/show/components/downtime.phtml:70 +#, fuzzy, php-format +msgctxt "Last format parameter represents the time scheduled" +msgid "scheduled flexible %s" +msgstr "%s wurde geplant" + +#: /vagrant/modules/monitoring/library/Monitoring/Object/MonitoredObject.php:708 msgid "service" msgstr "Service" -#: /vagrant/modules/monitoring/application/views/scripts/partials/host/objects-header.phtml:36 -#, php-format -msgid "show all %d hosts" -msgstr "Zeige alle %d Hosts" - #: /vagrant/modules/monitoring/application/views/scripts/show/components/checkstatistics.phtml:69 msgid "soft state" msgstr "Soft Status" @@ -4020,6 +4429,59 @@ msgstr "Unverändert" msgid "up" msgstr "up" +#~ msgctxt "Service running on host" +#~ msgid "%s on %s" +#~ msgstr "%s auf %s" + +#~ msgid "Ack removed" +#~ msgstr "Bestätigung entfernt" + +#~ msgid "Comment deleted" +#~ msgstr "Kommentar gelöscht" + +#~ msgid "Downtime End" +#~ msgstr "Downtime Ende" + +#~ msgid "Downtime Start" +#~ msgstr "Downtime Beginn" + +#~ msgid "Downtime removed" +#~ msgstr "Downtime entfernt" + +#~ msgid "Ends" +#~ msgstr "Endet" + +#~ msgid "" +#~ "Failed to send external Icinga command. None of the configured transports " +#~ "was able to transfer the command. Please see the log for more details." +#~ msgstr "" +#~ "Versand des externen Icingakommandos schlug fehl. Das Kommando konnte von " +#~ "keiner der konfigurierten Schnittstellen übertragen werden. Bitte suchen " +#~ "Sie im Log nach weiteren Details." + +#~ msgid "Flapping Stopped" +#~ msgstr "Flapping beendet" + +#~ msgid "Flapping stopped" +#~ msgstr "Flapping beendet" + +#~ msgid "" +#~ "In case it's desired that a TCP connection is being used by Icinga Web 2 " +#~ "to access a Livestatus interface, the Sockets module for PHP is required." +#~ msgstr "" +#~ "Falls Sie beabsichtigen, Icinga Web 2 über eine TCP-Verbindung auf die " +#~ "Livestatus-Schnittstelle zugreifen zu lassen, benötigen das Sockets-Modul " +#~ "für PHP." + +#~ msgid "Notification" +#~ msgstr "Benachrichtigung" + +#~ msgid "Scroll to the bottom of this page to load additional events" +#~ msgstr "Gehen Sie zum Ende der Seite um weitere Events zu laden" + +#~ msgid "Starts" +#~ msgstr "Beginnt" + #~ msgid "%s services:" #~ msgstr "%s Services:" @@ -4038,9 +4500,6 @@ msgstr "up" #~ msgid "Performance Info" #~ msgstr "Performance-Info" -#~ msgid "Service State" -#~ msgstr "Service-Zustand" - #~ msgid "Service notification period" #~ msgstr "Benachrichtigungzeitraum des Services" @@ -4061,14 +4520,14 @@ msgstr "up" #~ msgid "" #~ " If you work with other administrators you may find it useful to share " -#~ "information about a host or service that is having problems if more than one of " -#~ "you may be working on it. Make sure you enter a brief description of what you " -#~ "are doing." +#~ "information about a host or service that is having problems if more than " +#~ "one of you may be working on it. Make sure you enter a brief description " +#~ "of what you are doing." #~ msgstr "" -#~ "Wenn du mit anderen Administratoren zusammenarbeitest wirst du es als nützlich " -#~ "empfinden, Informationen über Probleme auf Hosts oder Services an denen du " -#~ "arbeitest zu teilen. Stell sicher eine kurze Beschreibung von dem was du gerade " -#~ "machst zu hinterlassen." +#~ "Wenn du mit anderen Administratoren zusammenarbeitest wirst du es als " +#~ "nützlich empfinden, Informationen über Probleme auf Hosts oder Services " +#~ "an denen du arbeitest zu teilen. Stell sicher eine kurze Beschreibung von " +#~ "dem was du gerade machst zu hinterlassen." #~ msgid "%d are not checked at all" #~ msgstr "%d werden nicht überwacht" @@ -4132,10 +4591,12 @@ msgstr "up" #~ msgid "Command has been sent, performance data processing will be disabled" #~ msgstr "" -#~ "Befehl wurde gesendet, Performancedatenverarbeitung wird deaktiviert werden" +#~ "Befehl wurde gesendet, Performancedatenverarbeitung wird deaktiviert " +#~ "werden" #~ msgid "Command has been sent, performance data processing will be enabled" -#~ msgstr "Befehl wurde gesendet, Performancedatenverarbeitung wird aktiviert werden" +#~ msgstr "" +#~ "Befehl wurde gesendet, Performancedatenverarbeitung wird aktiviert werden" #~ msgid "Command has been sent, process will shut down" #~ msgstr "Befehl wurde gesendet, der Monitoringprozess wird herunterfahren" @@ -4150,14 +4611,16 @@ msgstr "up" #~ msgstr "Benutzerdefinierte Bestätigung wurde gesendet" #~ msgid "" -#~ "Custom notifications normally follow the regular notification logic in Icinga. " -#~ "Selecting this option will force the notification to be sent out, regardless of " -#~ "time restrictions, whether or not notifications are enabled, etc." +#~ "Custom notifications normally follow the regular notification logic in " +#~ "Icinga. Selecting this option will force the notification to be sent out, " +#~ "regardless of time restrictions, whether or not notifications are " +#~ "enabled, etc." #~ msgstr "" -#~ "Benutzeredefinierte Benachrichtigungen verhalten sich gemäß der gewöhnlichen " -#~ "Benachrichtigungslogik in Icinga. Wenn du diese Option wählst wird eine " -#~ "Benachrichtigung erzwungen. Einschränkungen durch Zeitspannen und durch " -#~ "eventuell deaktivierte Benachrichtigungen werden dabei ignoriert." +#~ "Benutzeredefinierte Benachrichtigungen verhalten sich gemäß der " +#~ "gewöhnlichen Benachrichtigungslogik in Icinga. Wenn du diese Option " +#~ "wählst wird eine Benachrichtigung erzwungen. Einschränkungen durch " +#~ "Zeitspannen und durch eventuell deaktivierte Benachrichtigungen werden " +#~ "dabei ignoriert." #~ msgid "Delay Notification" #~ msgstr "Benachrichtigung verzögern" @@ -4170,7 +4633,8 @@ msgstr "up" #~ msgid "Disable active checks for this host and its services." #~ msgstr "" -#~ "Deaktiviere aktive Service-Checks für diesen Host und seine Service-Checks." +#~ "Deaktiviere aktive Service-Checks für diesen Host und seine Service-" +#~ "Checks." #~ msgid "Disable active checks for this object." #~ msgstr "Deaktiviere aktive Service-Checks für dieses Objekt." @@ -4200,7 +4664,8 @@ msgstr "up" #~ msgstr "Deaktiviere Passive Checks applikationsweit." #~ msgid "Disable processing of performance data on a program-wide basis." -#~ msgstr "Deaktiviere die Verarbeitung von Performance-Daten applikationsweit." +#~ msgstr "" +#~ "Deaktiviere die Verarbeitung von Performance-Daten applikationsweit." #~ msgid "Downtime removal has been requested" #~ msgstr "Entfernung dieser Downtime wurde angefordert" @@ -4249,13 +4714,13 @@ msgstr "up" #~ msgid "Fill in the check output string which should be send to Icinga." #~ msgstr "" -#~ "Ausgabetext des Checkergebnisses welches an Icinga gesendet werden soll hier " -#~ "eintragen." +#~ "Ausgabetext des Checkergebnisses welches an Icinga gesendet werden soll " +#~ "hier eintragen." #~ msgid "Fill in the performance data string which should be send to Icinga." #~ msgstr "" -#~ "Performancedaten des Checkergebnisses welches an Icinga gesendet werden soll " -#~ "hier eintragen." +#~ "Performancedaten des Checkergebnisses welches an Icinga gesendet werden " +#~ "soll hier eintragen." #~ msgid "Flags (host)" #~ msgstr "Flags (Host)" @@ -4288,10 +4753,12 @@ msgstr "up" #~ msgstr "Benachrichtigungsverzögerung wurde angefragt" #~ msgid "Notifications for this host and its services will be disabled." -#~ msgstr "Benachrichtigungen für diesen Host und seine Services werden deaktiviert." +#~ msgstr "" +#~ "Benachrichtigungen für diesen Host und seine Services werden deaktiviert." #~ msgid "Notifications for this host and its services will be enabled." -#~ msgstr "Benachrichtigungen für diesen Host und seine Services werden aktiviert." +#~ msgstr "" +#~ "Benachrichtigungen für diesen Host und seine Services werden aktiviert." #~ msgid "Notifications for this object will be disabled." #~ msgstr "Benachrichtigungen für dieses Objekt werden deaktiviert." @@ -4336,14 +4803,15 @@ msgstr "up" #~ msgstr "Monitoring-Prozess neu starten." #~ msgid "" -#~ "Selecting this option causes the notification to be sent out to all normal (non-" -#~ "escalated) and escalated contacts. These options allow you to override the " -#~ "normal notification logic if you need to get an important message out." +#~ "Selecting this option causes the notification to be sent out to all " +#~ "normal (non-escalated) and escalated contacts. These options allow you " +#~ "to override the normal notification logic if you need to get an important " +#~ "message out." #~ msgstr "" #~ "Das Aktivieren diese Option verursacht, dass die Benachrichtigung an alle " -#~ "normalen (nicht-eskalierten) sowie eskalierten Kontakte gesendet wird. Die " -#~ "erlaubt es, die normale Benachrichtigungslogik zu übergehen, wenn eine " -#~ "dringende Nachricht versendet werden muss." +#~ "normalen (nicht-eskalierten) sowie eskalierten Kontakte gesendet wird. " +#~ "Die erlaubt es, die normale Benachrichtigungslogik zu übergehen, wenn " +#~ "eine dringende Nachricht versendet werden muss." #~ msgid "Servicematrix" #~ msgstr "Service-Matrix" @@ -4364,10 +4832,11 @@ msgstr "up" #~ msgid "Start obsessing over this object." #~ msgstr "Verfolgung dieses Objekts beginnen" -#~ msgid "Stop monitoring instance. You have to start it again from command line." +#~ msgid "" +#~ "Stop monitoring instance. You have to start it again from command line." #~ msgstr "" -#~ "Überwachungsinstanz stoppen. Muss anschließen von der Kommandozeile aus neu " -#~ "gestartet werden." +#~ "Überwachungsinstanz stoppen. Muss anschließen von der Kommandozeile aus " +#~ "neu gestartet werden." #~ msgid "Stop obsessing" #~ msgstr "Verfolgung deaktivieren" @@ -4379,31 +4848,31 @@ msgstr "up" #~ msgstr "Temporär deaktivieren" #~ msgid "" -#~ "The notification delay will be disregarded if the host/service changes state " -#~ "before the next notification is scheduled to be sent out." +#~ "The notification delay will be disregarded if the host/service changes " +#~ "state before the next notification is scheduled to be sent out." #~ msgstr "" -#~ "Die Benachrichtigungsverzögerung wird ignoriert wenn der Host/Service vor der " -#~ "nächsten zu versendenden Benachrichtigung seinen Status ändert." +#~ "Die Benachrichtigungsverzögerung wird ignoriert wenn der Host/Service vor " +#~ "der nächsten zu versendenden Benachrichtigung seinen Status ändert." #~ msgid "" -#~ "This command is used to send a custom notification about hosts or services. " -#~ "Useful in emergencies when you need to notify admins of an issue regarding a " -#~ "monitored system or service." +#~ "This command is used to send a custom notification about hosts or " +#~ "services. Useful in emergencies when you need to notify admins of an " +#~ "issue regarding a monitored system or service." #~ msgstr "" -#~ "Dieses Kommando ermöglicht es, personalisierte Benachrichtigungen für Hosts " -#~ "oder Services zu versenden. Nützlich ist das vor allem im Notfall, wenn man " -#~ "andere Administratoren über Probleme zu einem bestimmten System oder Service " -#~ "informieren möchte." +#~ "Dieses Kommando ermöglicht es, personalisierte Benachrichtigungen für " +#~ "Hosts oder Services zu versenden. Nützlich ist das vor allem im Notfall, " +#~ "wenn man andere Administratoren über Probleme zu einem bestimmten System " +#~ "oder Service informieren möchte." #~ msgid "" -#~ "This command is used to submit a passive check result for particular hosts/" -#~ "services. It is particularly useful for resetting security-related objects to " -#~ "OK states once they have been dealt with." +#~ "This command is used to submit a passive check result for particular " +#~ "hosts/services. It is particularly useful for resetting security-related " +#~ "objects to OK states once they have been dealt with." #~ msgstr "" -#~ "Dieses Kommando erlaubt es, ein passives Check-Ergebnis für einen bestimmten " -#~ "Host oder Service einzuliefern. Das ist for allem dann nützlich, wenn man " -#~ "sicherheitsrelevante Objekte zurück auf einen OK-Status setzen möchte, sobald " -#~ "man sich darum gekümmert hat." +#~ "Dieses Kommando erlaubt es, ein passives Check-Ergebnis für einen " +#~ "bestimmten Host oder Service einzuliefern. Das ist for allem dann " +#~ "nützlich, wenn man sicherheitsrelevante Objekte zurück auf einen OK-" +#~ "Status setzen möchte, sobald man sich darum gekümmert hat." #~ msgid "Triggered by" #~ msgstr "Ausgelöst von" From 14c884a2393a4242c739c5dc0638e8a53e0f3e6a Mon Sep 17 00:00:00 2001 From: Michael Friedrich Date: Mon, 29 Feb 2016 22:21:54 +0100 Subject: [PATCH 71/96] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 475372df9..78aa4fe79 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ **Icinga Web 2** is the next generation open source monitoring web interface, framework and command-line interface developed by the [Icinga Project](https://www.icinga.org/), supporting Icinga 2, -Icinga Core and any other monitoring backend compatible with the Livestatus Protocol. +Icinga Core and any other monitoring backend compatible with the IDO database. ![Icinga Web 2](https://www.icinga.org/wp-content/uploads/2015/10/Screen-Shot-2015-10-02-at-00.12.26.png "Icinga Web 2") From 09ef6d8f2aed68cbef0feb7ed4cc59fa385df51d Mon Sep 17 00:00:00 2001 From: Marius Hein Date: Mon, 29 Feb 2016 22:24:48 +0100 Subject: [PATCH 72/96] Update changelog --- ChangeLog | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/ChangeLog b/ChangeLog index d841c8329..b19458bba 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,66 @@ # Icinga Web 2 Changelog +## What's New in Version 2.2.0 + +#### Features + +* Feature 8487: Number headings in the documentation module +* Feature 8963: Feature commands in the multi select views +* Feature 10654: Render links in acknowledgements, comments and downtimes +* Feature 11062: Allow style classes in plugin output +* Feature 11238: Puppet/Vagrant: Install mod_ssl and forward port 443 + +#### Bugfixes + +* Bug 7350: Tabs are missing if JS is disabled +* Bug 9800: Debian packaging: Ship translation module w/ the icingaweb2 package and install its config.ini +* Bug 10173: Failed commands give no useful error any more +* Bug 10251: Icinga Web 2 fails to run with PHP7 +* Bug 10277: Special characters are incorrectly escaped for tooltips in the service grid +* Bug 10289: Doc module: Headers are cut off when clicking on TOC links +* Bug 10309: Move auth backend configuration to app config +* Bug 10310: Monitoring details: information/action ordering +* Bug 10362: Debian packaging: Separate package for CLI missing +* Bug 10366: Text plugin output treated as HTML in too many occasions +* Bug 10369: Accessibility: Focus not visible and lost after refresh +* Bug 10397: Users with no permissions can check multiple services +* Bug 10442: Edit user control should be more prominent +* Bug 10469: "Remove Acknowledgement" text missing in multi-select views +* Bug 10506: HTTP basic auth request is sent when using Kerberos authentication with Apache2 and mod_php +* Bug 10625: Return local date and time when lost connection to the web server +* Bug 10640: Respect protected_variables in nested custom variables too +* Bug 10778: Filters in the host group and service group overview not applied to state links +* Bug 10786: Whitespace characters are ignored in the plugin output in list views +* Bug 10805: Setup Wizard: Obsolete PHP sockets requirement +* Bug 10856: Benchmark is not rendered on many pages +* Bug 10871: Get rid of padding in controls +* Bug 10878: Dashboards different depending on username casing +* Bug 10881: Move iframe from modules to framework +* Bug 10917: Event grid tiles: The filter column "from" is not allowed here +* Bug 10918: Error on logout when using external authentication +* Bug 10921: icingacli monitoring list --format=csv throws error +* Bug 11000: Change license header to only reflect a file's year of creation/initial commit +* Bug 11008: Wobbling spinners +* Bug 11021: Global default theme is not applied while not authenticated +* Bug 11032: Fix icon_image size and provide a CSS class for theming +* Bug 11039: Misleading tooltip in Tactical Overview +* Bug 11051: Preferences and navigation items stored in INI files rely on case sensitive usernames +* Bug 11073: Active row is flickering on refresh +* Bug 11091: Custom navigation items: URL is not escaped/encoded +* Bug 11100: Comments are always persistent +* Bug 11114: Validate that a proper root DN is set for LDAP resources +* Bug 11117: Vendor: Update dompdf to version 0.6.2 +* Bug 11119: icingacli shows ugly exception when unable to access the config directory +* Bug 11120: icingacli: command and action shortcuts have been broken +* Bug 11126: Invalid cookie value in cookie icingaweb2-tzo +* Bug 11142: LDAP User Groups backend group_filter +* Bug 11143: Layout: Tabs should be left-aligned +* Bug 11151: Having basic authentication on the webserver but not in Icinga Web 2 causes Web 2 to require basic auth +* Bug 11168: Debian packaging: Don't patch HTMLPurifier loading and install HTMLPurifier*.php files from the library/vendor root +* Bug 11187: Session cookie: Path too broad and unset secure flag on HTTPS +* Bug 11197: Menu items without url should ignore the target configuration +* Bug 11260: Scheduling downtimes through the API not working + ## What's New in Version 2.1.1 #### Features From c831bc52323a5f4f38c3b0e3ff492c97127d2e4d Mon Sep 17 00:00:00 2001 From: Marius Hein Date: Mon, 29 Feb 2016 22:34:54 +0100 Subject: [PATCH 73/96] Add host_alias to search columns if backend is icinga 1 --- .../monitoring/library/Monitoring/DataView/Hoststatus.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/modules/monitoring/library/Monitoring/DataView/Hoststatus.php b/modules/monitoring/library/Monitoring/DataView/Hoststatus.php index 81113a584..8484dd9cc 100644 --- a/modules/monitoring/library/Monitoring/DataView/Hoststatus.php +++ b/modules/monitoring/library/Monitoring/DataView/Hoststatus.php @@ -89,7 +89,11 @@ class HostStatus extends DataView ) { return array('host', 'host_address', 'host_address6'); } else { - return array('host', 'host_display_name'); + if ($this->connection->isIcinga2()) { + return array('host', 'host_display_name'); + } else { + return array('host', 'host_display_name', 'host_alias'); + } } } From 25369b6de5ef99f0ac7254419934ec7b077f67b1 Mon Sep 17 00:00:00 2001 From: Marius Hein Date: Mon, 29 Feb 2016 22:41:39 +0100 Subject: [PATCH 74/96] Remove button style from action links --- public/css/icinga/main.less | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/public/css/icinga/main.less b/public/css/icinga/main.less index 82e4456bd..61373e772 100644 --- a/public/css/icinga/main.less +++ b/public/css/icinga/main.less @@ -68,23 +68,6 @@ a:hover > .icon-cancel { .button-link { .action-link(); - .button(); - display: inline-block; - height: 35px; - line-height: 20px; - min-width: 175px; - - &:hover { - text-decoration: none; - } - - * { - line-height: inherit; - } - - i { - font-size: 16px; - } } // List styles From 845a8b78cff2183aec59c7c4abff56f44ac28e7d Mon Sep 17 00:00:00 2001 From: Marius Hein Date: Mon, 29 Feb 2016 22:41:58 +0100 Subject: [PATCH 75/96] Bump version --- VERSION | 2 +- icingaweb2.spec | 4 ++-- library/Icinga/Application/Version.php | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/VERSION b/VERSION index 59696826f..a4b6ac3de 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.1.2 +v2.2.0 diff --git a/icingaweb2.spec b/icingaweb2.spec index d131bd16e..d891fbaa8 100644 --- a/icingaweb2.spec +++ b/icingaweb2.spec @@ -1,9 +1,9 @@ -# Icinga Web 2 | (c) 2013-2015 Icinga Development Team | GPLv2+ +# Icinga Web 2 | (c) 2013-2016 Icinga Development Team | GPLv2+ %define revision 1 Name: icingaweb2 -Version: 2.1.2 +Version: 2.2.0 Release: %{revision}%{?dist} Summary: Icinga Web 2 Group: Applications/System diff --git a/library/Icinga/Application/Version.php b/library/Icinga/Application/Version.php index 97325cbb0..7dc768e36 100644 --- a/library/Icinga/Application/Version.php +++ b/library/Icinga/Application/Version.php @@ -8,7 +8,7 @@ namespace Icinga\Application; */ class Version { - const VERSION = '2.1.2'; + const VERSION = '2.2.0'; /** * Get the version of this instance of Icinga Web 2 From 9d8a4f5077850b381aa6b3148a3e2147d2f64f80 Mon Sep 17 00:00:00 2001 From: Marius Hein Date: Mon, 29 Feb 2016 22:48:40 +0100 Subject: [PATCH 76/96] Update authors file --- AUTHORS | 2 ++ 1 file changed, 2 insertions(+) diff --git a/AUTHORS b/AUTHORS index 97647839f..5d55c132e 100644 --- a/AUTHORS +++ b/AUTHORS @@ -14,10 +14,12 @@ Daniel Shirley Davide Demuru Emil Vikström Eric Lippmann +Florian Strohmaier Goran Rakic Gunnar Beutner Jannis Moßhammer Jo Rhett +Joe Doherty Johannes Meyer Louis Sautier Marcus Cobden From 609b2da565b02a80156319ddf46ec84e3a04a05e Mon Sep 17 00:00:00 2001 From: Marius Hein Date: Mon, 29 Feb 2016 22:49:40 +0100 Subject: [PATCH 77/96] Update module versions --- modules/doc/module.info | 2 +- modules/monitoring/module.info | 2 +- modules/setup/module.info | 2 +- modules/test/module.info | 2 +- modules/translation/module.info | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/doc/module.info b/modules/doc/module.info index f1404d4eb..3a26441c6 100644 --- a/modules/doc/module.info +++ b/modules/doc/module.info @@ -1,4 +1,4 @@ Module: doc -Version: 2.1.2 +Version: 2.2.0 Description: Documentation module Extracts, shows and exports documentation for Icinga Web 2 and its modules. diff --git a/modules/monitoring/module.info b/modules/monitoring/module.info index ba8d36dda..5e9d93c39 100644 --- a/modules/monitoring/module.info +++ b/modules/monitoring/module.info @@ -1,5 +1,5 @@ Module: monitoring -Version: 2.1.2 +Version: 2.2.0 Description: Icinga monitoring module This is the core module for most Icingaweb users. It provides an abstraction layer for various Icinga data backends. diff --git a/modules/setup/module.info b/modules/setup/module.info index 0ae109200..067eda1c6 100644 --- a/modules/setup/module.info +++ b/modules/setup/module.info @@ -1,5 +1,5 @@ Module: setup -Version: 2.1.2 +Version: 2.2.0 Description: Setup module Web based wizard for setting up Icinga Web 2 and its modules. This includes the data backends (e.g. relational database, LDAP), diff --git a/modules/test/module.info b/modules/test/module.info index a65857bbe..dc1d902eb 100644 --- a/modules/test/module.info +++ b/modules/test/module.info @@ -1,5 +1,5 @@ Module: test -Version: 2.1.2 +Version: 2.2.0 Description: Translation module This module allows developers to run (unit) tests against Icinga Web 2 and any of its modules. Usually you do not need to enable this. diff --git a/modules/translation/module.info b/modules/translation/module.info index 5c652f6fb..5799d5c52 100644 --- a/modules/translation/module.info +++ b/modules/translation/module.info @@ -1,5 +1,5 @@ Module: translation -Version: 2.1.2 +Version: 2.2.0 Description: Translation module This module allows developers and translators to translate Icinga Web 2 and its modules for multiple languages. You do not need this module to run an From 929f45deea0fc56a5dfdb43d1e0c0a44a030aa1c Mon Sep 17 00:00:00 2001 From: Markus Frosch Date: Wed, 2 Mar 2016 17:39:05 +0100 Subject: [PATCH 78/96] Fix session resume for external auths When REMOTE_USER is not available from _SERVER (PHP internal webserver) fixes #11277 --- library/Icinga/Authentication/Auth.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/library/Icinga/Authentication/Auth.php b/library/Icinga/Authentication/Auth.php index 6a8e32a62..9fb43922c 100644 --- a/library/Icinga/Authentication/Auth.php +++ b/library/Icinga/Authentication/Auth.php @@ -244,7 +244,8 @@ class Auth $this->user = Session::getSession()->get('user'); if ($this->user !== null && $this->user->isExternalUser() === true) { list($originUsername, $field) = $this->user->getExternalUserInformation(); - if (! array_key_exists($field, $_SERVER) || $_SERVER[$field] !== $originUsername) { + $username = getenv($field); // usually REMOTE_USER here + if ( !$username || $username !== $originUsername) { $this->removeAuthorization(); } } From 88d973ac39d39f843ae5e6f4acd7fa1c269cc054 Mon Sep 17 00:00:00 2001 From: Markus Frosch Date: Wed, 2 Mar 2016 20:47:22 +0100 Subject: [PATCH 79/96] Restrict access to application log with 'application/log' permission fixes #11279 --- application/controllers/ListController.php | 2 ++ library/Icinga/Application/Web.php | 7 ++++--- library/Icinga/Web/Menu.php | 5 +++-- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/application/controllers/ListController.php b/application/controllers/ListController.php index eb4fdad3a..c3f16a2b4 100644 --- a/application/controllers/ListController.php +++ b/application/controllers/ListController.php @@ -39,6 +39,8 @@ class ListController extends Controller */ public function applicationlogAction() { + $this->assertPermission('application/log'); + if (! Logger::writesToFile()) { $this->httpNotFound('Page not found'); } diff --git a/library/Icinga/Application/Web.php b/library/Icinga/Application/Web.php index 0b15ceaf5..7af9b9b8f 100644 --- a/library/Icinga/Application/Web.php +++ b/library/Icinga/Application/Web.php @@ -363,9 +363,10 @@ class Web extends EmbeddedWeb if (Logger::writesToFile()) { $menu['system']['children']['application_log'] = array( - 'label' => t('Application Log'), - 'url' => 'list/applicationlog', - 'priority' => 710 + 'label' => t('Application Log'), + 'url' => 'list/applicationlog', + 'permission' => 'application/log', + 'priority' => 710 ); } } else { diff --git a/library/Icinga/Web/Menu.php b/library/Icinga/Web/Menu.php index 77144bc65..cf271ce8c 100644 --- a/library/Icinga/Web/Menu.php +++ b/library/Icinga/Web/Menu.php @@ -260,8 +260,9 @@ class Menu implements RecursiveIterator )); if (Logger::writesToFile()) { $section->add(t('Application Log'), array( - 'url' => 'list/applicationlog', - 'priority' => 710 + 'url' => 'list/applicationlog', + 'permission' => 'application/log', + 'priority' => 710 )); } From 6f7c99bd0887b919ac77c2c92f37e6cbc58fa9da Mon Sep 17 00:00:00 2001 From: Eric Lippmann Date: Mon, 14 Mar 2016 15:35:21 +0100 Subject: [PATCH 80/96] RPM: Provide icingaweb2-vendor-Zend again SUSE/SLES require this package. --- icingaweb2.spec | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/icingaweb2.spec b/icingaweb2.spec index d891fbaa8..f284df23b 100644 --- a/icingaweb2.spec +++ b/icingaweb2.spec @@ -165,6 +165,18 @@ Requires: %{php} >= 5.3.0 Icinga Web 2 vendor library Parsedown +%package vendor-Zend +Version: 1.12.15 +Release: 1%{?dist} +Summary: Icinga Web 2 vendor library Zend Framework +Group: Development/Libraries +License: BSD +Requires: %{php} >= 5.3.0 + +%description vendor-Zend +Icinga Web 2 vendor library Zend + + %prep %setup -q @@ -177,7 +189,7 @@ cp -prv application doc %{buildroot}/%{basedir} cp -pv etc/bash_completion.d/icingacli %{buildroot}/%{_sysconfdir}/bash_completion.d/icingacli cp -prv modules/{monitoring,setup,doc,translation} %{buildroot}/%{basedir}/modules cp -prv library/Icinga %{buildroot}/%{phpdir} -cp -prv library/vendor/{dompdf,HTMLPurifier*,JShrink,lessphp,Parsedown} %{buildroot}/%{basedir}/library/vendor +cp -prv library/vendor/{dompdf,HTMLPurifier*,JShrink,lessphp,Parsedown,Zend} %{buildroot}/%{basedir}/library/vendor cp -prv public/{css,img,js,error_norewrite.html} %{buildroot}/%{basedir}/public cp -pv packages/files/apache/icingaweb2.conf %{buildroot}/%{wwwconfigdir}/icingaweb2.conf cp -pv packages/files/bin/icingacli %{buildroot}/%{bindir} @@ -267,3 +279,8 @@ exit 0 %files vendor-Parsedown %defattr(-,root,root) %{basedir}/library/vendor/Parsedown + + +%files vendor-Zend +%defattr(-,root,root) +%{basedir}/library/vendor/Zend From 2699d2c9ed8736c0e6bc090fcdfba7d6214f2d98 Mon Sep 17 00:00:00 2001 From: Eric Lippmann Date: Thu, 24 Mar 2016 15:28:21 +0100 Subject: [PATCH 81/96] lib: Rename AdmissionLoader::applyPerm... to applyRoles() refs #10887 --- library/Icinga/Authentication/AdmissionLoader.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/library/Icinga/Authentication/AdmissionLoader.php b/library/Icinga/Authentication/AdmissionLoader.php index 391622fb1..ca21913e3 100644 --- a/library/Icinga/Authentication/AdmissionLoader.php +++ b/library/Icinga/Authentication/AdmissionLoader.php @@ -45,11 +45,9 @@ class AdmissionLoader /** * Get user permissions and restrictions * - * @param User $user - * - * @return array + * @param User $user */ - public function getPermissionsAndRestrictions(User $user) + public function applyRoles(User $user) { $permissions = array(); $restrictions = array(); @@ -62,7 +60,7 @@ class AdmissionLoader $username, $e ); - return array($permissions, $restrictions); + return; } $userGroups = $user->getGroups(); foreach ($roles as $role) { @@ -83,6 +81,8 @@ class AdmissionLoader } } } - return array($permissions, $restrictions); + $user->setPermissions($permissions); + $user->setRestrictions($restrictions); +// $user->setRoles($roles); } } From 6ec18789770429bd76aa4dcdab1b6ea304ac1399 Mon Sep 17 00:00:00 2001 From: Eric Lippmann Date: Thu, 24 Mar 2016 15:29:39 +0100 Subject: [PATCH 82/96] lib: Add Authentication/Role refs #10887 --- library/Icinga/Authentication/Role.php | 113 +++++++++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 library/Icinga/Authentication/Role.php diff --git a/library/Icinga/Authentication/Role.php b/library/Icinga/Authentication/Role.php new file mode 100644 index 000000000..5a8029e46 --- /dev/null +++ b/library/Icinga/Authentication/Role.php @@ -0,0 +1,113 @@ +name; + } + + /** + * Set the name of the role + * + * @param string $name + * + * @return $this + */ + public function setName($name) + { + $this->name = $name; + return $this; + } + + /** + * Add a permission to the role + * + * @param string $permission + * + * @return $this + */ + public function addPermission($permission) + { + $this->permissions[$permission] = $permission; + return $this; + } + + /** + * Get the permissions of the role + * + * @return string[] + */ + public function getPermissions() + { + return $this->permissions; + } + + /** + * Add a restriction to the role + * + * @param string $name + * @param string $restriction + * + * @return $this + */ + public function addRestriction($name, $restriction) + { + if (! isset($this->restrictions[$name])) { + $this->restrictions[$name] = array(); + } + $this->restrictions[$name][] = $restriction; + return $this; + } + + /** + * Get the restrictions of the role + * + * @param string $name Optional name of the restriction + * + * @return string[]|null + */ + public function getRestrictions($name = null) + { + $restrictions = $this->restrictions; + + if ($name === null) { + return $restrictions; + } + + if (isset($restrictions[$name])) { + return $restrictions[$name]; + } + + return null; + } +} From 1aa42bdaf62acf45e1e215e83c8f80a421b4c889 Mon Sep 17 00:00:00 2001 From: Eric Lippmann Date: Thu, 24 Mar 2016 15:30:07 +0100 Subject: [PATCH 83/96] lib: Add User::getRoles() and ::setRoles() refs #10887 --- library/Icinga/User.php | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/library/Icinga/User.php b/library/Icinga/User.php index cbd8c4743..6ec266685 100644 --- a/library/Icinga/User.php +++ b/library/Icinga/User.php @@ -6,6 +6,7 @@ namespace Icinga; use DateTimeZone; use InvalidArgumentException; use Icinga\Application\Config; +use Icinga\Authentication\Role; use Icinga\User\Preferences; use Icinga\Web\Navigation\Navigation; @@ -238,6 +239,29 @@ class User $this->restrictions = $restrictions; } + /** + * Get the roles of the user + * + * @return Role[] + */ + public function getRoles() + { + return $this->roles; + } + + /** + * Set the roles of the user + * + * @param Role[] $roles + * + * @return $this + */ + public function setRoles(array $roles) + { + $this->roles = $roles; + return $this; + } + /** * Getter for username * From f1f4cdc3cb8f1d0e2d433dfba8308ee88956ef0a Mon Sep 17 00:00:00 2001 From: Eric Lippmann Date: Thu, 24 Mar 2016 15:30:30 +0100 Subject: [PATCH 84/96] lib: Use AdmissionLoader::applyRoles() in Auth refs #10887 --- library/Icinga/Authentication/Auth.php | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/library/Icinga/Authentication/Auth.php b/library/Icinga/Authentication/Auth.php index 9fb43922c..392a59d71 100644 --- a/library/Icinga/Authentication/Auth.php +++ b/library/Icinga/Authentication/Auth.php @@ -160,9 +160,7 @@ class Auth } $user->setGroups($groups); $admissionLoader = new AdmissionLoader(); - list($permissions, $restrictions) = $admissionLoader->getPermissionsAndRestrictions($user); - $user->setPermissions($permissions); - $user->setRestrictions($restrictions); + $admissionLoader->applyRoles($user); $this->user = $user; if ($persist) { $this->persistCurrentUser(); From 57ce39834d8928368bfb8fa07aaa67e443d9e9ec Mon Sep 17 00:00:00 2001 From: "Alexander A. Klimov" Date: Thu, 24 Mar 2016 16:11:31 +0100 Subject: [PATCH 85/96] Role: implement setPermissions() and setRestrictions() refs #10887 --- library/Icinga/Authentication/Role.php | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/library/Icinga/Authentication/Role.php b/library/Icinga/Authentication/Role.php index 5a8029e46..a032e7957 100644 --- a/library/Icinga/Authentication/Role.php +++ b/library/Icinga/Authentication/Role.php @@ -62,6 +62,19 @@ class Role return $this; } + /** + * Set permissions of the role + * + * @param string[] $permissions + * + * @return $this + */ + public function setPermissions(array $permissions) + { + $this->permissions = $permissions; + return $this; + } + /** * Get the permissions of the role * @@ -89,6 +102,19 @@ class Role return $this; } + /** + * Set restrictions of the role + * + * @param string[] $restrictions + * + * @return $this + */ + public function setRestrictions(array $restrictions) + { + $this->restrictions = $restrictions; + return $this; + } + /** * Get the restrictions of the role * From df0d3aaf1ea9b9d1dc7d4a5f4ec73b24630090ec Mon Sep 17 00:00:00 2001 From: "Alexander A. Klimov" Date: Thu, 24 Mar 2016 16:24:24 +0100 Subject: [PATCH 86/96] AdmissionLoader: set the roles of the user refs #10887 --- library/Icinga/Authentication/AdmissionLoader.php | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/library/Icinga/Authentication/AdmissionLoader.php b/library/Icinga/Authentication/AdmissionLoader.php index ca21913e3..6d0df9f65 100644 --- a/library/Icinga/Authentication/AdmissionLoader.php +++ b/library/Icinga/Authentication/AdmissionLoader.php @@ -5,6 +5,7 @@ namespace Icinga\Authentication; use Icinga\Application\Config; use Icinga\Application\Logger; +use Icinga\Authentication\Role; use Icinga\Exception\NotReadableError; use Icinga\Data\ConfigObject; use Icinga\User; @@ -63,11 +64,13 @@ class AdmissionLoader return; } $userGroups = $user->getGroups(); - foreach ($roles as $role) { + $roleObjs = array(); + foreach ($roles as $roleName => $role) { if ($this->match($username, $userGroups, $role)) { + $permissionsFromRole = StringHelper::trimSplit($role->permissions); $permissions = array_merge( $permissions, - array_diff(StringHelper::trimSplit($role->permissions), $permissions) + array_diff($permissionsFromRole, $permissions) ); $restrictionsFromRole = $role->toArray(); unset($restrictionsFromRole['users']); @@ -79,10 +82,16 @@ class AdmissionLoader } $restrictions[$name][] = $restriction; } + + $roleObj = new Role(); + $roleObjs[] = $roleObj + ->setName($roleName) + ->setPermissions($permissionsFromRole) + ->setRestrictions($restrictionsFromRole); } } $user->setPermissions($permissions); $user->setRestrictions($restrictions); -// $user->setRoles($roles); + $user->setRoles($roleObjs); } } From c6eb3cd2c7f7d36acc0ddccfd6ba8881225304c9 Mon Sep 17 00:00:00 2001 From: "Alexander A. Klimov" Date: Thu, 24 Mar 2016 16:34:32 +0100 Subject: [PATCH 87/96] Add missing User::$roles definition refs #10887 --- library/Icinga/User.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/library/Icinga/User.php b/library/Icinga/User.php index 6ec266685..da5c37390 100644 --- a/library/Icinga/User.php +++ b/library/Icinga/User.php @@ -92,6 +92,13 @@ class User */ protected $groups = array(); + /** + * Roles of this user + * + * @var Role[] + */ + protected $roles = array(); + /** * Preferences object * From ea871ea032c78f58fa43bd672b96c5a66339fcf3 Mon Sep 17 00:00:00 2001 From: Raphael Bicker Date: Thu, 24 Mar 2016 17:53:55 +0100 Subject: [PATCH 88/96] Fix Cannot execute queries while other unbuffered queries are active fixes #11264 Signed-off-by: Eric Lippmann --- library/Icinga/Data/Db/DbConnection.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/library/Icinga/Data/Db/DbConnection.php b/library/Icinga/Data/Db/DbConnection.php index f643d4849..e9d3bd5f0 100644 --- a/library/Icinga/Data/Db/DbConnection.php +++ b/library/Icinga/Data/Db/DbConnection.php @@ -152,11 +152,12 @@ class DbConnection implements Selectable, Extensible, Updatable, Reducible, Insp */ $driverOptions[PDO::MYSQL_ATTR_INIT_COMMAND] = 'SET SESSION SQL_MODE=\'STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,' - . 'NO_AUTO_CREATE_USER,ANSI_QUOTES,PIPES_AS_CONCAT,NO_ENGINE_SUBSTITUTION\';'; + . 'NO_AUTO_CREATE_USER,ANSI_QUOTES,PIPES_AS_CONCAT,NO_ENGINE_SUBSTITUTION\''; if (array_key_exists('charset', $adapterParamaters) && $adapterParamaters['charset']) { - $driverOptions[PDO::MYSQL_ATTR_INIT_COMMAND] .= 'SET NAMES ' . $adapterParamaters['charset']. ';'; + $driverOptions[PDO::MYSQL_ATTR_INIT_COMMAND] .= ', NAMES ' . $adapterParamaters['charset']; unset($adapterParamaters['charset']); } + $driverOptions[PDO::MYSQL_ATTR_INIT_COMMAND] .=';'; $adapterParamaters['port'] = $this->config->get('port', 3306); break; From 98934e9c5f0928367fad8dd53c74470025b84ae7 Mon Sep 17 00:00:00 2001 From: Eric Lippmann Date: Thu, 24 Mar 2016 17:55:30 +0100 Subject: [PATCH 89/96] lib/DbConnection: Use isset for charset check --- library/Icinga/Data/Db/DbConnection.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/Icinga/Data/Db/DbConnection.php b/library/Icinga/Data/Db/DbConnection.php index e9d3bd5f0..81afb2c3d 100644 --- a/library/Icinga/Data/Db/DbConnection.php +++ b/library/Icinga/Data/Db/DbConnection.php @@ -153,7 +153,7 @@ class DbConnection implements Selectable, Extensible, Updatable, Reducible, Insp $driverOptions[PDO::MYSQL_ATTR_INIT_COMMAND] = 'SET SESSION SQL_MODE=\'STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,' . 'NO_AUTO_CREATE_USER,ANSI_QUOTES,PIPES_AS_CONCAT,NO_ENGINE_SUBSTITUTION\''; - if (array_key_exists('charset', $adapterParamaters) && $adapterParamaters['charset']) { + if (isset($adapterParamaters['charset'])) { $driverOptions[PDO::MYSQL_ATTR_INIT_COMMAND] .= ', NAMES ' . $adapterParamaters['charset']; unset($adapterParamaters['charset']); } From 3d6ae6ac26022049ef4ed82714b968fd5a627d20 Mon Sep 17 00:00:00 2001 From: Eric Lippmann Date: Tue, 29 Mar 2016 11:18:36 +0200 Subject: [PATCH 90/96] Fix PHPDoc of User::setRestrictions() refs #10887 --- library/Icinga/User.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/library/Icinga/User.php b/library/Icinga/User.php index da5c37390..738df109e 100644 --- a/library/Icinga/User.php +++ b/library/Icinga/User.php @@ -237,13 +237,16 @@ class User } /** - * Settter for restrictions + * Set the user's restrictions * - * @param array $restrictions + * @param string[] $restrictions + * + * @return $this */ public function setRestrictions(array $restrictions) { $this->restrictions = $restrictions; + return $this; } /** From 08b70267cda211d84f561f2a20cf50b473fec8d4 Mon Sep 17 00:00:00 2001 From: Eric Lippmann Date: Tue, 29 Mar 2016 11:19:03 +0200 Subject: [PATCH 91/96] Move setters after getter in Role.php refs #10887 --- library/Icinga/Authentication/Role.php | 48 +++++++++++++------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/library/Icinga/Authentication/Role.php b/library/Icinga/Authentication/Role.php index a032e7957..28a32d235 100644 --- a/library/Icinga/Authentication/Role.php +++ b/library/Icinga/Authentication/Role.php @@ -63,7 +63,17 @@ class Role } /** - * Set permissions of the role + * Get the permissions of the role + * + * @return string[] + */ + public function getPermissions() + { + return $this->permissions; + } + + /** + * Set the permissions of the role * * @param string[] $permissions * @@ -75,16 +85,6 @@ class Role return $this; } - /** - * Get the permissions of the role - * - * @return string[] - */ - public function getPermissions() - { - return $this->permissions; - } - /** * Add a restriction to the role * @@ -102,19 +102,6 @@ class Role return $this; } - /** - * Set restrictions of the role - * - * @param string[] $restrictions - * - * @return $this - */ - public function setRestrictions(array $restrictions) - { - $this->restrictions = $restrictions; - return $this; - } - /** * Get the restrictions of the role * @@ -136,4 +123,17 @@ class Role return null; } + + /** + * Set the restrictions of the role + * + * @param string[] $restrictions + * + * @return $this + */ + public function setRestrictions(array $restrictions) + { + $this->restrictions = $restrictions; + return $this; + } } From 123488cfc0e740efd82faea095a0f3693612117f Mon Sep 17 00:00:00 2001 From: Eric Lippmann Date: Tue, 29 Mar 2016 11:19:30 +0200 Subject: [PATCH 92/96] Remove Role::addRestriction() Method is not used. refs #10887 --- library/Icinga/Authentication/Role.php | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/library/Icinga/Authentication/Role.php b/library/Icinga/Authentication/Role.php index 28a32d235..afb27392f 100644 --- a/library/Icinga/Authentication/Role.php +++ b/library/Icinga/Authentication/Role.php @@ -85,23 +85,6 @@ class Role return $this; } - /** - * Add a restriction to the role - * - * @param string $name - * @param string $restriction - * - * @return $this - */ - public function addRestriction($name, $restriction) - { - if (! isset($this->restrictions[$name])) { - $this->restrictions[$name] = array(); - } - $this->restrictions[$name][] = $restriction; - return $this; - } - /** * Get the restrictions of the role * From 32c6a0300018758879cc85745eff9eb2a5474df2 Mon Sep 17 00:00:00 2001 From: Eric Lippmann Date: Tue, 29 Mar 2016 11:20:15 +0200 Subject: [PATCH 93/96] Remove Role::addPermission() Method is not used. refs #10887 --- library/Icinga/Authentication/Role.php | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/library/Icinga/Authentication/Role.php b/library/Icinga/Authentication/Role.php index afb27392f..f00d063e2 100644 --- a/library/Icinga/Authentication/Role.php +++ b/library/Icinga/Authentication/Role.php @@ -49,19 +49,6 @@ class Role return $this; } - /** - * Add a permission to the role - * - * @param string $permission - * - * @return $this - */ - public function addPermission($permission) - { - $this->permissions[$permission] = $permission; - return $this; - } - /** * Get the permissions of the role * From 5b5978787bd57445f3168b28b2b04a9616cbf230 Mon Sep 17 00:00:00 2001 From: Eric Lippmann Date: Tue, 29 Mar 2016 11:23:18 +0200 Subject: [PATCH 94/96] Move permission and restriction initialization in AdmissionLoader refs #10887 --- library/Icinga/Authentication/AdmissionLoader.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/library/Icinga/Authentication/AdmissionLoader.php b/library/Icinga/Authentication/AdmissionLoader.php index 6d0df9f65..f0e5c7783 100644 --- a/library/Icinga/Authentication/AdmissionLoader.php +++ b/library/Icinga/Authentication/AdmissionLoader.php @@ -50,8 +50,6 @@ class AdmissionLoader */ public function applyRoles(User $user) { - $permissions = array(); - $restrictions = array(); $username = $user->getUsername(); try { $roles = Config::app('roles'); @@ -64,6 +62,8 @@ class AdmissionLoader return; } $userGroups = $user->getGroups(); + $permissions = array(); + $restrictions = array(); $roleObjs = array(); foreach ($roles as $roleName => $role) { if ($this->match($username, $userGroups, $role)) { From e0781cf8b52ce40919621bfe91f010b42ecfcd91 Mon Sep 17 00:00:00 2001 From: Eric Lippmann Date: Tue, 29 Mar 2016 11:24:58 +0200 Subject: [PATCH 95/96] Fix PHPDoc of AdmissionLoader::applyRoles() refs #10887 --- library/Icinga/Authentication/AdmissionLoader.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/Icinga/Authentication/AdmissionLoader.php b/library/Icinga/Authentication/AdmissionLoader.php index f0e5c7783..0a80be127 100644 --- a/library/Icinga/Authentication/AdmissionLoader.php +++ b/library/Icinga/Authentication/AdmissionLoader.php @@ -44,7 +44,7 @@ class AdmissionLoader } /** - * Get user permissions and restrictions + * Apply permissions, restrictions and roles to the given user * * @param User $user */ From c7aec8ae64c9255a0d129b08313440730ed9f3eb Mon Sep 17 00:00:00 2001 From: Eric Lippmann Date: Tue, 29 Mar 2016 11:39:41 +0200 Subject: [PATCH 96/96] Respect module stylesheets again when generating the ETag fixes #11465 --- library/Icinga/Web/LessCompiler.php | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/library/Icinga/Web/LessCompiler.php b/library/Icinga/Web/LessCompiler.php index acf616d18..7ec34a143 100644 --- a/library/Icinga/Web/LessCompiler.php +++ b/library/Icinga/Web/LessCompiler.php @@ -70,7 +70,7 @@ class LessCompiler */ public function addLessFile($lessFile) { - $this->lessFiles[] = $lessFile; + $this->lessFiles[] = realpath($lessFile); return $this; } @@ -87,7 +87,7 @@ class LessCompiler if (! isset($this->moduleLessFiles[$moduleName])) { $this->moduleLessFiles[$moduleName] = array(); } - $this->moduleLessFiles[$moduleName][] = $lessFile; + $this->moduleLessFiles[$moduleName][] = realpath($lessFile); return $this; } @@ -98,9 +98,12 @@ class LessCompiler */ public function getLessFiles() { - $lessFiles = iterator_to_array(new RecursiveIteratorIterator(new RecursiveArrayIterator( - $this->lessFiles + $this->moduleLessFiles - ))); + $lessFiles = $this->lessFiles; + + foreach ($this->moduleLessFiles as $moduleLessFiles) { + $lessFiles = array_merge($lessFiles, $moduleLessFiles); + } + if ($this->theme !== null) { $lessFiles[] = $this->theme; }
translate('State'); ?> - is_reachable !== null) { - if ((bool) $object->is_reachable) { - echo $this->icon('circle', $this->translate('Is reachable'), array('class' => 'fg-color-ok')); - } else { - echo $this->icon('circle', $this->translate('Not reachable'), array('class' => 'fg-color-critical')); - } - } ?> escape($object->check_source) ?> is_reachable !== null): ?> is_reachable ? $this->translate('is reachable') : $this->translate('is not reachable') ?> + is_reachable) { + echo $this->icon('circle', $this->translate('Is reachable'), array('class' => 'check-source-reachable')); + } else { + echo $this->icon('circle', $this->translate('Not reachable'), array('class' => 'check-source-not-reachable')); + } ?>
translate('Last check') : $this->translate('Last update') ?> +state !== 99): ?> + timeAgo($object->last_check) ?> + next_update < time()): ?> + icon('circle', $this->translate('Check result is late'), array('class' => 'check-result-late')) ?> + + - state !== 99) { - echo $this->timeAgo($object->last_check); - } ?>
translate('Next check') : $this->translate('Next update') ?> + state !== 99) { + if ($activeChecksEnabled) { + echo $this->timeUntil($object->next_check); + } else { + echo sprintf($this->translate('expected %s'), $this->timeUntil($object->next_update)); + } + } ?> hasPermission('monitoring/command/schedule-check')) { if ($object->getType() === $object::TYPE_SERVICE) { echo $this->qlink( @@ -49,16 +59,6 @@ $activeChecksEnabled = (bool) $object->active_checks_enabled; ); } } ?> - state !== 99) { - if ($activeChecksEnabled) { - echo $this->timeUntil($object->next_check); - } else { - echo sprintf($this->translate('expected %s'), $this->timeUntil($object->next_update)); - } - } ?> - next_update < time()) { - echo $this->icon('circle', $this->translate('Check result is late'), array('class' => 'fg-color-critical')); - } ?>
escape($host->$col) ?>
- getName(); ?> + escape($pane->getName()) ?> qlink( From b7bdf2e8d40972c3fd429e34db1184d9a62cb8ca Mon Sep 17 00:00:00 2001 From: "Alexander A. Klimov" Date: Tue, 23 Feb 2016 13:13:06 +0100 Subject: [PATCH 23/96] Implement UrlValidator --- .../Web/Form/Validator/UrlValidator.php | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 library/Icinga/Web/Form/Validator/UrlValidator.php diff --git a/library/Icinga/Web/Form/Validator/UrlValidator.php b/library/Icinga/Web/Form/Validator/UrlValidator.php new file mode 100644 index 000000000..2fd882446 --- /dev/null +++ b/library/Icinga/Web/Form/Validator/UrlValidator.php @@ -0,0 +1,41 @@ + 'The url must not contain raw double quotes. If you really need double quotes, use %22 instead.' + ); + + /** + * Validate the input value + * + * @param string $value The string to validate + * + * @return bool true if and only if the input is valid, otherwise false + * + * @see Zend_Validate_Abstract::isValid() + */ + public function isValid($value) + { + $hasQuotes = false === strpos($value, '"'); + if (! $hasQuotes) { + $this->_error('HAS_QUOTES'); + } + return $hasQuotes; + } +} From 21eeeea7ea67d7f2064a9a0fc64875796c7b8c90 Mon Sep 17 00:00:00 2001 From: "Alexander A. Klimov" Date: Tue, 23 Feb 2016 13:33:58 +0100 Subject: [PATCH 24/96] Don't allow raw double quotes in dashlet URLs --- application/forms/Dashboard/DashletForm.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/application/forms/Dashboard/DashletForm.php b/application/forms/Dashboard/DashletForm.php index d00381458..f3df2c216 100644 --- a/application/forms/Dashboard/DashletForm.php +++ b/application/forms/Dashboard/DashletForm.php @@ -5,6 +5,7 @@ namespace Icinga\Forms\Dashboard; use Icinga\Web\Widget\Dashboard; use Icinga\Web\Form; +use Icinga\Web\Form\Validator\UrlValidator; use Icinga\Web\Url; use Icinga\Web\Widget\Dashboard\Dashlet; @@ -68,7 +69,8 @@ class DashletForm extends Form 'label' => $this->translate('Url'), 'description' => $this->translate( 'Enter url being loaded in the dashlet. You can paste the full URL, including filters.' - ) + ), + 'validators' => array(new UrlValidator()) ) ); $this->addElement( From 23841b635e07a0e11fd6fc588353e2b60a12f0e2 Mon Sep 17 00:00:00 2001 From: "Alexander A. Klimov" Date: Fri, 12 Feb 2016 16:35:50 +0100 Subject: [PATCH 25/96] Respect permission for check now on multiple hosts refs #10397 --- .../application/controllers/HostsController.php | 12 +++++++----- .../application/views/scripts/hosts/show.phtml | 10 ++++++---- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/modules/monitoring/application/controllers/HostsController.php b/modules/monitoring/application/controllers/HostsController.php index 2cfe909d1..793df1ec8 100644 --- a/modules/monitoring/application/controllers/HostsController.php +++ b/modules/monitoring/application/controllers/HostsController.php @@ -83,11 +83,13 @@ class HostsController extends Controller public function showAction() { $this->setAutorefreshInterval(15); - $checkNowForm = new CheckNowCommandForm(); - $checkNowForm - ->setObjects($this->hostList) - ->handleRequest(); - $this->view->checkNowForm = $checkNowForm; + if ($this->Auth()->hasPermission('monitoring/command/schedule-check')) { + $checkNowForm = new CheckNowCommandForm(); + $checkNowForm + ->setObjects($this->hostList) + ->handleRequest(); + $this->view->checkNowForm = $checkNowForm; + } $acknowledgedObjects = $this->hostList->getAcknowledgedObjects(); if (! empty($acknowledgedObjects)) { diff --git a/modules/monitoring/application/views/scripts/hosts/show.phtml b/modules/monitoring/application/views/scripts/hosts/show.phtml index fd92771a0..a8ed104cb 100644 --- a/modules/monitoring/application/views/scripts/hosts/show.phtml +++ b/modules/monitoring/application/views/scripts/hosts/show.phtml @@ -174,10 +174,12 @@
translate('Schedule Check') ?>
translate('Schedule Check') ?>
translate('Schedule Check') ?>
translate('Schedule Check') ?>
0): ?> - - From 23b5777b05af524eaff6a32355c2393786ba0632 Mon Sep 17 00:00:00 2001 From: Eric Lippmann Date: Thu, 25 Feb 2016 10:18:41 +0100 Subject: [PATCH 28/96] CSS: Left-align text in link-button If the text in a link-button consumes more than one line, text would be center-aligned else. --- public/css/icinga/forms.less | 2 ++ 1 file changed, 2 insertions(+) diff --git a/public/css/icinga/forms.less b/public/css/icinga/forms.less index 8298de13a..25fd24265 100644 --- a/public/css/icinga/forms.less +++ b/public/css/icinga/forms.less @@ -127,6 +127,8 @@ label { border: none; padding: 0; + text-align: left; + &:hover { text-decoration: underline; } From 102ed403788b3a9906d405273fb3c67965b7746f Mon Sep 17 00:00:00 2001 From: Eric Lippmann Date: Thu, 25 Feb 2016 10:21:10 +0100 Subject: [PATCH 29/96] Show "Remove problem acknowledgement" in multi-select views fixes #10469 --- .../RemoveAcknowledgementCommandForm.php | 60 +++++++++++++++++-- .../views/scripts/hosts/show.phtml | 2 +- .../views/scripts/services/show.phtml | 2 +- 3 files changed, 57 insertions(+), 7 deletions(-) diff --git a/modules/monitoring/application/forms/Command/Object/RemoveAcknowledgementCommandForm.php b/modules/monitoring/application/forms/Command/Object/RemoveAcknowledgementCommandForm.php index c4c4a9899..416e02e59 100644 --- a/modules/monitoring/application/forms/Command/Object/RemoveAcknowledgementCommandForm.php +++ b/modules/monitoring/application/forms/Command/Object/RemoveAcknowledgementCommandForm.php @@ -12,8 +12,40 @@ use Icinga\Web\Notification; class RemoveAcknowledgementCommandForm extends ObjectsCommandForm { /** - * (non-PHPDoc) - * @see \Zend_Form::init() For the method documentation. + * Whether to show the submit label next to the remove icon + * + * The submit label is disabled in detail views but should be enabled in multi-select views. + * + * @var bool + */ + protected $labelEnabled = false; + + /** + * Whether to show the submit label next to the remove icon + * + * @return bool + */ + public function isLabelEnabled() + { + return $this->labelEnabled; + } + + /** + * Set whether to show the submit label next to the remove icon + * + * @param bool $labelEnabled + * + * @return $this + */ + public function setLabelEnabled($labelEnabled) + { + $this->labelEnabled = (bool) $labelEnabled; + + return $this; + } + + /** + * {@inheritdoc} */ public function init() { @@ -36,7 +68,7 @@ class RemoveAcknowledgementCommandForm extends ObjectsCommandForm ), 'escape' => false, 'ignore' => true, - 'label' => $this->getView()->icon('cancel'), + 'label' => $this->getSubmitLabel(), 'title' => $this->translatePlural( 'Remove problem acknowledgement', 'Remove problem acknowledgements', @@ -45,12 +77,29 @@ class RemoveAcknowledgementCommandForm extends ObjectsCommandForm 'type' => 'submit' ) ); + return $this; } /** - * (non-PHPDoc) - * @see \Icinga\Web\Form::onSuccess() For the method documentation. + * {@inheritdoc} + */ + public function getSubmitLabel() + { + $label = $this->getView()->icon('cancel'); + if ($this->isLabelEnabled()) { + $label .= $this->translatePlural( + 'Remove problem acknowledgement', + 'Remove problem acknowledgements', + count($this->objects) + ); + } + + return $label; + } + + /** + * {@inheritdoc} */ public function onSuccess() { @@ -66,6 +115,7 @@ class RemoveAcknowledgementCommandForm extends ObjectsCommandForm 'Removing problem acknowledgements..', count($this->objects) )); + return true; } } diff --git a/modules/monitoring/application/views/scripts/hosts/show.phtml b/modules/monitoring/application/views/scripts/hosts/show.phtml index a8ed104cb..683680663 100644 --- a/modules/monitoring/application/views/scripts/hosts/show.phtml +++ b/modules/monitoring/application/views/scripts/hosts/show.phtml @@ -50,7 +50,7 @@ '' . $acknowledgedCount . '' ); ?> - + setLabelEnabled(true) ?>
- + setLabelEnabled(true) ?>