diff --git a/htdocs/core/lib/security.lib.php b/htdocs/core/lib/security.lib.php
index 5460f0f3771..6fc1cdb2697 100644
--- a/htdocs/core/lib/security.lib.php
+++ b/htdocs/core/lib/security.lib.php
@@ -271,7 +271,8 @@ function restrictedArea($user, $features, $objectid=0, $dbtablename='', $feature
{
//print '
feature='.$feature.' creer='.$user->rights->$feature->supprimer.' write='.$user->rights->$feature->delete;
if (empty($user->rights->$feature->supprimer)
- && empty($user->rights->$feature->delete)) $deleteok=0;
+ && empty($user->rights->$feature->delete)
+ && empty($user->rights->$feature->run)) $deleteok=0;
}
}
diff --git a/htdocs/imports/import.php b/htdocs/imports/import.php
index 5b28b54af5a..c79126cbed9 100644
--- a/htdocs/imports/import.php
+++ b/htdocs/imports/import.php
@@ -206,9 +206,25 @@ if ($step == 3 && $datatoimport)
else
{
$langs->load("errors");
- $mesg = $langs->trans("ErrorFailedToSaveFile");
+ setEventMessage($langs->trans("ErrorFailedToSaveFile"), 'errors');
}
}
+
+ // Delete file
+ if ($action == 'confirm_deletefile' && $confirm == 'yes')
+ {
+ $langs->load("other");
+
+ $param='&datatoimport='.$datatoimport.'&format='.$format;
+ if ($excludefirstline) $param.='&excludefirstline=1';
+
+ $file = $conf->import->dir_temp . '/' . GETPOST('urlfile'); // Do not use urldecode here ($_GET and $_REQUEST are already decoded by PHP).
+ $ret=dol_delete_file($file);
+ if ($ret) setEventMessage($langs->trans("FileWasRemoved", GETPOST('urlfile')));
+ else setEventMessage($langs->trans("ErrorFailToDeleteFile", GETPOST('urlfile')), 'errors');
+ Header('Location: '.$_SERVER["PHP_SELF"].'?step='.$step.$param);
+ exit;
+ }
}
if ($step == 4 && $action == 'select_model')
@@ -306,7 +322,7 @@ if ($step == 1 || ! $datatoimport)
$array_match_file_to_database=array();
$_SESSION["dol_array_match_file_to_database"]='';
- $parm='';
+ $param='';
if ($excludefirstline) $param.='&excludefirstline=1';
llxHeader('',$langs->trans("NewImport"),'EN:Module_Imports_En|FR:Module_Imports|ES:Módulo_Importaciones');
@@ -448,7 +464,7 @@ if ($step == 3 && $datatoimport)
llxHeader('',$langs->trans("NewImport"),'EN:Module_Imports_En|FR:Module_Imports|ES:Módulo_Importaciones');
- $head = import_prepare_head($param,3);
+ $head = import_prepare_head($param, 3);
dol_fiche_head($head, 'step3', $langs->trans("NewImport"));
@@ -543,8 +559,6 @@ if ($step == 3 && $datatoimport)
print '