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