UserCache fix + style + websocket server fix
This commit is contained in:
parent
36ad10c8c8
commit
8d488a87f8
@ -14,19 +14,17 @@ use App\Room;
|
|||||||
use Illuminate\Support\Facades\Auth;
|
use Illuminate\Support\Facades\Auth;
|
||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
|
|
||||||
class UserClassesController extends Controller
|
class UserClassesController extends Controller {
|
||||||
{
|
public function index($groupBy = 'subject_id') {
|
||||||
public function index($groupBy='subject_id')
|
|
||||||
{
|
|
||||||
$user_id = Auth::id();
|
$user_id = Auth::id();
|
||||||
$subjects = Subject::where('user_id', $user_id)->get();
|
$subjects = Subject::where('user_id', $user_id)->get();
|
||||||
$subjects_ids = $subjects->pluck('id')->toArray();
|
$subjects_ids = $subjects->pluck('id')->toArray();
|
||||||
$classes = Classes::whereIn('subject_id', $subjects_ids)->orderBy('created_at','DESC')->get();
|
$classes = Classes::whereIn('subject_id', $subjects_ids)->orderBy('created_at', 'DESC')->get();
|
||||||
foreach($classes as $classes_item) {
|
foreach ($classes as $classes_item) {
|
||||||
$current_date = date('Y-m-d H:i:s');
|
$current_date = date('Y-m-d H:i:s');
|
||||||
$classes_date = $classes_item->created_at;
|
$classes_date = $classes_item->created_at;
|
||||||
$hours_difference = checkHoursDifference($classes_date, $current_date);
|
$hours_difference = checkHoursDifference($classes_date, $current_date);
|
||||||
if ($hours_difference > 1.5 ) {
|
if ($hours_difference > 1.5) {
|
||||||
$classes_item->classes_code = null;
|
$classes_item->classes_code = null;
|
||||||
$classes_item->save();
|
$classes_item->save();
|
||||||
$classes_item->refresh();
|
$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]);
|
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');
|
$subject_id = $request->input('subject_id');
|
||||||
$date = $request->input('date');
|
$date = $request->input('date');
|
||||||
$mode = $request->input('mode');
|
$mode = $request->input('mode');
|
||||||
$classes_id = Classes::create([
|
$classes_id = Classes::create([
|
||||||
'subject_id' => $subject_id,
|
'subject_id' => $subject_id,
|
||||||
'date' => $date,
|
'date' => $date,
|
||||||
'mode' => $mode
|
'mode' => $mode
|
||||||
@ -50,75 +47,30 @@ class UserClassesController extends Controller
|
|||||||
return redirect(route('user_start_classes', ['classes_id' => $classes_id]));
|
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();
|
Classes::find($classes_id)->delete();
|
||||||
return redirect()->back();
|
return redirect()->back();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function edit_classes($classes_id)
|
public function edit_classes($classes_id) {
|
||||||
{
|
|
||||||
Classes::find($classes_id);
|
Classes::find($classes_id);
|
||||||
return redirect()->back();
|
return redirect()->back();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function start_classes($classes_id)
|
public function start_classes($classes_id) {
|
||||||
{
|
|
||||||
$classes = Classes::find($classes_id);
|
$classes = Classes::find($classes_id);
|
||||||
$classes_code = $classes->classes_code;
|
$classes_code = $classes->classes_code;
|
||||||
if(!$classes_code){
|
if (!$classes_code) {
|
||||||
$classes_code = generateRandomString(10);
|
$classes_code = generateRandomString(10);
|
||||||
$classes->classes_code = $classes_code;
|
$classes->classes_code = $classes_code;
|
||||||
$classes->save();
|
$classes->save();
|
||||||
$classes->refresh();
|
$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]);
|
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_id_number = $request->input('student_id_number');
|
||||||
$student_name = $request->input('student_name');
|
$student_name = $request->input('student_name');
|
||||||
$student_surname = $request->input('student_surname');
|
$student_surname = $request->input('student_surname');
|
||||||
@ -129,7 +81,7 @@ class UserClassesController extends Controller
|
|||||||
$student_ids = $attendances->pluck('student_id_number')->toArray();
|
$student_ids = $attendances->pluck('student_id_number')->toArray();
|
||||||
$seat_numbers = $attendances->pluck('seat_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;
|
$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.';
|
$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]);
|
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');
|
$classes_id = $request->input('classes_id');
|
||||||
$student_id_number = $request->input('student_id_number');
|
$student_id_number = $request->input('student_id_number');
|
||||||
$student_name = $request->input('student_name');
|
$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]);
|
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')
|
public function preview_classes($classes_id, $orderBy = 'student_surname', $orderDirection = 'ASC') {
|
||||||
{
|
if (!$classes_id == 0) {
|
||||||
if(!$classes_id == 0) {
|
|
||||||
$classes = Classes::find($classes_id);
|
$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();
|
$seat_numbers = $attendances->pluck('seat_number')->toArray();
|
||||||
$subject = Subject::find($classes->subject_id);
|
$subject = Subject::find($classes->subject_id);
|
||||||
$room_arrangement = Room::find($subject->room_id)->arrangement;
|
$room_arrangement = Room::find($subject->room_id)->arrangement;
|
||||||
if(!$room_arrangement) {
|
if (!$room_arrangement) {
|
||||||
$room_arrangement = Room::where('name', 'Inna sala')->first()->arrangement;
|
$room_arrangement = Room::where('name', 'Inna sala')->first()->arrangement;
|
||||||
}
|
}
|
||||||
$room_rows = count(explode("++", $room_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;
|
$multi_parts = true;
|
||||||
$parts_number = ceil($room_rows/4);
|
$parts_number = ceil($room_rows / 4);
|
||||||
} else {
|
} else {
|
||||||
$multi_parts = false;
|
$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]);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,41 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Http\Controllers;
|
|
||||||
|
|
||||||
use Illuminate\Http\Request;
|
|
||||||
use Illuminate\Support\Facades\DB;
|
|
||||||
|
|
||||||
class UserCache extends Controller
|
|
||||||
{
|
|
||||||
public function delete($classes_code) {
|
|
||||||
DB::table("usercache")->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);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,48 +1,45 @@
|
|||||||
const WebSocket = require('ws');
|
const WebSocket = require('ws');
|
||||||
var http = require('http');
|
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 = [];
|
var lookup = [];
|
||||||
|
|
||||||
wss.on('connection', function connection(ws) {
|
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"});
|
response.writeHead(200, {"Content-Type": "text\plain"});
|
||||||
request.setEncoding('utf8');
|
request.setEncoding('utf8');
|
||||||
|
|
||||||
if(request.method == "POST") {
|
if (request.method === "POST") {
|
||||||
var body = '';
|
var body = '';
|
||||||
request.on('data', function (chunk) {
|
request.on('data', function (chunk) {
|
||||||
body += chunk;
|
body += chunk;
|
||||||
});
|
});
|
||||||
request.on('end', function () {
|
request.on('end', function () {
|
||||||
body = JSON.parse(body);
|
body = JSON.parse(body);
|
||||||
console.log(body);
|
console.log(body);
|
||||||
console.log(lookup);
|
console.log(lookup);
|
||||||
var send_array = {
|
var send_array = {
|
||||||
"type":"data",
|
"type": "data",
|
||||||
"id":body.student_index,
|
"id": body.student_index,
|
||||||
"name":body.student_name,
|
"name": body.student_name,
|
||||||
"surname":body.student_surname,
|
"surname": body.student_surname,
|
||||||
"classes_code": body.classes_code
|
"classes_code": body.classes_code
|
||||||
};
|
};
|
||||||
lookup[body.classes_code].send(JSON.stringify(send_array));
|
lookup[body.classes_code].send(JSON.stringify(send_array));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
else
|
else {
|
||||||
{
|
response.end("Undefined request .");
|
||||||
response.end("Undefined request .");
|
}
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
/*wss.on('connection', function connection(ws) {
|
var http_port = 8889;
|
||||||
console.log(ws.protocol);
|
server.listen(http_port);
|
||||||
lookup[ws.protocol] = ws;
|
console.log("HTTP server running on port " + http_port);
|
||||||
});*/
|
|
||||||
|
|
||||||
server.listen(8889);
|
|
||||||
console.log("Server running on port 8889");
|
|
||||||
|
@ -17,9 +17,6 @@ Route::get('/', function () {
|
|||||||
Auth::routes();
|
Auth::routes();
|
||||||
|
|
||||||
Route::get('/home', 'HomeController@index')->name('home');
|
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()
|
Route::group(array('prefix' => 'admin', 'namespace' => 'Admin'), function()
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user