3) || ($host['snmp_community'] == '' && $host['snmp_version'] != 3)) { return; } } $rrd_next_step = api_poller_get_rrd_next_step($rrd_step, $num_rrd_items); return "($local_data_id, " . $host['poller_id'] . ', ' . $host['id'] . ", $poller_action_id," . db_qstr($host['hostname']) . ', ' . db_qstr($host['snmp_community']) . ', ' . db_qstr($host['snmp_version']) . ', ' . db_qstr($host['snmp_timeout']) . ', ' . db_qstr($host['snmp_username']) . ', ' . db_qstr($host['snmp_password']) . ', ' . db_qstr($host['snmp_auth_protocol']) . ', ' . db_qstr($host['snmp_priv_passphrase']) . ', ' . db_qstr($host['snmp_priv_protocol']) . ', ' . db_qstr($host['snmp_context']) . ', ' . db_qstr($host['snmp_engine_id']) . ', ' . db_qstr($host['snmp_port']) . ', ' . db_qstr($data_source_item_name) . ', ' . db_qstr(clean_up_path(get_data_source_path($local_data_id, true))) . ', ' . db_qstr($num_rrd_items) . ', ' . db_qstr($rrd_step) . ', ' . db_qstr($rrd_next_step) . ', ' . db_qstr($arg1) . ', ' . db_qstr($arg2) . ', ' . db_qstr($arg3) . ", '1')"; } } function api_poller_get_rrd_next_step($rrd_step = 300, $num_rrd_items = 1) { global $config; $poller_interval = read_config_option('poller_interval'); $rrd_next_step = 0; if ($rrd_step != $poller_interval && isset($poller_interval)) { if (!isset($config['rrd_step_counter'])) { $rrd_step_counter = read_config_option('rrd_step_counter'); } else { $rrd_step_counter = $config['rrd_step_counter']; } if ($num_rrd_items == 1) { $config['rrd_num_counter'] = 0; } else { if (!isset($config['rrd_num_counter'])) { $config['rrd_num_counter'] = 1; } else { $config['rrd_num_counter']++; } } $modulus = $rrd_step / $poller_interval; if ($modulus < 1 || empty($rrd_step_counter)) { $rrd_next_step = 0; } else { $rrd_next_step = $poller_interval * ($rrd_step_counter % $modulus); } if ($num_rrd_items == 1) { $rrd_step_counter++; } else { if ($num_rrd_items == $config['rrd_num_counter']) { $rrd_step_counter++; $config['rrd_num_counter'] = 0; } } if ($rrd_step_counter >= $modulus) { $rrd_step_counter = 0; } /* save rrd_step_counter */ $config['rrd_step_counter'] = $rrd_step_counter; set_config_option('rrd_step_counter', $rrd_step_counter); } return $rrd_next_step; }