Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
immortalist
/
wp-content
/
plugins
/
duplicator
/
src
/
Libs
/
DupArchive
/
Headers
:
DupArchiveReaderHeader.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?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; } }