%PDF- %GIF98; %PNG;
Server : ApacheSystem : 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 : |
<?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]);
}
}