protected function saveIncomingFile() { $file_name = getRequest('filename'); $buffer = outputBuffer::current('HTTPOutputBuffer'); $content = $buffer->getHTTPRequestBody(); if (!strlen($file_name)) { return "failure\nEmpty filename."; } list($dir_name, , $extension) = array_values(getPathInfo($file_name)); if (!strlen($extension) || !umiFile::isAllowedFileType($extension)) { return "failure\nUnknown file type."; } if (!isset($_SESSION['1c_latest_catalog-file'])) { $_SESSION['1c_latest_catalog-file'] = ""; } $i_flag = $_SESSION['1c_latest_catalog-file'] == $file_name ? FILE_APPEND : 0; $base_name = substr($file_name, 0, strlen($file_name) - strlen($extension) - 1); $temp_dir = self::$importDirectory; if (!is_dir($temp_dir)) { mkdir($temp_dir, 0777, true); } if (strtolower($extension) == "xml") { file_put_contents($temp_dir . $base_name . "." . $extension, $content, $i_flag); } else { $quota_byte = getBytesFromString(mainConfiguration::getInstance()->get('system', 'quota-files-and-images')); if ($quota_byte != 0) { $all_size = getBusyDiskSize(array('/files', '/images')); if ($all_size + strlen($content) >= $quota_byte) { return "failure\n max dirsize in /files and /images summary."; } } $images_dir = "./images/cms/data/" . $dir_name . "/"; if (!is_dir($images_dir)) { mkdir($images_dir, 0777, true); } file_put_contents("./images/cms/data/" . $file_name, $content, $i_flag); if (realpath("./images/cms/data/" . $file_name) != CURRENT_WORKING_DIR . "/images/cms/data/" . $file_name) { unlink("./images/cms/data/" . $file_name); return "failure\nWrong file path."; } } $_SESSION['1c_latest_catalog-file'] = $file_name; return "success"; }