/** * Helper function for db_query(). */ function _xanth_db_query_callback($match, $init = FALSE) { static $args = NULL; if ($init) { $args = $match; return; } switch ($match[1]) { case '%d': return (int) array_shift($args); case '%s': return xanth_db_escape_string(array_shift($args)); case '%%': return '%'; case '%f': return (double) array_shift($args); case '%b': // binary data return xanth_db_encode_blob(array_shift($args)); } }
/** * */ function xanth_db_log($level, $component, $message, $filename, $line) { //manual check to prevent deadlocks if (!is_int($level) || !is_int($line)) { return; } $message = xanth_db_escape_string($message); $filename = xanth_db_escape_string($filename); $component = xanth_db_escape_string($component); $result = mysql_query("INSERT INTO xanth_log(level,component,message,filename,line,timestamp) VALUES({$level},'{$component}','{$message}','{$filename}',{$line},NOW())"); if (!$result) { exit('Logging failed:' . mysql_error()); } }