X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=includes%2Farchive.inc;h=b1a81001eb1d5fe10c51d01f4fcf79aa99356071;hb=5d8f36d15260bfd9215315935af86b7d96065489;hp=e679d6c7cb19f0008fa7f2be5236376ad50d7dd4;hpb=f784f9e4be4d376aac46be4348a571c15c8055cd;p=fa-stable.git diff --git a/includes/archive.inc b/includes/archive.inc index e679d6c7..b1a81001 100644 --- a/includes/archive.inc +++ b/includes/archive.inc @@ -16,7 +16,7 @@ class archive { - function archive($name) + function __construct($name) { $this->options = array ( 'basedir' => ".", @@ -238,9 +238,9 @@ class archive class tar_file extends archive { - function tar_file($name) + function __construct($name) { - $this->archive($name); + parent::__construct($name); $this->options['type'] = "tar"; } @@ -324,7 +324,7 @@ class tar_file extends archive { $temp = unpack("a100name/a8mode/a8uid/a8gid/a12size/a12mtime/a8checksum/a1type/a100symlink/a6magic/a2temp/a32temp/a32temp/a8temp/a8temp/a155prefix/a12temp", $block); $file = array ( - 'name' => $temp['prefix'] . $temp['name'], + 'name' => rtrim($temp['prefix']) . rtrim($temp['name']), 'stat' => array ( 2 => octdec($temp['mode']), 4 => octdec($temp['uid']), @@ -395,7 +395,8 @@ class tar_file extends archive else if ($new = @fopen($file['name'], "wb")) { fwrite($new, fread($fp, $file['stat'][7])); - fread($fp, (512 - $file['stat'][7] % 512) == 512 ? 0 : (512 - $file['stat'][7] % 512)); + if ($file['stat'][7] % 512) + fread($fp, 512 - $file['stat'][7] % 512); fclose($new); @chmod($file['name'], $file['stat'][2]); } @@ -427,9 +428,9 @@ class tar_file extends archive class gzip_file extends tar_file { - function gzip_file($name) + function __construct($name) { - $this->tar_file($name); + parent::__construct($name); $this->options['type'] = "gzip"; } @@ -462,4 +463,3 @@ class gzip_file extends tar_file } } -?> \ No newline at end of file