function newFile() { global $conn_id; global $serverTmp; global $lang_title_new_file; global $lang_new_file_name; global $lang_template; global $lang_no_template; global $lang_file_exists; global $lang_file_cant_make; global $filesCharSet; $isError = 0; // Set vars $vars = "&ftpAction=newFile"; // Display templates $templates_dir = "templates"; $file_name = empty($_POST["newFile"]) ? '' : trim(quotesUnescape($_POST["newFile"])); if ($file_name == "") { $title = $lang_title_new_file; $width = 400; $height = 95; displayPopupOpen(0, $width, $height, 0, $title); echo "<input type=\"text\" name=\"newFile\" id=\"newFile\" placeholder=\"" . $lang_new_file_name . "\" onkeypress=\"if (event.keyCode == 13){ processForm('" . $vars . "'); return false;}\">"; $langs = ''; if (is_dir($templates_dir)) { if ($dh = opendir($templates_dir)) { $i = 0; while (($file = readdir($dh)) !== false) { if ($file != "" && $file != "." && $file != ".." && $file != "index.html") { $file_name = $file; $template_found = 1; $langs .= "<option value=\"" . $file_name . "\">" . $file_name . "</option>"; } } closedir($dh); } } echo "<p>" . $lang_template . ": "; echo "<select name=\"template\">"; echo "<option value=\"\">" . $lang_no_template . "</option>"; echo $langs; echo "</select>"; displayPopupClose(0, $vars, 1); } else { if ($filesCharSet != "utf-8") { $file_name = iconv("utf-8", $filesCharSet, $file_name); } $fp1 = tempnam($serverTmp, "monsta-"); register_shutdown_function('shutdown_unlinkTempFile', $fp1); if ($_SESSION["dir_current"] == "/") { $fp2 = "/" . $file_name; } else { $fp2 = $_SESSION["dir_current"] . "/" . $file_name; } // Check if file already exists if (checkFileExists("f", $file_name, $_SESSION["dir_current"]) == 1) { recordFileError("file", $file_name, $lang_file_exists); } else { $content = ''; // Get template if ($_POST["template"] != $lang_no_template) { $file_name = $templates_dir . "/" . $_POST["template"]; $fd = fopen($file_name, "r"); $content = fread($fd, filesize($file_name)); fclose($fd); } // Write file to server $tmpFile = fopen($fp1, "w+"); fputs($tmpFile, $content); fclose($tmpFile); ensureFtpConnActive(); // Upload the file if (!@ftp_put($conn_id, $fp2, $fp1, FTP_BINARY)) { if (checkFirstCharTilde($fp2) == 1) { if (!@ftp_put($conn_id, replaceTilde($fp2), $fp1, FTP_BINARY)) { recordFileError("file", $file_name, $lang_file_cant_make); $isError = 1; } } else { recordFileError("file", $file_name, $lang_file_cant_make); $isError = 1; } } if ($isError == 0) { // Open editor $file = $fp2; displayEditFileForm($file, $content); } } // Delete tmp file unlink($fp1); } }
function newFile() { global $conn_id; global $serverTmp; global $lang_title_new_file; global $lang_new_file_name; global $lang_template; global $lang_no_template; global $lang_file_exists; global $lang_file_cant_make; // Set vars $vars = "&ftpAction=newFile"; // Display templates $templates_dir = "templates"; $file_name = trim(quotesUnescape($_POST["newFile"])); if ($file_name == "") { $title = $lang_title_new_file; $width = 400; $height = 85; // Display pop-up displayPopupOpen(0, $width, $height, 0, $title); echo "<input type=\"text\" name=\"newFile\" id=\"newFile\" placeholder=\"" . $lang_new_file_name . "\" onkeypress=\"if (event.keyCode==13){ processForm('" . $vars . "'); return false;}\">"; if (is_dir($templates_dir)) { if ($dh = opendir($templates_dir)) { $i = 0; while (($file = readdir($dh)) !== false) { if ($file != "" && $file != "." && $file != "..") { $file_name = $file; $template_found = 1; $langs .= "<option value=\"" . $file_name . "\">" . $file_name . "</option>"; } } closedir($dh); } } echo "<p>" . $lang_template . ": "; echo "<select name=\"template\">"; echo "<option value=\"\">" . $lang_no_template . "</option>"; echo $langs; echo "</select>"; displayPopupClose(0, $vars, 1); } else { $fp1 = $serverTmp . "/" . $file_name; if ($_SESSION["dir_current"] == "/") { $fp2 = "/" . $file_name; } else { $fp2 = $_SESSION["dir_current"] . "/" . $file_name; } // Check if file already exists if (checkFileExists("f", $file_name, $_SESSION["dir_current"]) == 1) { $_SESSION["errors"][] = str_replace("[file]", "<strong>" . $file_name . "</strong>", $lang_file_exists); } else { // Get template if ($_POST["template"] != $lang_no_template) { $file_name = $templates_dir . "/" . $_POST["template"]; $fd = fopen($file_name, "r"); $content = fread($fd, filesize($file_name)); fclose($fd); } // Write file to server $tmpFile = fopen($fp1, "w+"); fputs($tmpFile, $content); fclose($tmpFile); // Upload the file if (!@ftp_put($conn_id, $fp2, $fp1, FTP_BINARY)) { $_SESSION["errors"][] = str_replace("[file]", "<strong>" . $file_name . "</strong>", $lang_file_cant_make); } else { // Open editor $file = $fp2; displayEditFileForm($file, $content); } } } }