changes for filter and print
This commit is contained in:
28
vendor/maennchen/zipstream-php/src/Zip64/DataDescriptor.php
vendored
Normal file
28
vendor/maennchen/zipstream-php/src/Zip64/DataDescriptor.php
vendored
Normal file
@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace ZipStream\Zip64;
|
||||
|
||||
use ZipStream\PackField;
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
abstract class DataDescriptor
|
||||
{
|
||||
private const SIGNATURE = 0x08074b50;
|
||||
|
||||
public static function generate(
|
||||
int $crc32UncompressedData,
|
||||
int $compressedSize,
|
||||
int $uncompressedSize,
|
||||
): string {
|
||||
return PackField::pack(
|
||||
new PackField(format: 'V', value: self::SIGNATURE),
|
||||
new PackField(format: 'V', value: $crc32UncompressedData),
|
||||
new PackField(format: 'P', value: $compressedSize),
|
||||
new PackField(format: 'P', value: $uncompressedSize),
|
||||
);
|
||||
}
|
||||
}
|
43
vendor/maennchen/zipstream-php/src/Zip64/EndOfCentralDirectory.php
vendored
Normal file
43
vendor/maennchen/zipstream-php/src/Zip64/EndOfCentralDirectory.php
vendored
Normal file
@ -0,0 +1,43 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace ZipStream\Zip64;
|
||||
|
||||
use ZipStream\PackField;
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
abstract class EndOfCentralDirectory
|
||||
{
|
||||
private const SIGNATURE = 0x06064b50;
|
||||
|
||||
public static function generate(
|
||||
int $versionMadeBy,
|
||||
int $versionNeededToExtract,
|
||||
int $numberOfThisDisk,
|
||||
int $numberOfTheDiskWithCentralDirectoryStart,
|
||||
int $numberOfCentralDirectoryEntriesOnThisDisk,
|
||||
int $numberOfCentralDirectoryEntries,
|
||||
int $sizeOfCentralDirectory,
|
||||
int $centralDirectoryStartOffsetOnDisk,
|
||||
string $extensibleDataSector,
|
||||
): string {
|
||||
$recordSize = 44 + strlen($extensibleDataSector); // (length of block - 12) = 44;
|
||||
|
||||
/** @psalm-suppress MixedArgument */
|
||||
return PackField::pack(
|
||||
new PackField(format: 'V', value: static::SIGNATURE),
|
||||
new PackField(format: 'P', value: $recordSize),
|
||||
new PackField(format: 'v', value: $versionMadeBy),
|
||||
new PackField(format: 'v', value: $versionNeededToExtract),
|
||||
new PackField(format: 'V', value: $numberOfThisDisk),
|
||||
new PackField(format: 'V', value: $numberOfTheDiskWithCentralDirectoryStart),
|
||||
new PackField(format: 'P', value: $numberOfCentralDirectoryEntriesOnThisDisk),
|
||||
new PackField(format: 'P', value: $numberOfCentralDirectoryEntries),
|
||||
new PackField(format: 'P', value: $sizeOfCentralDirectory),
|
||||
new PackField(format: 'P', value: $centralDirectoryStartOffsetOnDisk),
|
||||
) . $extensibleDataSector;
|
||||
}
|
||||
}
|
29
vendor/maennchen/zipstream-php/src/Zip64/EndOfCentralDirectoryLocator.php
vendored
Normal file
29
vendor/maennchen/zipstream-php/src/Zip64/EndOfCentralDirectoryLocator.php
vendored
Normal file
@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace ZipStream\Zip64;
|
||||
|
||||
use ZipStream\PackField;
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
abstract class EndOfCentralDirectoryLocator
|
||||
{
|
||||
private const SIGNATURE = 0x07064b50;
|
||||
|
||||
public static function generate(
|
||||
int $numberOfTheDiskWithZip64CentralDirectoryStart,
|
||||
int $zip64centralDirectoryStartOffsetOnDisk,
|
||||
int $totalNumberOfDisks,
|
||||
): string {
|
||||
/** @psalm-suppress MixedArgument */
|
||||
return PackField::pack(
|
||||
new PackField(format: 'V', value: static::SIGNATURE),
|
||||
new PackField(format: 'V', value: $numberOfTheDiskWithZip64CentralDirectoryStart),
|
||||
new PackField(format: 'P', value: $zip64centralDirectoryStartOffsetOnDisk),
|
||||
new PackField(format: 'V', value: $totalNumberOfDisks),
|
||||
);
|
||||
}
|
||||
}
|
46
vendor/maennchen/zipstream-php/src/Zip64/ExtendedInformationExtraField.php
vendored
Normal file
46
vendor/maennchen/zipstream-php/src/Zip64/ExtendedInformationExtraField.php
vendored
Normal file
@ -0,0 +1,46 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace ZipStream\Zip64;
|
||||
|
||||
use ZipStream\PackField;
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
abstract class ExtendedInformationExtraField
|
||||
{
|
||||
private const TAG = 0x0001;
|
||||
|
||||
public static function generate(
|
||||
?int $originalSize = null,
|
||||
?int $compressedSize = null,
|
||||
?int $relativeHeaderOffset = null,
|
||||
?int $diskStartNumber = null,
|
||||
): string {
|
||||
return PackField::pack(
|
||||
new PackField(format: 'v', value: self::TAG),
|
||||
new PackField(
|
||||
format: 'v',
|
||||
value:
|
||||
($originalSize === null ? 0 : 8) +
|
||||
($compressedSize === null ? 0 : 8) +
|
||||
($relativeHeaderOffset === null ? 0 : 8) +
|
||||
($diskStartNumber === null ? 0 : 4)
|
||||
),
|
||||
...($originalSize === null ? [] : [
|
||||
new PackField(format: 'P', value: $originalSize),
|
||||
]),
|
||||
...($compressedSize === null ? [] : [
|
||||
new PackField(format: 'P', value: $compressedSize),
|
||||
]),
|
||||
...($relativeHeaderOffset === null ? [] : [
|
||||
new PackField(format: 'P', value: $relativeHeaderOffset),
|
||||
]),
|
||||
...($diskStartNumber === null ? [] : [
|
||||
new PackField(format: 'V', value: $diskStartNumber),
|
||||
]),
|
||||
);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user