function querySNMPData() { genericAssertion('ver', 'uint'); $snmpsetup = array(); switch ($_REQUEST['ver']) { case 1: case 2: genericAssertion('community', 'string'); $snmpsetup['community'] = $_REQUEST['community']; break; case 3: assertStringArg('sec_name'); assertStringArg('sec_level'); assertStringArg('auth_protocol'); assertStringArg('auth_passphrase', TRUE); assertStringArg('priv_protocol'); assertStringArg('priv_passphrase', TRUE); $snmpsetup['sec_name'] = $_REQUEST['sec_name']; $snmpsetup['sec_level'] = $_REQUEST['sec_level']; $snmpsetup['auth_protocol'] = $_REQUEST['auth_protocol']; $snmpsetup['auth_passphrase'] = $_REQUEST['auth_passphrase']; $snmpsetup['priv_protocol'] = $_REQUEST['priv_protocol']; $snmpsetup['priv_passphrase'] = $_REQUEST['priv_passphrase']; break; default: throw new InvalidRequestArgException('ver', $_REQUEST['ver']); } $snmpsetup['version'] = $_REQUEST['ver']; doSNMPmining(getBypassValue(), $snmpsetup); // shows message by itself }
assertStringArg('auth_protocol'); assertStringArg('auth_passphrase', TRUE); assertStringArg('priv_protocol'); assertStringArg('priv_passphrase', TRUE); $snmpsetup['sec_name'] = $_REQUEST['sec_name']; $snmpsetup['sec_level'] = $_REQUEST['sec_level']; $snmpsetup['auth_protocol'] = $_REQUEST['auth_protocol']; $snmpsetup['auth_passphrase'] = $_REQUEST['auth_passphrase']; $snmpsetup['priv_protocol'] = $_REQUEST['priv_protocol']; $snmpsetup['priv_passphrase'] = $_REQUEST['priv_passphrase']; break; default: throw new InvalidRequestArgException('ver', $_REQUEST['ver']); } $snmpsetup['version'] = $_REQUEST['ver']; doSNMPmining($object_id, $snmpsetup); $snmp_result = ''; // look inside $log_messages -- fragile but all we // have since doSNMPminint() is meant to return data // via the UI if (count($log_messages)) { $msg = array_shift($log_messages); if (in_array('a', $msg)) { $snmp_result = $msg['a'][0]; } } if ($snmp_result) { sendAPIResponse(array(), array('message' => "SNMP sync for object id {$object_id} successful", 'model_data' => $snmp_result)); } else { throw new InvalidArgException('(unknown)', '(unknown)', "unknown problem syncing object id {$object_id} via SNMP v{$_REQUEST['ver']}"); }