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.32 [ PHP INFO ] PHP os: Linux
Server Ip: 162.213.251.212
Your Ip: 3.135.218.96
User: allssztx (535) | Group: allssztx (533)
Safe Mode: OFF
Disable Function:
NONE

name : ColorImageController.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\Color;
use App\Models\Product;
use App\Models\ColorImage;

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

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

        // Colors
        $data['colors'] = Color::all();

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

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

    public function insert(Request $req)
    {
        $validation = Validator::make($req->all(),[
            'proName' => 'required',
            'colorName' => 'required',
            // 'colorfrontImage' => 'image|mimes:jpg,png,jpeg,PNG|max:15000',
            // 'colorbackImage' => 'image|mimes:jpg,png,jpeg,PNG|max:15000',
            'colorImages[]' => 'image|mimes:jpg,png,jpeg|max:15000',
        ],[
            'proName.required' => 'Select Product Name',
            'colorName.required' => 'Select Color Name',
            'colorfrontImage.image' => 'Front Image Must In Image Formate',
            'colorfrontImage.mimes' => 'Front Image Type In JPG, PNG & JPEG',
            'colorfrontImage.max' => 'Front Image Maximum Size Is 15 MB',
            'colorbackImage.image' => 'Back Image Must In Image Formate',
            'colorbackImage.mimes' => 'Back Image Type In JPG, PNG & JPEG',
            'colorbackImage.max' => 'Back Image Maximum Size Is 15 MB',
            'colorImages.image' => 'Color Image Must In Image Formate',
            'colorImages.mimes' => 'Color Image Type In JPG, PNG & JPEG',
            'colorImages.max' => 'Color Image Maximum Size Is 15 MB',
        ]);

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

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

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

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

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

            // if($req->file('colorImages'))
            // {
            //     $gallery = [];
            //     foreach ($req->file('colorImages') as $key => $file) {

            //         $imageName = $file->getClientOriginalName();
            //         $file->storeAs('public/images',$imageName);
            //         $gallery[] = $imageName;
            //     }
            //     $images = json_encode($gallery);
            //     $AddImages->color_images = $images;
            // }

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

    public function update(Request $req)
    {
        $validation = Validator::make($req->all(),[
            'UpdtproName' => 'required',
            'UpdtcolorName' => 'required',
            // 'UpdtcolorfrontImage' => 'image|mimes:jpg,png,jpeg,PNG|max:15000',
            // 'UpdtcolorbackImage' => 'image|mimes:jpg,png,jpeg,PNG|max:15000',
            // 'UpdtcolorImages[]' => 'image|mimes:jpg,png,jpeg|max:15000',
        ],[
            'proName.required' => 'Select Product Name',
            'colorName.required' => 'Select Color Name',
            'UpdtcolorfrontImage.image' => 'Front Image Must In Image Formate',
            'UpdtcolorfrontImage.mimes' => 'Front Image Type In JPG, PNG & JPEG',
            'UpdtcolorfrontImage.max' => 'Front Image Maximum Size Is 15 MB',
            'UpdtcolorbackImage.image' => 'Back Image Must In Image Formate',
            'UpdtcolorbackImage.mimes' => 'Back Image Type In JPG, PNG & JPEG',
            'UpdtcolorbackImage.max' => 'Back Image Maximum Size Is 15 MB',
            'UpdtcolorImages.image' => 'Color Image Must In Image Formate',
            'UpdtcolorImages.mimes' => 'Color Image Type In JPG, PNG & JPEG',
            'UpdtcolorImages.max' => 'Color Image Maximum Size Is 15 MB',
        ]);

        if(!$validation->passes())
        {
            return response()->json(['error'=>$validation->errors()]);
        }
        else
        {
            $id = $req->UpdtcolImgId;
            $UpdateImage = ColorImage::find($id);
            $UpdateImage->product_id = $req->UpdtproName;
            $UpdateImage->color_id = $req->UpdtcolorName;
            $UpdateImage->status = $req->updtcolorStatus;

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

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

                if($req->PrevcolorfrontImage)
                {
                    unlink(public_path('storage/images/'.$req->PrevcolorfrontImage));
                }
            }
            elseif($req->removeColfImg == true)
            {
                $UpdateImage->color_front_image = null;
            }
            else
            {
                $UpdateImage->color_front_image = $req->PrevcolorfrontImage;
            }

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

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

                if($req->PrevcolorbackImage)
                {
                    unlink(public_path('storage/images/'.$req->PrevcolorbackImage));
                }
            }
            elseif($req->removeColbImg == true)
            {
                $UpdateImage->color_back_image = null;
            }
            else
            {
                $UpdateImage->color_back_image = $req->PrevcolorbackImage;
            }

            if($req->file('UpdtcolorImages'))
            {
                $gallery = [];
                foreach ($req->file('UpdtcolorImages') as $key => $file) {

                    $imageName = $file->getClientOriginalName();
                    $file->storeAs('public/images',$imageName);
                    $gallery[] = $imageName;
                }
                $images = json_encode($gallery);
                $UpdateImage->color_images = $images;
            }
            elseif($req->removeColImgs == true)
            {
                $UpdateImage->color_images = null;
            }
            else
            {
                $UpdateImage->color_images = $req->PrevcolorImages;
            }

            $UpdateImage->save();

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

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