prepare($query);
   $sth->bindValue(":id", (int) $_REQUEST['id'], PDO::PARAM_INT);
   $sth->execute();
   if ( $row = $sth->fetch(PDO::FETCH_ASSOC) ) {
      $filename = $row['filename'];
      $relativefile = $row['path'] . "/" . $filename;
      $curfile = BOOKDIR . $relativefile;
      if ( is_file($curfile) ) {
         $goodtodown = true;
         $filesize = filesize($curfile);
      }
   }
}
 
if ($goodtodown) {
   $log = fopen("/var/www/booklogs","a");
   fputs($log, "{$username},{$time},{$curfile},{$filesize}\n");
   fclose($log);
   header("Pragma: public");
   if ( substr($filename, -4) == "epub" ) {
      header("Content-Type: application/epub+zip");
   } else {
      header("Content-Type: application/octet-stream");
   }
   header("Content-Disposition: attachment; filename=\"" . trim($filename) . "\"");
   header("Content-Description: " . trim($filename));
   header("Content-Length: $filesize");
   readfile("$curfile");
   exit();
} else {
   echo("Either something is broken or you are
\n");
   echo("trying to do something you shouldn't.
\n");
   echo("Please try again later.\n");
}
// vim: sw=3 ts=3 et: