Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

<?php declare(strict_types=1); namespace SPC\command; use SPC\exception\FileSystemExcep..

Decoded Output download

<?php

declare(strict_types=1);

namespace SPC\command;

use SPC\exception\FileSystemException;
use SPC\exception\RuntimeException;
use SPC\exception\WrongUsageException;
use SPC\util\DependencyUtil;
use SPC\util\LicenseDumper;
use Symfony\Component\Console\Attribute\AsCommand;
use Symfony\Component\Console\Input\InputOption;

/**
 *  config  kv 
 */
#[AsCommand('dump-license', 'Dump licenses for required libraries')]
class DumpLicenseCommand extends BaseCommand
{
    public function configure(): void
    {
        $this->addOption('for-extensions', null, InputOption::VALUE_REQUIRED, 'Dump by extensions and related libraries', null);
        $this->addOption('without-php', null, InputOption::VALUE_NONE, 'Dump without php-src');
        $this->addOption('for-libs', null, InputOption::VALUE_REQUIRED, 'Dump by libraries', null);
        $this->addOption('for-sources', null, InputOption::VALUE_REQUIRED, 'Dump by original sources (source.json)', null);
        $this->addOption('dump-dir', null, InputOption::VALUE_REQUIRED, 'Change dump directory', BUILD_ROOT_PATH . '/license');
    }

    /**
     * @throws WrongUsageException
     * @throws FileSystemException
     * @throws RuntimeException
     */
    public function handle(): int
    {
        $dumper = new LicenseDumper();
        if ($this->getOption('for-extensions') !== null) {
            //  extensions
            $extensions = $this->parseExtensionList($this->getOption('for-extensions'));
            // 
            [$extensions, $libraries] = DependencyUtil::getExtsAndLibs($extensions);
            $dumper->addExts($extensions);
            $dumper->addLibs($libraries);
            if (!$this->getOption('without-php')) {
                $dumper->addSources(['php-src']);
            }
            $dumper->dump($this->getOption('dump-dir'));
            $this->output->writeln('Dump license with extensions: ' . implode(', ', $extensions));
            $this->output->writeln('Dump license with libraries: ' . implode(', ', $libraries));
            $this->output->writeln('Dump license with' . ($this->getOption('without-php') ? 'out' : '') . ' php-src');
            $this->output->writeln('Dump target dir: ' . $this->getOption('dump-dir'));
            return static::SUCCESS;
        }
        if ($this->getOption('for-libs') !== null) {
            $libraries = array_map('trim', array_filter(explode(',', $this->getOption('for-libs'))));
            $libraries = DependencyUtil::getLibs($libraries);
            $dumper->addLibs($libraries);
            $dumper->dump($this->getOption('dump-dir'));
            return $this->logWithResult(
                $dumper->dump($this->getOption('dump-dir')),
                'Dump target dir: ' . $this->getOption('dump-dir'),
                'Dump failed!'
            );
        }
        if ($this->getOption('for-sources') !== null) {
            $sources = array_map('trim', array_filter(explode(',', $this->getOption('for-sources'))));
            $dumper->addSources($sources);
            $dumper->dump($this->getOption('dump-dir'));
            $this->output->writeln('Dump target dir: ' . $this->getOption('dump-dir'));
            return static::SUCCESS;
        }
        $this->output->writeln('You must use one of "--for-extensions=", "--for-libs=", "--for-sources=" to dump');
        return static::FAILURE;
    }
}
 ?>

Did this file decode correctly?

Original Code

<?php

declare(strict_types=1);

namespace SPC\command;

use SPC\exception\FileSystemException;
use SPC\exception\RuntimeException;
use SPC\exception\WrongUsageException;
use SPC\util\DependencyUtil;
use SPC\util\LicenseDumper;
use Symfony\Component\Console\Attribute\AsCommand;
use Symfony\Component\Console\Input\InputOption;

/**
 *  config  kv 
 */
#[AsCommand('dump-license', 'Dump licenses for required libraries')]
class DumpLicenseCommand extends BaseCommand
{
    public function configure(): void
    {
        $this->addOption('for-extensions', null, InputOption::VALUE_REQUIRED, 'Dump by extensions and related libraries', null);
        $this->addOption('without-php', null, InputOption::VALUE_NONE, 'Dump without php-src');
        $this->addOption('for-libs', null, InputOption::VALUE_REQUIRED, 'Dump by libraries', null);
        $this->addOption('for-sources', null, InputOption::VALUE_REQUIRED, 'Dump by original sources (source.json)', null);
        $this->addOption('dump-dir', null, InputOption::VALUE_REQUIRED, 'Change dump directory', BUILD_ROOT_PATH . '/license');
    }

    /**
     * @throws WrongUsageException
     * @throws FileSystemException
     * @throws RuntimeException
     */
    public function handle(): int
    {
        $dumper = new LicenseDumper();
        if ($this->getOption('for-extensions') !== null) {
            //  extensions
            $extensions = $this->parseExtensionList($this->getOption('for-extensions'));
            // 
            [$extensions, $libraries] = DependencyUtil::getExtsAndLibs($extensions);
            $dumper->addExts($extensions);
            $dumper->addLibs($libraries);
            if (!$this->getOption('without-php')) {
                $dumper->addSources(['php-src']);
            }
            $dumper->dump($this->getOption('dump-dir'));
            $this->output->writeln('Dump license with extensions: ' . implode(', ', $extensions));
            $this->output->writeln('Dump license with libraries: ' . implode(', ', $libraries));
            $this->output->writeln('Dump license with' . ($this->getOption('without-php') ? 'out' : '') . ' php-src');
            $this->output->writeln('Dump target dir: ' . $this->getOption('dump-dir'));
            return static::SUCCESS;
        }
        if ($this->getOption('for-libs') !== null) {
            $libraries = array_map('trim', array_filter(explode(',', $this->getOption('for-libs'))));
            $libraries = DependencyUtil::getLibs($libraries);
            $dumper->addLibs($libraries);
            $dumper->dump($this->getOption('dump-dir'));
            return $this->logWithResult(
                $dumper->dump($this->getOption('dump-dir')),
                'Dump target dir: ' . $this->getOption('dump-dir'),
                'Dump failed!'
            );
        }
        if ($this->getOption('for-sources') !== null) {
            $sources = array_map('trim', array_filter(explode(',', $this->getOption('for-sources'))));
            $dumper->addSources($sources);
            $dumper->dump($this->getOption('dump-dir'));
            $this->output->writeln('Dump target dir: ' . $this->getOption('dump-dir'));
            return static::SUCCESS;
        }
        $this->output->writeln('You must use one of "--for-extensions=", "--for-libs=", "--for-sources=" to dump');
        return static::FAILURE;
    }
}

Function Calls

None

Variables

None

Stats

MD5 721fff5ae84923589070c74f0798e8b8
Eval Count 0
Decode Time 97 ms