_data = null; if (!extension_loaded('bz2')) { $this->set('error.message', 'BZip2 Not Supported'); return JError::raiseWarning(100, $this->get('error.message')); } if (!$this->_data = JFile::read($archive)) { $this->set('error.message', 'Unable to read archive'); return JError::raiseWarning(100, $this->get('error.message')); } $buffer = bzdecompress($this->_data); if (empty ($buffer)) { $this->set('error.message', 'Unable to decompress data'); return JError::raiseWarning(100, $this->get('error.message')); } if (JFile::write($destination, $buffer) === false) { $this->set('error.message', 'Unable to write archive'); return JError::raiseWarning(100, $this->get('error.message')); } return true; } }