!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/notification/vendor/illuminate/database/Migrations/   drwxr-xr-x
Free 13.32 GB of 57.97 GB (22.97%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

namespace Illuminate\Database\Migrations;

use 
Closure;
use 
Illuminate\Filesystem\Filesystem;
use 
Illuminate\Support\Str;
use 
InvalidArgumentException;

class 
MigrationCreator
{
    
/**
     * The filesystem instance.
     *
     * @var \Illuminate\Filesystem\Filesystem
     */
    
protected $files;

    
/**
     * The custom app stubs directory.
     *
     * @var string
     */
    
protected $customStubPath;

    
/**
     * The registered post create hooks.
     *
     * @var array
     */
    
protected $postCreate = [];

    
/**
     * Create a new migration creator instance.
     *
     * @param  \Illuminate\Filesystem\Filesystem  $files
     * @param  string  $customStubPath
     * @return void
     */
    
public function __construct(Filesystem $files$customStubPath)
    {
        
$this->files $files;
        
$this->customStubPath $customStubPath;
    }

    
/**
     * Create a new migration at the given path.
     *
     * @param  string  $name
     * @param  string  $path
     * @param  string|null  $table
     * @param  bool  $create
     * @return string
     *
     * @throws \Exception
     */
    
public function create($name$path$table null$create false)
    {
        
$this->ensureMigrationDoesntAlreadyExist($name$path);

        
// First we will get the stub file for the migration, which serves as a type
        // of template for the migration. Once we have those we will populate the
        // various place-holders, save the file, and run the post create event.
        
$stub $this->getStub($table$create);

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

        
$this->files->ensureDirectoryExists(dirname($path));

        
$this->files->put(
            
$path$this->populateStub($stub$table)
        );

        
// Next, we will fire any hooks that are supposed to fire after a migration is
        // created. Once that is done we'll be ready to return the full path to the
        // migration file so it can be used however it's needed by the developer.
        
$this->firePostCreateHooks($table$path);

        return 
$path;
    }

    
/**
     * Ensure that a migration with the given name doesn't already exist.
     *
     * @param  string  $name
     * @param  string  $migrationPath
     * @return void
     *
     * @throws \InvalidArgumentException
     */
    
protected function ensureMigrationDoesntAlreadyExist($name$migrationPath null)
    {
        if (! empty(
$migrationPath)) {
            
$migrationFiles $this->files->glob($migrationPath.'/*.php');

            foreach (
$migrationFiles as $migrationFile) {
                
$this->files->requireOnce($migrationFile);
            }
        }

        if (
class_exists($className $this->getClassName($name))) {
            throw new 
InvalidArgumentException("A {$className} class already exists.");
        }
    }

    
/**
     * Get the migration stub file.
     *
     * @param  string|null  $table
     * @param  bool  $create
     * @return string
     */
    
protected function getStub($table$create)
    {
        if (
is_null($table)) {
            
$stub $this->files->exists($customPath $this->customStubPath.'/migration.stub')
                            ? 
$customPath
                            
$this->stubPath().'/migration.stub';
        } elseif (
$create) {
            
$stub $this->files->exists($customPath $this->customStubPath.'/migration.create.stub')
                            ? 
$customPath
                            
$this->stubPath().'/migration.create.stub';
        } else {
            
$stub $this->files->exists($customPath $this->customStubPath.'/migration.update.stub')
                            ? 
$customPath
                            
$this->stubPath().'/migration.update.stub';
        }

        return 
$this->files->get($stub);
    }

    
/**
     * Populate the place-holders in the migration stub.
     *
     * @param  string  $stub
     * @param  string|null  $table
     * @return string
     */
    
protected function populateStub($stub$table)
    {
        
// Here we will replace the table place-holders with the table specified by
        // the developer, which is useful for quickly creating a tables creation
        // or update migration from the console instead of typing it manually.
        
if (! is_null($table)) {
            
$stub str_replace(
                [
'DummyTable''{{ table }}''{{table}}'],
                
$table$stub
            
);
        }

        return 
$stub;
    }

    
/**
     * Get the class name of a migration name.
     *
     * @param  string  $name
     * @return string
     */
    
protected function getClassName($name)
    {
        return 
Str::studly($name);
    }

    
/**
     * Get the full path to the migration.
     *
     * @param  string  $name
     * @param  string  $path
     * @return string
     */
    
protected function getPath($name$path)
    {
        return 
$path.'/'.$this->getDatePrefix().'_'.$name.'.php';
    }

    
/**
     * Fire the registered post create hooks.
     *
     * @param  string|null  $table
     * @param  string  $path
     * @return void
     */
    
protected function firePostCreateHooks($table$path)
    {
        foreach (
$this->postCreate as $callback) {
            
$callback($table$path);
        }
    }

    
/**
     * Register a post migration create hook.
     *
     * @param  \Closure  $callback
     * @return void
     */
    
public function afterCreate(Closure $callback)
    {
        
$this->postCreate[] = $callback;
    }

    
/**
     * Get the date prefix for the migration.
     *
     * @return string
     */
    
protected function getDatePrefix()
    {
        return 
date('Y_m_d_His');
    }

    
/**
     * Get the path to the stubs.
     *
     * @return string
     */
    
public function stubPath()
    {
        return 
__DIR__.'/stubs';
    }

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

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

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

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