2007-04-03 14:10:23 +00:00
< ? php
2011-03-17 00:09:20 +00:00
if ( $_SESSION [ 'userlevel' ] < 10 )
{
2011-03-28 10:39:55 +00:00
include ( " includes/error-no-perm.inc.php " );
2012-04-06 13:56:23 +00:00
2011-03-17 00:09:20 +00:00
exit ;
2007-06-24 14:56:47 +00:00
}
2009-03-25 14:54:21 +00:00
echo ( " <h2>Add Device</h2> " );
2008-03-09 21:13:27 +00:00
2011-09-08 05:02:14 +00:00
if ( $_POST [ 'hostname' ])
2011-03-17 00:09:20 +00:00
{
if ( $_SESSION [ 'userlevel' ] > '5' )
{
2008-07-22 08:24:34 +00:00
$hostname = mres ( $_POST [ 'hostname' ]);
2011-10-05 09:32:34 +00:00
2012-05-09 16:18:23 +00:00
if ( $_POST [ 'snmpver' ] === " v2c " or $_POST [ 'snmpver' ] === " v1 " )
2011-10-05 09:32:34 +00:00
{
2012-05-09 16:18:23 +00:00
if ( $_POST [ 'community' ])
{
$config [ 'snmp' ][ 'community' ] = array ( $_POST [ 'community' ]);
}
$snmpver = mres ( $_POST [ 'snmpver' ]);
2014-06-20 20:38:02 +10:00
if ( $_POST [ 'port' ]) { $port = mres ( $_POST [ 'port' ]); } else { $port = $config [ 'snmp' ][ 'port' ]; }
2014-06-23 19:29:53 -04:00
if ( $_POST [ 'transport' ]) { $transport = mres ( $_POST [ 'transport' ]); } else { $transport = " udp " ; }
2014-06-21 08:02:27 -04:00
print_message ( " Adding host $hostname communit " . ( count ( $config [ 'snmp' ][ 'community' ]) == 1 ? " y " : " ies " ) . " " . implode ( ', ' , $config [ 'snmp' ][ 'community' ]) . " port $port using $transport " );
2011-10-05 09:32:34 +00:00
}
2012-05-09 16:18:23 +00:00
elseif ( $_POST [ 'snmpver' ] === " v3 " )
{
$v3 = array (
'authlevel' => mres ( $_POST [ 'authlevel' ]),
'authname' => mres ( $_POST [ 'authname' ]),
'authpass' => mres ( $_POST [ 'authpass' ]),
'authalgo' => mres ( $_POST [ 'authalgo' ]),
'cryptopass' => mres ( $_POST [ 'cryptopass' ]),
'cryptoalgo' => mres ( $_POST [ 'cryptoalgo' ]),
);
array_push ( $config [ 'snmp' ][ 'v3' ], $v3 );
2012-05-15 15:18:57 +00:00
2012-05-09 16:18:23 +00:00
$snmpver = " v3 " ;
2011-10-05 09:32:34 +00:00
2014-06-20 21:12:52 +10:00
if ( $_POST [ 'port' ]) { $port = mres ( $_POST [ 'port' ]); } else { $port = $config [ 'snmp' ][ 'port' ]; }
2012-05-09 16:18:23 +00:00
print_message ( " Adding SNMPv3 host $hostname port $port " );
}
else
{
print_error ( " Unsupported SNMP Version. There was a dropdown menu, how did you reach this error ? " );
}
2014-06-21 08:02:27 -04:00
$result = addHost ( $hostname , $snmpver , $port , $transport );
2011-10-05 09:32:34 +00:00
if ( $result )
{
print_message ( " Device added ( $result ) " );
}
2007-04-03 14:10:23 +00:00
} else {
2011-03-28 10:39:55 +00:00
print_error ( " You don't have the necessary privileges to add hosts. " );
2007-04-03 14:10:23 +00:00
}
}
2011-10-18 14:41:19 +00:00
$pagetitle [] = " Add host " ;
2007-04-03 14:10:23 +00:00
?>
2014-01-13 10:05:19 +00:00
< form name = " form1 " method = " post " action = " " class = " form-horizontal " role = " form " >
< div class = " alert alert-info " > Devices will be checked for Ping and SNMP reachability before being probed . Only devices with recognised OSes will be added .</ div >
< div class = " well well-lg " >
< div class = " form-group " >
< label for = " hostname " class = " col-sm-2 control-label " > Hostname </ label >
< div class = " col-sm-5 " >
< input type = " text " id = " hostname " name = " hostname " class = " form-control input-sm " placeholder = " Hostname " >
</ div >
< div class = " col-sm-5 " >
</ div >
</ div >
< div class = " form-group " >
< label for = " snmpver " class = " col-sm-2 control-label " > SNMP Version </ label >
2014-06-21 08:02:27 -04:00
< div class = " col-sm-2 " >
2014-01-13 10:05:19 +00:00
< select name = " snmpver " id = " snmpver " class = " form-control input-sm " >
< option value = " v1 " > v1 </ option >
< option value = " v2c " selected > v2c </ option >
< option value = " v3 " > v3 </ option >
</ select >
</ div >
< div class = " col-sm-2 " >
< input type = " text " name = " port " placeholder = " port " class = " form-control input-sm " >
</ div >
2014-06-21 08:02:27 -04:00
< div class = " col-sm-1 " >
< select name = " transport " id = " transport " class = " form-control input-sm " >
< option value = " tcp " > tcp </ option >
< option value = " udp " selected > udp </ option >
< option value = " tcp6 " > tcp6 </ option >
< option value = " udp6 " > udp6 </ option >
</ select >
</ div >
2014-01-13 10:05:19 +00:00
< div class = " col-sm-5 " >
</ div >
</ div >
< div class = " form-group " >
< div class = " col-sm-12 alert alert-info " >
< label class = " control-label text-left input-sm " > SNMPv1 / 2 c Configuration </ label >
</ div >
</ div >
< div class = " form-group " >
< label for = " community " class = " col-sm-2 control-label " > Community </ label >
< div class = " col-sm-5 " >
< input type = " text " name = " community " id = " community " placeholder = " Community " class = " form-control input-sm " >
</ div >
< div class = " col-sm-5 " >
</ div >
</ div >
< div class = " form-group " >
< div class = " col-sm-12 alert alert-info " >
< label class = " control-label text-left input-sm " > SNMPv3 Configuration </ label >
</ div >
</ div >
< div class = " form-group " >
< label for = " authlevel " class = " col-sm-2 control-label " > Auth Level </ label >
< div class = " col-sm-3 " >
< select name = " authlevel " id = " authlevel " class = " form-control input-sm " >
< option value = " noAuthNoPriv " selected > NoAuthNoPriv </ option >
< option value = " authNoPriv " > AuthNoPriv </ option >
< option value = " authPriv " > AuthPriv </ option >
</ select >
</ div >
</ div >
< div class = " form-group " >
< label for = " authname " class = " col-sm-2 control-label " > Auth User Name </ label >
< div class = " col-sm-3 " >
< input type = " text " name = " authname " id = " authname " class = " form-control input-sm " >
</ div >
< div class = " col-sm-5 " >
</ div >
</ div >
< div class = " form-group " >
< label for = " authpass " class = " col-sm-2 control-label " > Auth Password </ label >
< div class = " col-sm-3 " >
< input type = " text " name = " authpass " id = " authpass " placeholder = " AuthPass " class = " form-control input-sm " >
</ div >
</ div >
< div class = " form-group " >
< label for = " authalgo " class = " col-sm-2 control-label " > Auth Algorithm </ label >
< div class = " col-sm-3 " >
< select name = " authalgo " id = " authalgo " class = " form-control input-sm " >
< option value = " MD5 " selected > MD5 </ option >
< option value = " SHA " > SHA </ option >
</ select >
</ div >
< div class = " col-sm-5 " >
</ div >
</ div >
< div class = " form-group " >
< label for = " cryptopass " class = " col-sm-2 control-label " > Crypto Password </ label >
< div class = " col-sm-3 " >
< input type = " text " name = " cryptopass " id = " cryptopass " placeholder = " Crypto Password " class = " form-control input-sm " >
</ div >
< div class = " col-sm-5 " >
</ div >
</ div >
< div class = " form-group " >
< label for = " cryptoalgo " class = " col-sm-2 control-label " > Crypto Algorithm </ label >
< div class = " col-sm-3 " >
< select name = " cryptoalgo " id = " cryptoalgo " class = " form-control input-sm " >
< option value = " AES " selected > AES </ option >
< option value = " DES " > DES </ option >
</ select >
</ div >
< div class = " col-sm-5 " >
</ div >
</ div >
< button type = " submit " class = " btn btn-default input-sm " name = " Submit " > Add Host </ button >
2011-03-27 10:21:19 +00:00
</ div >
2007-04-03 14:10:23 +00:00
</ form >