function sendCsvHeaders($filename) { sendDownloadHeaders("text/csv", $filename); }
function ftp_zip($conn_id, $directory, $list, $zipactions, $zipdir, $divelevel) { // -------------- // This function allows to download/save/email a zipfile which contains the selected directories and files // -------------- // ------------------------------------------------------------------------- // Global variables // ------------------------------------------------------------------------- global $net2ftp_globals, $net2ftp_settings, $net2ftp_result, $net2ftp_output; // ------------------------------------------------------------------------- // Initialization // ------------------------------------------------------------------------- if ($divelevel == 0) { // Create the zipfile $net2ftp_globals["zipfile"] = new zipfile(); $timenow = time(); $zipdir = ""; // Open the connection $conn_id = ftp_openconnection(); if ($net2ftp_result["success"] == false) { return false; } } // ------------------------------------------------------------------------- // For all directories... // ------------------------------------------------------------------------- for ($i = 1; $i <= $list["stats"]["directories"]["total_number"]; $i = $i + 1) { $newdir = glueDirectories($directory, $list["directories"][$i]["dirfilename"]); $newzipdir = glueDirectories($zipdir, $list["directories"][$i]["dirfilename"]); $newdivelevel = $divelevel + 1; // Check if the directory contains a banned keyword if ($list["directories"][$i]["selectable"] == "banned_keyword") { continue; } // Get a new list $newlist = ftp_getlist($conn_id, $newdir); if ($net2ftp_result["success"] == false) { return false; } ftp_zip($conn_id, $newdir, $newlist, $zipactions, $newzipdir, $newdivelevel); if ($net2ftp_result["success"] == false) { setErrorVars(true, "", "", "", ""); continue; } if ($divelevel == 0 && ($zipactions["save"] == "yes" || $zipactions["email"] == "yes")) { $total = $list["stats"]["directories"]["total_number"] + $list["stats"]["files"]["total_number"]; setStatus($i, $total, __("Processing the entries")); } } // end for directories // ------------------------------------------------------------------------- // For all files... // ------------------------------------------------------------------------- for ($i = 1; $i <= $list["stats"]["files"]["total_number"]; $i = $i + 1) { if ($list["files"][$i]["selectable"] != "ok") { continue; } $text = ftp_readfile($conn_id, $directory, $list["files"][$i]["dirfilename"]); if ($net2ftp_result["success"] == false) { setErrorVars(true, "", "", "", ""); continue; } $filename = stripDirectory(glueDirectories($zipdir, $list["files"][$i]["dirfilename"])); $net2ftp_globals["zipfile"]->addFile($text, $filename); if ($divelevel == 0 && ($zipactions["save"] == "yes" || $zipactions["email"] == "yes")) { $total = $list["stats"]["directories"]["total_number"] + $list["stats"]["files"]["total_number"]; setStatus($list["stats"]["directories"]["total_number"] + $i - 1, $total, __("Processing the entries")); } } // end for files // ------------------------------------------------------------------------- // End // ------------------------------------------------------------------------- if ($divelevel == 0) { // ------------------------ // Send the zipfile to the browser // ------------------------ if ($zipactions["download"] == "yes") { $timenow = time(); $filenameToSend = "net2ftp-" . $timenow . ".zip"; $filesizeToSend = strlen($net2ftp_globals["zipfile"]->file()); sendDownloadHeaders($filenameToSend, $filesizeToSend); echo $net2ftp_globals["zipfile"]->file(); flush(); } // ------------------------ // Save the zipfile string to a file // ------------------------ if ($zipactions["save"] == "yes" || $zipactions["email"] == "yes") { $string = $net2ftp_globals["zipfile"]->file(); $tempfilename = tempnam($net2ftp_globals["application_tempdir"], "zip__"); if ($tempfilename == false) { @unlink($tempfilename); $errormessage = __("Unable to create the temporary file. Check the permissions of the %1\$s directory.", $net2ftp_globals["application_tempdir"]); setErrorVars(false, $errormessage, debug_backtrace(), __FILE__, __LINE__); return false; } registerTempfile("register", $tempfilename); local_writefile($tempfilename, $string); if ($net2ftp_result["success"] == false) { return false; } } // ------------------------ // Save the zip file to the FTP server // ------------------------ if ($zipactions["save"] == "yes") { ftp_putfile($conn_id, "", $tempfilename, $directory, $zipactions["save_filename"], FTP_BINARY, "copy"); if ($net2ftp_result["success"] == false) { @unlink($tempfilename); // $errormessage = __("Unable to put the file <b>%1\$s</b> on the FTP server.<br />You may not have write permissions on the directory.", $zipactions["save_filename"]); // setErrorVars(false, $errormessage, debug_backtrace(), __FILE__, __LINE__); return false; } else { $net2ftp_output["ftp_zip"][] = __("The zip file has been saved on the FTP server as <b>%1\$s</b>", $zipactions["save_filename"]) . "<br /><br />\n"; } } // ------------------------ // Close the connection // ------------------------ ftp_closeconnection($conn_id); // ------------------------ // Email // ------------------------ if ($zipactions["email"] == "yes") { $FromName = "net2ftp"; $From = $net2ftp_settings["email_feedback"]; $ToName = ""; $To = $zipactions["email_to"]; $Subject = __("Requested files"); // Email message $Text = __("Dear,") . "\n\n"; $Text .= __("Someone has requested the files in attachment to be sent to this email account (%1\$s).", $To) . "\n"; $Text .= __("If you know nothing about this or if you don't trust that person, please delete this email without opening the Zip file in attachment.") . "\n"; $Text .= __("Note that if you don't open the Zip file, the files inside cannot harm your computer.") . "\n"; $Text .= "\n\n---------------------------------------\n"; $Text .= __("Information about the sender: ") . "\n"; $Text .= __("IP address: ") . $REMOTE_ADDR . "\n"; $Text .= __("Time of sending: ") . mytime() . "\n"; $Text .= __("Sent via the net2ftp application installed on this website: ") . $HTTP_REFERER . "\n"; $Text .= __("Webmaster's email: ") . $From . "\n"; $Text .= "\n\n---------------------------------------\n"; $Text .= __("Message of the sender: ") . "\n"; $Text .= $zipactions["message"] . "\n"; $Text .= "\n\n---------------------------------------\n"; $Text .= __("net2ftp is free software, released under the GNU/GPL license. For more information, go to http://www.net2ftp.com.") . "\n\n\n"; $AttmFiles = array($tempfilename); SendMail($From, $FromName, $To, $ToName, $Subject, $Text, $Html, $AttmFiles); if ($net2ftp_result["success"] == false) { @unlink($tempfilename); return false; } $net2ftp_output["ftp_zip"][] = __("The zip file has been sent to <b>%1\$s</b>.", $To) . "<br /><br />"; } // ------------------------ // Delete the temporary zipfile // ------------------------ if ($zipactions["save"] == "yes" || $zipactions["email"] == "yes") { $success4 = @unlink($tempfilename); if ($success4 == false) { $errormessage = __("Unable to delete the temporary file"); setErrorVars(false, $errormessage, debug_backtrace(), __FILE__, __LINE__); return false; } registerTempfile("unregister", $tempfilename); } // Set the variable to NULL to save memory $net2ftp_globals["zipfile"] = NULL; } // end if $divelevel == 0 }
function sendSqlHeaders($filename) { sendDownloadHeaders("application/sql", $filename); }