!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)

/uploads/script/vendor/nunomaduro/larastan/src/Properties/   drwxr-xr-x
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:     MigrationHelper.php (2.4 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

declare(strict_types=1);

namespace 
NunoMaduro\Larastan\Properties;

use 
PHPStan\File\FileHelper;
use 
PHPStan\Parser\CachedParser;
use 
RecursiveDirectoryIterator;
use 
RecursiveIteratorIterator;
use 
RegexIterator;
use 
SplFileInfo;

class 
MigrationHelper
{
    
/** @var CachedParser */
    
private $parser;

    
/** @var string[] */
    
private $databaseMigrationPath;

    
/** @var string */
    
private $currentWorkingDirectory;

    
/**
     * @param string[] $databaseMigrationPath
     */
    
public function __construct(CachedParser $parserstring $currentWorkingDirectory, array $databaseMigrationPath)
    {
        
$this->parser $parser;
        
$this->databaseMigrationPath $databaseMigrationPath;
        
$this->currentWorkingDirectory $currentWorkingDirectory;
    }

    
/**
     * @return array<string, SchemaTable>
     */
    
public function initializeTables(): array
    {
        if (empty(
$this->databaseMigrationPath)) {
            
$this->databaseMigrationPath = [database_path('migrations')];
        }

        
$schemaAggregator = new SchemaAggregator();
        
$filesArray $this->getMigrationFiles();

        if (empty(
$filesArray)) {
            return [];
        }

        
ksort($filesArray);

        
$this->requireFiles($filesArray);

        foreach (
$filesArray as $file) {
            
$schemaAggregator->addStatements($this->parser->parseFile($file->getPathname()));
        }

        return 
$schemaAggregator->tables;
    }

    
/**
     * @return SplFileInfo[]
     */
    
private function getMigrationFiles(): array
    {
        
$migrationFiles = [];

        foreach (
$this->databaseMigrationPath as $additionalPath) {
            
$absolutePath $this->getFileHelper()->absolutizePath($additionalPath);
            if (
is_dir($absolutePath)) {
                
$migrationFiles += iterator_to_array(
                    new 
RegexIterator(
                        new 
RecursiveIteratorIterator(new RecursiveDirectoryIterator($absolutePath)),
                        
'/\.php$/i'
                    
)
                );
            }
        }

        return 
$migrationFiles;
    }

    
/**
     * @param SplFileInfo[] $files
     */
    
private function requireFiles(array $files): void
    
{
        foreach (
$files as $file) {
            require_once 
$file;
        }
    }

    private function 
getFileHelper(): FileHelper
    
{
        return new 
FileHelper($this->currentWorkingDirectory);
    }
}

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