File: MonitoringFlags.php

package info (click to toggle)
icingaweb2 2.12.6-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 15,124 kB
  • sloc: php: 73,980; javascript: 5,009; sql: 333; xml: 75; sh: 72; makefile: 5
file content (40 lines) | stat: -rw-r--r-- 1,234 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php
/* Icinga Web 2 | (c) 2013 Icinga Development Team | GPLv2+ */

use Icinga\Module\Monitoring\Object\MonitoredObject;

/**
 * Rendering helper for object's properties which may be either enabled or disabled
 */
class Zend_View_Helper_MonitoringFlags extends Zend_View_Helper_Abstract
{
    /**
     * Object's properties which may be either enabled or disabled and their human readable description
     *
     * @var string[]
     */
    private static $flags = array(
        'passive_checks_enabled'    => 'Passive Checks',
        'active_checks_enabled'     => 'Active Checks',
        'obsessing'                 => 'Obsessing',
        'notifications_enabled'     => 'Notifications',
        'event_handler_enabled'     => 'Event Handler',
        'flap_detection_enabled'    => 'Flap Detection',
    );

    /**
     * Retrieve flags as array with either true or false as value
     *
     * @param   MonitoredObject $object
     *
     * @return  array
     */
    public function monitoringFlags(/*MonitoredObject*/ $object)
    {
        $flags = array();
        foreach (self::$flags as $column => $description) {
            $flags[$description] = (bool) $object->{$column};
        }
        return $flags;
    }
}