diff options
author | Harald Eilertsen <haraldei@anduin.net> | 2024-11-07 19:23:35 +0100 |
---|---|---|
committer | Harald Eilertsen <haraldei@anduin.net> | 2024-11-08 16:43:29 +0100 |
commit | fe30b5497593dcfb4445d72c99fa357011cebf46 (patch) | |
tree | 6d4d89fed5dcd52e26dd1e07e7cae04206c737d4 /vendor/maennchen/zipstream-php/src/LocalFileHeader.php | |
parent | b00ae997a5dab923a99e1f1cccf35bb52eba9a62 (diff) | |
download | volse-hubzilla-fe30b5497593dcfb4445d72c99fa357011cebf46.tar.gz volse-hubzilla-fe30b5497593dcfb4445d72c99fa357011cebf46.tar.bz2 volse-hubzilla-fe30b5497593dcfb4445d72c99fa357011cebf46.zip |
Update php-epub-meta and use composer for dep handling.
Note that we upgrade to the 2.x branch of the dependency, as the 3.x
branch requires PHP version 8.2 or later. There's no reason for us to
move our minimum supported version of PHP just yet.
Diffstat (limited to 'vendor/maennchen/zipstream-php/src/LocalFileHeader.php')
-rw-r--r-- | vendor/maennchen/zipstream-php/src/LocalFileHeader.php | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/vendor/maennchen/zipstream-php/src/LocalFileHeader.php b/vendor/maennchen/zipstream-php/src/LocalFileHeader.php new file mode 100644 index 000000000..e08b65610 --- /dev/null +++ b/vendor/maennchen/zipstream-php/src/LocalFileHeader.php @@ -0,0 +1,40 @@ +<?php + +declare(strict_types=1); + +namespace ZipStream; + +use DateTimeInterface; + +/** + * @internal + */ +abstract class LocalFileHeader +{ + private const SIGNATURE = 0x04034b50; + + public static function generate( + int $versionNeededToExtract, + int $generalPurposeBitFlag, + CompressionMethod $compressionMethod, + DateTimeInterface $lastModificationDateTime, + int $crc32UncompressedData, + int $compressedSize, + int $uncompressedSize, + string $fileName, + string $extraField, + ): string { + return PackField::pack( + new PackField(format: 'V', value: self::SIGNATURE), + new PackField(format: 'v', value: $versionNeededToExtract), + new PackField(format: 'v', value: $generalPurposeBitFlag), + new PackField(format: 'v', value: $compressionMethod->value), + new PackField(format: 'V', value: Time::dateTimeToDosTime($lastModificationDateTime)), + new PackField(format: 'V', value: $crc32UncompressedData), + new PackField(format: 'V', value: $compressedSize), + new PackField(format: 'V', value: $uncompressedSize), + new PackField(format: 'v', value: strlen($fileName)), + new PackField(format: 'v', value: strlen($extraField)), + ) . $fileName . $extraField; + } +} |