Skip to content

Commit 6dd5d8b

Browse files
author
A. Täffner
committed
added language vars for nagios, addad check_mk authentication mechanism.
Known Bugs: CMK-URL is damaged (origtarget), iframe stays white...?
1 parent 22b7f84 commit 6dd5d8b

File tree

5 files changed

+55
-16
lines changed

5 files changed

+55
-16
lines changed

interface/web/admin/form/server_config.tform.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -362,7 +362,7 @@
362362
'formtype' => 'TEXT',
363363
'default' => '',
364364
'validators' => array ( 0 => array ( 'type' => 'REGEX',
365-
'regex' => '/^((?:http|https)(?::\\/{2}[\\w]+)(?:[\\/|\\.]?)(?:[^\\s"]*))$/',
365+
'regex' => '/(^$)|(^((?:http|https)(?::\\/{2}[\\w]+)(?:[\\/|\\.]?)(?:[^\\s"]*))$)/',
366366
'errmsg'=> 'nagios_url_error_regex'),
367367
),
368368
'value' => '',

interface/web/admin/lib/lang/de_server_config.lng

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -199,10 +199,10 @@ $wb['munin_password_txt'] = 'Munin-Passwort';
199199
$wb['munin_url_error_regex'] = 'Ungültige Munin-URL';
200200
$wb['munin_url_note_txt'] = 'Platzhalter:';
201201
$wb['nagios_url_txt'] = 'Nagios/Check_MK-URL';
202-
$wb['nagios_user_txt'] = 'Nagios-Benutzer';
203-
$wb['nagios_password_txt'] = 'Nagios-Passwort';
204-
$wb['nagios_url_error_regex'] = 'Ungültige Nagios-URL';
205-
$wb['nagios_url_note_txt'] = 'Platzhalter:';
202+
$wb['nagios_user_txt'] = 'Nagios/Check_MK-Benutzer';
203+
$wb['nagios_password_txt'] = 'Nagios/Check_MK-Passwort';
204+
$wb['nagios_url_error_regex'] = 'Ungültige Nagios/Check_MK-URL';
205+
$wb['nagios_url_note_txt'] = 'Check_MK wird automatisch erkannt. Platzhalter:';
206206
$wb['backup_dir_is_mount_txt'] = 'Backupverzeichnis ist ein eigener Mount?';
207207
$wb['backup_dir_mount_cmd_txt'] = 'Mount-Befehl, falls Backupverzeichnis nicht gemountet';
208208
$wb['backup_delete_txt'] = 'Backups loeschen wenn eine Domain / Webseite geloescht wird';

interface/web/admin/lib/lang/en_server_config.lng

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,11 @@ $wb['munin_user_txt'] = 'Munin User';
199199
$wb['munin_password_txt'] = 'Munin Password';
200200
$wb['munin_url_error_regex'] = 'Invalid Munin URL';
201201
$wb['munin_url_note_txt'] = 'Placeholder:';
202+
$wb['nagios_url_txt'] = 'Nagios/Check_MK URL';
203+
$wb['nagios_user_txt'] = 'Nagios/Check_MK User';
204+
$wb['nagios_password_txt'] = 'Nagios/Check_MK Password';
205+
$wb['nagios_url_error_regex'] = 'Invalid Nagios/Check_MK URL';
206+
$wb['nagios_url_note_txt'] = 'Check_MK is being autodetected. Placeholder:';
202207
$wb["v6_prefix_txt"] = 'IPv6 Prefix';
203208
$wb["vhost_rewrite_v6_txt"] = 'Rewrite IPv6 on Mirror';
204209
$wb["v6_prefix_length"] = 'Prefix too long according to defined IPv6 ';

interface/web/admin/templates/server_config_server_edit.htm

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,16 @@ <h1><tmpl_var name="list_head_txt"></h1>
9696
<label for="munin_password" class="col-sm-3 control-label">{tmpl_var name='munin_password_txt'}</label>
9797
<div class="col-sm-9"><input type="text" name="munin_password" id="munin_password" value="{tmpl_var name='munin_password'}" class="form-control" /></div></div>
9898
<div class="form-group">
99+
<label for="nagios_url" class="col-sm-3 control-label">{tmpl_var name='nagios_url_txt'}</label>
100+
<div class="col-sm-6"><input type="text" name="nagios_url" id="nagios_url" value="{tmpl_var name='nagios_url'}" class="form-control" />&nbsp;{tmpl_var name='nagios_url_note_txt'} <a href="javascript:void(0);" class="addPlaceholder">[SERVERNAME]</a></div>
101+
</div>
102+
<div class="form-group">
103+
<label for="nagios_user" class="col-sm-3 control-label">{tmpl_var name='nagios_user_txt'}</label>
104+
<div class="col-sm-9"><input type="text" name="nagios_user" id="nagios_user" value="{tmpl_var name='nagios_user'}" class="form-control" /></div></div>
105+
<div class="form-group">
106+
<label for="nagios_password" class="col-sm-3 control-label">{tmpl_var name='nagios_password_txt'}</label>
107+
<div class="col-sm-9"><input type="text" name="nagios_password" id="nagios_password" value="{tmpl_var name='nagios_password'}" class="form-control" /></div></div>
108+
<div class="form-group">
99109
<label class="col-sm-3 control-label">{tmpl_var name='monitor_system_updates_txt'}</label>
100110
<div class="col-sm-9">
101111
{tmpl_var name='monitor_system_updates'}

