Controller.php 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Models\AppSession;
  4. use App\Models\Note;
  5. use App\Models\NoteTemplate;
  6. use App\Models\Pro;
  7. use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
  8. use Illuminate\Foundation\Bus\DispatchesJobs;
  9. use Illuminate\Foundation\Validation\ValidatesRequests;
  10. use Illuminate\Http\Request;
  11. use Illuminate\Routing\Controller as BaseController;
  12. use Illuminate\Support\Facades\Cookie;
  13. class Controller extends BaseController
  14. {
  15. use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
  16. protected $performer = null;
  17. protected $pro = null;
  18. public function __construct()
  19. {
  20. $this->performer = get_current_session();
  21. if($this->performer && $this->performer->pro) {
  22. $this->pro = $this->performer->pro;
  23. view()->share('pro', $this->performer->pro);
  24. }
  25. view()->share('performer', $this->performer);
  26. view()->share('pros', Pro::all());
  27. view()->share('notes', Note::all());
  28. $noteTemplates = NoteTemplate::all();
  29. view()->share('noteTemplates', $noteTemplates);
  30. }
  31. public function performer(){
  32. $sessionKey = Cookie::get('sessionKey');
  33. if ($sessionKey == null){
  34. throw new \Exception('No session key in cookie.');
  35. }
  36. $performer = AppSession::where('session_key', $sessionKey)->first();
  37. return $performer;
  38. }
  39. }