/**
* GZIP 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, 2008 Roland Haeder, 2009 - 2011 Core Developer Team
+ * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2013 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 static final function createGzipCompressor () {
+ // Routines not found by default
+ $compressorInstance = NULL;
+
// Get new instance
- if ((function_exists('gzcompress')) && (function_exists('gzuncompress'))) {
+ if ((function_exists('gzencode')) && (function_exists('gzdecode'))) {
// Compressor can maybe be used
- $cInstance = new GzipCompressor();
- } else {
- // Routines not found!
- $cInstance = null;
- }
+ $compressorInstance = new GzipCompressor();
+ } // END - if
// Return the compressor instance
- return $cInstance;
+ return $compressorInstance;
}
/**
* GZIP compression stream
*
* @param $streamData Mixed non-object stream data
- * @return $streamData The compressed 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 gzcompress($streamData, 1);
+ return gzencode($streamData, 1);
}
/**
* GZIP decompression stream
*
* @param $streamData Mixed non-object stream data
- * @return $streamData The decompressed 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
// Return the decompressed stream
- return gzuncompress($streamData);
+ return gzdecode($streamData);
}
/**