Contractjournal finished & Started Contractconfig Hooks for Provisioning Workflow

This commit is contained in:
Frank Schubert
2023-02-24 15:50:28 +01:00
parent aa373b5f4e
commit 3210981994
21 changed files with 562 additions and 279 deletions

View File

@@ -46,6 +46,58 @@ class mfUpload {
}
}
static public function handleFormUpload($uplName, $filename = false, $subfolder = false, $savepath = MFUPLOAD_FILE_SAVE_PATH) {
if(!isset($_FILES) || !array_key_exists($uplName, $_FILES)) {
throw new Exception("Uploaded file not found");
}
if($_FILES['OrderFileUpload']['error']) {
throw new Exception("Error receiving file");
}
$upload_error = false;
$savepath = preg_replace('#/+$#', "", $savepath); // remove trailing slash
if($subfolder) {
$subfolder = preg_replace('#^/+#', "", $subfolder); // remove leading slash
$subfolder = preg_replace('#/+$#', "", $subfolder); // remove trailing slash
$savepath .= "/$subfolder";
}
$upload = new mfUpload($uplName);
$upload->setSavepath($savepath);
if(!$upload->getSize()) {
throw new Exception("Datei darf nicht leer sein");
}
if(substr(strtolower($upload->getFilename()), -3, 3) == "pdf" && !$upload->validatePDF()) {
throw new Exception("PDF-Validierung fehlgeschlagen");
}
try {
$upload->save();
} catch (Exception $ex) {
throw $ex;
}
$file_data = [];
$file_data['name'] = ($filename) ? $filename : $upload->getOriginalFilename();
$file_data['filename'] = ($filename) ? $filename : $upload->getOriginalFilename();
$file_data['subfolder'] = $subfolder;
$file_data['store_filename'] = $upload->getFilename();
$file_data['orig_filename'] = $upload->getOriginalFilename();
$file = FileModel::create($file_data);
$file_id = $file->save();
if(!$file_id) {
unlink($upload->getSavepath()."/".$upload->getFilename());
throw new Exception("Datei konnte nicht angelegt werden");
}
return $file;
}
public function getSavepath() {
return $this->savepath;
}