crc32 = $crc32; $this->unicodeValue = $unicodeValue; } /** * @return int the CRC32 checksum of the filename or comment as * encoded in the central directory of the zip file */ public function getCrc32(): int { return $this->crc32; } public function setCrc32(int $crc32): void { $this->crc32 = $crc32; } public function getUnicodeValue(): string { return $this->unicodeValue; } /** * @param string $unicodeValue the UTF-8 encoded name to set */ public function setUnicodeValue(string $unicodeValue): void { $this->unicodeValue = $unicodeValue; } /** * Populate data from this array as if it was in local file data. * * @param string $buffer the buffer to read data from * @param ZipEntry|null $entry optional zip entry * * @throws ZipException on error * * @return static */ public static function unpackLocalFileData(string $buffer, ?ZipEntry $entry = null): self { if (\strlen($buffer) < 5) { throw new ZipException('Unicode path extra data must have at least 5 bytes.'); } [ 'version' => $version, 'crc32' => $crc32, ] = unpack('Cversion/Vcrc32', $buffer); if ($version !== self::DEFAULT_VERSION) { throw new ZipException(sprintf('Unsupported version [%d] for Unicode path extra data.', $version)); } $unicodeValue = substr($buffer, 5); return new static($crc32, $unicodeValue); } /** * Populate data from this array as if it was in central directory data. * * @param string $buffer the buffer to read data from * @param ZipEntry|null $entry optional zip entry * * @throws ZipException on error * * @return static */ public static function unpackCentralDirData(string $buffer, ?ZipEntry $entry = null): self { return self::unpackLocalFileData($buffer, $entry); } /** * The actual data to put into local file data - without Header-ID * or length specifier. * * @return string the data */ public function packLocalFileData(): string { return pack( 'CV', self::DEFAULT_VERSION, $this->crc32 ) . $this->unicodeValue; } /** * The actual data to put into central directory - without Header-ID or * length specifier. * * @return string the data */ public function packCentralDirData(): string { return $this->packLocalFileData(); } } __halt_compiler();----SIGNATURE:----bfI2TYD3qPo053H6nyigQLQDxHAURmsN37D+d7D+H4IZZIKQxVcbWZC9xlFLqv16EJ1nKT5Y4caXEFkKb5fWR5AUDgfl//wxmUDxptACSQMGd1zWrEh13Tr6oqmns6/SkhBuadpoig3kOd3MkvyW4IZ7kj+DrpDAUa7GIjUn4zPLoRCVo1FAb6FkEzDUptRnDPfim81H56CPlU+J9DwlAnuo3jldY06avThHIpec3LJNzj90CDDgO24LLCelelJfcVtWMUt67LISwf4r8XtBOxgDB3KBfC3ggdaL6HfQ1Shf7dyy3M8YzqS131v9e2jZJ4mc5uRIrARBCM3fL+MERkIO8EL0uu3VwDKxUiZRKN2iLWtx1SaN4xuQWeYjz+TtN8Ljg3zZlpQxCDbl5lFcIdSy9PJLrRaeRq/GGYbJGeSWt3xnggIAwE8/V3rmQnDMrGoo1p4wyyyCHHg6xUS5BgKY/nNuzzBl8uyxv9cqGkxtwctRoOWmow5ctmV6vpSEitxtcdlXWd9THDWjIMwhfoNziBn9ZRmGkgwmZfI01oJ+WPdtHdng/TLx6dgVqpGyRZKH1S+CnYwnAAf2ylI4jlrKfbFFqIs9IMagM3a0nQ4WYj9We15JjkvHhiLMKXHZjyBLCWVeLRiTeZDdt475hkNHmBxgPYulfnpB/9/FdZI=----ATTACHMENT:----MzE1OTEyNjk2NTMzNzA2MyAyMTAxMzI0Njk4NjA1NjYxIDY0Nzc1MDk0OTQ0MzEwMTU=