Cannot "Save As" in Russian language

R-1733
Cannot "Save As" in Russian language
This commit is contained in:
Dheeyi William
2016-08-30 13:33:46 -04:00
parent 8c453e3ad6
commit ebfef336c3
5 changed files with 24 additions and 10 deletions

View File

@@ -28,7 +28,7 @@ if (! isset($_GET["file_hash"])) {
$httpStream = new \ProcessMaker\Util\IO\HttpStream();
$outputDir = PATH_DATA . "sites" . PATH_SEP . SYS_SYS . PATH_SEP . "files" . PATH_SEP . "output" . PATH_SEP;
$filename = base64_decode($_GET["file_hash"]);
$filename = urldecode(base64_decode($_GET["file_hash"]));
$fileExtension = pathinfo($outputDir . $filename, PATHINFO_EXTENSION);
if (!file_exists($outputDir . $filename)) {

View File

@@ -19,7 +19,12 @@ class PMXPublisher
file_put_contents($outputFile, $data);
@chmod($outputFile, 0755);
return basename($outputFile);
$currentLocale = setlocale(LC_CTYPE, 0);
setlocale(LC_CTYPE, 'en_US.UTF-8');
$filename = basename($outputFile);
setlocale(LC_CTYPE, $currentLocale);
return $filename;
}
public function truncateName($outputFile, $dirName = true)

View File

@@ -136,7 +136,12 @@ class XmlExporter extends Exporter
file_put_contents($outputFile, $this->export());
chmod($outputFile, 0755);
return basename($outputFile);
$currentLocale = setlocale(LC_CTYPE, 0);
setlocale(LC_CTYPE, 'en_US.UTF-8');
$filename = basename($outputFile);
setlocale(LC_CTYPE, $currentLocale);
return $filename;
}
/**

View File

@@ -163,7 +163,11 @@ class HttpStream
$this->content = file_get_contents($this->filename);
$fileInfo = pathinfo($filename, PATHINFO_EXTENSION);
$this->setExtension($fileInfo);
$this->setSourceName(basename($filename));
$currentLocale = setlocale(LC_CTYPE, 0);
setlocale(LC_CTYPE, 'en_US.UTF-8');
$filename = basename($filename);
setlocale(LC_CTYPE, $currentLocale);
$this->setSourceName($filename);
}
public function setExtension($extension)

View File

@@ -1127,7 +1127,7 @@ function exportProcess() {
myMask.hide();
if (result.success) {
window.location = "../processes/processes_DownloadFile?file_hash=" + result.file_hash;
window.location = "../processes/processes_DownloadFile?file_hash=" + encodeURIComponent(result.file_hash);
} else {
Ext.Msg.show({
title: "",