403Webshell
Server IP : 193.146.211.90  /  Your IP : 10.85.6.55
Web Server : Apache
System : Linux wordpress-gti-69dcdb54f7-n4wdq 6.11.8-arch1-2 #1 SMP PREEMPT_DYNAMIC Fri, 15 Nov 2024 15:35:07 +0000 x86_64
User : 1001 ( 1001)
PHP Version : 8.2.25
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /bitnami/wordpress/wp-content/plugins/presto-player/vendor/typisttech/imposter/src/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /bitnami/wordpress/wp-content/plugins/presto-player/vendor/typisttech/imposter/src/Imposter.php
<?php

declare(strict_types=1);

namespace TypistTech\Imposter;

class Imposter implements ImposterInterface
{
    /**
     * @var string[]
     */
    private $autoloads;

    /**
     * @var string[]
     */
    private $invalidAutoloads;

    /**
     * @var ConfigCollectionInterface
     */
    private $configCollection;

    /**
     * @var TransformerInterface
     */
    private $transformer;

    /**
     * @var FilesystemInterface
     */
    private $filesystem;

    /**
     * Imposter constructor.
     *
     * @param ConfigCollectionInterface $configCollection
     * @param TransformerInterface      $transformer
     * @param FilesystemInterface       $filesystem
     */
    public function __construct(
        ConfigCollectionInterface $configCollection,
        TransformerInterface $transformer,
        FilesystemInterface $filesystem
    ) {
        $this->configCollection = $configCollection;
        $this->transformer = $transformer;
        $this->filesystem = $filesystem;
    }

    /**
     * @return ConfigCollectionInterface
     */
    public function getConfigCollection(): ConfigCollectionInterface
    {
        return $this->configCollection;
    }

    /**
     * @return TransformerInterface
     */
    public function getTransformer(): TransformerInterface
    {
        return $this->transformer;
    }

    /**
     * Transform all autoload files.
     *
     * @return void
     */
    public function run()
    {
        $autoloads = $this->getAutoloads();
        array_walk($autoloads, [$this, 'transform']);
    }

    /**
     * Get all valid (exist) autoload paths.
     *
     * @return string[]
     */
    public function getAutoloads(): array
    {
        if ($this->autoloads === null) {
            $this->setAutoloads();
        }

        return $this->autoloads;
    }

    /**
     * Get all autoload paths which defined in composer.json but not exist.
     *
     * @return string[]
     */
    public function getInvalidAutoloads(): array
    {
        if ($this->invalidAutoloads === null) {
            $this->setAutoloads();
        }

        return $this->invalidAutoloads;
    }

    protected function setAutoloads(): void
    {
        $this->autoloads = [];
        $this->invalidAutoloads = [];

        $autoloads = $this->configCollection->getAutoloads();

        foreach ($autoloads as $autoload) {
            $isValid = $this->filesystem->isFile($autoload) || $this->filesystem->isDir($autoload);

            if ($isValid) {
                $this->autoloads[] = $autoload;
            } else {
                $this->invalidAutoloads[] = $autoload;
            }
        }
    }

    /**
     * Transform a file or directory recursively.
     *
     * @param string $target Path to the target file or directory.
     *
     * @return void
     */
    public function transform(string $target)
    {
        $this->transformer->transform($target);
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit