설명 없음

SetDept.php 1.3KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. namespace App\Http\Middleware;
  3. use Closure;
  4. class SetDept
  5. {
  6. /**
  7. * Sets the department session variable to the desired department id or the default if none is set.
  8. *
  9. * @param \Illuminate\Http\Request $request
  10. * @param \Closure $next
  11. * @return mixed
  12. */
  13. public function handle($request, Closure $next)
  14. {
  15. if ($request->has('f')) {
  16. $data = $request->validate(['filter' => 'regex:/[df]/']);
  17. $request->session()->put('filter', $data['filter']);
  18. }
  19. if ($request->has('fclt')) {
  20. $data = $request->validate(['setfclt' => 'integer|exists:faculties,id']);
  21. $request->session()->put('faculty', $data['setfclt']);
  22. }
  23. if ($request->has('dept')) {
  24. $data = $request->validate(['setdept' => 'integer|exists:departments,id']);
  25. $request->session()->put('department', $data['setdept']);
  26. }
  27. if (!$request->session()->has('filter')) {
  28. $request->session()->put('filter', 'd');
  29. }
  30. if (!$request->session()->has('department')) {
  31. $default_dept_id = \App\Department::where('name', '=', 'BIOL')->first()->id;
  32. $request->session()->put('department', $default_dept_id);
  33. }
  34. return $next($request);
  35. }
  36. }