This is the code to dump the IP address listing into CVS (using my best guesses as to what the tables are named), which could be altered to reflect process items.
<?php
$db = mysql_connect('localhost', 'username', 'password'); // Connect to the database (usually stored in config.php)
$link = mysql_select_db('database name', $db); // Select the database name (unable to extract this from the page dump)
function parseCSVComments($comments) {
$comments = str_replace('"', '""', $comments); // First off escape all " and make them ""
if(eregi(",", $comments) or eregi("\n", $comments)) { // Check if I have any commas or new lines
return '"'.$comments.'"'; // If I have new lines or commas escape them
} else {
return $comments; // If no new lines or commas just return the value
}
}
$sql = mysql_query("SELECT IP, name, owned FROM IP_DB"); // Start our query of the database (used variables based on the page dump) *edit, removed "action", as it is not needed for this dump
$numberFields = mysql_num_fields($sql); // Find out how many fields we are fetching
if($numberFields) { // Check if we need to output anything
for($i=0; $i<$numberFields; $i++) {
$head[] = mysql_field_name($sql, $i); // Create the headers for each column, this is the field name in the database
}
$headers = join(',', $head)."\n"; // Make our first row in the CSV
while($info = mysql_fetch_object($sql)) {
foreach($head as $fieldName) { // Loop through the array of headers as we fetch the data
$row[] = parseCSVComments($info->$fieldName);
} // End loop
$data .= join(',', $row)."\n"; // Create a new row of data and append it to the last row
$row = ''; // Clear the contents of the $row variable to start a new row
}
// Start our output of the CSV
header("Content-type: application/x-msdownload");
header("Content-Disposition: attachment; filename=log.csv");
header("Pragma: no-cache");
header("Expires: 0");
echo $headers.$data;
} else {
// Nothing needed to be output. Put an error message here or something.
echo 'No data available for this CSV.';
}
?>