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, " . '0, ' . $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_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) || ($rrd_step_counter == 0)) { $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; db_execute_prepared("REPLACE INTO settings (name, value) VALUES ('rrd_step_counter', ?)", array($rrd_step_counter)); } return $rrd_next_step; }