interface/web/monitor/show_nagios.php

Lines changed: 35 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -56,18 +56,42 @@
5656
$nagios_url = str_replace('[SERVERNAME]', $_SESSION['monitor']['server_name'], $nagios_url);
5757
$nagios_user = trim($server_config['nagios_user']);
5858
$nagios_password = trim($server_config['nagios_password']);
59-
$auth_string = '';
60-
if($nagios_user != ''){
61-
$auth_string = rawurlencode($nagios_user);
62-
}
63-
if($nagios_user != '' && $nagios_password != ''){
64-
$auth_string .= ':'.rawurlencode($nagios_password);
65-
}
66-
if($auth_string != '') $auth_string .= '@';
67-
6859
$nagios_url_parts = parse_url($nagios_url);
69-
70-
$nagios_url = $nagios_url_parts['scheme'].'://'.$auth_string.$nagios_url_parts['host'].(isset($nagios_url_parts['port']) ? ':' . $nagios_url_parts['port'] : '').(isset($nagios_url_parts['path']) ? $nagios_url_parts['path'] : '').(isset($nagios_url_parts['query']) ? '?' . $nagios_url_parts['query'] : '').(isset($nagios_url_parts['fragment']) ? '#' . $nagios_url_parts['fragment'] : '');
60+
if (strpos($nagios_url, '/check_mk') !== false) {
61+
//** Check_MK
62+
if($nagios_user != ''){
63+
$nagios_url = $nagios_url_parts['scheme'].'://'.$auth_string.$nagios_url_parts['host'].(isset($nagios_url_parts['port']) ? ':' . $nagios_url_parts['port'] : '');
64+
$pathparts = explode('/check_mk', $nagios_url_parts['path'], 2);
65+
$nagios_url .= $pathparts[0].'/check_mk/login.py?_login=1&_password='.rawurlencode($nagios_password).'&_username='.rawurlencode($nagios_user);
66+
if (strlen(@$pathparts[1]) > 0) {
67+
if (substr($pathparts[1], 0, 1) == '/') $pathparts[1] = substr($pathparts[1], 1, strlen($pathparts[1])-1);
68+
$nagios_url .= '&_origtarget='.rawurlencode(str_replace('&', '%3D', str_replace('?', '%3F', $pathparts[1])));
69+
}
70+
if (isset($nagios_url_parts['query'])) $nagios_url .= '?'.$nagios_url_parts['query'];
71+
72+
} else {
73+
$nagios_url = $nagios_url_parts['scheme'].'://'.$auth_string.$nagios_url_parts['host'].(isset($nagios_url_parts['port']) ? ':' . $nagios_url_parts['port'] : '');
74+
$pathparts = explode('/check_mk', $nagios_url_parts['path'], 2);
75+
$nagios_url .= $pathparts[0].'/check_mk/login.py';
76+
if (strlen(@$pathparts[1]) > 0) {
77+
if (substr($pathparts[1], 0, 1) == '/') $pathparts[1] = substr($pathparts[1], 1, strlen($pathparts[1])-1);
78+
$nagios_url .= '?_origtarget='.rawurlencode(str_replace('&', '%3D', str_replace('?', '%3F', $pathparts[1])));
79+
}
80+
if (isset($nagios_url_parts['query'])) $nagios_url .= '?'.$nagios_url_parts['query'];
81+
}
82+
83+
} else {
84+
//** Nagios
85+
$auth_string = '';
86+
if($nagios_user != ''){
87+
$auth_string = rawurlencode($nagios_user);
88+
}
89+
if($nagios_user != '' && $nagios_password != ''){
90+
$auth_string .= ':'.rawurlencode($nagios_password);
91+
}
92+
if($auth_string != '') $auth_string .= '@';
93+
$nagios_url = $nagios_url_parts['scheme'].'://'.$auth_string.$nagios_url_parts['host'].(isset($nagios_url_parts['port']) ? ':' . $nagios_url_parts['port'] : '').(isset($nagios_url_parts['path']) ? $nagios_url_parts['path'] : '').(isset($nagios_url_parts['query']) ? '?' . $nagios_url_parts['query'] : '').(isset($nagios_url_parts['fragment']) ? '#' . $nagios_url_parts['fragment'] : '');
94+
}
7195

7296
$app->tpl->setVar("nagios_url", $nagios_url);
7397
} else {

0 commit comments

Comments
 (0)