aboutsummaryrefslogtreecommitdiffstats
path: root/includes/export/Dump7ZipOutput.php
diff options
context:
space:
mode:
Diffstat (limited to 'includes/export/Dump7ZipOutput.php')
-rw-r--r--includes/export/Dump7ZipOutput.php13
1 files changed, 11 insertions, 2 deletions
diff --git a/includes/export/Dump7ZipOutput.php b/includes/export/Dump7ZipOutput.php
index c299166ab966..31c945c05e31 100644
--- a/includes/export/Dump7ZipOutput.php
+++ b/includes/export/Dump7ZipOutput.php
@@ -28,9 +28,16 @@
*/
class Dump7ZipOutput extends DumpPipeOutput {
/**
+ * @var int
+ */
+ protected $compressionLevel;
+
+ /**
* @param string $file
+ * @param int $cmpLevel Compression level passed to 7za command's -mx
*/
- function __construct( $file ) {
+ function __construct( $file, $cmpLevel = 4 ) {
+ $this->compressionLevel = $cmpLevel;
$command = $this->setup7zCommand( $file );
parent::__construct( $command );
$this->filename = $file;
@@ -41,7 +48,9 @@ class Dump7ZipOutput extends DumpPipeOutput {
* @return string
*/
function setup7zCommand( $file ) {
- $command = "7za a -bd -si -mx=4 " . wfEscapeShellArg( $file );
+ $command = "7za a -bd -si -mx=";
+ $command .= wfEscapeShellArg( $this->compressionLevel ) . ' ';
+ $command .= wfEscapeShellArg( $file );
// Suppress annoying useless crap from p7zip
// Unfortunately this could suppress real error messages too
$command .= ' >' . wfGetNull() . ' 2>&1';