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
}
2011-09-08 05:02:14 +00:00
if ( $_POST [ 'hostname' ])
2011-03-17 00:09:20 +00:00
{
2014-10-02 23:14:45 +01:00
echo ( ' < div class = " row " >
< div class = " col-sm-3 " >
</ div >
< div class = " col-sm-6 " > ' );
2011-03-17 00:09:20 +00:00
if ( $_SESSION [ 'userlevel' ] > '5' )
{
2014-06-23 20:20:48 -04:00
// Settings common to SNMPv2 & v3
2008-07-22 08:24:34 +00:00
$hostname = mres ( $_POST [ 'hostname' ]);
2014-06-23 20:20:48 -04:00
if ( $_POST [ 'port' ]) { $port = mres ( $_POST [ 'port' ]); } else { $port = $config [ 'snmp' ][ 'port' ]; }
if ( $_POST [ 'transport' ]) { $transport = mres ( $_POST [ 'transport' ]); } else { $transport = " udp " ; }
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-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 " ;
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
}
2014-10-02 23:14:45 +01:00
echo ( ' </ div >
< div class = " col-sm-3 " >
</ div >
</ div > ' );
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-10-02 23:14:45 +01:00
< div class = " row " >
< div class = " col-sm-3 " >
</ div >
< div class = " col-sm-6 " >
2014-01-13 10:05:19 +00:00
< form name = " form1 " method = " post " action = " " class = " form-horizontal " role = " form " >
2014-10-02 23:14:45 +01:00
< div >< h2 > Add Device </ h2 ></ div >
2014-01-13 10:05:19 +00:00
< 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 " >
2014-10-02 23:14:45 +01:00
< label for = " hostname " class = " col-sm-3 control-label " > Hostname </ label >
< div class = " col-sm-9 " >
2014-01-13 10:05:19 +00:00
< input type = " text " id = " hostname " name = " hostname " class = " form-control input-sm " placeholder = " Hostname " >
</ div >
</ div >
< div class = " form-group " >
2014-10-02 23:14:45 +01:00
< label for = " snmpver " class = " col-sm-3 control-label " > SNMP Version </ label >
< div class = " col-sm-3 " >
< select name = " snmpver " id = " snmpver " class = " form-control input-sm " onChange = " changeForm(); " >
2014-01-13 10:05:19 +00:00
< option value = " v1 " > v1 </ option >
< option value = " v2c " selected > v2c </ option >
< option value = " v3 " > v3 </ option >
</ select >
</ div >
2014-10-02 23:14:45 +01:00
< div class = " col-sm-3 " >
2014-01-13 10:05:19 +00:00
< input type = " text " name = " port " placeholder = " port " class = " form-control input-sm " >
</ div >
2014-10-02 23:14:45 +01:00
< div class = " col-sm-3 " >
2014-06-21 08:02:27 -04:00
< select name = " transport " id = " transport " class = " form-control input-sm " >
2014-10-11 16:55:32 +00:00
< ? php
foreach ( $config [ 'snmp' ][ 'transports' ] as $transport )
{
echo ( " <option value=' " . $transport . " ' " );
if ( $transport == $device [ 'transport' ]) {
echo ( " selected='selected' " );
}
echo ( " > " . $transport . " </option> " );
}
?>
2014-06-21 08:02:27 -04:00
</ select >
</ div >
2014-01-13 10:05:19 +00:00
</ div >
2014-10-02 23:14:45 +01:00
< div id = " snmpv1_2 " >
< 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-3 control-label " > Community </ label >
< div class = " col-sm-9 " >
< input type = " text " name = " community " id = " community " placeholder = " Community " class = " form-control input-sm " >
</ div >
2014-01-13 10:05:19 +00:00
</ div >
</ div >
2014-10-02 23:14:45 +01:00
< div id = " snmpv3 " >
< 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-3 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-3 control-label " > Auth User Name </ label >
< div class = " col-sm-9 " >
< input type = " text " name = " authname " id = " authname " class = " form-control input-sm " >
</ div >
</ div >
< div class = " form-group " >
< label for = " authpass " class = " col-sm-3 control-label " > Auth Password </ label >
< div class = " col-sm-9 " >
< 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-3 control-label " > Auth Algorithm </ label >
< div class = " col-sm-9 " >
< select name = " authalgo " id = " authalgo " class = " form-control input-sm " >
< option value = " MD5 " selected > MD5 </ option >
< option value = " SHA " > SHA </ option >
</ select >
</ div >
</ div >
< div class = " form-group " >
< label for = " cryptopass " class = " col-sm-3 control-label " > Crypto Password </ label >
< div class = " col-sm-9 " >
< input type = " text " name = " cryptopass " id = " cryptopass " placeholder = " Crypto Password " class = " form-control input-sm " >
</ div >
</ div >
< div class = " form-group " >
< label for = " cryptoalgo " class = " col-sm-3 control-label " > Crypto Algorithm </ label >
< div class = " col-sm-9 " >
< select name = " cryptoalgo " id = " cryptoalgo " class = " form-control input-sm " >
< option value = " AES " selected > AES </ option >
< option value = " DES " > DES </ option >
</ select >
</ div >
</ div >
2014-01-13 10:05:19 +00:00
</ div >
2014-10-11 17:01:44 +00:00
< 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 >
2014-10-02 23:14:45 +01:00
</ div >
< div class = " col-sm-3 " >
</ div >
</ div >
< script >
function changeForm () {
snmpVersion = $ ( " #snmpver " ) . val ();
if ( snmpVersion == 'v1' || snmpVersion == 'v2c' ) {
$ ( '#snmpv1_2' ) . show ();
$ ( '#snmpv3' ) . hide ();
} else if ( snmpVersion == 'v3' ) {
$ ( '#snmpv1_2' ) . hide ();
$ ( '#snmpv3' ) . show ();
}
}
$ ( '#snmpv3' ) . toggle ();
</ script >