From 8688a4438a1fed838108929fe761281fc0df5424 Mon Sep 17 00:00:00 2001 From: sparkyx Date: Mon, 15 Aug 2022 10:35:55 +0200 Subject: [PATCH] =?UTF-8?q?Task=20#0002164:=20Renommage=20de=20ces=20pi?= =?UTF-8?q?=C3=A8ces=20pour=20faire=20le=20lien=20entre=20la=20pi=C3=A8ce?= =?UTF-8?q?=20et=20l'op=C3=A9ration?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/export/export_receipt.php | 15 +++++++++++---- include/lib/user_common.php | 2 +- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/include/export/export_receipt.php b/include/export/export_receipt.php index 77de86502..08aca8fa5 100644 --- a/include/export/export_receipt.php +++ b/include/export/export_receipt.php @@ -35,7 +35,7 @@ catch (Exception $exc) error_log($exc->getTraceAsString()); return; } - +$cn=Dossier::connect(); $r=$cn->exec_sql("select jr_def_id from jrn where jr_id=$1",array($jr_id)); @@ -46,7 +46,7 @@ if ( Database::num_row($r) == 0 ) } $a=Database::fetch_array($r,0); $jrn=$a['jr_def_id']; - +global $g_user; if ($g_user->check_jrn($jrn) == 'X' ) { /* Cannot Access */ @@ -55,7 +55,7 @@ if ($g_user->check_jrn($jrn) == 'X' ) } $cn->start(); -$ret=$cn->exec_sql("select jr_pj,jr_pj_name,jr_pj_type from jrn where jr_id=$1", +$ret=$cn->exec_sql("select jr_pj,jr_pj_name,jr_pj_type,jr_pj_number from jrn where jr_id=$1", array($jr_id)); if ( Database::num_row ($ret) == 0 ) @@ -80,6 +80,13 @@ if ( $row['jr_pj']==null ) } $tmp=tempnam($_ENV['TMP'],'document_'); +$new_name=$row['jr_pj_name']; +$receipt_number=clean_filename($row['jr_pj_number']); +if ( ! empty($receipt_number) && strpos($new_name,$receipt_number) === false ) { + + $new_name=$receipt_number.'-'.$new_name; +} + $cn->lo_export($row['jr_pj'],$tmp); ini_set('zlib.output_compression','Off'); @@ -88,7 +95,7 @@ header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); header("Cache-Control: must-revalidate"); header('Content-type: '.$row['jr_pj_type']); -header('Content-Disposition: attachment;filename="'.$row['jr_pj_name'].'"',FALSE); +header('Content-Disposition: attachment;filename="'.$new_name.'"',FALSE); header("Accept-Ranges: bytes"); $file=fopen($tmp,'r'); while ( !feof ($file) ) diff --git a/include/lib/user_common.php b/include/lib/user_common.php index 1e0fad0c2..5ab89c801 100644 --- a/include/lib/user_common.php +++ b/include/lib/user_common.php @@ -223,7 +223,7 @@ function check_parameter($p_array,$p_needed) function clean_filename($p_filename) { $filename=$p_filename; - foreach (array('/','*','<','>',';',',','\\',':','(',')',' ','[',']') as $i) { + foreach (array('/','*','<','>',';',',','\\',':','(',')',' ','[',']','.') as $i) { $filename= str_replace($i, "-",$filename); } return $filename;