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; }