public function setUserMessageDetails() { $setMessageUsersDetails = array(); $setMessageUsersDetails['hasErrors'] = true; $setMessageUsersDetails['message'] = ''; $setMessageUsersDetails['data'] = ''; if (!count($_POST)) { $setMessageUsersDetails['message'] = 'No User and recipient details submitted.'; } else { //$input = Input::all(); $input = Common::formXssClean(); $rules = array('user_first_name' => array('Required', 'Regex:/[\\p{L}][\\p{L}\\- ]+/u', 'Max:50'), 'user_last_name' => array('Required', 'Regex:/[\\p{L}][\\p{L}\\- ]+/u', 'Max:50'), 'user_email' => 'Required|Email'); $messages = array('user_first_name.required' => "You need to tell us your name", 'user_last_name.required' => "You need to tell us your surname", 'user_email.required' => "You need to give us your email", 'user_email.email' => "Check your email's correct"); $validator = Validator::make($input, $rules, $messages); if ($validator->fails()) { $setMessageUsersDetails['data'] = $validator->messages()->toArray(); $setMessageUsersDetails['message'] = 'Details not submitted.'; } else { // Check if User already exist in our database $user = UserDetail::whereEmail($input['user_email'])->first(); // Create new User details if not if (empty($user)) { $user = new UserDetail(); } // Update the User details provided by the submitted data $user->email = $input['user_email']; $user->name = $input['user_first_name'] . ' ' . $input['user_last_name']; $user->first_name = $input['user_first_name']; $user->last_name = $input['user_last_name']; $user->email_optin = $input['email_optin']; // Save the database $user->save(); $setMessageUsersDetails['data']['user'] = $user->toArray(); $setMessageUsersDetails['message'] = 'User Details successfully submitted.'; // Create new Message details in the database $message = new MessageDetail(); // Get User for new Message $storedUser = $user->toArray(); // Associate User with new Message $message->user_id = $storedUser['id']; // save Message in database $message->message = $input['message']; // Save the database $message->save(); // Return json response $setMessageUsersDetails['hasErrors'] = false; $setMessageUsersDetails['data']['message'] = $message->toArray(); $setMessageUsersDetails['message'] .= 'Details successfully submitted.'; } } if (Request::ajax()) { return Response::json($setMessageUsersDetails); } else { $page_details = array('title' => 'Laravel home', 'meta_description' => 'Laravel Skeleton description home', 'meta_keywords' => 'Laravel Skeleton keywords home', 'pageURL' => '/', 'twitter_description' => 'Laravel Skeleton twitter description home', 'fb_description' => 'Laravel Skeleton fb description home'); $current_page_details = Common::setPageDetails($page_details); return View::make('layouts/default')->with('template', 'home')->with('page_details', $current_page_details)->with('response_data', $setMessageUsersDetails); } }