/**
* BZIP2 compression and decompression class
*
- * @author Roland Haeder <webmaster@ship-simu.org>
+ * @author Roland Haeder <webmaster@shipsimu.org>
* @version 0.0.0
- * @copyright Copyright (c) 2007 - 2009 Roland Haeder, this is free software
+ * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2015 Core Developer Team
* @license GNU GPL 3.0 or any newer version
- * @link http://www.ship-simu.org
+ * @link http://www.shipsimu.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
}
/**
- * Create a new compressor channel based a given compression handler
+ * Create a new compressor channel based a given compression handler or NULL if the required PHP functions are not found.
*
- * @return $cInstance An instance of this class
+ * @return $compressorInstance An instance of this class or NULL if the required PHP functions are not found.
*/
- public final static function createBzip2Compressor () {
+ public static final function createBzip2Compressor () {
+ // Routines not found by default
+ $compressorInstance = NULL;
+
// Get new instance
if ((function_exists('bzcompress')) && (function_exists('bzdecompress'))) {
// Compressor can maybe be used
- $cInstance = new Bzip2Compressor();
- } else {
- // Routines not found!
- $cInstance = null;
- }
+ $compressorInstance = new Bzip2Compressor();
+ } // END - if
// Return the compressor instance
- return $cInstance;
+ return $compressorInstance;
}
/**
* BZIP2 compression stream
*
- * @param $streamData Mixed non-object stream data
- * @return $streamData The compressed stream data
+ * @param $streamData Mixed non-object stream data
+ * @return $streamData The compressed stream data
* @throws InvalidObjectException If the stream is an object
*/
public function compressStream ($streamData) {
if (is_object($streamData)) {
// Throw an exception
throw new InvalidObjectException($streamData, self::EXCEPTION_UNEXPECTED_OBJECT);
- }
+ } // END - if
// Return the compressed stream
return bzcompress($streamData, 1);
/**
* BZIP2 decompression stream
*
- * @param $streamData Mixed non-object stream data
- * @return $streamData The decompressed stream data
+ * @param $streamData Mixed non-object stream data
+ * @return $streamData The decompressed stream data
* @throws InvalidObjectException If the stream is an object
*/
public function decompressStream ($streamData) {
if (is_object($streamData)) {
// Throw an exception
throw new InvalidObjectException($streamData, self::EXCEPTION_UNEXPECTED_OBJECT);
- }
+ } // END - if
+
+ // Decompress it
+ $streamData = bzdecompress($streamData, TRUE);
// Return the decompressed stream
- return bzdecompress($streamData);
+ return $streamData;
}
/**
* Getter for the file extension of this compressor
*
- * @return $string Returns always "bz2"
+ * @return $string Returns always 'bz2'
*/
public final function getCompressorExtension () {
- return "bz2";
+ return 'bz2';
}
}