public function loadHistory(Request $request, $from, $to = null) { $currentUser = $this->auth->user(); if ($currentUser->is_admin) { if ($to === null) { abort(404); } } else { $to = $currentUser->id; } if (($dialog = Dialog::byUsers($from, $to)->first()) === null) { $messages = []; } else { $messages = Message::byDialog($dialog->id)->orderBy('created_at', 'asc')->get(); } $data = ['messages' => $messages, 'isAdmin' => $currentUser->is_admin]; if ($request->ajax()) { $viewName = 'chat._message'; } else { $viewName = 'chat.history'; $data['currentUser'] = $currentUser; } return view($viewName, $data); }