Ticket #494 y #496 -> No funcionaban bien las cargas y descargas masivas.

git-svn-id: https://192.168.0.254/svn/Proyectos.Incam_SGD/trunk@23 eb19766c-00d9-a042-a3a0-45cb8ec72764
This commit is contained in:
David Arranz 2010-11-05 17:17:52 +00:00
parent 3f35584fda
commit eeaa1d3e9e

View File

@ -128,7 +128,9 @@ class KTPclZip {
$excludePath = $this->getExcludePath($sFolder, DIRECTORY_SEPARATOR);
// Create the zip archive using the PclZip Wrapper
if ($this->_pclZip->create ( $sFolder , PCLZIP_OPT_REMOVE_PATH, $excludePath) == 0) {
if ($this->_pclZip->create ( $sFolder ,
PCLZIP_OPT_REMOVE_PATH, $excludePath,
PCLZIP_CB_PRE_ADD, 'convertFilenameEncoding_Add') == 0) {
//( File_Archive::read ( $this->sTmpPath . '/Root Folder' ), File_Archive::toArchive ( $this->sZipFileName . '.' . $this->extension, File_Archive::toFiles ( $this->sTmpPath ), $this->extension ) );
return PEAR::raiseError ( _kt ( "Error compressing files" ) );
}
@ -193,7 +195,8 @@ class KTPclZip {
}
*/
if ($this->_pclZip->extract ( PCLZIP_OPT_PATH, $this->sTmpPath ) == 0) {
if ($this->_pclZip->extract ( PCLZIP_OPT_PATH, $this->sTmpPath,
PCLZIP_CB_PRE_EXTRACT, 'convertFilenameEncoding_Extract' ) == 0) {
return PEAR::raiseError ( _kt ( "<font color='red'>Error : Unable to unzip archive</font>" ) );
}
@ -515,7 +518,19 @@ class KTPclZip {
return false;
}
*/
}
function convertFilenameEncoding_Extract($p_event, &$p_header)
{
$p_header['filename'] = iconv("CP437", "UTF-8", $p_header['filename']);
return 1;
}
function convertFilenameEncoding_Add($p_event, &$p_header)
{
$p_header['stored_filename'] = iconv("UTF-8", "CP437", $p_header['stored_filename']);
return 1;
}
?>