You are here

function download_count_export_file in Download Count 6.2

1 call to download_count_export_file()
download_count_export_form_submit in includes/download_count.export.inc
Implementation of hook_submit().

File

includes/download_count.export.inc, line 113
Page callback file for the download_count module export feature.

Code

function download_count_export_file($file_path, $range, $file_info, $start, $end) {
  if (!($fp = fopen($file_path, "w"))) {
    drupal_set_message("Could not open {$file_path} for writing.", 'error');
    return;
  }
  if ($range == 0) {
    if ($file_info == 'all') {
      $result = db_query("SELECT dc.dcid, dc.fid, dc.nid, dc.uid, dc.ip_address, dc.referrer, dc.timestamp, f.filename, f.filesize, u.name FROM {download_count} dc JOIN {files} f ON dc.fid = f.fid JOIN {users} u ON dc.uid = u.uid ORDER BY f.filename");
    }
    else {
      $result = db_query("SELECT dc.dcid, dc.fid, dc.nid, dc.uid, dc.ip_address, dc.referrer, dc.timestamp, f.filename, f.filesize, u.name FROM {download_count} dc JOIN {files} f ON dc.fid = f.fid JOIN {users} u ON dc.uid = u.uid WHERE dc.fid = %d", $file_info['fid']);
    }
  }
  else {
    $from = strtotime($start['year'] . '-' . $start['month'] . '-' . $start['day']);
    $to = strtotime($end['year'] . '-' . $end['month'] . '-' . $end['day']);
    if ($from == $to) {
      $to += 86400;
    }
    if ($file_info == 'all') {
      $result = db_query("SELECT dc.dcid, dc.fid, dc.nid, dc.uid, dc.ip_address, dc.referrer, dc.timestamp, f.filename, f.filesize, u.name FROM {download_count} dc JOIN {files} f ON dc.fid = f.fid JOIN {users} u ON dc.uid = u.uid WHERE dc.timestamp >= %d AND dc.timestamp <= %d ORDER BY f.filename", $from, $to);
    }
    else {
      $result = db_query("SELECT dc.dcid, dc.fid, dc.nid, dc.uid, dc.ip_address, dc.referrer, dc.timestamp, f.filename, f.filesize, u.name FROM {download_count} dc JOIN {files} f ON dc.fid = f.fid JOIN {users} u ON dc.uid = u.uid WHERE dc.fid = %d AND (dc.timestamp >= %d AND dc.timestamp <= %d)", $file_info['fid'], $from, $to);
    }
  }
  $column_names = '"Download count id","File id","File name","File size","Node id","Downloading user id","Downloading username","Downloading user ip address","HTTP referrer","Date time"' . "\n";
  fwrite($fp, $column_names);
  while ($record = db_fetch_object($result)) {
    $row = '"' . $record->dcid . '"' . ',';
    $row .= '"' . $record->fid . '"' . ',';
    $row .= '"' . $record->filename . '"' . ',';
    $row .= '"' . $record->filesize . '"' . ',';
    $row .= '"' . $record->nid . '"' . ',';
    $row .= '"' . $record->uid . '"' . ',';
    $row .= '"' . $record->name . '"' . ',';
    $row .= '"' . $record->ip_address . '"' . ',';
    $row .= '"' . $record->referrer . '"' . ',';
    $row .= '"' . date('Y-m-d H:i:s', $record->timestamp) . '"';
    $row .= "\n";
    fwrite($fp, $row);
  }
  fclose($fp);
  return;
}