Minor: Comments improved
[core.git] / inc / classes / main / compressor / class_Bzip2Compressor.php
index 69b0196dfd994fa465dcf439d9a1e5f8f57011ea..32991b81273322f985f9a7b592a54acdbc97b15b 100644 (file)
@@ -4,7 +4,7 @@
  *
  * @author             Roland Haeder <webmaster@ship-simu.org>
  * @version            0.0.0
- * @copyright  Copyright (c) 2007, 2008 Roland Haeder, 2009, 2010 Core Developer Team
+ * @copyright  Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2012 Core Developer Team
  * @license            GNU GPL 3.0 or any newer version
  * @link               http://www.ship-simu.org
  *
@@ -33,36 +33,36 @@ class Bzip2Compressor extends BaseFrameworkSystem implements Compressor {
        }
 
        /**
-        * 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      
+        * @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);
@@ -72,26 +72,29 @@ class Bzip2Compressor extends BaseFrameworkSystem implements Compressor {
         * BZIP2 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
+
+               // 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';
        }
 }