Uname: Linux business55.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64
Software: LiteSpeed
PHP version: 8.1.31 [ PHP INFO ] PHP os: Linux
Server Ip: 162.213.251.212
Your Ip: 3.16.15.215
User: allssztx (535) | Group: allssztx (533)
Safe Mode: OFF
Disable Function:
NONE

name : OtherVarientController.php
<?php

namespace App\Http\Controllers\admin;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Response;
use Illuminate\Support\Str;
use App\Models\Product;
use App\Models\ColorImage;
use App\Models\OtherVarient;

class OtherVarientController extends Controller
{
    //
    public function __construct()
    {
        $this->middleware('auth');
        $this->middleware('isAdmin');
    }

    public function index()
    {
        // Colors Images
        $data['varients'] = OtherVarient::all();

        // Product
        $data['products'] = Product::where('product_status', 1)->get();

        return view('admin/other_varient',$data);
    }

    public function insert(Request $req)
    {
        $validation = Validator::make($req->all(),[
            'proName' => 'required',
            'varient' => 'required',
            // 'varientImage1' => 'image|mimes:jpg,png,jpeg,PNG|max:15000',
            // 'varientImage2' => 'image|mimes:jpg,png,jpeg,PNG|max:15000',
        ],[
            'proName.required' => 'Select Product Name',
            'varient.required' => 'Select Yes or No',
            'varientImage1.image' => 'Varient 1st Image Must In Image Formate',
            'varientImage1.mimes' => 'Varient 1st Image Type In JPG, PNG & JPEG',
            'varientImage1.max' => 'Varient 1st Image Maximum Size Is 15 MB',
            'varientImage2.image' => 'Varient 2nd Image Must In Image Formate',
            'varientImage2.mimes' => 'Varient 2nd Image Type In JPG, PNG & JPEG',
            'varientImage2.max' => 'Varient 2nd Image Maximum Size Is 15 MB',
        ]);

        if (!$validation->passes()) 
        {
            return response()->json(['error'=>$validation->errors()]);
        }
        else
        {
            $AddImages = new OtherVarient;
            $AddImages->product_id = $req->proName;
            $AddImages->status_id = $req->varient;
            $AddImages->status = $req->Status;

            if($req->hasFile('varientImage1'))
            {
                $file = $req->file('varientImage1');
                $extension = $file->getClientOriginalExtension();
                $fileName = time().'.'.$extension;

                $file->storeAs('public/images',$fileName);
                $AddImages->image_1 = $fileName;
            }

            if($req->hasFile('varientImage2'))
            {
                $file = $req->file('varientImage2');
                $extension = $file->getClientOriginalExtension();
                $fileName = rand(1111,9999).'.'.$extension;

                $file->storeAs('public/images',$fileName);
                $AddImages->image_2 = $fileName;
            }

            $AddImages->save();
            return response()->json(['success'=>'Varient Upload Successfully']);
        }
    }

    public function update(Request $req)
    {
        $validation = Validator::make($req->all(),[
            'UpdtproName' => 'required',
            'UpdtvarientStatus' => 'required',
            // 'UpdtvarientImage1' => 'image|mimes:jpg,png,jpeg,PNG|max:15000',
            // 'UpdtvarientImage2' => 'image|mimes:jpg,png,jpeg,PNG|max:15000',
        ],[
            'UpdtproName.required' => 'Select Product Name',
            'UpdtvarientStatus.required' => 'Select Yes or No',
            'UpdtvarientImage1.image' => 'Varient 1st Image Must In Image Formate',
            'UpdtvarientImage1.mimes' => 'Varient 1st Image Type In JPG, PNG & JPEG',
            'UpdtvarientImage1.max' => 'Varient 1st Image Maximum Size Is 15 MB',
            'UpdtvarientImage2.image' => 'Varient 2nd Image Must In Image Formate',
            'UpdtvarientImage2.mimes' => 'Varient 2nd Image Type In JPG, PNG & JPEG',
            'UpdtvarientImage2.max' => 'Varient 2nd Image Maximum Size Is 15 MB',
        ]);

        if(!$validation->passes())
        {
            return response()->json(['error'=>$validation->errors()]);
        }
        else
        {
            $id = $req->UpdtvarientId;
            $UpdateImage = OtherVarient::find($id);
            $UpdateImage->product_id = $req->UpdtproName;
            $UpdateImage->status_id = $req->UpdtvarientStatus;
            $UpdateImage->status = $req->updtStatus;

            if($req->hasFile('UpdtvarientImage1'))
            {
                $file = $req->file('UpdtvarientImage1');
                $extension = $file->getClientOriginalExtension();
                $fileName = time().'.'.$extension;

                $file->storeAs('public/images',$fileName);
                $UpdateImage->image_1 = $fileName;

                if($req->PrevvarientImage1)
                {
                    unlink(public_path('storage/images/'.$req->PrevvarientImage1));
                }
            }
            elseif($req->removevarientImage1 == true)
            {
                $UpdateImage->image_1 = null;
            }
            else
            {
                $UpdateImage->image_1 = $req->PrevvarientImage1;
            }

            if($req->hasFile('UpdtvarientImage2'))
            {
                $file = $req->file('UpdtvarientImage2');
                $extension = $file->getClientOriginalExtension();
                $fileName = rand(1111,9999).'.'.$extension;

                $file->storeAs('public/images',$fileName);
                $UpdateImage->image_2 = $fileName;

                if($req->PrevvarientImage2)
                {
                    unlink(public_path('storage/images/'.$req->PrevvarientImage2));
                }
            }
            elseif($req->removevarientImage2 == true)
            {
                $UpdateImage->image_2 = null;
            }
            else
            {
                $UpdateImage->image_2 = $req->PrevvarientImage2;
            }

            $UpdateImage->save();

            return response()->json(['success'=>'Varients Update Successfully']);
        }
    }

    public function delete(Request $req)
    {
        $id = $req->id;
        $DeleteColorImg = ColorImage::find($id);
        $DeleteColorImg->delete();
    }
}
© 2025 GrazzMean-Shell