!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/prettus/l5-repository/src/Prettus/Repository/Generators/   drwxrwxrwx
Free 12.97 GB of 57.97 GB (22.38%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

namespace Prettus\Repository\Generators;

use 
Illuminate\Filesystem\Filesystem;
use 
Illuminate\Support\Str;

/**
 * Class Generator
 * @package Prettus\Repository\Generators
 * @author Anderson Andrade <contato@andersonandra.de>
 */
abstract class Generator
{

    
/**
     * The filesystem instance.
     *
     * @var \Illuminate\Filesystem\Filesystem
     */
    
protected $filesystem;

    
/**
     * The array of options.
     *
     * @var array
     */
    
protected $options;

    
/**
     * The shortname of stub.
     *
     * @var string
     */
    
protected $stub;


    
/**
     * Create new instance of this class.
     *
     * @param array $options
     */
    
public function __construct(array $options = [])
    {
        
$this->filesystem = new Filesystem;
        
$this->options $options;
    }


    
/**
     * Get the filesystem instance.
     *
     * @return \Illuminate\Filesystem\Filesystem
     */
    
public function getFilesystem()
    {
        return 
$this->filesystem;
    }


    
/**
     * Set the filesystem instance.
     *
     * @param \Illuminate\Filesystem\Filesystem $filesystem
     *
     * @return $this
     */
    
public function setFilesystem(Filesystem $filesystem)
    {
        
$this->filesystem $filesystem;

        return 
$this;
    }


    
/**
     * Get stub template for generated file.
     *
     * @return string
     */
    
public function getStub()
    {
        
$path config('repository.generator.stubsOverridePath'__DIR__);

        if(!
file_exists($path '/Stubs/' $this->stub '.stub')){
            
$path __DIR__;
        }

        return (new 
Stub($path '/Stubs/' $this->stub '.stub'$this->getReplacements()))->render();
    }


    
/**
     * Get template replacements.
     *
     * @return array
     */
    
public function getReplacements()
    {
        return [
            
'class'          => $this->getClass(),
            
'namespace'      => $this->getNamespace(),
            
'root_namespace' => $this->getRootNamespace()
        ];
    }


    
/**
     * Get base path of destination file.
     *
     * @return string
     */
    
public function getBasePath()
    {
        return 
base_path();
    }


    
/**
     * Get destination path for generated file.
     *
     * @return string
     */
    
public function getPath()
    {
        return 
$this->getBasePath() . '/' $this->getName() . '.php';
    }


    
/**
     * Get name input.
     *
     * @return string
     */
    
public function getName()
    {
        
$name $this->name;
        if (
Str::contains($this->name'\\')) {
            
$name str_replace('\\''/'$this->name);
        }
        if (
Str::contains($this->name'/')) {
            
$name str_replace('/''/'$this->name);
        }

        return 
Str::studly(str_replace(' ''/'ucwords(str_replace('/'' '$name))));
    }


   
/**
     * Get application namespace
     *
     * @return string
     */
    
public function getAppNamespace()
    {
        return 
\Illuminate\Container\Container::getInstance()->getNamespace();
    }


    
/**
     * Get class name.
     *
     * @return string
     */
    
public function getClass()
    {
        return 
Str::studly(class_basename($this->getName()));
    }


    
/**
     * Get paths of namespace.
     *
     * @return array
     */
    
public function getSegments()
    {
        return 
explode('/'$this->getName());
    }


    
/**
     * Get root namespace.
     *
     * @return string
     */
    
public function getRootNamespace()
    {
        return 
config('repository.generator.rootNamespace'$this->getAppNamespace());
    }


    
/**
     * Get class-specific output paths.
     *
     * @param $class
     *
     * @return string
     */
    
public function getConfigGeneratorClassPath($class$directoryPath false)
    {
        switch (
$class) {
            case (
'models' === $class):
                
$path config('repository.generator.paths.models''Entities');
                break;
            case (
'repositories' === $class):
                
$path config('repository.generator.paths.repositories''Repositories');
                break;
            case (
'interfaces' === $class):
                
$path config('repository.generator.paths.interfaces''Repositories');
                break;
            case (
'presenters' === $class):
                
$path config('repository.generator.paths.presenters''Presenters');
                break;
            case (
'transformers' === $class):
                
$path config('repository.generator.paths.transformers''Transformers');
                break;
            case (
'validators' === $class):
                
$path config('repository.generator.paths.validators''Validators');
                break;
            case (
'controllers' === $class):
                
$path config('repository.generator.paths.controllers''Http\Controllers');
                break;
            case (
'provider' === $class):
                
$path config('repository.generator.paths.provider''RepositoryServiceProvider');
                break;
            case (
'criteria' === $class):
                
$path config('repository.generator.paths.criteria''Criteria');
                break;
            default:
                
$path '';
        }

        if (
$directoryPath) {
            
$path str_replace('\\''/'$path);
        } else {
            
$path str_replace('/''\\'$path);
        }


        return 
$path;
    }


    abstract public function 
getPathConfigNode();


    
/**
     * Get class namespace.
     *
     * @return string
     */
    
public function getNamespace()
    {
        
$segments $this->getSegments();
        
array_pop($segments);
        
$rootNamespace $this->getRootNamespace();
        if (
$rootNamespace == false) {
            return 
null;
        }

        return 
'namespace ' rtrim($rootNamespace '\\' implode('\\'$segments), '\\') . ';';
    }


    
/**
     * Setup some hook.
     *
     * @return void
     */
    
public function setUp()
    {
        
//
    
}


    
/**
     * Run the generator.
     *
     * @return int
     * @throws FileAlreadyExistsException
     */
    
public function run()
    {
        
$this->setUp();
        if (
$this->filesystem->exists($path $this->getPath()) && !$this->force) {
            throw new 
FileAlreadyExistsException($path);
        }
        if (!
$this->filesystem->isDirectory($dir dirname($path))) {
            
$this->filesystem->makeDirectory($dir0777truetrue);
        }

        return 
$this->filesystem->put($path$this->getStub());
    }


    
/**
     * Get options.
     *
     * @return string
     */
    
public function getOptions()
    {
        return 
$this->options;
    }


    
/**
     * Determinte whether the given key exist in options array.
     *
     * @param  string $key
     *
     * @return boolean
     */
    
public function hasOption($key)
    {
        return 
array_key_exists($key$this->options);
    }


    
/**
     * Get value from options by given key.
     *
     * @param  string      $key
     * @param  string|null $default
     *
     * @return string
     */
    
public function getOption($key$default null)
    {
        if (!
$this->hasOption($key)) {
            return 
$default;
        }

        return 
$this->options[$key] ?: $default;
    }


    
/**
     * Helper method for "getOption".
     *
     * @param  string      $key
     * @param  string|null $default
     *
     * @return string
     */
    
public function option($key$default null)
    {
        return 
$this->getOption($key$default);
    }


    
/**
     * Handle call to __get method.
     *
     * @param  string $key
     *
     * @return string|mixed
     */
    
public function __get($key)
    {
        if (
property_exists($this$key)) {
            return 
$this->{$key};
        }

        return 
$this->option($key);
    }
}

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