Skip to content
Snippets Groups Projects
Commit 9c71da5b authored by Andreas Gohr's avatar Andreas Gohr
Browse files

more verbose errors in tarlib when needed ext is missing

darcs-hash:20080823111603-7ad00-8c6f664b96fa6c959f77965d0d1b721aecedc92c.gz
parent 010720ca
No related branches found
No related tags found
No related merge requests found
......@@ -67,6 +67,7 @@ class TarLib
var $_memdat;
var $_nomf;
var $_result;
var $_initerror;
/**
* constructor, initialize the class
......@@ -100,6 +101,7 @@ class TarLib
*/
function tarlib($p_filen = ARCHIVE_DYNAMIC , $p_comptype = COMPRESS_AUTO, $p_complevel = 9)
{
$this->_initerror = 0;
$this->_nomf = $p_filen; $flag=0;
if($p_comptype && $p_comptype % 5 == 0){$p_comptype /= ARCHIVE_RENAMECOMP; $flag=1;}
......@@ -116,12 +118,12 @@ class TarLib
switch($p_comptype)
{
case COMPRESS_GZIP:
if(!extension_loaded('zlib')) $this->_result = -1;
if(!extension_loaded('zlib')) $this->_initerror = -1;
$this->_comptype = COMPRESS_GZIP;
break;
case COMPRESS_BZIP:
if(!extension_loaded('bz2')) $this->_result = -2;
if(!extension_loaded('bz2')) $this->_inierror = -2;
$this->_comptype = COMPRESS_BZIP;
break;
......@@ -138,7 +140,7 @@ class TarLib
$this->_comptype = COMPRESS_NONE;
}
if($this->_result < 0) $this->_comptype = COMPRESS_NONE;
if($this->_init_error < 0) $this->_comptype = COMPRESS_NONE;
if($flag) $this->_nomf.= '.'.$this->getCompression(1);
$this->_result = true;
......
......@@ -44,6 +44,7 @@ $dokuwiki_hash = array(
'2007-05-24' => 'd80f2740c84c4a6a791fd3c7a353536f',
'2007-06-26' => 'b3ca19c7a654823144119980be73cd77',
'2008-05-04' => '1e5c42eac3219d9e21927c39e3240aad',
'devel' => 'e848931c42085af285aabec85df1ac89',
);
......
......@@ -641,6 +641,12 @@ class ap_manage {
else $compress_type = COMPRESS_NONE;
$tar = new TarLib($file, $compress_type);
if($tar->_initerror < 0){
if($conf['allowdebug']){
msg('TarLib Error: '.$tar->TarErrorStr($tar->_initerror),-1);
}
return false;
}
$ok = $tar->Extract(FULL_ARCHIVE, $target, '', 0777);
if($ok<1){
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment