From 15382049b89451d7ba9f5f70a4d68bea020586fb Mon Sep 17 00:00:00 2001 From: Daniel Maya Date: Mon, 12 Feb 2024 10:35:01 +0100 Subject: [PATCH] #12687 Fixed delete file --- .../resources/resources_export_import.php | 17 +++++++++++++++-- pandora_console/include/ajax/resources.ajax.php | 9 +++++++-- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/pandora_console/godmode/resources/resources_export_import.php b/pandora_console/godmode/resources/resources_export_import.php index a15ea2ce50..86583ec69b 100644 --- a/pandora_console/godmode/resources/resources_export_import.php +++ b/pandora_console/godmode/resources/resources_export_import.php @@ -346,6 +346,8 @@ echo ''; "downloadDialog" ); + const filename = ''; + $.ajax({ type: "GET", url: "ajax.php", @@ -356,6 +358,7 @@ echo ''; type: $("#export_type").val(), value: value, name: $("#select_value option:selected").text(), + filename: filename }, success: function(data) { if (data.error === -1 || data.error === -2) { @@ -363,7 +366,7 @@ echo ''; $("#confirm_downloadDialog").dialog("close"); } else { let a = document.createElement('a'); - const url = '' + data.name; + const url = '' + filename; a.href = url; a.download = data.name_download; a.click(); @@ -375,7 +378,7 @@ echo ''; data: { page: 'include/ajax/resources.ajax', deleteFile: 1, - filename: data, + filename: filename, }, }); $("#confirm_downloadDialog").dialog("close"); @@ -384,6 +387,16 @@ echo ''; }, error: function(data) { console.error("Fatal error in AJAX call to interpreter order", data); + $.ajax({ + type: "DELETE", + url: "ajax.php", + data: { + page: 'include/ajax/resources.ajax', + deleteFile: 1, + filename: filename, + }, + }); + $("#confirm_downloadDialog").dialog("close"); } }); } diff --git a/pandora_console/include/ajax/resources.ajax.php b/pandora_console/include/ajax/resources.ajax.php index d5d698bc64..0e34d756c0 100644 --- a/pandora_console/include/ajax/resources.ajax.php +++ b/pandora_console/include/ajax/resources.ajax.php @@ -70,13 +70,17 @@ if ((bool) is_ajax() === true) { $type = (string) get_parameter('type', ''); $value = (int) get_parameter('value', 0); $name = (string) get_parameter('name', ''); + $filename = (string) get_parameter('filename', ''); - $data = $prd->exportPrd($type, $value, $name); + try { + $data = $prd->exportPrd($type, $value, $name); + } catch (\Exception $e) { + $data = ''; + } $return = []; if (empty($data) === false) { - $filename = uniqid().'.prd'; $filename_download = date('YmdHis').'-'.$type.'-'.$name.'.prd'; $file = $config['attachment_store'].'/'.$filename; @@ -86,6 +90,7 @@ if ((bool) is_ajax() === true) { if ($write === false) { $return['error'] = -2; + unlink($config['attachment_store'].'/'.$filename); } else { $return['name'] = $filename; $return['name_download'] = $filename_download;