summaryrefslogtreecommitdiffstats
path: root/modules/monitoring/application/forms/Setup/BackendPage.php
blob: d5c7efb1d3bf9787e5670962e81443459346249a (plain)
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
41
42
43
44
45
46
47
48
49
50
51
<?php
/* Icinga Web 2 | (c) 2014 Icinga Development Team | GPLv2+ */

namespace Icinga\Module\Monitoring\Forms\Setup;

use Icinga\Web\Form;
use Icinga\Application\Platform;

class BackendPage extends Form
{
    public function init()
    {
        $this->setName('setup_monitoring_backend');
        $this->setTitle($this->translate('Monitoring Backend', 'setup.page.title'));
        $this->addDescription($this->translate(
            'Please configure below how Icinga Web 2 should retrieve monitoring information.'
        ));
    }

    public function createElements(array $formData)
    {
        $this->addElement(
            'text',
            'name',
            array(
                'required'      => true,
                'value'         => 'icinga',
                'label'         => $this->translate('Backend Name'),
                'description'   => $this->translate('The identifier of this backend')
            )
        );

        $resourceTypes = array();
        if (Platform::hasMysqlSupport() || Platform::hasPostgresqlSupport()) {
            $resourceTypes['ido'] = 'IDO';
        }

        $this->addElement(
            'select',
            'type',
            array(
                'required'      => true,
                'label'         => $this->translate('Backend Type'),
                'description'   => $this->translate(
                    'The data source used for retrieving monitoring information'
                ),
                'multiOptions'  => $resourceTypes
            )
        );
    }
}