2007-04-03 14:10:23 +00:00
< ? php
2015-07-13 20:10:26 +02:00
$no_refresh = true ;
2015-03-21 21:30:55 +00:00
2015-07-13 20:10:26 +02:00
if ( $_SESSION [ 'userlevel' ] < 10 ) {
include 'includes/error-no-perm.inc.php' ;
2012-04-06 13:56:23 +00:00
2015-07-13 20:10:26 +02:00
exit ;
2007-06-24 14:56:47 +00:00
}
2015-07-13 20:10:26 +02:00
if ( $_POST [ 'hostname' ]) {
echo ' < div class = " row " >
2014-10-02 23:14:45 +01:00
< div class = " col-sm-3 " >
</ div >
2015-07-13 20:10:26 +02:00
< div class = " col-sm-6 " > ' ;
if ( $_SESSION [ 'userlevel' ] > '5' ) {
// Settings common to SNMPv2 & v3
$hostname = mres ( $_POST [ 'hostname' ]);
if ( $_POST [ 'port' ]) {
$port = mres ( $_POST [ 'port' ]);
}
else {
$port = $config [ 'snmp' ][ 'port' ];
}
if ( $_POST [ 'transport' ]) {
$transport = mres ( $_POST [ 'transport' ]);
}
else {
$transport = 'udp' ;
}
if ( $_POST [ 'snmpver' ] === 'v2c' or $_POST [ 'snmpver' ] === 'v1' ) {
if ( $_POST [ 'community' ]) {
$config [ 'snmp' ][ 'community' ] = array ( $_POST [ 'community' ]);
}
$snmpver = mres ( $_POST [ 'snmpver' ]);
print_message ( " Adding host $hostname communit " . ( count ( $config [ 'snmp' ][ 'community' ]) == 1 ? 'y' : 'ies' ) . ' ' . implode ( ', ' , $config [ 'snmp' ][ 'community' ]) . " port $port using $transport " );
}
else if ( $_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 );
$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 ?' );
} //end if
$poller_group = $_POST [ 'poller_group' ];
$force_add = $_POST [ 'force_add' ];
if ( $force_add == 'on' ) {
$force_add = 1 ;
}
else {
$force_add = 0 ;
}
$result = addHost ( $hostname , $snmpver , $port , $transport , 0 , $poller_group , $force_add );
if ( $result ) {
print_message ( " Device added ( $result ) " );
}
2011-10-05 09:32:34 +00:00
}
2015-07-13 20:10:26 +02:00
else {
print_error ( " You don't have the necessary privileges to add hosts. " );
} //end if
echo ' </ div >
2014-10-02 23:14:45 +01:00
< div class = " col-sm-3 " >
</ div >
2015-07-13 20:10:26 +02:00
</ div > ' ;
} //end if
2007-04-03 14:10:23 +00:00
2015-07-13 20:10:26 +02:00
$pagetitle [] = 'Add host' ;
2011-10-18 14:41:19 +00:00
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
2015-07-13 20:10:26 +02:00
foreach ( $config [ 'snmp' ][ 'transports' ] as $transport ) {
echo " <option value=' " . $transport . " ' " ;
2014-10-11 16:55:32 +00:00
if ( $transport == $device [ 'transport' ]) {
2015-07-13 20:10:26 +02:00
echo " selected='selected' " ;
2014-10-11 16:55:32 +00:00
}
2015-07-13 20:10:26 +02:00
echo '>' . $transport . '</option>' ;
2014-10-11 16:55:32 +00:00
}
?>
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 " >
2015-08-20 17:06:43 +00:00
< option value = " noAuthNoPriv " selected > noAuthNoPriv </ option >
< option value = " authNoPriv " > authNoPriv </ option >
< option value = " authPriv " > authPriv </ option >
2014-10-02 23:14:45 +01:00
</ 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 >
2015-03-15 21:44:35 +00:00
< ? php
2015-07-13 20:10:26 +02:00
if ( $config [ 'distributed_poller' ] === true ) {
echo '
2015-03-15 21:44:35 +00:00
< div class = " form-group " >
< label for = " poller_group " class = " col-sm-3 control-label " > Poller Group </ label >
< div class = " col-sm-9 " >
< select name = " poller_group " id = " poller_group " class = " form-control input-sm " >
< option value = " 0 " > Default poller group </ option >
2015-07-13 20:10:26 +02:00
' ;
2015-03-15 21:44:35 +00:00
2015-07-13 20:10:26 +02:00
foreach ( dbFetchRows ( 'SELECT `id`,`group_name` FROM `poller_groups`' ) as $group ) {
echo '<option value="' . $group [ 'id' ] . '">' . $group [ 'group_name' ] . '</option>' ;
2015-03-15 21:44:35 +00:00
}
2015-07-13 20:10:26 +02:00
echo '
2015-03-15 21:44:35 +00:00
</ select >
</ div >
</ div >
2015-03-19 22:06:13 +00:00
< div class = " form-group " >
< div class = " col-sm-offset-3 col-sm-9 " >
< div class = " checkbox " >
< label >
< input type = " checkbox " name = " force_add " id = " force_add " > Force add
</ label >
</ div >
</ div >
</ div >
2015-07-13 20:10:26 +02:00
' ;
} //end if
2015-03-15 21:44:35 +00:00
?>
2015-08-29 18:50:57 +05:30
< hr >
< center >< button type = " submit " class = " btn btn-default " name = " Submit " > Add Device </ button ></ center >
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 ();
2015-07-13 20:10:26 +02:00
}
else if ( snmpVersion == 'v3' ) {
2014-10-02 23:14:45 +01:00
$ ( '#snmpv1_2' ) . hide ();
$ ( '#snmpv3' ) . show ();
}
}
$ ( '#snmpv3' ) . toggle ();
</ script >