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); } }
public function setUserDetails() { $setUserDetails = array(); $setUserDetails['hasErrors'] = true; $setUserDetails['message'] = ''; $setUserDetails['data'] = ''; if (!count($_POST)) { $setUserDetails['message'] = 'No details submitted.'; } else { $rules = array('picture' => 'Required|Mimes:jpeg|Max:2048', 'image_title' => array('Required', 'Regex:/[\\p{L}\\-_ 0-9]+/u', 'Max:150'), '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|Unique:user_details,email'); $messages = array('picture.mimes' => "Sorry - our systems don't recognise the type of file you've uploaded. Please have another go with a jpg file", 'picture.max' => "Sorry - the file you've tried to upload is too big for our systems! Please have another go with a smaller jpg", 'image_title.required' => "Oops, your image doesn't have a title", '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' => "The provided email is not in a valid format", 'user_email.unique' => "The provided email is already being used", 'user_age_optin.required' => "You must be over 18 years of age"); $input = Common::formXssClean(); $validator = Validator::make($input, $rules, $messages); if ($validator->fails()) { $setUserDetails['data'] = $validator->messages()->toArray(); $setUserDetails['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->title = $input['user_title']; $user->email = $input['user_email']; $user->first_name = $input['user_first_name']; $user->last_name = $input['user_last_name']; $user->last_name = $input['user_last_name']; $user->email_optin = $input['email_optin']; // Save the user to database $user->save(); // Process the uploaded image $uploadedImagePath = null; if (Input::has('picture')) { $uploadedImagePath = Image::HandleImageUpload($input['picture']); } // Create the new user message $message_details = new MessageDetail(); // Update the Message details provided by the submitted data $message_details->user_id = $user->id; $message_details->filename = $uploadedImagePath; $message_details->title = $input['image_title']; $message_details->status = 'draft'; $message_details->winner = 'no'; $message_details->message = $input['message']; // Save the Message details to database $user->save(); // Send data to a third party data gathering service //$traction_added = Persil::post_traction_data($input, $this->url, $this->password); $setUserDetails['hasErrors'] = false; $setUserDetails['data'] = $user->toArray(); $setUserDetails['message'] = 'Details successfully submitted.'; $setUserDetails['data']['user_count'] = UserDetail::get_user_count(); $setUserDetails['data']['fb_share_img_url'] = false; // If new user has been created generate the tshirt if ($setUserDetails['data']['id'] > 0) { $setUserDetails['data']['fb_share_img_url'] = Image::generateShirt('uploads/tshirt.jpg', $user->last_name, $setUserDetails['data']['id']); } /* if(!$setUserDetails['data']['fb_share_img_url']){ $setUserDetails['data']['fb_share_img_url'] = '/images/favicons/logo_media.jpg'; } */ } } if (Request::ajax()) { return Response::json($setUserDetails); } else { $page_details = array('pageURL' => '/'); $current_page_details = Common::setPageDetails($page_details); return View::make('layouts/default')->with('template', 'index')->with('page_details', $current_page_details)->with('submit_data', $input)->with('response_data', $setUserDetails); } }