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/FrontendCMS/Http/Controllers/ContactContentController.php
<?php

namespace Modules\FrontendCMS\Http\Controllers;

use Brian2694\Toastr\Facades\Toastr;
use Illuminate\Contracts\Support\Renderable;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use Modules\FrontendCMS\Http\Requests\UpdateContactContentRequest;
use \Modules\FrontendCMS\Services\ContactContentService;
use \Modules\FrontendCMS\Services\QueryService;
use Exception;
use Modules\FrontendCMS\Http\Requests\QueryRequest;
use Modules\UserActivityLog\Traits\LogActivity;

class ContactContentController extends Controller
{
    protected $contactContentService;
    protected $queryService;

    public function __construct(ContactContentService $contactContentService, QueryService $queryService)
    {
        $this->middleware('maintenance_mode');
        $this->contactContentService = $contactContentService;
        $this->queryService = $queryService;
    }

    public function index()
    {
        try{
            $contactContent = $this->contactContentService->getAll();
            $QueryList = $this->queryService->getAll();
            return view('frontendcms::contact_content.index', compact('contactContent','QueryList'));
        }catch(Exception $e){
            LogActivity::errorLog($e->getMessage());
            return response()->json([
                'status'    =>  false,
                'message'   =>  $e->getMessage()
            ]);
        }


    }

    public function update(UpdateContactContentRequest $request)
    {
        try {
            $update = $this->contactContentService->update($request->only('mainTitle', 'subTitle', 'slug', 'email', 'description'), $request->id);
            LogActivity::successLog('contact content update successful.');
            return $update;

        } catch (Exception $e) {
            LogActivity::errorLog($e->getMessage());
            return response()->json([
                'status'    =>  false,
                'message'   =>  $e->getMessage()
            ]);
        }
    }

    public function queryCreate(){
        try {
            return response()->json([
                'editHtml' => (string)view('frontendcms::contact_content.components.create_query')
            ]);
        } catch (Exception $e) {
            LogActivity::errorLog($e->getMessage());
            return $e->getMessage();
        }
    }

    public function queryStore(QueryRequest $request){

        try{
            $this->queryService->save($request->only('name','status'));
            LogActivity::successLog('Query Added.');
        }catch(Exception $e){
            LogActivity::errorLog($e->getMessage());
            return $e->getMessage();
        }
        return $this->loadTableData();
    }

    public function status(Request $request)
    {
        try {
            $data = [
                'status' => $request->status == 1 ? 0 : 1
            ];
            $this->queryService->statusUpdate($data, $request->id);
            LogActivity::successLog('contact content status update');
        } catch (Exception $e) {
            LogActivity::errorLog($e->getMessage());
            return $e->getMessage();
        }
        return $this->loadTableData();
    }

    public function queryEdit($id){
        try {
            $query = $this->queryService->editById($id);
            return response()->json([
                'editHtml' => (string)view('frontendcms::contact_content.components.edit_query'),
                'data' => $query
            ]);
        } catch (Exception $e) {
            LogActivity::errorLog($e->getMessage());
            return $e->getMessage();
        }
    }

    public function queryUpdate(QueryRequest $request){

        try{
            $this->queryService->update($request->only('name','status'),$request->id);
            LogActivity::successLog('Query Updated.');
        }catch(Exception $e){
            LogActivity::errorLog($e->getMessage());
            return $e->getMessage();
        }
        return $this->loadTableData();
    }

    public function destroy(Request $request)
    {
        try {
            $this->queryService->deleteById($request->id);
            LogActivity::successLog('Query Deleted.');
        } catch (Exception $e) {
            LogActivity::errorLog($e->getMessage());
            return response()->json([
                'status'    =>  false,
                'message'   =>  $e->getMessage()
            ]);
        }

        return $this->loadTableData();
    }


    private function loadTableData()
    {

        try {
            $QueryList = $this->queryService->getAll();

            return response()->json([
                'TableData' =>  (string)view('frontendcms::contact_content.components.query_list', compact('QueryList'))
            ]);
        } catch (\Exception $e) {
            LogActivity::errorLog($e->getMessage());
            Toastr::error(__('common.operation_failed'));
            return back();
        }
    }
}