From 8d488a87f879206a536bdbe76e1ebe8c0e6e8eef Mon Sep 17 00:00:00 2001 From: "barwie2@st.amu.edu.pl" Date: Sat, 18 Jan 2020 18:15:35 +0100 Subject: [PATCH] UserCache fix + style + websocket server fix --- .../User/UserClassesController.php | 92 +++++-------------- app/Http/Controllers/UserCache.php | 41 --------- atcheck-websocket/server.js | 69 +++++++------- routes/web.php | 3 - 4 files changed, 54 insertions(+), 151 deletions(-) delete mode 100644 app/Http/Controllers/UserCache.php diff --git a/app/Http/Controllers/User/UserClassesController.php b/app/Http/Controllers/User/UserClassesController.php index f20e4f4..221599c 100644 --- a/app/Http/Controllers/User/UserClassesController.php +++ b/app/Http/Controllers/User/UserClassesController.php @@ -14,19 +14,17 @@ use App\Room; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\DB; -class UserClassesController extends Controller -{ - public function index($groupBy='subject_id') - { +class UserClassesController extends Controller { + public function index($groupBy = 'subject_id') { $user_id = Auth::id(); $subjects = Subject::where('user_id', $user_id)->get(); $subjects_ids = $subjects->pluck('id')->toArray(); - $classes = Classes::whereIn('subject_id', $subjects_ids)->orderBy('created_at','DESC')->get(); - foreach($classes as $classes_item) { + $classes = Classes::whereIn('subject_id', $subjects_ids)->orderBy('created_at', 'DESC')->get(); + foreach ($classes as $classes_item) { $current_date = date('Y-m-d H:i:s'); $classes_date = $classes_item->created_at; $hours_difference = checkHoursDifference($classes_date, $current_date); - if ($hours_difference > 1.5 ) { + if ($hours_difference > 1.5) { $classes_item->classes_code = null; $classes_item->save(); $classes_item->refresh(); @@ -37,12 +35,11 @@ class UserClassesController extends Controller return view('user.user_classes', ['classes' => $classes, 'classes_grouped' => $classes_grouped, 'subjects' => $subjects, 'grouped_by' => $groupBy, 'defaultDate' => $defaultDate]); } - public function add_classes(Request $request) - { + public function add_classes(Request $request) { $subject_id = $request->input('subject_id'); $date = $request->input('date'); $mode = $request->input('mode'); - $classes_id = Classes::create([ + $classes_id = Classes::create([ 'subject_id' => $subject_id, 'date' => $date, 'mode' => $mode @@ -50,75 +47,30 @@ class UserClassesController extends Controller return redirect(route('user_start_classes', ['classes_id' => $classes_id])); } - public function delete_classes($classes_id) - { + public function delete_classes($classes_id) { Classes::find($classes_id)->delete(); return redirect()->back(); } - public function edit_classes($classes_id) - { + public function edit_classes($classes_id) { Classes::find($classes_id); return redirect()->back(); } - public function start_classes($classes_id) - { + public function start_classes($classes_id) { $classes = Classes::find($classes_id); $classes_code = $classes->classes_code; - if(!$classes_code){ + if (!$classes_code) { $classes_code = generateRandomString(10); $classes->classes_code = $classes_code; $classes->save(); $classes->refresh(); } -// $userCache = new UserCache(); -// $cache = $userCache->get($classes_code); -// if($cache) { -// $student_id_number = $cache->index; -// $student_name = $cache->name; -// $student_surname = $cache->surname; -// $classes = DB::table("classes")->where("classes_code", $cache->classcode)->first(); -// $attendances = Attendance::where('classes_id', $classes->id)->get(); -// $seat_numbers = $attendances->pluck('seat_number')->toArray(); -// $subject = Subject::find($classes->subject_id); -// -// if($classes->test_mode) { -// $room_capacity = Room::find($subject->room_id)->capacity; -// $random_seat = rand(1, $room_capacity); -// while(in_array($random_seat, $seat_numbers)) { -// $random_seat = rand(1, $room_capacity); -// } -// Attendance::create([ -// 'classes_id' => $classes->id, -// 'student_id_number' => $student_id_number, -// 'student_name' => $student_name, -// 'student_surname' => $student_surname, -// 'seat_number' => $random_seat -// ]); -// return view('map.summary_map', ['student_name' => $student_name, 'student_surname' => $student_surname, 'seat_number' => $random_seat, 'student_id_number' => $student_id_number, 'classes_id' => $classes->id]); -// } -// -// $room_arrangement = Room::find($subject->room_id)->arrangement; -// if(!$room_arrangement) { -// $room_arrangement = Room::where('name', 'Inna sala')->first()->arrangement; -// } -// $room_rows = count(explode("++", $room_arrangement)); -// if($room_rows > 4) { //max 4 rows on one page -// $multi_parts = true; -// $parts_number = ceil($room_rows/4); -// } else { -// $multi_parts = false; -// } -// $userCache->delete($cache->classcode); -// return view('map.seat_map', ['student_name' => $student_name, 'student_surname' => $student_surname, 'student_id_number' => $student_id_number, 'classes_id' => $classes->id, 'seat_numbers' => $seat_numbers, 'room_arrangement' => $room_arrangement, 'multi_parts' => $multi_parts, 'parts_number' =>$parts_number]); -// } return view('map.start_map', ['classes_code' => $classes_code, 'classes' => $classes]); } - public function start_classes_verified(Request $request) - { + public function start_classes_verified(Request $request) { $student_id_number = $request->input('student_id_number'); $student_name = $request->input('student_name'); $student_surname = $request->input('student_surname'); @@ -129,7 +81,7 @@ class UserClassesController extends Controller $student_ids = $attendances->pluck('student_id_number')->toArray(); $seat_numbers = $attendances->pluck('seat_number')->toArray(); - if(in_array($student_id_number, $student_ids)) { // if student attendance record already exists + if (in_array($student_id_number, $student_ids)) { // if student attendance record already exists $student_seat_number = Attendance::where('student_id_number', $student_id_number)->first()->seat_number; $warning = 'Ten numer indeksu został już wcześniej zapisany na te zajęcia.'; return view('map.summary_map', ['student_name' => $student_name, 'student_surname' => $student_surname, 'seat_number' => $student_seat_number, 'student_id_number' => $student_id_number, 'classes_id' => $classes->id, 'mode' => $classes->mode, 'warning' => $warning]); @@ -183,8 +135,7 @@ class UserClassesController extends Controller } } - public function save_classes_data(Request $request) - { + public function save_classes_data(Request $request) { $classes_id = $request->input('classes_id'); $student_id_number = $request->input('student_id_number'); $student_name = $request->input('student_name'); @@ -200,25 +151,24 @@ class UserClassesController extends Controller return view('map.summary_map', ['student_name' => $student_name, 'student_surname' => $student_surname, 'seat_number' => $seat_number, 'student_id_number' => $student_id_number, 'classes_id' => $classes_id, 'mode' => null, 'warning' => null]); } - public function preview_classes($classes_id, $orderBy='student_surname', $orderDirection='ASC') - { - if(!$classes_id == 0) { + public function preview_classes($classes_id, $orderBy = 'student_surname', $orderDirection = 'ASC') { + if (!$classes_id == 0) { $classes = Classes::find($classes_id); - $attendances = Attendance::where('classes_id', $classes->id)->orderBy($orderBy,$orderDirection)->get(); + $attendances = Attendance::where('classes_id', $classes->id)->orderBy($orderBy, $orderDirection)->get(); $seat_numbers = $attendances->pluck('seat_number')->toArray(); $subject = Subject::find($classes->subject_id); $room_arrangement = Room::find($subject->room_id)->arrangement; - if(!$room_arrangement) { + if (!$room_arrangement) { $room_arrangement = Room::where('name', 'Inna sala')->first()->arrangement; } $room_rows = count(explode("++", $room_arrangement)); - if($room_rows > 4) { //max 4 rows on one page + if ($room_rows > 4) { //max 4 rows on one page $multi_parts = true; - $parts_number = ceil($room_rows/4); + $parts_number = ceil($room_rows / 4); } else { $multi_parts = false; } - return view('user.user_preview_classes', ['classes_id' => $classes_id, 'room_arrangement' => $room_arrangement, 'attendances' => $attendances, 'seat_numbers' => $seat_numbers, 'orderBy' => $orderBy, 'orderDirection' => $orderDirection, 'multi_parts' => $multi_parts, 'parts_number' =>$parts_number]); + return view('user.user_preview_classes', ['classes_id' => $classes_id, 'room_arrangement' => $room_arrangement, 'attendances' => $attendances, 'seat_numbers' => $seat_numbers, 'orderBy' => $orderBy, 'orderDirection' => $orderDirection, 'multi_parts' => $multi_parts, 'parts_number' => $parts_number]); } } diff --git a/app/Http/Controllers/UserCache.php b/app/Http/Controllers/UserCache.php deleted file mode 100644 index 69f53ba..0000000 --- a/app/Http/Controllers/UserCache.php +++ /dev/null @@ -1,41 +0,0 @@ -where("classcode", $classes_code)->delete(); - } - - public function get($classes_code) { - $object = DB::table("usercache")->where("classcode", $classes_code)->first(); - return $object; - } - - public function add(Request $request) { - $classes_code = $request->classes_code; - $classes = DB::table("classes")->where("classes_code", $classes_code)->first(); - - if(is_null($classes)) { - return response()->json(['message' => 'Nie ma takich zajęć'], 400); - } else { - $cache = DB::table("usercache")->where("classcode", $classes_code)->first(); - if(!is_null($cache)) { - return response()->json(['message' => 'Użytkownik w cache'], 500); - } - } - - DB::table("usercache")->insert([ - "name" => $request->student_name, - "surname" => $request->student_surname, - "classcode" => $request->classes_code, - "index" => $request->student_index - ]); - - return response()->json(['message' => 'ADDED'], 200); - } -} diff --git a/atcheck-websocket/server.js b/atcheck-websocket/server.js index f2cb847..a39afbf 100644 --- a/atcheck-websocket/server.js +++ b/atcheck-websocket/server.js @@ -1,48 +1,45 @@ const WebSocket = require('ws'); var http = require('http'); -const wss = new WebSocket.Server({ port: 8888 }); +var websocket_port = 8888; +const wss = new WebSocket.Server({port: websocket_port}); +console.log("Websocket server running on port " + websocket_port); + var lookup = []; wss.on('connection', function connection(ws) { - console.log(ws.protocol); - lookup[ws.protocol] = ws; + lookup[ws.protocol] = ws; }); -var server = http.createServer ( function(request,response){ +var server = http.createServer(function (request, response) { -response.writeHead(200,{"Content-Type":"text\plain"}); - request.setEncoding('utf8'); + response.writeHead(200, {"Content-Type": "text\plain"}); + request.setEncoding('utf8'); - if(request.method == "POST") { - var body = ''; - request.on('data', function (chunk) { - body += chunk; - }); - request.on('end', function () { - body = JSON.parse(body); - console.log(body); - console.log(lookup); - var send_array = { - "type":"data", - "id":body.student_index, - "name":body.student_name, - "surname":body.student_surname, - "classes_code": body.classes_code - }; - lookup[body.classes_code].send(JSON.stringify(send_array)); - }); - } - else - { - response.end("Undefined request ."); - } + if (request.method === "POST") { + var body = ''; + request.on('data', function (chunk) { + body += chunk; + }); + request.on('end', function () { + body = JSON.parse(body); + console.log(body); + console.log(lookup); + var send_array = { + "type": "data", + "id": body.student_index, + "name": body.student_name, + "surname": body.student_surname, + "classes_code": body.classes_code + }; + lookup[body.classes_code].send(JSON.stringify(send_array)); + }); + } + else { + response.end("Undefined request ."); + } }); -/*wss.on('connection', function connection(ws) { - console.log(ws.protocol); - lookup[ws.protocol] = ws; -});*/ - -server.listen(8889); -console.log("Server running on port 8889"); +var http_port = 8889; +server.listen(http_port); +console.log("HTTP server running on port " + http_port); diff --git a/routes/web.php b/routes/web.php index 2da9b17..e6aa08d 100644 --- a/routes/web.php +++ b/routes/web.php @@ -17,9 +17,6 @@ Route::get('/', function () { Auth::routes(); Route::get('/home', 'HomeController@index')->name('home'); -Route::post('/add/cache', 'UserCache@add'); -Route::post('/delete/cache', 'UserCache@delete'); - Route::group(array('prefix' => 'admin', 'namespace' => 'Admin'), function() {