getMetrics(); if(isset($monitor->client_ip) && strlen($monitor->client_ip) > 20) { $monitor->client_ip = substr($monitor->client_ip, 0, 20); } $columns = array(); $values = array(); foreach($metrics as $name=>$metric) { if(!empty($monitor->$name)) { $columns[] = $name; if($metrics[$name]->_type == 'int' || $metrics[$name]->_type == 'double') { $values[] = $GLOBALS['db']->quote($monitor->$name); } else if ($metrics[$name]->_type == 'datetime') { $values[] = ($GLOBALS['db']->dbType == 'oci8') ? db_convert("'".$monitor->$name."'",'datetime') : "'".$monitor->$name."'"; } else { $values[] = "'".$GLOBALS['db']->quote($monitor->$name)."'"; } } } //foreach if(empty($values)) { return; } if ( !isset($monitor->round_trips) ) $monitor->round_trips = 0; if ( !isset($monitor->active) ) $monitor->active = 1; if ( !isset($monitor->seconds) ) $monitor->seconds = 0; if($monitor->round_trips == 1) { $query = "INSERT INTO $monitor->table_name (" .implode("," , $columns). " ) VALUES ( ". implode("," , $values). ')'; $GLOBALS['db']->query($query); } else { $query = "UPDATE $monitor->table_name SET date_end = '{$monitor->date_end}' , seconds = {$monitor->seconds}, active = '{$monitor->active}', round_trips = $monitor->round_trips WHERE session_id = '{$monitor->session_id}'"; $GLOBALS['db']->query($query); } } } ?>