Skip to content
Snippets Groups Projects
Verified Commit e6d8a228 authored by Damien's avatar Damien
Browse files

FEAT #12072 TIME 0:10 Get encoded AR content

parent 4b785b00
No related branches found
No related tags found
No related merge requests found
......@@ -15,7 +15,6 @@
namespace AcknowledgementReceipt\controllers;
use AcknowledgementReceipt\models\AcknowledgementReceiptModel;
use Contact\controllers\ContactController;
use Contact\models\ContactModel;
use Docserver\models\DocserverModel;
use History\controllers\HistoryController;
......@@ -181,13 +180,13 @@ class AcknowledgementReceiptController
}
$docserver = DocserverModel::getByDocserverId(['docserverId' => $document['docserver_id'], 'select' => ['path_template', 'docserver_type_id']]);
if (empty($docserver['path_template']) || !file_exists($docserver['path_template'])) {
if (empty($docserver['path_template']) || !is_dir($docserver['path_template'])) {
return $response->withStatus(400)->withJson(['errors' => 'Docserver does not exist']);
}
$pathToDocument = $docserver['path_template'] . str_replace('#', DIRECTORY_SEPARATOR, $document['path']) . $document['filename'];
if (!file_exists($pathToDocument)) {
if (!is_file($pathToDocument)) {
return $response->withStatus(404)->withJson(['errors' => 'Document not found on docserver']);
}
......@@ -197,31 +196,19 @@ class AcknowledgementReceiptController
}
$fileContent = file_get_contents($pathToDocument);
if ($fileContent === false) {
return $response->withStatus(404)->withJson(['errors' => 'Document not found on docserver']);
}
$finfo = new \finfo(FILEINFO_MIME_TYPE);
$mimeType = $finfo->buffer($fileContent);
$pathInfo = pathinfo($pathToDocument);
$response->write($fileContent);
$response = $response->withAddedHeader('Content-Disposition', "inline; filename=maarch.{$pathInfo['extension']}");
HistoryController::add([
'tableName' => 'acknowledgement_receipts',
'recordId' => $args['id'],
'eventType' => 'VIEW',
'info' => _ACKNOWLEDGEMENT_RECEIPT_DISPLAYING . " : {$args['id']}",
'moduleId' => 'res',
'eventId' => 'acknowledgementreceiptview',
'moduleId' => 'acknowledgementReceipt',
'eventId' => 'acknowledgementReceiptView',
]);
if ($mimeType == 'text/plain') {
$mimeType = 'text/html';
}
return $response->withHeader('Content-Type', $mimeType);
return $response->withJson(['encodedDocument' => base64_encode($fileContent)]);
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment