Fix PHP error when exporting without php-zip
Fixes #14326 (Export database with zip compression: Class 'ZipArchive' not found error). Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
This commit is contained in:
parent
51b04c9b5c
commit
3b285ddc3a
@ -54,6 +54,7 @@ phpMyAdmin - ChangeLog
|
||||
- issue #14644 Use Doctum instead of Sami
|
||||
- issue #16086 Fix "Browse" headings shift when scrolling
|
||||
- issue #15328 Fix no message after import of zipped shapefile without php-zip
|
||||
- issue #14326 Fix PHP error when exporting without php-zip
|
||||
|
||||
5.0.2 (2020-03-20)
|
||||
- issue Fixed deprecation warning "implode(): Passing glue string after array is deprecated." function on export page
|
||||
|
||||
11
export.php
11
export.php
@ -217,10 +217,13 @@ if (empty($export_plugin)) {
|
||||
/**
|
||||
* valid compression methods
|
||||
*/
|
||||
$compression_methods = [
|
||||
'zip',
|
||||
'gzip',
|
||||
];
|
||||
$compression_methods = [];
|
||||
if ($GLOBALS['cfg']['ZipDump'] && function_exists('gzcompress')) {
|
||||
$compression_methods[] = 'zip';
|
||||
}
|
||||
if ($GLOBALS['cfg']['GZipDump'] && function_exists('gzencode')) {
|
||||
$compression_methods[] = 'gzip';
|
||||
}
|
||||
|
||||
/**
|
||||
* init and variable checking
|
||||
|
||||
@ -13,6 +13,7 @@ use PhpMyAdmin\Core;
|
||||
use PhpMyAdmin\Message;
|
||||
use PhpMyAdmin\Util;
|
||||
use PhpMyAdmin\ZipExtension;
|
||||
use ZipArchive;
|
||||
|
||||
/**
|
||||
* File wrapper class
|
||||
@ -98,7 +99,7 @@ class File
|
||||
}
|
||||
|
||||
if (extension_loaded('zip')) {
|
||||
$this->zipExtension = new ZipExtension();
|
||||
$this->zipExtension = new ZipExtension(new ZipArchive());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -21,6 +21,7 @@ use PhpMyAdmin\Plugins\ImportPlugin;
|
||||
use PhpMyAdmin\Properties\Plugins\ImportPluginProperties;
|
||||
use PhpMyAdmin\Sanitize;
|
||||
use PhpMyAdmin\ZipExtension;
|
||||
use ZipArchive;
|
||||
|
||||
/**
|
||||
* Handles the import for ESRI Shape files
|
||||
@ -43,7 +44,7 @@ class ImportShp extends ImportPlugin
|
||||
parent::__construct();
|
||||
$this->setProperties();
|
||||
if (extension_loaded('zip')) {
|
||||
$this->zipExtension = new ZipExtension();
|
||||
$this->zipExtension = new ZipExtension(new ZipArchive());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -19,16 +19,16 @@ use ZipArchive;
|
||||
class ZipExtension
|
||||
{
|
||||
/**
|
||||
* @var ZipArchive
|
||||
* @var ZipArchive|null
|
||||
*/
|
||||
private $zip;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
* @param ZipArchive|null $zip A ZipArchive instance.
|
||||
*/
|
||||
public function __construct()
|
||||
public function __construct($zip = null)
|
||||
{
|
||||
$this->zip = new ZipArchive();
|
||||
$this->zip = $zip;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -29,7 +29,7 @@ class ZipExtensionTest extends PmaTestCase
|
||||
*/
|
||||
protected function setUp(): void
|
||||
{
|
||||
$this->zipExtension = new ZipExtension();
|
||||
$this->zipExtension = new ZipExtension(new ZipArchive());
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Loading…
Reference in New Issue
Block a user