ContactController.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?php
  2. namespace App\Http\Controllers;
  3. use Illuminate\Http\Request;
  4. use Auth;
  5. use App\Contact;
  6. class ContactController extends Controller
  7. {
  8. public function show(Request $request)
  9. {
  10. return view('site.contact');
  11. }
  12. public function store(Request $request)
  13. {
  14. abort_if(!Auth::check(), 403);
  15. $this->validate($request, [
  16. 'message' => 'required|string|min:5|max:500',
  17. 'request_response' => 'string|max:3'
  18. ]);
  19. $message = $request->input('message');
  20. $request_response = $request->input('request_response') == 'on' ? true : false;
  21. $user = Auth::user();
  22. $contact = Contact::whereUserId($user->id)
  23. ->whereDate('created_at', '>', now()->subDays(1))
  24. ->count();
  25. if($contact >= 2) {
  26. return redirect()->back()->with('error', 'You have recently sent a message. Please try again later.');
  27. }
  28. $contact = new Contact;
  29. $contact->user_id = $user->id;
  30. $contact->response_requested = $request_response;
  31. $contact->message = $message;
  32. $contact->save();
  33. return redirect()->back()->with('status', 'Success - Your message has been sent to admins.');
  34. }
  35. }