OwlCyberSecurity - MANAGER
Edit File: DupArchiveReaderHeader.php
<?php /** * * @package Duplicator * @copyright (c) 2021, Snapcreek LLC */ namespace Duplicator\Libs\DupArchive\Headers; use Exception; /** * Dup archive read header * * Format: #A#{version:5}#{isCompressed}! */ class DupArchiveReaderHeader { /** @var string */ protected $version; /** @var bool */ public $isCompressed; /** * Class Contructor */ protected function __construct() { // Prevent instantiation } /** * Get header from archive * * @param resource $archiveHandle archive resource * * @return static */ public static function readFromArchive($archiveHandle) { $instance = new static(); $startElement = fgets($archiveHandle, 4); if ($startElement != '<A>') { throw new Exception("Invalid archive header marker found {$startElement}"); } $instance->version = DupArchiveHeaderU::readStandardHeaderField($archiveHandle, 'V'); $instance->isCompressed = filter_var(DupArchiveHeaderU::readStandardHeaderField($archiveHandle, 'C'), FILTER_VALIDATE_BOOLEAN); // Skip the </A> fgets($archiveHandle, 5); return $instance; } }