JFIF  x x C         C     "        } !1AQa "q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz        w !1AQ aq"2B #3Rbr{ gilour

File "AboutUsController.php"

Full Path: /var/www/laravel_filter/Modules/Page/Http/Controllers/AboutUsController.php
File size: 4.53 KB
MIME-type: text/x-php
Charset: utf-8

<?php

namespace Modules\Page\Http\Controllers;

use Illuminate\Contracts\Support\Renderable;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use Modules\Page\Entities\AboutUs;
use Modules\Page\Entities\AboutUsTranslation;
use Image, File, Str;

class AboutUsController extends Controller
{

    public function __construct()
    {
        $this->middleware('auth:admin');
    }

    public function index(Request $request)
    {
        $about_us = AboutUs::first();
        $translate = AboutUsTranslation::where('lang_code', $request->lang_code)->first();

        return view('page::about_us', compact('about_us','translate'));
    }


    public function update(Request $request)
    {
        $rules = [
            'header'=>'required',
            'title'=>'required',
            'description'=>'required',
            'ceo_name'=>'required',
            'ceo_designation'=>'required',
        ];
        $customMessages = [
            'header.required' => trans('admin_validation.Header is required'),
            'title.required' => trans('admin_validation.Title is required'),
            'description.required' => trans('admin_validation.Description is required'),
            'ceo_name.required' => trans('admin_validation.CEO name is required'),
            'ceo_designation.required' => trans('admin_validation.CEO designation is required'),
        ];
        $request->validate($rules,$customMessages);

        $about_us = AboutUs::first();

        if($request->about_image){
            $old_image = $about_us->about_image;
            $image_name = 'about-us'.date('-Y-m-d-h-i-s-').rand(999,9999).'.webp';
            $image_name ='uploads/website-images/'.$image_name;
            Image::make($request->about_image)
                ->encode('webp', 80)
                ->save(public_path().'/'.$image_name);
            $about_us->about_image = $image_name;
            $about_us->save();

            if($old_image){
                if(File::exists(public_path().'/'.$old_image))unlink(public_path().'/'.$old_image);
            }
        }

        if($request->ceo_avatar){
            $old_image = $about_us->ceo_avatar;
            $image_name = 'ceo-avatar'.date('-Y-m-d-h-i-s-').rand(999,9999).'.webp';
            $image_name ='uploads/website-images/'.$image_name;
            Image::make($request->ceo_avatar)
                ->encode('webp', 80)
                ->save(public_path().'/'.$image_name);
            $about_us->ceo_avatar = $image_name;
            $about_us->save();

            if($old_image){
                if(File::exists(public_path().'/'.$old_image))unlink(public_path().'/'.$old_image);
            }
        }

        if($request->ceo_signeture){
            $old_image = $about_us->ceo_signeture;
            $image_name = 'ceo-signature'.date('-Y-m-d-h-i-s-').rand(999,9999).'.webp';
            $image_name ='uploads/website-images/'.$image_name;
            Image::make($request->ceo_signeture)
                ->encode('webp', 80)
                ->save(public_path().'/'.$image_name);
            $about_us->ceo_signeture = $image_name;
            $about_us->save();

            if($old_image){
                if(File::exists(public_path().'/'.$old_image))unlink(public_path().'/'.$old_image);
            }
        }

        $translate = AboutUsTranslation::where('lang_code', $request->lang_code)->first();
        $translate->header = $request->header;
        $translate->title = $request->title;
        $translate->description = $request->description;
        $translate->ceo_name = $request->ceo_name;
        $translate->ceo_designation = $request->ceo_designation;
        $translate->save();

        $notification= trans('admin_validation.Updated Successfully');
        $notification=array('messege'=>$notification,'alert-type'=>'success');
        return redirect()->back()->with($notification);

    }

    public function assign_language($lang_code){
        $about_translates = AboutUsTranslation::where('lang_code', admin_lang())->get();
        foreach($about_translates as $about_translate){
            $translate = new AboutUsTranslation();
            $translate->about_us_id = $about_translate->about_us_id;
            $translate->lang_code = $lang_code;
            $translate->header = $about_translate->header;
            $translate->title = $about_translate->title;
            $translate->description = $about_translate->description;
            $translate->ceo_name = $about_translate->ceo_name;
            $translate->ceo_designation = $about_translate->ceo_designation;
            $translate->save();
        }
    }

}