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.137.178.186
User: allssztx (535) | Group: allssztx (533)
Safe Mode: OFF
Disable Function:
NONE

name : BannerController.php
<?php

namespace App\Http\Controllers\admin;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Response;
use Illuminate\Support\Str;
use App\Models\Banner;
use Illuminate\Support\Facades\DB;
use League\CommonMark\Node\Block\Document;
use NunoMaduro\Collision\Contracts\Writer;
use Psy\Readline\Hoa\Console;

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

    public function addbannerform()
    {
        return view('admin/add_inner_banner');
    }

    public function banner()
    {
        $data['banner'] = Banner::all();
        
        return view('admin/inner_banner',$data);
    }

    public function addBanner(Request $req)
    {
        if($req->BannerStatus == true)
        {
            $status = 1;
        }
        else
        {
            $status = 0;
        }

        $validation = Validator::make($req->all(),[
            'BannerTitle'=>'required',
            'BannerImg[]' => 'image|mimes:jpg,png,jpeg|max:2048',
        ],[
            'BannerTitle.required'=>'Banner Heading Is Required',
            'BannerImg.image' => 'Product Gallery Image Must In Image Formate',
            'BannerImg.mimes' => 'Product Gallery Image Type In JPG, PNG & JPEG',
        ]);

        if(!$validation->passes())
        {
            return response()->json(['error'=>$validation->errors()]);
        }
        else
        {
            $AddBanner = new Banner;
            $AddBanner->banner_title = $req->BannerTitle;
            $AddBanner->banner_slug = Str::slug($req->BannerTitle);
            $AddBanner->banner_heading = $req->BannerHead;
            $AddBanner->banner_sub_heading = $req->BannerSub;
            $AddBanner->banner_description = $req->BannerDesc;
            $AddBanner->banner_price = $req->BannerPrice;
            $AddBanner->banner_status = $status;

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

                    $extension = $file->getClientOriginalExtension();
                    $fileName = rand(1111,9999).'.'.$extension;
                    $file->storeAs('public/images',$fileName);
                    $gallery[] = $fileName;
                }
                $images = json_encode($gallery);
                $AddBanner->banner_image = $images;
            }

            // if($req->hasFile('BannerVideo'))
            // {
            //     $file = $req->file('BannerVideo');
            //     // $extension = $file->getClientOriginalExtension();
            //     $fileName = $file->getClientOriginalName();

            //     $file->move('storage/images',$fileName);
            //     $AddBanner->banner_video = $fileName;
            // }

            $AddBanner->save();
            return response()->json(['success'=>'Banner Add Successfully..']);
        }
    }

    public function EditBanner($id)
    {
        $data['banner'] = banner::find($id);

        return view('admin.edit_inner_banner',$data);
    }

    public function updateBanner(Request $req)
    {
        $validation = Validator::make($req->all(),[
            'UpdtBannerTitle'=>'required',
            'UpdtBannerImg[]' => 'image|mimes:jpg,png,jpeg|max:2048',
        ],[
            'UpdtBannerTitle.required'=>'Banner Heading Is Required',
            'UpdtBannerImg.image' => 'Product Gallery Image Must In Image Formate',
            'UpdtBannerImg.mimes' => 'Product Gallery Image Type In JPG, PNG & JPEG',
        ]);

        if(!$validation->passes())
        {
            return response()->json(['error'=>$validation->errors()]);
        }
        else
        {
            $id = $req->BannerId;
            $UpdateBanner = Banner::find($id);
            $UpdateBanner->banner_title = $req->UpdtBannerTitle;
            $UpdateBanner->banner_slug = Str::slug($req->UpdtBannerTitle);
            $UpdateBanner->banner_heading = $req->UpdtBannerHead;
            $UpdateBanner->banner_sub_heading = $req->UpdtBannerSub;
            $UpdateBanner->banner_description = $req->UpdtBannerDesc;
            $UpdateBanner->banner_price = $req->UpdtBannerPrice;
            if($req->BannerStatus == true)

        
            {
                $status = 1;
            }
            else
            {
                $status = 0;
            }
            $UpdateBanner->banner_status = $status;

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

                    $extension = $file->getClientOriginalExtension();
                    $fileName = rand(1111,9999).'.'.$extension;
                    $file->storeAs('public/images',$fileName);
                    $gallery[] = $fileName;
                }
                $images = json_encode($gallery);
                $UpdateBanner->banner_image = $images;

                // if($req->PrevBannerImage)
                // {
                //     unlink(public_path('storage/images/'.$req->PrevBannerImage));
                // }
            }
            elseif($req->RemoveBannerImage == true)
            {
                $UpdateBanner->banner_image = null;
                if($req->PrevBannerImage)
                {
                    unlink(public_path('storage/images/'.$req->PrevBannerImage));
                }
            }
            else
            {
                $UpdateBanner->banner_image = $req->PrevBannerImage;
            }

            $UpdateBanner->save();
            return response()->json(['success'=>'Banner Updated Successfully..']);
        }
    }

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