public function getProfile($username)
 {
     $user = User::where('username', $username)->first();
     if (!$user) {
         abort(404);
     }
     $statuses = $user->statuses()->notReply()->get();
     return view('profile.index')->with('user', $user)->with('statuses', $statuses)->with('authUserIsFriend', Auth::user()->isFriendsWith($user));
 }
 public function postDelete($username)
 {
     $user = User::where('username', $username)->first();
     if (!Auth::user()->isFriendsWith($user)) {
         return redirect()->back();
     }
     Auth::user()->deletFriend($user);
     return redirect()->back()->with('info', 'Friend has been deleted');
 }
 public function getResults(Request $request)
 {
     $query = $request->input('query');
     if (!$query) {
         return redirect()->route('home');
     }
     $users = User::where(DB::raw("CONCAT(first_name, ' ', last_name)"), 'Like', "%{$query}%")->orWhere('username', "Like", "%{$query}%")->get();
     return view('search.results')->with('users', $users);
 }
 public function postSignup(Request $request)
 {
     $this->validate($request, ['email' => 'required|unique:users|email|max:255', 'username' => 'required|unique:users|alpha_dash|max:20', 'password' => 'required|min:6']);
     User::create(['email' => $request->input('email'), 'username' => $request->input('username'), 'password' => bcrypt($request->input('password'))]);
     return redirect()->route('home')->with('info', "Your account has been created, you may now sign in");
 }