Exemple #1
0
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;
}