!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/maatwebsite/excel/src/Fakes/   drwxrwxrwx
Free 13.25 GB of 57.97 GB (22.86%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

namespace Maatwebsite\Excel\Fakes;

use 
Illuminate\Bus\Queueable;
use 
Illuminate\Contracts\Queue\ShouldQueue;
use 
Illuminate\Foundation\Bus\PendingDispatch;
use 
Illuminate\Support\Collection;
use 
Illuminate\Support\Facades\Queue;
use 
Maatwebsite\Excel\Exporter;
use 
Maatwebsite\Excel\Importer;
use 
Maatwebsite\Excel\Reader;
use 
PHPUnit\Framework\Assert;
use 
Symfony\Component\HttpFoundation\BinaryFileResponse;
use 
Symfony\Component\HttpFoundation\File\UploadedFile;

class 
ExcelFake implements ExporterImporter
{
    
/**
     * @var array
     */
    
protected $downloads = [];

    
/**
     * @var array
     */
    
protected $stored = [];

    
/**
     * @var array
     */
    
protected $queued = [];

    
/**
     * @var array
     */
    
protected $imported = [];

    
/**
     * @var bool
     */
    
protected $matchByRegex false;

    
/**
     * @var object|null
     */
    
protected $job;

    
/**
     * {@inheritdoc}
     */
    
public function download($exportstring $fileNamestring $writerType null, array $headers = [])
    {
        
$this->downloads[$fileName] = $export;

        return new 
BinaryFileResponse(__DIR__ '/fake_file');
    }

    
/**
     * {@inheritdoc}
     */
    
public function store($exportstring $filePathstring $disk nullstring $writerType null$diskOptions = [])
    {
        if (
$export instanceof ShouldQueue) {
            return 
$this->queue($export$filePath$disk$writerType);
        }

        
$this->stored[$disk ?? 'default'][$filePath] = $export;

        return 
true;
    }

    
/**
     * {@inheritdoc}
     */
    
public function queue($exportstring $filePathstring $disk nullstring $writerType null$diskOptions = [])
    {
        
Queue::fake();

        
$this->stored[$disk ?? 'default'][$filePath] = $export;
        
$this->queued[$disk ?? 'default'][$filePath] = $export;

        
$this->job = new class {
            use 
Queueable;

            public function 
handle()
            {
                
//
            
}
        };

        
Queue::push($this->job);

        return new 
PendingDispatch($this->job);
    }

    
/**
     * @param object $export
     * @param string $writerType
     *
     * @return string
     */
    
public function raw($exportstring $writerType)
    {
        return 
'RAW-CONTENTS';
    }

    
/**
     * @param object              $import
     * @param string|UploadedFile $file
     * @param string|null         $disk
     * @param string|null         $readerType
     *
     * @return Reader|PendingDispatch
     */
    
public function import($import$filestring $disk nullstring $readerType null)
    {
        if (
$import instanceof ShouldQueue) {
            return 
$this->queueImport($import$file$disk$readerType);
        }

        
$filePath = ($file instanceof UploadedFile) ? $file->getClientOriginalName() : $file;

        
$this->imported[$disk ?? 'default'][$filePath] = $import;

        return 
$this;
    }

    
/**
     * @param object              $import
     * @param string|UploadedFile $file
     * @param string|null         $disk
     * @param string|null         $readerType
     *
     * @return array
     */
    
public function toArray($import$filestring $disk nullstring $readerType null): array
    {
        
$filePath = ($file instanceof UploadedFile) ? $file->getFilename() : $file;

        
$this->imported[$disk ?? 'default'][$filePath] = $import;

        return [];
    }

    
/**
     * @param object              $import
     * @param string|UploadedFile $file
     * @param string|null         $disk
     * @param string|null         $readerType
     *
     * @return Collection
     */
    
public function toCollection($import$filestring $disk nullstring $readerType null): Collection
    
{
        
$filePath = ($file instanceof UploadedFile) ? $file->getFilename() : $file;

        
$this->imported[$disk ?? 'default'][$filePath] = $import;

        return new 
Collection();
    }

    
/**
     * @param ShouldQueue         $import
     * @param string|UploadedFile $file
     * @param string|null         $disk
     * @param string              $readerType
     *
     * @return PendingDispatch
     */
    
public function queueImport(ShouldQueue $import$filestring $disk nullstring $readerType null)
    {
        
Queue::fake();

        
$filePath = ($file instanceof UploadedFile) ? $file->getFilename() : $file;

        
$this->queued[$disk ?? 'default'][$filePath]   = $import;
        
$this->imported[$disk ?? 'default'][$filePath] = $import;

        return new 
PendingDispatch(new class {
            use 
Queueable;

            public function 
handle()
            {
                
//
            
}
        });
    }

    
/**
     * When asserting downloaded, stored, queued or imported, use regular expression
     * to look for a matching file path.
     *
     * @return void
     */
    
public function matchByRegex()
    {
        
$this->matchByRegex true;
    }

    
/**
     * When asserting downloaded, stored, queued or imported, use regular string
     * comparison for matching file path.
     *
     * @return void
     */
    
public function doNotMatchByRegex()
    {
        
$this->matchByRegex false;
    }

    
/**
     * @param string        $fileName
     * @param callable|null $callback
     */
    
public function assertDownloaded(string $fileName$callback null)
    {
        
$fileName $this->assertArrayHasKey($fileName$this->downloadssprintf('%s is not downloaded'$fileName));

        
$callback $callback ?: function () {
            return 
true;
        };

        
Assert::assertTrue(
            
$callback($this->downloads[$fileName]),
            
"The file [{$fileName}] was not downloaded with the expected data."
        
);
    }

    
/**
     * @param string               $filePath
     * @param string|callable|null $disk
     * @param callable|null        $callback
     */
    
public function assertStored(string $filePath$disk null$callback null)
    {
        if (
is_callable($disk)) {
            
$callback $disk;
            
$disk     null;
        }

        
$disk         $disk ?? 'default';
        
$storedOnDisk $this->stored[$disk] ?? [];

        
$filePath $this->assertArrayHasKey(
            
$filePath,
            
$storedOnDisk,
            
sprintf('%s is not stored on disk %s'$filePath$disk)
        );

        
$callback $callback ?: function () {
            return 
true;
        };

        
Assert::assertTrue(
            
$callback($storedOnDisk[$filePath]),
            
"The file [{$filePath}] was not stored with the expected data."
        
);
    }

    
/**
     * @param string               $filePath
     * @param string|callable|null $disk
     * @param callable|null        $callback
     */
    
public function assertQueued(string $filePath$disk null$callback null)
    {
        if (
is_callable($disk)) {
            
$callback $disk;
            
$disk     null;
        }

        
$disk          $disk ?? 'default';
        
$queuedForDisk $this->queued[$disk] ?? [];

        
$filePath $this->assertArrayHasKey(
            
$filePath,
            
$queuedForDisk,
            
sprintf('%s is not queued for export on disk %s'$filePath$disk)
        );

        
$callback $callback ?: function () {
            return 
true;
        };

        
Assert::assertTrue(
            
$callback($queuedForDisk[$filePath]),
            
"The file [{$filePath}] was not stored with the expected data."
        
);
    }

    public function 
assertQueuedWithChain($chain): void
    
{
        
Queue::assertPushedWithChain(get_class($this->job), $chain);
    }

    
/**
     * @param string               $filePath
     * @param string|callable|null $disk
     * @param callable|null        $callback
     */
    
public function assertImported(string $filePath$disk null$callback null)
    {
        if (
is_callable($disk)) {
            
$callback $disk;
            
$disk     null;
        }

        
$disk           $disk ?? 'default';
        
$importedOnDisk $this->imported[$disk] ?? [];

        
$filePath $this->assertArrayHasKey(
            
$filePath,
            
$importedOnDisk,
            
sprintf('%s is not stored on disk %s'$filePath$disk)
        );

        
$callback $callback ?: function () {
            return 
true;
        };

        
Assert::assertTrue(
            
$callback($importedOnDisk[$filePath]),
            
"The file [{$filePath}] was not imported with the expected data."
        
);
    }

    
/**
     * Asserts that an array has a specified key and returns the key if successful.
     * @see matchByRegex for more information about file path matching
     *
     * @param string    $key
     * @param array     $array
     * @param string    $message
     *
     * @return string
     *
     * @throws ExpectationFailedException
     * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException
     * @throws Exception
     */
    
protected function assertArrayHasKey(string $key, array $diskstring $message ''): string
    
{
        if (
$this->matchByRegex) {
            
$files   array_keys($disk);
            
$results preg_grep($key$files);
            
Assert::assertGreaterThan(0count($results), $message);
            
Assert::assertEquals(1count($results), "More than one result matches the file name expression '$key'.");

            return 
$results[0];
        }
        
Assert::assertArrayHasKey($key$disk$message);

        return 
$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.0162 ]--