function SaveLetter($dieing = true) { $Letter = new OFC_letters(); pdoDataAccess::FillObjectByArray($Letter, $_POST); if ($Letter->RefLetterID != "") { $obj = new OFC_letters($Letter->RefLetterID); if (empty($obj->LetterID)) { Response::createObjectiveResponse(false, "شماره نامه عطف قابل بازیابی نمی باشد"); die; } } if ($Letter->LetterID == '') { $Letter->PersonID = $_SESSION["USER"]["PersonID"]; $Letter->LetterDate = PDONOW; $Letter->RegDate = PDONOW; $res = $Letter->AddLetter(); } else { $res = $Letter->EditLetter(); } if (!empty($_FILES["PageFile"]["tmp_name"])) { $st = preg_split("/\\./", $_FILES['PageFile']['name']); $extension = strtolower($st[count($st) - 1]); if (in_array($extension, array("jpg", "jpeg", "gif", "png", "pdf")) === false) { Response::createObjectiveResponse(false, "فرمت فایل ارسالی نامعتبر است"); die; } $dt = DMS_documents::SelectAll("ObjectType='letter' AND ObjectID=?", array($Letter->LetterID)); if (count($dt) == 0) { $obj = new DMS_documents(); $obj->DocType = 0; $obj->ObjectType = "letter"; $obj->ObjectID = $Letter->LetterID; $obj->AddDocument(); $DocumentID = $obj->DocumentID; } else { $DocumentID = $dt[0]["DocumentID"]; } //.............................................. $obj2 = new DMS_DocFiles(); $obj2->DocumentID = $DocumentID; $obj2->PageNo = PdoDataAccess::GetLastID("DMS_DocFiles", "PageNo", "DocumentID=?", array($DocumentID)) + 1; $obj2->FileType = $extension; $obj2->FileContent = substr(fread(fopen($_FILES['PageFile']['tmp_name'], 'r'), $_FILES['PageFile']['size']), 0, 200); $obj2->AddPage(); $fp = fopen(getenv("DOCUMENT_ROOT") . "/storage/documents/" . $obj2->RowID . "." . $extension, "w"); fwrite($fp, substr(fread(fopen($_FILES['PageFile']['tmp_name'], 'r'), $_FILES['PageFile']['size']), 200)); fclose($fp); } if ($dieing) { Response::createObjectiveResponse($res, $Letter->GetExceptionCount() != 0 ? $Letter->popExceptionDescription() : $Letter->LetterID); die; } return true; }
function SaveDocument() { foreach ($_FILES as $file) { if (!empty($file["tmp_name"])) { $st = preg_split("/\\./", $file["name"]); $extension = strtolower($st[count($st) - 1]); if (in_array($extension, array("jpg", "jpeg", "gif", "png", "pdf", "xls", "xlsx", "csv", "doc", "docx")) === false) { Response::createObjectiveResponse(false, "فرمت فایل ارسالی نامعتبر است"); die; } } } //.............................................. $obj = new DMS_documents(); PdoDataAccess::FillObjectByArray($obj, $_POST); $obj->ObjectID = $_POST["ObjectID"]; $obj->ObjectID2 = isset($_POST["ObjectID2"]) ? $_POST["ObjectID2"] : "0"; $obj->ObjectType = $_POST["ObjectType"]; if (empty($obj->DocumentID)) { $result = $obj->AddDocument(); } else { $oldObj = new DMS_documents($obj->DocumentID); if ($oldObj->IsConfirm == "YES") { echo Response::createObjectiveResponse(false, ""); die; } $obj->IsConfirm = "NOTSET"; $result = $obj->EditDocument(); } if (!$result) { //print_r(ExceptionHandler::PopAllExceptions()); echo Response::createObjectiveResponse($result, ""); die; } //-------------- params ------------------ PdoDataAccess::runquery("delete from DMS_DocParamValues where DocumentID=?", array($obj->DocumentID)); $arr = array_keys($_POST); foreach ($arr as $key) { if (strpos($key, "Param") !== false) { PdoDataAccess::runquery("insert into DMS_DocParamValues values(?,?,?)", array($obj->DocumentID, substr($key, 5), $_POST[$key])); } } //---------------------------------------- foreach ($_FILES as $name => $file) { if (empty($file["tmp_name"])) { continue; } $obj2 = new DMS_DocFiles(); $obj2->DocumentID = $obj->DocumentID; $obj2->PageNo = str_replace("FileType_", "", $name); $obj2->PageNo = $obj2->PageNo * 1 == 0 ? 1 : $obj2->PageNo; $obj2->FileType = $extension; $obj2->FileContent = substr(fread(fopen($file['tmp_name'], 'r'), $file['size']), 0, 200); $dt = PdoDataAccess::runquery("select RowID from DMS_DocFiles where DocumentID=? AND PageNo=?", array($obj2->DocumentID, $obj2->PageNo)); foreach ($dt as $row) { DMS_DocFiles::DeletePage($row["RowID"]); } $obj2->AddPage(); $fp = fopen(getenv("DOCUMENT_ROOT") . "/storage/documents/" . $obj2->RowID . "." . $extension, "w"); fwrite($fp, substr(fread(fopen($file['tmp_name'], 'r'), $file['size']), 200)); fclose($fp); } //print_r(ExceptionHandler::PopAllExceptions()); echo Response::createObjectiveResponse($result, ""); die; }