KUJUNTI.ID MINISH3LL
Path : /var/www/html/jewelry-pos/app/Http/Controllers/
(S)h3ll Cr3at0r :
F!le Upl0ad :

B-Con CMD Config cPanel C-Rdp D-Log Info Jump Mass Ransom Symlink vHost Zone-H

Current File : /var/www/html/jewelry-pos/app/Http/Controllers/SettingController.php


<?php

namespace App\Http\Controllers;

use App\Models\Setting;
use Illuminate\Http\Request;
use Intervention\Image\Facades\Image;

class SettingController extends Controller
{
    /**
     * Display a listing of the resource.
     */
    public function __construct()
    {
        $this->middleware('permission:setting-list' , ['only' => ['index']]);
        $this->middleware('permission:setting-create' , ['only' => ['create' , 'store']]);
        $this->middleware('permission:setting-edit' , ['only' => ['edit' , 'update']]);
        $this->middleware('permission:setting-delete' , ['only' => ['destroy']]);
    }

    public function index()
    {
        $settings = Setting::get();
        $settingInfo = count($settings);
        return view('settings.index', compact('settings', 'settingInfo'));
    }

    /**
     * Show the form for creating a new resource.
     */
    public function create()
    {
        return view('settings.create');
    }

    /**
     * Store a newly created resource in storage.
     */
    public function store(Request $request)
    {
        $request->validate(
            [
                'logo' => 'required',
                'name' => '',
            ]
        );
        $save_url = '';
        $save_url2 = '';
        if ($request->hasFile('logo')) {
            $image = $request->file('logo',);
            $name_gen = hexdec(uniqid()) . '.' . $image->getClientOriginalExtension(); //hexdec generate image
            Image::make($image)->resize(800, 800, function ($constraint) {
                $constraint->aspectRatio();
            })->save('images/system_logo/' . $name_gen);
            $save_url = 'images/system_logo/' . $name_gen;

            if ($request->hasFile('fav_icon')) {
                $image = $request->file('fav_icon',);
                $name_gen = hexdec(uniqid()) . '.' . $image->getClientOriginalExtension(); //hexdec generate image
                Image::make($image)->resize(800, 800, function ($constraint) {
                    $constraint->aspectRatio();
                })->save('images/system_logo/' . $name_gen);
                $save_url2 = 'images/system_logo/' . $name_gen;
            }
        }
        // elseif ($request->hasFile('fav_icon')) {
        //     $image = $request->file('fav_icon');
        //     $name_gen = hexdec(uniqid()) . '.' . $image->getClientOriginalExtension(); //hexdec generate image
        //     Image::make($image)->resize(800, 800, function ($constraint) {
            //     $constraint->aspectRatio();
            // })->save('images/system_logo/' . $name_gen);
        //     $save_url2 = 'images/system_logo/' . $name_gen;
        // }
        Setting::create([
            'logo' => $save_url,
            'fav_icon' => $save_url2,
            'shop_name' => $request->shop_name,
            'address' => $request->address,
            'phone' => $request->phone,
            'is_active' => $request->is_active ?? true,
        ]);
        return redirect()->route('settings.index')
            ->with('success', __('message.settings') . " " . __('message.updated successfully'));
    }

    /**
     * Display the specified resource.
     */
    public function show(Setting $settings)
    {
        //
    }

    /**
     * Show the form for editing the specified resource.
     */
    public function edit($id)
    {

        $setting = Setting::find($id);

        return view('settings.edit', compact('setting'));
    }

    /**
     * Update the specified resource in storage.
     */
    public function update(Request $request, $id)
    {
        $request->all();
        $setting = Setting::FindOrFail($id);
        $old_img = $request->old_image;
        $fav_old_img = $request->fav_old_img;
        $save_url = $setting->logo;
        $save_url2 = $setting->fav_icon;
        // if upload both
        if ($request->hasFile('logo')) {
            // @unlink($old_img);
            $image = $request->file('logo');
            $name_gen = hexdec(uniqid()) . '.' . $image->getClientOriginalExtension(); //hexdec generate image
            Image::make($image)->resize(800, 800, function ($constraint) {
                $constraint->aspectRatio();
            })->save('images/system_logo/' . $name_gen);
            $save_url = 'images/system_logo/' . $name_gen;

            if ($request->hasFile('fav_icon')) {
                // @unlink($fav_old_img);
                $image = $request->file('fav_icon',);
                $name_gen = hexdec(uniqid()) . '.' . $image->getClientOriginalExtension(); //hexdec generate image
                Image::make($image)->resize(800, 800, function ($constraint) {
                    $constraint->aspectRatio();
                })->save('images/system_logo/' . $name_gen);
                $save_url2 = 'images/system_logo/' . $name_gen;
            }
        // if upload one by one
        } elseif ($request->hasFile('fav_icon')) {
            // @unlink($fav_old_img);
            $image = $request->file('fav_icon',);
            $name_gen = hexdec(uniqid()) . '.' . $image->getClientOriginalExtension(); //hexdec generate image
            Image::make($image)->resize(800, 800, function ($constraint) {
                $constraint->aspectRatio();
            })->save('images/system_logo/' . $name_gen);
            $save_url2 = 'images/system_logo/' . $name_gen;
        }
        $setting->update([
            'logo' => $save_url,
            'fav_icon' => $save_url2,
            'shop_name' => $request->shop_name,
            'address' => $request->address,
            'phone' => $request->phone,
            'is_active' => $request->is_active ?? true,
        ]);
        return redirect()->route('settings.index')
            ->with('success', __('message.settings') . " " . __('message.updated successfully'));
    }

    /**
     * Remove the specified resource from storage.
     */
    public function destroy(Setting $settings)
    {
        //
    }
    public function inactive($id)
    {
        Setting::findOrFail($id)->update(['is_active' => 0]);
        return redirect()->route('settings.index')
            ->with('success', __('message.settings') . " " . __('message.is deactivated'));
    }

    public function active($id)
    {
        Setting::findOrFail($id)->update(['is_active' => 1]);
        return redirect()->route('settings.index')
            ->with('success', __('message.settings') . " " . __('message.is activated'));
    }
}

© KUJUNTI.ID