diff --git a/htdocs/contrat/card.php b/htdocs/contrat/card.php index ae1178adf9aa3..3ade5e747879c 100644 --- a/htdocs/contrat/card.php +++ b/htdocs/contrat/card.php @@ -908,11 +908,27 @@ setEventMessages($object->error, $object->errors, 'errors'); } + $old_ref = $object->ref; + $result = $object->setValueFrom('ref', GETPOST('ref','alpha'), '', null, 'text', '', $user, 'CONTRACT_MODIFY'); if ($result < 0) { setEventMessages($object->error, $object->errors, 'errors'); $action = 'editref'; } else { + require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + $old_filedir = $conf->contrat->dir_output . '/' . dol_sanitizeFileName($old_ref); + $new_filedir = $conf->contrat->dir_output . '/' . dol_sanitizeFileName($object->ref); + + $files = dol_dir_list($old_filedir); + if (!empty($files)) + { + if (!is_dir($new_filedir)) dol_mkdir($new_filedir); + foreach ($files as $file) + { + dol_move($file['fullname'], $new_filedir.'/'.$file['name']); + } + } + header("Location: " . $_SERVER['PHP_SELF'] . "?id=" . $object->id); exit; }