diff --git a/lib/Alchemy/Phrasea/Controller/Prod/DoDownload.php b/lib/Alchemy/Phrasea/Controller/Prod/DoDownload.php index c1992b2007..b0575ab619 100644 --- a/lib/Alchemy/Phrasea/Controller/Prod/DoDownload.php +++ b/lib/Alchemy/Phrasea/Controller/Prod/DoDownload.php @@ -122,7 +122,8 @@ class DoDownload implements ControllerProviderInterface 'list' => $list, 'records' => $records, 'token' => $token, - 'anonymous' => $request->query->get('anonymous', false) + 'anonymous' => $request->query->get('anonymous', false), + 'type' => $request->query->get('type', \Session_Logger::EVENT_EXPORTDOWNLOAD) ))); } @@ -161,12 +162,12 @@ class DoDownload implements ControllerProviderInterface $app->abort(404, 'Download file not found'); } - $app->finish(function ($request, $response) use ($list, $app) { + $app->after(function ($request, $response) use ($list, $app) { \set_export::log_download( $app, $list, - $request->request->get('type'), - (null !== $request->request->get('anonymous') ? true : false), + $request->get('type'), + !!$request->get('anonymous', false), (isset($list['email']) ? $list['email'] : '') ); }); diff --git a/lib/Alchemy/Phrasea/Controller/Prod/Export.php b/lib/Alchemy/Phrasea/Controller/Prod/Export.php index c8528d4977..b4bcf7b87f 100644 --- a/lib/Alchemy/Phrasea/Controller/Prod/Export.php +++ b/lib/Alchemy/Phrasea/Controller/Prod/Export.php @@ -282,7 +282,7 @@ class Export implements ControllerProviderInterface $remaingEmails = $destMails; - $url = $app->url('prepare_download', array('token' => $token, 'anonymous')); + $url = $app->url('prepare_download', array('token' => $token, 'anonymous' => false, 'type' => \Session_Logger::EVENT_EXPORTMAIL)); $emitter = new Emitter($app['authentication']->getUser()->get_display_name(), $app['authentication']->getUser()->get_email()); diff --git a/lib/Alchemy/Phrasea/Core/Version.php b/lib/Alchemy/Phrasea/Core/Version.php index ccfeb60b8b..8c15a8ffa6 100644 --- a/lib/Alchemy/Phrasea/Core/Version.php +++ b/lib/Alchemy/Phrasea/Core/Version.php @@ -18,7 +18,7 @@ namespace Alchemy\Phrasea\Core; */ class Version { - protected static $number = '3.8.4-alpha.4'; + protected static $number = '3.8.4-alpha.5'; protected static $name = 'Diplodocus'; public static function getNumber() diff --git a/lib/classes/patch/384alpha5a.php b/lib/classes/patch/384alpha5a.php new file mode 100644 index 0000000000..bcb76a3e80 --- /dev/null +++ b/lib/classes/patch/384alpha5a.php @@ -0,0 +1,57 @@ +release; + } + + /** + * {@inheritdoc} + */ + public function require_all_upgrades() + { + return false; + } + + /** + * {@inheritdoc} + */ + public function concern() + { + return $this->concern; + } + + /** + * {@inheritdoc} + */ + public function apply(base $databox, Application $app) + { + $sql = "UPDATE log_docs SET `action`='mail' WHERE `action`='download' AND LOCATE('@', comment)"; + $stmt = $databox->get_connection()->prepare($sql); + $stmt->execute(); + + return true; + } +} diff --git a/lib/classes/set/export.php b/lib/classes/set/export.php index f1e55b2bf1..b80473b485 100644 --- a/lib/classes/set/export.php +++ b/lib/classes/set/export.php @@ -773,12 +773,7 @@ class set_export extends set_abstract $tmplog = array(); $files = $list['files']; - $event_names = array( - 'mail-export' => Session_Logger::EVENT_EXPORTMAIL, - 'download' => Session_Logger::EVENT_EXPORTDOWNLOAD - ); - - $event_name = isset($event_names[$type]) ? $event_names[$type] : Session_Logger::EVENT_EXPORTDOWNLOAD; + $event_name = in_array($type, array(Session_Logger::EVENT_EXPORTMAIL,Session_Logger::EVENT_EXPORTDOWNLOAD)) ? $type : Session_Logger::EVENT_EXPORTDOWNLOAD; foreach ($files as $record) { foreach ($record["subdefs"] as $o => $obj) { @@ -786,8 +781,7 @@ class set_export extends set_abstract $record_object = new record_adapter($app, $sbas_id, $record['record_id']); - $app['phraseanet.logger']($record_object->get_databox()) - ->log($record_object, $event_name, $o, $comment); + $app['phraseanet.logger']($record_object->get_databox())->log($record_object, $event_name, $o, $comment); if ($o != "caption") { $log["rid"] = $record_object->get_record_id(); @@ -804,12 +798,6 @@ class set_export extends set_abstract } } - $export_types = array( - 'download' => 0, - 'mail-export' => 2, - 'ftp' => 4 - ); - $list_base = array_unique(array_keys($tmplog)); if (!$anonymous) { diff --git a/templates/web/prod/actions/Download/prepare.html.twig b/templates/web/prod/actions/Download/prepare.html.twig index 7a0336782d..a9cdad2898 100644 --- a/templates/web/prod/actions/Download/prepare.html.twig +++ b/templates/web/prod/actions/Download/prepare.html.twig @@ -19,7 +19,7 @@ {% elseif list['complete'] is defined and list['complete'] %}