diff --git a/src/app/attachment/controllers/AttachmentController.php b/src/app/attachment/controllers/AttachmentController.php index f5cf6300bb1caa002ae894af32b724d48144dffb..589bdcb60af7220902da842aca819b832a001668 100755 --- a/src/app/attachment/controllers/AttachmentController.php +++ b/src/app/attachment/controllers/AttachmentController.php @@ -421,7 +421,7 @@ class AttachmentController } $attachment = AttachmentModel::get([ - 'select' => ['res_id', 'docserver_id', 'res_id_master'], + 'select' => ['res_id', 'docserver_id', 'res_id_master', 'format'], 'where' => ['res_id = ?', 'status not in (?)'], 'data' => [$args['id'], ['DEL']], 'limit' => 1 @@ -452,7 +452,7 @@ class AttachmentController } $docserverType = DocserverTypeModel::getById(['id' => $docserver['docserver_type_id'], 'select' => ['fingerprint_mode']]); - $fingerprint = StoreController::getFingerPrint(['filePath' => $pathToDocument, 'mode' => $docserverType['fingerprint_mode']]); + $fingerprint = StoreController::getFingerPrint(['filePath' => $pathToDocument, 'mode' => $docserverType['fingerprint_mode']]); if (!empty($document['fingerprint']) && $document['fingerprint'] != $fingerprint) { return $response->withStatus(400)->withJson(['errors' => 'Fingerprints do not match']); } @@ -476,7 +476,7 @@ class AttachmentController $data = $request->getQueryParams(); if ($data['mode'] == 'base64') { - return $response->withJson(['encodedDocument' => base64_encode($fileContent), 'format' => pathinfo($pathToDocument, PATHINFO_EXTENSION)]); + return $response->withJson(['encodedDocument' => base64_encode($fileContent), 'originalFormat' => $attachment['format']]); } else { $finfo = new \finfo(FILEINFO_MIME_TYPE); $mimeType = $finfo->buffer($fileContent); diff --git a/src/app/resource/controllers/ResController.php b/src/app/resource/controllers/ResController.php index 98ce18ea1900d612d1f9b077549ba4efa9e995a7..c1a92e9f23a729411b0e59ccca338bdbba6c975a 100755 --- a/src/app/resource/controllers/ResController.php +++ b/src/app/resource/controllers/ResController.php @@ -375,12 +375,13 @@ class ResController extends ResourceControlController return $response->withStatus(403)->withJson(['errors' => 'Document out of perimeter']); } - $document = ResModel::getById(['select' => ['docserver_id', 'path', 'filename', 'fingerprint', 'category_id', 'alt_identifier'], 'resId' => $aArgs['resId']]); + $document = ResModel::getById(['select' => ['filename', 'format'], 'resId' => $aArgs['resId']]); if (empty($document)) { return $response->withStatus(400)->withJson(['errors' => 'Document does not exist']); } elseif (empty($document['filename'])) { return $response->withStatus(400)->withJson(['errors' => 'Document has no file']); } + $originalFormat = $document['format']; $convertedDocument = ConvertPdfController::getConvertedPdfById(['resId' => $aArgs['resId'], 'collId' => 'letterbox_coll']); if (!empty($convertedDocument['errors'])) { @@ -425,7 +426,7 @@ class ResController extends ResourceControlController $data = $request->getQueryParams(); if ($data['mode'] == 'base64') { - return $response->withJson(['encodedDocument' => base64_encode($fileContent), 'format' => pathinfo($pathToDocument, PATHINFO_EXTENSION)]); + return $response->withJson(['encodedDocument' => base64_encode($fileContent), 'originalFormat' => $originalFormat]); } else { $finfo = new \finfo(FILEINFO_MIME_TYPE); $mimeType = $finfo->buffer($fileContent);