From 9c71da5bcf1d0c4d8fbb96023f3be19ce8d7a256 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sat, 23 Aug 2008 13:16:03 +0200 Subject: more verbose errors in tarlib when needed ext is missing darcs-hash:20080823111603-7ad00-8c6f664b96fa6c959f77965d0d1b721aecedc92c.gz --- inc/TarLib.class.php | 8 +++++--- install.php | 1 + lib/plugins/plugin/admin.php | 6 ++++++ 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/inc/TarLib.class.php b/inc/TarLib.class.php index 5219c4391..0f8f258de 100644 --- a/inc/TarLib.class.php +++ b/inc/TarLib.class.php @@ -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; diff --git a/install.php b/install.php index f61bc0ee9..cac9f2cf1 100644 --- a/install.php +++ b/install.php @@ -44,6 +44,7 @@ $dokuwiki_hash = array( '2007-05-24' => 'd80f2740c84c4a6a791fd3c7a353536f', '2007-06-26' => 'b3ca19c7a654823144119980be73cd77', '2008-05-04' => '1e5c42eac3219d9e21927c39e3240aad', + 'devel' => 'e848931c42085af285aabec85df1ac89', ); diff --git a/lib/plugins/plugin/admin.php b/lib/plugins/plugin/admin.php index 3049d4108..a5c906a0b 100644 --- a/lib/plugins/plugin/admin.php +++ b/lib/plugins/plugin/admin.php @@ -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){ -- cgit v1.2.3