From b1c501e2f239ef6dcbf5e55e403834d793c6a0f6 Mon Sep 17 00:00:00 2001 From: Marvin Borner Date: Sat, 30 Jun 2018 23:44:50 +0200 Subject: Finished websocket integration --- app/Http/Controllers/SocketController.php | 44 +++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 app/Http/Controllers/SocketController.php (limited to 'app/Http/Controllers/SocketController.php') diff --git a/app/Http/Controllers/SocketController.php b/app/Http/Controllers/SocketController.php new file mode 100644 index 0000000..dc49fcf --- /dev/null +++ b/app/Http/Controllers/SocketController.php @@ -0,0 +1,44 @@ +<?php + +namespace App\Http\Controllers; + +use App\Http\Controllers\Controller; +use App\Message; +use Auth; +use Illuminate\Http\Request; +use LRedis; + +class SocketController extends Controller +{ + //Write Message + public function writeMessage() + { + $messages = Message::leftJoin('users', function ($join) { + $join->on('messages.user_id', '=', 'users.id'); + })->select( + 'users.name', 'messages.message')->orderBy('messages.created_at') + ->get(); + + return view('writeMessage', compact('messages')); + } + + //Send Message + public function sendMessage(Request $request) + { + $user = Auth::user(); + + $input = $request->all(); + $redis = LRedis::connection(); + + if (!isset($input['message']) || trim($input['message']) === '') { + } else { + Message::create([ + 'user_id' => $user->id, + 'message' => $input['message'], + ]); + + $data = ['message' => $input['message'], 'user' => $user->name]; + $redis->publish('message', json_encode($data)); + } + } +} -- cgit v1.2.3