From 05d293a4a10fd6b985ca5ba324eb70ba206fcbc9 Mon Sep 17 00:00:00 2001 From: Florian BLOUET Date: Fri, 12 Jun 2015 15:33:14 +0200 Subject: [PATCH] videos representation screenshots generation code cleanup --- .../Controller/Prod/ToolsController.php | 77 ++++++++----------- .../web/prod/actions/Tools/index.html.twig | 2 - 2 files changed, 33 insertions(+), 46 deletions(-) diff --git a/lib/Alchemy/Phrasea/Controller/Prod/ToolsController.php b/lib/Alchemy/Phrasea/Controller/Prod/ToolsController.php index 63f7b725e2..42e9539944 100644 --- a/lib/Alchemy/Phrasea/Controller/Prod/ToolsController.php +++ b/lib/Alchemy/Phrasea/Controller/Prod/ToolsController.php @@ -246,59 +246,23 @@ class ToolsController extends Controller public function applyThumbnailExtractionAction(Request $request) { - $return = ['success' => false, 'message' => '']; - try { $record = new \record_adapter($this->app, $request->request->get('sbas_id'), $request->request->get('record_id')); $subDef = $request->request->get('sub_def'); - if( is_array($subDef)) { - foreach($subDef as $def) { - $subDefName = $def['name']; - $subDefDataUri = $def['src']; - - $dataUri = Parser::parse($subDefDataUri); - - $name = sprintf('extractor_thumb_%s', $record->get_serialize_key()); - $fileName = sprintf('%s/%s.png', sys_get_temp_dir(), $name); - - file_put_contents($fileName, $dataUri->getData()); - - $media = $this->app->getMediaFromUri($fileName); - - $this->getSubDefinitionSubstituer()->substitute($record, $subDefName, $media); - $this->getDataboxLogger($record->get_databox()) - ->log($record, \Session_Logger::EVENT_SUBSTITUTE, $subDefName, ''); - - unset($media); - $this->getFilesystem()->remove($fileName); - } - - $return['success'] = true; + // legacy handling + if (!is_array($subDef)) { + $subDef = ['name' => 'thumbnail', 'src' => $request->request->get('image', '')]; } - // legacy usage: + foreach ($subDef as $def) { + $this->substituteMedia($record, $def['name'], $def['src']); + } - $dataUri = Parser::parse($request->request->get('image', '')); - - $name = sprintf('extractor_thumb_%s', $record->get_serialize_key()); - $fileName = sprintf('%s/%s.png', sys_get_temp_dir(), $name); - - file_put_contents($fileName, $dataUri->getData()); - - $media = $this->app->getMediaFromUri($fileName); - - $this->getSubDefinitionSubstituer()->substitute($record, 'thumbnail', $media); - $this->getDataboxLogger($record->get_databox()) - ->log($record, \Session_Logger::EVENT_SUBSTITUTE, 'thumbnail', ''); - - unset($media); - $this->getFilesystem()->remove($fileName); - - $return['success'] = true; + $return = ['success' => true, 'message' => '']; } catch (\Exception $e) { - $return['message'] = $e->getMessage(); + $return = ['success' => false, 'message' => $e->getMessage()]; } return $this->app->json($return); @@ -343,4 +307,29 @@ class ToolsController extends Controller { return $this->app['phraseanet.metadata-reader']; } + + /** + * @param $record + * @param $subDefName + * @param $subDefDataUri + * @throws \DataURI\Exception\InvalidDataException + */ + private function substituteMedia($record, $subDefName, $subDefDataUri) + { + $dataUri = Parser::parse($subDefDataUri); + + $name = sprintf('extractor_thumb_%s', $record->get_serialize_key()); + $fileName = sprintf('%s/%s.png', sys_get_temp_dir(), $name); + + file_put_contents($fileName, $dataUri->getData()); + + $media = $this->app->getMediaFromUri($fileName); + + $this->getSubDefinitionSubstituer()->substitute($record, $subDefName, $media); + $this->getDataboxLogger($record->get_databox()) + ->log($record, \Session_Logger::EVENT_SUBSTITUTE, $subDefName, ''); + + unset($media); + $this->getFilesystem()->remove($fileName); + } } diff --git a/templates/web/prod/actions/Tools/index.html.twig b/templates/web/prod/actions/Tools/index.html.twig index 2372cd78cf..528d1437f3 100644 --- a/templates/web/prod/actions/Tools/index.html.twig +++ b/templates/web/prod/actions/Tools/index.html.twig @@ -392,7 +392,6 @@ $(document).ready(function(){ else { $(this).hide(); - //$("#thumb_reset_button",scope).hide(); $("#thumb_info", scope).show(); ThumbEditor.resetCanva(); } @@ -420,7 +419,6 @@ $(document).ready(function(){ $("#thumb_camera_button", scope).bind("click", function(){ $("#thumb_info", scope).hide(); $("#thumb_delete_button", scope).show(); - //$("#thumb_reset_button",scope).show(); var screenshot = ThumbEditor.screenshot(); var img = $("");