diff --git a/packages/vtiger/optional/CustomerPortal.zip b/packages/vtiger/optional/CustomerPortal.zip index d81610c26a208ca3563d9e7fb607064b57d7700a..ac46c5b1c6d6793ca69c6ae251469ddaa1b45765 100644 Binary files a/packages/vtiger/optional/CustomerPortal.zip and b/packages/vtiger/optional/CustomerPortal.zip differ diff --git a/pkg/vtiger/modules/CustomerPortal/modules/CustomerPortal/apis/DownloadFile.php b/pkg/vtiger/modules/CustomerPortal/modules/CustomerPortal/apis/DownloadFile.php index c8260dda8db6e8922a0d84fe144430c510e00b4b..110b6141249dabbffb95e0aa41b2fc0231c6e01a 100644 --- a/pkg/vtiger/modules/CustomerPortal/modules/CustomerPortal/apis/DownloadFile.php +++ b/pkg/vtiger/modules/CustomerPortal/modules/CustomerPortal/apis/DownloadFile.php @@ -63,18 +63,22 @@ class CustomerPortal_DownloadFile extends CustomerPortal_API_Abstract { $fileres = $adb->pquery($fileidQuery, array($id)); $fileid = $adb->query_result($fileres, 0, 'attachmentsid'); - $filepathQuery = 'SELECT path,name FROM vtiger_attachments WHERE attachmentsid = ?'; - $fileres = $adb->pquery($filepathQuery, array($fileid)); - $filepath = $adb->query_result($fileres, 0, 'path'); - $filename = $adb->query_result($fileres, 0, 'name'); - $filename = decode_html($filename); + $filepathQuery = 'SELECT path,name,storedname FROM vtiger_attachments WHERE attachmentsid = ?'; + $fileres = $adb->pquery($filepathQuery, array($fileid)); + $filepath = $adb->query_result($fileres, 0, 'path'); + if($adb->query_result($fileres, 0, 'storedname')) { + $filename = $adb->query_result($fileres, 0, 'storedname'); + } else { + $filename = $adb->query_result($fileres, 0, 'name'); + } + $realfilename = decode_html($adb->query_result($fileres, 0, 'name')); - $saved_filename = $fileid."_".$filename; - $filenamewithpath = $filepath.$saved_filename; - $filesize = filesize($filenamewithpath); - $fileDetails = array(); - $fileDetails['fileid'] = $fileid; - $fileDetails['filename'] = $filename; + $saved_filename = $fileid."_".$filename; + $filenamewithpath = $filepath.$saved_filename; + $filesize = filesize($filenamewithpath); + $fileDetails = array(); + $fileDetails['fileid'] = $fileid; + $fileDetails['filename'] = $realfilename; $fileDetails['filetype'] = $filetype; $fileDetails['filesize'] = $filesize; $fileDetails['filecontents'] = base64_encode(file_get_contents($filenamewithpath)); @@ -86,8 +90,13 @@ class CustomerPortal_DownloadFile extends CustomerPortal_API_Abstract { //construct path for attachment and get file size and type details $attachmentDetails = $rawAttachmentDetails[0]; $fileid = $attachmentDetails['attachmentsid']; - $filename = $attachmentDetails['name']; + $filename = $attachmentDetails['storedname']; + if(empty($filename)){ + $filename = $attachmentDetails['name']; + } $filepath = $attachmentDetails['path']; + $realfilename = decode_html($attachmentDetails['name']); + $saved_filename = $fileid."_".$filename; $filenamewithpath = $filepath.$saved_filename; $filesize = filesize($filenamewithpath); @@ -96,7 +105,7 @@ class CustomerPortal_DownloadFile extends CustomerPortal_API_Abstract { //Construct array with all attachment details $fileDetails = array(); $fileDetails['fileid'] = $fileid; - $fileDetails['filename'] = $filename; + $fileDetails['filename'] = $realfilename; $fileDetails['filetype'] = $filetype; $fileDetails['filesize'] = $filesize; $fileDetails['filecontents'] = base64_encode(file_get_contents($filenamewithpath));