3) || ($host["snmp_community"] == "" && $host["snmp_version"] != 3)) { return true; } } $rrd_next_step = api_poller_get_rrd_next_step($rrd_step, $num_rrd_items); return db_execute("INSERT INTO poller_item (local_data_id, host_id, action,hostname, snmp_community, snmp_version, snmp_timeout, snmp_username, snmp_password, snmp_auth_protocol, snmp_priv_passphrase, snmp_priv_protocol, snmp_port, rrd_name, rrd_path, rrd_num, rrd_step, rrd_next_step, arg1, arg2, arg3) VALUE ($local_data_id, " . $host["id"] . ", $poller_action_id,'" . $host["hostname"] . "', '" . $host["snmp_community"] . "', '" . $host["snmp_version"] . "', '" . $host["snmp_timeout"] . "', '" . $host["snmp_username"] . "', '" . $host["snmp_password"] . "', '" . $host["snmp_auth_protocol"] . "', '" . $host["snmp_priv_passphrase"] . "', '" . $host["snmp_priv_protocol"] . "', '" . $host["snmp_port"] . "', '$data_source_item_name', '" . addslashes(clean_up_path(get_data_source_path($local_data_id, true))) . "', '$num_rrd_items', '$rrd_step', '$rrd_next_step', '$arg1', '$arg2', '$arg3')"); } } 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; $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("replace into settings (name, value) values ('rrd_step_counter','$rrd_step_counter')"); } return $rrd_next_step; } ?>