diff --git a/htdocs/compta/facture/card.php b/htdocs/compta/facture/card.php index 19a4022a9a4..bc8b59671f8 100644 --- a/htdocs/compta/facture/card.php +++ b/htdocs/compta/facture/card.php @@ -3983,6 +3983,20 @@ elseif ($id > 0 || !empty($ref)) $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"].'?facid='.$object->id, $langs->trans('ToClone'), $langs->trans('ConfirmCloneInvoice', $object->ref), 'confirm_clone', $formquestion, 'yes', 1, 250); } + if ($action == "remove_file_comfirm") + { + $file = GETPOST('file', 'alpha'); + + $formconfirm = $form->formconfirm( + $_SERVER["PHP_SELF"].'?facid='.$object->id.'&file='.$file, + $langs->trans('DeleteFileHeader'), + $langs->trans('DeleteFileText')."

".$file, + 'remove_file', + '', + 'no', + 2); + } + // Call Hook formConfirm $parameters = array('formConfirm' => $formconfirm, 'lineid' => $lineid, 'remainingtopay' => &$resteapayer); $reshook = $hookmanager->executeHooks('formConfirm', $parameters, $object, $action); // Note that $action and $object may have been modified by hook @@ -5359,7 +5373,11 @@ elseif ($id > 0 || !empty($ref)) $genallowed = $usercanread; $delallowed = $usercancreate; - print $formfile->showdocuments('facture', $filename, $filedir, $urlsource, $genallowed, $delallowed, $object->modelpdf, 1, 0, 0, 28, 0, '', '', '', $soc->default_lang, '', $object); + print $formfile->showdocuments( + 'facture', $filename, $filedir, $urlsource, $genallowed, + $delallowed, $object->modelpdf, 1, 0, 0, 28, 0, '', '', '', + $soc->default_lang, '', $object, 0, 'remove_file_comfirm'); + $somethingshown = $formfile->numoffiles; // Show links to link elements diff --git a/htdocs/core/class/html.formfile.class.php b/htdocs/core/class/html.formfile.class.php index f688880b789..bc8aa3a9b39 100644 --- a/htdocs/core/class/html.formfile.class.php +++ b/htdocs/core/class/html.formfile.class.php @@ -331,9 +331,10 @@ class FormFile * @param string $morepicto Add more HTML content into cell with picto * @param Object $object Object when method is called from an object card. * @param int $hideifempty Hide section of generated files if there is no file + * @param string $removeaction (optional) The action to remove a file * @return string Output string with HTML array of documents (might be empty string) */ - public function showdocuments($modulepart, $modulesubdir, $filedir, $urlsource, $genallowed, $delallowed = 0, $modelselected = '', $allowgenifempty = 1, $forcenomultilang = 0, $iconPDF = 0, $notused = 0, $noform = 0, $param = '', $title = '', $buttonlabel = '', $codelang = '', $morepicto = '', $object = null, $hideifempty = 0) + public function showdocuments($modulepart, $modulesubdir, $filedir, $urlsource, $genallowed, $delallowed = 0, $modelselected = '', $allowgenifempty = 1, $forcenomultilang = 0, $iconPDF = 0, $notused = 0, $noform = 0, $param = '', $title = '', $buttonlabel = '', $codelang = '', $morepicto = '', $object = null, $hideifempty = 0, $removeaction = 'remove_file') { // Deprecation warning if (!empty($iconPDF)) { @@ -859,7 +860,7 @@ class FormFile if ($delallowed) { $tmpurlsource = preg_replace('/#[a-zA-Z0-9_]*$/', '', $urlsource); - $out .= '