HEX
Server: nginx/1.28.1
System: Linux 10-41-63-61 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 00:40:06 UTC 2024 x86_64
User: www (1001)
PHP: 7.4.33
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/wwwroot/www.shooperm.com/Modules/GeneralSetting/Http/Controllers/MaintenanceController.php
<?php

namespace Modules\GeneralSetting\Http\Controllers;

use App\Traits\ImageStore;
use Brian2694\Toastr\Facades\Toastr;
use Exception;
use Illuminate\Contracts\Support\Renderable;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use Modules\GeneralSetting\Entities\GeneralSetting;

class MaintenanceController extends Controller
{
    public function __construct()
    {
        $this->middleware('maintenance_mode');
    }
    
    public function index()
    {
        $setting = GeneralSetting::select('maintenance_title', 'maintenance_subtitle', 'maintenance_banner', 'maintenance_status')->first();
        return view('generalsetting::maintenance.index',compact('setting'));
    }


    public function maintenanceAction(Request $request)
    {
        

        $request->validate([
            'title' => 'max:255',
            'subtitle' => 'max:255',
            'banner' => 'mimes:jpg,jpeg,png,svg,bmp',
            'status' => 'required'
        ]);


        try {

            $content = GeneralSetting::first();
            $banner = $content->maintenance_banner;
            if(isset($request->banner)) {
                ImageStore::deleteImage($content->maintenance_banner);
                $banner = ImageStore::saveSettingsImage($request->banner,1300,920);
            }
            $content->update([
                'maintenance_title' => $request->title,
                'maintenance_subtitle' => $request->subtitle,
                'maintenance_banner' => $banner,
                'maintenance_status' => $request->status,
            ]);
            Toastr::success(trans('common.operation_done_successfully'), trans('common.success'));
            return redirect()->back();
        } catch (Exception $e) {
            Toastr::error(trans('common.operation_failed'), trans('common.error'));
            return redirect()->back();
        }
    }
}