From 1106b1eba2eeb265daa8b43320691493e967e973 Mon Sep 17 00:00:00 2001 From: Laurent Giovannoni <laurent.giovannoni@maarch.org> Date: Thu, 14 Sep 2017 17:55:25 +0200 Subject: [PATCH] FEAT #5938 --- core/Controllers/ResController.php | 35 +++++++++++++++++++++++++++--- core/Test/ResControllerTest.php | 2 +- 2 files changed, 33 insertions(+), 4 deletions(-) diff --git a/core/Controllers/ResController.php b/core/Controllers/ResController.php index 3b437330d4b..f9352ce3190 100755 --- a/core/Controllers/ResController.php +++ b/core/Controllers/ResController.php @@ -34,12 +34,37 @@ class ResController { public function create(RequestInterface $request, ResponseInterface $response, $aArgs) { - if(empty($aArgs)){ + if(empty($aArgs)) { + $aArgs = $request->getQueryParams(); + $aArgs['data'] = json_decode($aArgs['data']); + $aArgs['data'] = $this->object2array($aArgs['data']); + + //FIX pb if data has parent + if (isset($aArgs['data']['data'])) { + $aArgs['data'] = $aArgs['data']['data']; + } } + //***************************************************************************************** + //LOG ONLY LOG FOR DEBUG + // $file = fopen('storeResourceLogs.log', a); + // fwrite($file, '[' . date('Y-m-d H:i:s') . '] new request' . PHP_EOL); + // foreach ($aArgs as $key => $value) { + // if ($key <> 'encodedFile') { + // fwrite($file, '[' . date('Y-m-d H:i:s') . '] ' . $key . ' : ' . $value . PHP_EOL); + // } + // } + // fclose($file); + // ob_flush(); + // ob_start(); + // print_r($aArgs['data']); + // file_put_contents("storeResourceLogs.log", ob_get_flush()); + //END LOG FOR DEBUG ONLY + //***************************************************************************************** + $return = $this->storeResource($aArgs); if ($return['errors']) { @@ -49,8 +74,11 @@ class ResController ['errors' => _NOT_CREATE . ' ' . $return['errors']] ); } + + //standardize ws response for MaarchCapture + $wsReturn['resId'] = $return[0]; - return $response->withJson($return); + return $response->withJson($wsReturn); } public function delete(RequestInterface $request, ResponseInterface $response, $aArgs) @@ -158,7 +186,8 @@ class ResController $returnCode = 0; //copy sended file on tmp - $fileContent = base64_decode($encodedFile); + //$fileContent = base64_decode($encodedFile); + $fileContent = base64_decode(str_replace(array('-', '_'), array('+', '/'), $encodedFile)); $random = rand(); $fileName = 'tmp_file_' . $random . '.' . $fileFormat; $Fnm = CoreConfigModel::getTmpPath() . $fileName; diff --git a/core/Test/ResControllerTest.php b/core/Test/ResControllerTest.php index f9cc616d6b6..6ed1101d217 100755 --- a/core/Test/ResControllerTest.php +++ b/core/Test/ResControllerTest.php @@ -227,7 +227,7 @@ class ResControllerTest extends TestCase $response = new \Slim\Http\Response(); $response = $action->create($request, $response, $aArgs); //print_r($response);exit; - $this->assertGreaterThan(1, json_decode($response->getBody())[0]); + $this->assertGreaterThan(1, json_decode($response->getBody())->resId); } public function testDeleteRes() -- GitLab