mirror of
https://github.com/the-djmaze/snappymail.git
synced 2025-09-06 05:04:24 +08:00
Try to detect gzopen64 function
This commit is contained in:
parent
d3ee36bb97
commit
71af876fb5
6 changed files with 11473 additions and 5754 deletions
5693
rainloop/v/0.0.0/app/libraries/pclzip/_pclzip.lib.php
Normal file
5693
rainloop/v/0.0.0/app/libraries/pclzip/_pclzip.lib.php
Normal file
File diff suppressed because it is too large
Load diff
|
@ -204,6 +204,8 @@
|
|||
// The class can then disable the magic_quotes and reset it after
|
||||
var $magic_quotes_status;
|
||||
|
||||
var $bUseGzopen64;
|
||||
|
||||
// --------------------------------------------------------------------------------
|
||||
// Function : PclZip()
|
||||
// Description :
|
||||
|
@ -216,11 +218,13 @@
|
|||
{
|
||||
|
||||
// ----- Tests the zlib
|
||||
if (!function_exists('gzopen'))
|
||||
if (!function_exists('gzopen') && !function_exists('gzopen64'))
|
||||
{
|
||||
die('Abort '.basename(__FILE__).' : Missing zlib extensions');
|
||||
}
|
||||
|
||||
$this->bUseGzopen64 = !function_exists('gzopen') && function_exists('gzopen64');
|
||||
|
||||
// ----- Set the attributes
|
||||
$this->zipname = $p_zipname;
|
||||
$this->zip_fd = 0;
|
||||
|
@ -2811,11 +2815,22 @@
|
|||
|
||||
// ----- Creates a compressed temporary file
|
||||
$v_gzip_temp_name = PCLZIP_TEMPORARY_DIR.uniqid('pclzip-').'.gz';
|
||||
if ($this->bUseGzopen64)
|
||||
{
|
||||
if (($v_file_compressed = @gzopen64($v_gzip_temp_name, "wb")) == 0) {
|
||||
fclose($v_file);
|
||||
PclZip::privErrorLog(PCLZIP_ERR_WRITE_OPEN_FAIL, 'Unable to open temporary file \''.$v_gzip_temp_name.'\' in binary write mode');
|
||||
return PclZip::errorCode();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (($v_file_compressed = @gzopen($v_gzip_temp_name, "wb")) == 0) {
|
||||
fclose($v_file);
|
||||
PclZip::privErrorLog(PCLZIP_ERR_WRITE_OPEN_FAIL, 'Unable to open temporary file \''.$v_gzip_temp_name.'\' in binary write mode');
|
||||
return PclZip::errorCode();
|
||||
}
|
||||
}
|
||||
|
||||
// ----- Read the file by PCLZIP_READ_BLOCK_SIZE octets blocks
|
||||
$v_size = filesize($p_filename);
|
||||
|
@ -4005,13 +4020,24 @@
|
|||
}
|
||||
|
||||
// ----- Open the temporary gz file
|
||||
if ($this->bUseGzopen64)
|
||||
{
|
||||
if (($v_src_file = @gzopen64($v_gzip_temp_name, 'rb')) == 0) {
|
||||
@fclose($v_dest_file);
|
||||
$p_entry['status'] = "read_error";
|
||||
PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open temporary file \''.$v_gzip_temp_name.'\' in binary read mode');
|
||||
return PclZip::errorCode();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (($v_src_file = @gzopen($v_gzip_temp_name, 'rb')) == 0) {
|
||||
@fclose($v_dest_file);
|
||||
$p_entry['status'] = "read_error";
|
||||
PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open temporary file \''.$v_gzip_temp_name.'\' in binary read mode');
|
||||
return PclZip::errorCode();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// ----- Read the file by PCLZIP_READ_BLOCK_SIZE octets blocks
|
||||
$v_size = $p_entry['size'];
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
'DateTime' => class_exists('DateTime') && class_exists('DateTimeZone'),
|
||||
'libxml' => function_exists('libxml_use_internal_errors'),
|
||||
'dom' => class_exists('DOMDocument'),
|
||||
'Zlib' => function_exists('gzopen'),
|
||||
'Zlib' => function_exists('gzopen') || function_exists('gzopen64'),
|
||||
'PCRE' => function_exists('preg_replace'),
|
||||
'SPL' => function_exists('spl_autoload_register')
|
||||
);
|
||||
|
|
8
rainloop/v/0.0.0/static/js/admin.min.js
vendored
8
rainloop/v/0.0.0/static/js/admin.min.js
vendored
File diff suppressed because one or more lines are too long
12
rainloop/v/0.0.0/static/js/app.min.js
vendored
12
rainloop/v/0.0.0/static/js/app.min.js
vendored
File diff suppressed because one or more lines are too long
Loading…
Add table
Reference in a new issue