Export bug fixes:

- Properly handle on utf-8 CSV exports
- Allow non administrators to run the export in interactive mode (since it is used by the "Export..." actions)

SVN:trunk[3723]
This commit is contained in:
Denis Flaven
2015-09-07 13:27:27 +00:00
parent 5cbcebb79e
commit 81d19c8804
4 changed files with 26 additions and 5 deletions

View File

@@ -2122,7 +2122,16 @@ EOF
$aResult['token'] = $oExporter->SaveState();
if (substr($oExporter->GetMimeType(), 0, 5) == 'text/')
{
$aResult['text_result'] = file_get_contents($oExporter->GetTmpFilePath());
// Result must be encoded in UTF-8 to be passed as part of a JSON structure
$sCharset = $oExporter->GetCharacterSet();
if (strtoupper($sCharset) != 'UTF-8')
{
$aResult['text_result'] = iconv($sCharset, 'UTF-8', file_get_contents($oExporter->GetTmpFilePath()));
}
else
{
$aResult['text_result'] = file_get_contents($oExporter->GetTmpFilePath());
}
$aResult['mime_type'] = $oExporter->GetMimeType();
}
$aResult['message'] = Dict::Format('Core:BulkExport:ClickHereToDownload_FileName', $oExporter->GetDownloadFileName());
@@ -2152,7 +2161,7 @@ EOF
$sMimeType = $oExporter->GetMimeType();
if (substr($sMimeType, 0, 5) == 'text/')
{
$sMimeType .= ';charset=utf-8';
$sMimeType .= ';charset='.strtolower($oExporter->GetCharacterSet());
}
$oPage->SetContentType($sMimeType);
$oPage->SetContentDisposition('attachment', $oExporter->GetDownloadFileName());