|
56 | 56 | $nagios_url = str_replace('[SERVERNAME]', $_SESSION['monitor']['server_name'], $nagios_url); |
57 | 57 | $nagios_user = trim($server_config['nagios_user']); |
58 | 58 | $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 | | - |
68 | 59 | $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 | + } |
71 | 95 |
|
72 | 96 | $app->tpl->setVar("nagios_url", $nagios_url); |
73 | 97 | } else { |
|
0 commit comments