Lines Matching defs:p_header

2388     public function privAddFile($p_filedescr, &$p_header, &$p_options)
2417 $p_header['version'] = 20;
2418 $p_header['version_extracted'] = 10;
2419 $p_header['flag'] = 0;
2420 $p_header['compression'] = 0;
2421 $p_header['mtime'] = filemtime($p_filename);
2422 $p_header['crc'] = 0;
2423 $p_header['compressed_size'] = 0;
2424 $p_header['size'] = filesize($p_filename);
2425 $p_header['filename_len'] = strlen($p_filename);
2426 $p_header['extra_len'] = 0;
2427 $p_header['comment_len'] = 0;
2428 $p_header['disk'] = 0;
2429 $p_header['internal'] = 0;
2430 // $p_header['external'] = (is_file($p_filename)?0xFE49FFE0:0x41FF0010);
2431 $p_header['external'] = (is_file($p_filename) ? 0x00000000 : 0x00000010);
2432 //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 5, "Header external extension '".sprintf("0x%X",$p_header['external'])."'");
2433 $p_header['offset'] = 0;
2434 $p_header['filename'] = $p_filename;
2435 $p_header['stored_filename'] = $v_stored_filename;
2436 $p_header['extra'] = '';
2437 $p_header['comment'] = '';
2438 $p_header['status'] = 'ok';
2439 $p_header['index'] = -1;
2447 $this->privConvertHeader2FileInfo($p_header, $v_local_header);
2455 $p_header['status'] = "skipped";
2461 if ($p_header['stored_filename'] != $v_local_header['stored_filename']) {
2462 $p_header['stored_filename'] = PclZipUtilPathReduction($v_local_header['stored_filename']);
2463 //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "New stored filename is '".$p_header['stored_filename']."'");
2468 if ($p_header['stored_filename'] == "") {
2469 $p_header['status'] = "filtered";
2473 if (strlen($p_header['stored_filename']) > 0xFF) {
2474 $p_header['status'] = 'filename_too_long';
2478 if ($p_header['status'] == 'ok') {
2492 $v_content_compressed = @fread($v_file, $p_header['size']);
2495 $p_header['crc'] = @crc32($v_content_compressed);
2498 $p_header['compressed_size'] = $p_header['size'];
2499 $p_header['compression'] = 0;
2503 $v_content = @fread($v_file, $p_header['size']);
2506 $p_header['crc'] = @crc32($v_content);
2512 $p_header['compressed_size'] = strlen($v_content_compressed);
2513 $p_header['compression'] = 8;
2525 $p_header['compressed_size'],
2527 $p_header['crc'],
2530 $p_header['compressed_size'] += 12;
2531 $p_header['flag'] = 1;
2540 if (($v_result = $this->privWriteFileHeader($p_header)) != 1) {
2550 $p_header['compressed_size']
2561 if (@substr($p_header['stored_filename'], -1) != '/') {
2562 $p_header['stored_filename'] .= '/';
2566 $p_header['size'] = 0;
2567 //$p_header['external'] = 0x41FF0010; // Value for a folder : to be checked
2568 $p_header['external'] = 0x00000010; // Value for a folder : to be checked
2571 if (($v_result = $this->privWriteFileHeader($p_header)) != 1) {
2584 $this->privConvertHeader2FileInfo($p_header, $v_local_header);
2726 public function privWriteFileHeader(&$p_header)
2728 //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privWriteFileHeader", 'file="'.$p_header['filename'].'", stored as "'.$p_header['stored_filename'].'"');
2732 $p_header['offset'] = ftell($this->zip_fd);
2733 //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, 'File offset of the header :'.$p_header['offset']);
2736 //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, 'Date : \''.date("d/m/y H:i:s", $p_header['mtime']).'\'');
2737 $v_date = getdate($p_header['mtime']);
2745 $p_header['version_extracted'],
2746 $p_header['flag'],
2747 $p_header['compression'],
2750 $p_header['crc'],
2751 $p_header['compressed_size'],
2752 $p_header['size'],
2753 strlen($p_header['stored_filename']),
2754 $p_header['extra_len']
2761 if (strlen($p_header['stored_filename']) != 0) {
2762 fwrite($this->zip_fd, $p_header['stored_filename'], strlen($p_header['stored_filename']));
2764 if ($p_header['extra_len'] != 0) {
2765 fwrite($this->zip_fd, $p_header['extra'], $p_header['extra_len']);
2780 public function privWriteCentralFileHeader(&$p_header)
2782 //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privWriteCentralFileHeader", 'file="'.$p_header['filename'].'", stored as "'.$p_header['stored_filename'].'"');
2786 //for(reset($p_header); $key = key($p_header); next($p_header)) {
2787 // //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "header[$key] = ".$p_header[$key]);
2791 //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, 'Date : \''.date("d/m/y H:i:s", $p_header['mtime']).'\'');
2792 $v_date = getdate($p_header['mtime']);
2800 $p_header['version'],
2801 $p_header['version_extracted'],
2802 $p_header['flag'],
2803 $p_header['compression'],
2806 $p_header['crc'],
2807 $p_header['compressed_size'],
2808 $p_header['size'],
2809 strlen($p_header['stored_filename']),
2810 $p_header['extra_len'],
2811 $p_header['comment_len'],
2812 $p_header['disk'],
2813 $p_header['internal'],
2814 $p_header['external'],
2815 $p_header['offset']
2822 if (strlen($p_header['stored_filename']) != 0) {
2823 fwrite($this->zip_fd, $p_header['stored_filename'], strlen($p_header['stored_filename']));
2825 if ($p_header['extra_len'] != 0) {
2826 fwrite($this->zip_fd, $p_header['extra'], $p_header['extra_len']);
2828 if ($p_header['comment_len'] != 0) {
2829 fwrite($this->zip_fd, $p_header['comment'], $p_header['comment_len']);
2974 public function privConvertHeader2FileInfo($p_header, &$p_info)
2976 //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privConvertHeader2FileInfo", "Filename='".$p_header['filename']."'");
2980 $p_info['filename'] = $p_header['filename'];
2981 $p_info['stored_filename'] = $p_header['stored_filename'];
2982 $p_info['size'] = $p_header['size'];
2983 $p_info['compressed_size'] = $p_header['compressed_size'];
2984 $p_info['mtime'] = $p_header['mtime'];
2985 $p_info['comment'] = $p_header['comment'];
2986 $p_info['folder'] = (($p_header['external'] & 0x00000010) == 0x00000010);
2987 $p_info['index'] = $p_header['index'];
2988 $p_info['status'] = $p_header['status'];
3956 public function privReadFileHeader(&$p_header)
3984 $p_header['filename'] = "";
3985 $p_header['status'] = "invalid_header";
4003 $p_header['filename'] = fread($this->zip_fd, $v_data['filename_len']);
4004 //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, 'Filename : \''.$p_header['filename'].'\'');
4009 $p_header['extra'] = fread($this->zip_fd, $v_data['extra_len']);
4011 $p_header['extra'] = '';
4013 //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, 'Extra field : \''.bin2hex($p_header['extra']).'\'');
4016 $p_header['version_extracted'] = $v_data['version'];
4017 //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, 'Version need to extract : ('.$p_header['version_extracted'].') \''.($p_header['version_extracted']/10).'.'.($p_header['version_extracted']%10).'\'');
4018 $p_header['compression'] = $v_data['compression'];
4019 //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, 'Compression method : \''.$p_header['compression'].'\'');
4020 $p_header['size'] = $v_data['size'];
4021 //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, 'Size : \''.$p_header['size'].'\'');
4022 $p_header['compressed_size'] = $v_data['compressed_size'];
4023 //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, 'Compressed Size : \''.$p_header['compressed_size'].'\'');
4024 $p_header['crc'] = $v_data['crc'];
4025 //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, 'CRC : \''.sprintf("0x%X", $p_header['crc']).'\'');
4026 $p_header['flag'] = $v_data['flag'];
4027 //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, 'Flag : \''.$p_header['flag'].'\'');
4028 $p_header['filename_len'] = $v_data['filename_len'];
4029 //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, 'Filename_len : \''.$p_header['filename_len'].'\'');
4032 $p_header['mdate'] = $v_data['mdate'];
4033 $p_header['mtime'] = $v_data['mtime'];
4034 if ($p_header['mdate'] && $p_header['mtime']) {
4036 $v_hour = ($p_header['mtime'] & 0xF800) >> 11;
4037 $v_minute = ($p_header['mtime'] & 0x07E0) >> 5;
4038 $v_seconde = ($p_header['mtime'] & 0x001F) * 2;
4041 $v_year = (($p_header['mdate'] & 0xFE00) >> 9) + 1980;
4042 $v_month = ($p_header['mdate'] & 0x01E0) >> 5;
4043 $v_day = $p_header['mdate'] & 0x001F;
4046 $p_header['mtime'] = mktime($v_hour, $v_minute, $v_seconde, $v_month, $v_day, $v_year);
4048 //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, 'Date : \''.date("d/m/y H:i:s", $p_header['mtime']).'\'');
4050 $p_header['mtime'] = time();
4051 //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, 'Date is actual : \''.date("d/m/y H:i:s", $p_header['mtime']).'\'');
4060 $p_header['stored_filename'] = $p_header['filename'];
4063 $p_header['status'] = "ok";
4077 public function privReadCentralFileHeader(&$p_header)
4105 $p_header['filename'] = "";
4106 $p_header['status'] = "invalid_header";
4120 $p_header = unpack('vversion/vversion_extracted/vflag/vcompression/vmtime/vmdate/Vcrc/Vcompressed_size/Vsize/vfilename_len/vextra_len/vcomment_len/vdisk/vinternal/Vexternal/Voffset', $v_binary_data);
4123 //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, "File name length : ".$p_header['filename_len']);
4124 if ($p_header['filename_len'] != 0)
4125 $p_header['filename'] = fread($this->zip_fd, $p_header['filename_len']);
4126 else $p_header['filename'] = '';
4127 //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, 'Filename : \''.$p_header['filename'].'\'');
4130 //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, "Extra length : ".$p_header['extra_len']);
4131 if ($p_header['extra_len'] != 0)
4132 $p_header['extra'] = fread($this->zip_fd, $p_header['extra_len']);
4133 else $p_header['extra'] = '';
4134 //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, 'Extra : \''.$p_header['extra'].'\'');
4137 //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, "Comment length : ".$p_header['comment_len']);
4138 if ($p_header['comment_len'] != 0)
4139 $p_header['comment'] = fread($this->zip_fd, $p_header['comment_len']);
4140 else $p_header['comment'] = '';
4141 //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, 'Comment : \''.$p_header['comment'].'\'');
4144 //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, 'Version : \''.($p_header['version']/10).'.'.($p_header['version']%10).'\'');
4145 //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, 'Version need to extract : \''.($p_header['version_extracted']/10).'.'.($p_header['version_extracted']%10).'\'');
4146 //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, 'Size : \''.$p_header['size'].'\'');
4147 //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, 'Compressed Size : \''.$p_header['compressed_size'].'\'');
4148 //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, 'CRC : \''.sprintf("0x%X", $p_header['crc']).'\'');
4149 //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, 'Flag : \''.$p_header['flag'].'\'');
4150 //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, 'Offset : \''.$p_header['offset'].'\'');
4153 if ($p_header['mdate'] && $p_header['mtime']) {
4155 $v_hour = ($p_header['mtime'] & 0xF800) >> 11;
4156 $v_minute = ($p_header['mtime'] & 0x07E0) >> 5;
4157 $v_seconde = ($p_header['mtime'] & 0x001F) * 2;
4160 $v_year = (($p_header['mdate'] & 0xFE00) >> 9) + 1980;
4161 $v_month = ($p_header['mdate'] & 0x01E0) >> 5;
4162 $v_day = $p_header['mdate'] & 0x001F;
4165 $p_header['mtime'] = mktime($v_hour, $v_minute, $v_seconde, $v_month, $v_day, $v_year);
4167 //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, 'Date : \''.date("d/m/y H:i:s", $p_header['mtime']).'\'');
4169 $p_header['mtime'] = time();
4170 //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, 'Date is actual : \''.date("d/m/y H:i:s", $p_header['mtime']).'\'');
4174 $p_header['stored_filename'] = $p_header['filename'];
4177 $p_header['status'] = 'ok';
4180 //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 5, "Internal (Hex) : '".sprintf("Ox%04X", $p_header['internal'])."'");
4181 //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, "External (Hex) : '".sprintf("Ox%04X", $p_header['external'])."' (".(($p_header['external']&0x00000010)==0x00000010?'is a folder':'is a file').')');
4182 if (substr($p_header['filename'], -1) == '/') {
4183 //$p_header['external'] = 0x41FF0010;
4184 $p_header['external'] = 0x00000010;
4185 //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, 'Force folder external : \''.sprintf("Ox%04X", $p_header['external']).'\'');
4188 //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, 'Header of filename : \''.$p_header['filename'].'\'');