Merge "Suppress deprecation warnings for b/c use of UsageException::getMessageArray()"
[lhc/web/wiklou.git] / includes / export / Dump7ZipOutput.php
index c299166..31c945c 100644 (file)
  * @ingroup Dump
  */
 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';