diff options
Diffstat (limited to 'includes/export/Dump7ZipOutput.php')
-rw-r--r-- | includes/export/Dump7ZipOutput.php | 13 |
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'; |