From 9de1a1970141acae0ccdf35c6177c050431b3a5b Mon Sep 17 00:00:00 2001 From: Damien <damien.burel@maarch.org> Date: Mon, 4 Nov 2019 10:47:05 +0100 Subject: [PATCH] FEAT #11698 TIME 0:30 Get converted Resource from tmp --- .../controllers/ConvertPdfController.php | 32 ++++++++++++++----- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/src/app/convert/controllers/ConvertPdfController.php b/src/app/convert/controllers/ConvertPdfController.php index d9edb644283..8c9d1dd083b 100755 --- a/src/app/convert/controllers/ConvertPdfController.php +++ b/src/app/convert/controllers/ConvertPdfController.php @@ -165,7 +165,7 @@ class ConvertPdfController $aReturn = []; - if ($aArgs['context'] == 'scan') { + if (!empty($aArgs['context']) && $aArgs['context'] == 'scan') { $aReturn["tmpFilename"] = $tmpFilename.'.pdf'; } else { $aReturn["encodedResource"] = base64_encode($resource); @@ -279,17 +279,33 @@ class ConvertPdfController } } - public function getConvertedFileByFilename(Request $request, Response $response, array $aArgs) + public function getConvertedFileByFilename(Request $request, Response $response, array $args) { $tmpPath = CoreConfigModel::getTmpPath(); - if (!file_exists("{$tmpPath}{$aArgs['filename']}")) { - return $response->withStatus(400)->withJson(['errors' => 'File does not exists']); + if (!file_exists("{$tmpPath}{$args['filename']}")) { + return $response->withStatus(400)->withJson(['errors' => 'File does not exist']); } - $resource = file_get_contents("{$tmpPath}{$aArgs['filename']}"); - unlink("{$tmpPath}{$aArgs['filename']}"); - - return $response->withJson(['encodedResource' => base64_encode($resource)]); + $resource = file_get_contents("{$tmpPath}{$args['filename']}"); + $extension = pathinfo("{$tmpPath}{$args['filename']}", PATHINFO_EXTENSION); + unlink("{$tmpPath}{$args['filename']}"); + $encodedResource = base64_encode($resource); + + $encodedFiles = ['encodedResource' => $encodedResource]; + + $queryParams = $request->getQueryParams(); + if (!empty($queryParams['convert'])) { + if (ConvertPdfController::canConvert(['extension' => $extension])) { + $convertion = ConvertPdfController::convertFromEncodedResource(['encodedResource' => $encodedResource]); + if (!empty($convertion['errors'])) { + $encodedFiles['convertedResourceErrors'] = $convertion['errors']; + } else { + $encodedFiles['encodedConvertedResource'] = $convertion['encodedResource']; + } + } + } + + return $response->withJson($encodedFiles); } } -- GitLab