Add webinterface support for IPMI poller

git-svn-id: http://www.observium.org/svn/observer/trunk@1766 61d68cd4-352d-0410-923a-c4978735b2b8
This commit is contained in:
Tom Laermans
2010-12-20 12:26:26 +00:00
parent 6f4e5b5170
commit dacb3d2252
8 changed files with 94 additions and 11 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 566 B

BIN
html/images/icons/ipmi.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 623 B

View File

@@ -0,0 +1,16 @@
<?php
$ipmi_hostname = mres($_POST['ipmi_hostname']);
$ipmi_username = mres($_POST['ipmi_username']);
$ipmi_password = mres($_POST['ipmi_password']);
#FIXME needs more sanity checking! and better feedback
if ($ipmi_hostname != '') { set_dev_attrib($device, 'ipmi_hostname', $ipmi_hostname); } else { del_dev_attrib($device, 'ipmi_hostname'); }
if ($ipmi_username != '') { set_dev_attrib($device, 'ipmi_username', $ipmi_username); } else { del_dev_attrib($device, 'ipmi_username'); }
if ($ipmi_password != '') { set_dev_attrib($device, 'ipmi_password', $ipmi_password); } else { del_dev_attrib($device, 'ipmi_password'); }
$update_message = "Device IPMI data updated.";
$updated = 1;
?>

View File

@@ -320,12 +320,12 @@ function humanspeed($speed)
function print_error($text)
{
echo('<table class="errorbox" cellpadding="3"><tr><td><img src="/images/15/exclamation.png" align="absmiddle">'.$text.'</td></tr></table>');
echo('<table class="errorbox" cellpadding="3"><tr><td><img src="/images/15/exclamation.png" align="absmiddle"> '.$text.'</td></tr></table>');
}
function print_message($text)
{
echo('<table class="messagebox" cellpadding="3"><tr><td><img src="/images/16/tick.png" align="absmiddle">'.$text.'</td></tr></table>');
echo('<table class="messagebox" cellpadding="3"><tr><td><img src="/images/16/tick.png" align="absmiddle"> '.$text.'</td></tr></table>');
}
function devclass($device)

View File

@@ -6,9 +6,10 @@ if($_SESSION['userlevel'] < '7') {
$panes = array('device' => 'Device Settings',
'ports' => 'Port Settings',
'ports' => 'Port Settings',
'apps' => 'Applications',
'services' => 'Services');
'services' => 'Services',
'ipmi' => 'IPMI');
print_optionbar_start();

View File

@@ -0,0 +1,59 @@
<?php
if($_POST['editing']) {
if($_SESSION['userlevel'] > "7") {
include("includes/device-ipmi-edit.inc.php");
}
}
$device = mysql_fetch_assoc(mysql_query("SELECT * FROM `devices` WHERE `device_id` = '".$device['device_id']."'"));
$descr = $device['purpose'];
if($updated && $update_message) {
print_message($update_message);
} elseif ($update_message) {
print_error($update_message);
}
?>
<table cellpadding=0 cellspacing=0>
<tr>
<td>
<form id="edit" name="edit" method="post" action="">
<input type=hidden name="editing" value="yes">
<table width="500" border="0">
<tr>
<td width="150"><div align="right">IPMI/BMC Hostname</div></td>
<td colspan="3"><input name="ipmi_hostname" size="32" value="<?php echo get_dev_attrib($device,'ipmi_hostname'); ?>"></input></td>
</tr>
<tr>
<td><div align="right">IPMI/BMC Username</div></td>
<td colspan="3"><input name="ipmi_username" size="32" value="<?php echo get_dev_attrib($device,'ipmi_username'); ?>"></input></td>
</td>
</tr>
<tr>
<td><div align="right">IPMI/BMC Password</div></td>
<td colspan="3"><input name="ipmi_password" size="32" value="<?php echo get_dev_attrib($device,'ipmi_password'); ?>"></input></td>
</td>
</tr>
<tr>
<td></td>
<td colspan="3">
<br />
<input type="submit" name="Submit" value="Save" />
</td>
</tr>
<tr>
<td colspan="4">
To disable IPMI polling, please clear the setting fields and click <b>Save</b>.
</td>
</tr>
</table>
<br />
</form>
</td>
<td width="50"></td>
<td></td>
</tr>
</table>