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/SMSTemplateController.php
<?php

namespace Modules\GeneralSetting\Http\Controllers;

use Brian2694\Toastr\Facades\Toastr;
use Illuminate\Contracts\Support\Renderable;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use Modules\GeneralSetting\Services\SmsTemplateService;
use Modules\OrderManage\Repositories\DeliveryProcessRepository;
use Modules\Refund\Repositories\RefundProcessRepository;
use Modules\UserActivityLog\Traits\LogActivity;

class SMSTemplateController extends Controller
{
    protected $sms_template_service;
    public function __construct(SmsTemplateService $sms_template_service)
    {
        $this->middleware('maintenance_mode');
        $this->sms_template_service = $sms_template_service;
    }

    public function index(){
        $sms_templates = $this->sms_template_service->getSmsTemplates();
        return view('generalsetting::sms_templates.index', compact('sms_templates'));
    }

    public function create(){
        $data['sms_template_types'] = $this->sms_template_service->getSmsTemplateTypes();
        $orderDeliveryRepo = new DeliveryProcessRepository;
        $data['delivery_processes'] = $orderDeliveryRepo->getAll();
        $refundProcessRepo = new RefundProcessRepository;
        $data['refund_processes'] = $refundProcessRepo->getAll();
        return view('generalsetting::sms_templates.create', $data);
    }

    public function store(Request $request){
        try {
            if ($request->reciepnt_type == null) {

            Toastr::error(__('general_settings.please_select_valid_reciepent_to_create_template'));

                return back();
            }
            $this->sms_template_service->createTemplate($request->except('_token'));
            Toastr::success(__('common.created_successfully'),__('common.success'));
            LogActivity::successLog('SMS Templete create successful.');
            return redirect(route('sms_templates.index'));
        } catch (\Exception $e) {
            LogActivity::errorLog($e->getMessage());
            Toastr::error(__('common.error_message'));
            return back();
        }
    }

    public function edit($id){
        try {
            $sms_template = $this->sms_template_service->find($id);
            return view('generalsetting::sms_templates.edit', compact('sms_template'));
        } catch (\Exception $e) {
            LogActivity::errorLog($e->getMessage());
            Toastr::error(__('common.error_message'));
            return back();
        }
    }

    public function update(Request $request, $id){
        try {
            $this->sms_template_service->updateSmsTemplate($request->except('_token'), $id);
            Toastr::success(__('common.updated_successfully'),__('common.success'));
            LogActivity::successLog('SMS Templete update successful.');
            return redirect(route('sms_templates.index'));
        } catch (\Exception $e) {
            LogActivity::errorLog($e->getMessage());
            Toastr::error(__('common.error_message'));
            return back();
        }
    }

    public function update_status(Request $request){
        try {
            $result = $this->sms_template_service->updateSmsTemplateStatus($request->except('_token'));
            if($result == 1){
                LogActivity::successLog('SMS Templete status update successful.');
            }
            return $this->reload_with_data($result);
            
            
        } catch (\Exception $e) {
            LogActivity::errorLog($e->getMessage());
            return 0;
        }
    }

    private function reload_with_data($result){
        $sms_templates = $this->sms_template_service->getSmsTemplates();
        return response()->json([
            'msg' => $result,
            'list' => (string)view('generalsetting::sms_templates.components.list', compact('sms_templates'))
        ]);
    }
    
}