From 02e5e2c216ed48c93addf551b984f8270b8c478c Mon Sep 17 00:00:00 2001 From: Nicolas Le Goff Date: Thu, 21 Mar 2013 17:10:46 +0100 Subject: [PATCH] Subsitution cleanup && test enhancement --- lib/Alchemy/Phrasea/Controller/Prod/Tools.php | 101 ++++++++---------- .../prod/actions/Tools/iframeUpload.html.twig | 7 +- .../web/prod/actions/Tools/index.html.twig | 2 - .../Phrasea/Controller/Prod/ToolsTest.php | 28 +++-- 4 files changed, 70 insertions(+), 68 deletions(-) diff --git a/lib/Alchemy/Phrasea/Controller/Prod/Tools.php b/lib/Alchemy/Phrasea/Controller/Prod/Tools.php index c0f5ef05ae..01fee5f25a 100644 --- a/lib/Alchemy/Phrasea/Controller/Prod/Tools.php +++ b/lib/Alchemy/Phrasea/Controller/Prod/Tools.php @@ -127,30 +127,29 @@ class Tools implements ControllerProviderInterface $controllers->post('/hddoc/', function(Application $app, Request $request) { $success = false; - $errorMessage = ""; - $fileName = null; + $message = _('An error occured'); if ($file = $request->files->get('newHD')) { + $fileName = $file->getClientOriginalName(); - if ($file->isValid()) { - - $fileName = $file->getClientOriginalName(); - $size = $file->getClientSize(); - - $tempoFile = tempnam(sys_get_temp_dir(), 'substit'); - unlink($tempoFile); - mkdir($tempoFile); - $tempoFile = $tempoFile . DIRECTORY_SEPARATOR . $fileName; - copy($file->getPathname(), $tempoFile); - - + if ($file->getClientSize() && $fileName && $file->isValid()) { try { - $record = new \record_adapter( - $request->get('sbas_id') - , $request->get('record_id') + $tmpFile = sprintf( + '%stmp/%s', + $app['Core']->getRegistry()->get('GV_RootPath'), + $fileName ); - $media = $app['Core']['mediavorus']->guess(new \SplFileInfo($tempoFile)); + if (false === rename($file->getPathname(), $tmpFile)) { + throw new \Exception(); + } + + $record = new \record_adapter( + $request->get('sbas_id'), + $request->get('record_id') + ); + + $media = $app['Core']['mediavorus']->guess(new \SplFileInfo($tmpFile)); $record->substitute_subdef('document', $media); @@ -159,50 +158,44 @@ class Tools implements ControllerProviderInterface } $success = true; + $message = _('Record document has been successfully substitued'); + unlink($tmpFile); } catch (\Exception $e) { - $errorMessage = $e->getMessage(); - } - unlink($tempoFile); - rmdir(dirname($tempoFile)); - unlink($file->getPathname()); + } } else { - $errorMessage = _('file is not valid'); + $message = _('file is not valid'); } } - $template = 'prod/actions/Tools/iframeUpload.html.twig'; - $var = array( - 'success' => $success - , 'fileName' => $fileName - , 'errorMessage' => $errorMessage - ); - - return new Response($app['Core']->getTwig()->render($template, $var)); - - /** - * - */ + return new Response($app['Core']->getTwig()->render('prod/actions/Tools/iframeUpload.html.twig', array( + 'success' => $success, + 'message' => $message, + ))); }); $controllers->post('/chgthumb/', function(Application $app, Request $request) { $success = false; - $errorMessage = ""; + $message = _('An error occured'); if ($file = $request->files->get('newThumb')) { - - $size = $file->getClientSize(); $fileName = $file->getClientOriginalName(); - if ($size && $fileName && $file->isValid()) { + if ($file->getClientSize() && $fileName && $file->isValid()) { try { - $rootPath = $app['Core']->getRegistry()->get('GV_RootPath'); - $tmpFile = $rootPath . 'tmp/' . $fileName; - rename($file->getPathname(), $tmpFile); + $tmpFile = sprintf( + '%stmp/%s', + $app['Core']->getRegistry()->get('GV_RootPath'), + $fileName + ); + + if (false === rename($file->getPathname(), $tmpFile)) { + throw new \Exception(); + } $record = new \record_adapter( - $request->get('sbas_id') - , $request->get('record_id') + $request->get('sbas_id'), + $request->get('record_id') ); $media = $app['Core']['mediavorus']->guess(new \SplFileInfo($tmpFile)); @@ -210,21 +203,19 @@ class Tools implements ControllerProviderInterface $record->substitute_subdef('thumbnail', $media); $success = true; + $message = _('Record thumbnail has been successfully substitued'); + unlink($tmpFile); } catch (\Exception $e) { - $errorMessage = _('An error occured'); + } } else { - $errorMessage = _('file is not valid'); + $message = _('file is not valid'); } - $template = 'prod/actions/Tools/iframeUpload.html.twig'; - $var = array( - 'success' => $success - , 'fileName' => $fileName - , 'errorMessage' => $errorMessage - ); - - return new Response($app['Core']->getTwig()->render($template, $var)); + return new Response($app['Core']->getTwig()->render('prod/actions/Tools/iframeUpload.html.twig', array( + 'success' => $success, + 'message' => $message, + ))); } }); diff --git a/templates/web/prod/actions/Tools/iframeUpload.html.twig b/templates/web/prod/actions/Tools/iframeUpload.html.twig index a060dbff78..d6e852a871 100644 --- a/templates/web/prod/actions/Tools/iframeUpload.html.twig +++ b/templates/web/prod/actions/Tools/iframeUpload.html.twig @@ -1,7 +1,4 @@ -
- {% if not success %} - {% trans 'an error occured' %} - {{errorMessage}} - {% endif %} +
+ {{ message }}
diff --git a/templates/web/prod/actions/Tools/index.html.twig b/templates/web/prod/actions/Tools/index.html.twig index 6d4c8964b2..596b970eda 100644 --- a/templates/web/prod/actions/Tools/index.html.twig +++ b/templates/web/prod/actions/Tools/index.html.twig @@ -288,7 +288,6 @@
 {% trans "substitution HD" %} 
-