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); } }
/** * Store a newly created resource in storage. * * @return Response */ public function admin_store_user() { // Make sure user is admin if ($this->user->hasAccess('user.all')) { // Validate the create form $validator = Validator::make(Input::all(), array('email' => 'required|email|unique:users', 'first_name' => 'required', 'last_name' => 'required', 'company_name' => 'required', 'work_phone' => 'required', 'mobile_phone' => 'required', 'address' => 'required', 'city' => 'required', 'state' => 'required', 'zip' => 'required', 'country' => 'required')); if ($validator->fails()) { return Redirect::back()->withInput()->withErrors($validator); } else { // Create User with Session Values, UserDetail with Post Values try { // Set variables $email = Input::get('email'); $password = $this->generateStrongPassword(); // Create the user $user = Sentry::createUser(array('email' => $email, 'password' => $password, 'activated' => true)); // Find & Assign any groups to the user $group_client = Sentry::findGroupByName('client'); $group_staff = Sentry::findGroupByName('staff'); $group_admin = Sentry::findGroupByName('admin'); // Client group if (Input::has($group_client->name)) { $user->addGroup($group_client); } // Staff group if (Input::has($group_staff->name)) { $user->addGroup($group_staff); } // Admin group if (Input::has($group_admin->name)) { $user->addGroup($group_admin); } // Create UserDetail $user_detail = new UserDetail(); $user_detail->user_id = $user->id; $user_detail->first_name = Input::get('first_name'); $user_detail->last_name = Input::get('last_name'); $user_detail->company_name = Input::get('company_name'); $user_detail->address = Input::get('address'); $user_detail->address2 = Input::get('address2'); $user_detail->city = Input::get('city'); $user_detail->state = Input::get('state'); $user_detail->zip = Input::get('zip'); $user_detail->country = Input::get('country'); $user_detail->work_phone = Input::get('work_phone'); $user_detail->mobile_phone = Input::get('mobile_phone'); $user_detail->last_password_change = date("Y-m-d H:i:s"); $user_detail->save(); // User is created // Send Activation Email Mail::send('emails.auth.admin_creation_email', array('email' => $email, 'password' => $password), function ($message) use($email) { $message->to($email)->bcc('*****@*****.**', 'Web Administrator')->subject('ACME.dev Account Created'); }); } catch (Cartalyst\Sentry\Users\LoginRequiredException $e) { Session::flash('alert_danger', 'Email missing. User Creation Failed.'); return Redirect::back()->withInput(); } catch (Cartalyst\Sentry\Users\PasswordRequiredException $e) { Session::flash('alert_danger', 'Password missing. User Creation Failed.'); return Redirect::back()->withInput(); } catch (Cartalyst\Sentry\Users\UserExistsException $e) { Session::flash('alert_danger', 'Username Exists. User Creation Failed.'); return Redirect::back()->withInput(); } catch (Cartalyst\Sentry\Groups\GroupNotFoundException $e) { Session::flash('alert_danger', 'Group not found. User Creation Failed.'); return Redirect::back()->withInput(); } // Add password hash to used_passwords UsedPassword::create(array('user_id' => $user->id, 'password' => $user->password)); // Successfully created account Session::flash('alert_success', 'User Created Successfully.'); return Redirect::to('/user/' . $user->id); } } else { Session::flash('alert_danger', 'Access denied.'); return Redirect::to('/dashboard'); } }
public function actionIndex() { $user = Yii::app()->user->data(); $user_addresses = $user->addresses; $user_details = $user->details; $newaddress = null; $newdetail = null; $model = new AccountForm(); $current_address = null; if (count($user_addresses) > 0) { $current_address = end($user_addresses); } if (!$user_details) { $user_details = new UserDetail(); $user_details->id_user = $user->id; $user_details->save(); } $request = Yii::app()->request; $formData = $request->getPost(get_class($model), false); if ($formData) { $model->attributes = $formData; if ($model->hasErrors()) { Yii::app()->user->setFlash('error', Yii::t('translation', 'Save failed')); } else { $newaddress = new Address(); $newaddress->attributes = $formData; $newaddress->id_user = $user->id; $newdetail = new UserDetail(); $newdetail->name = $formData['name']; $newdetail->fiatcode = $formData['fiatcode']; $newdetail->timezone = $formData['timezone']; $newdetail->company = $formData['company']; $newdetail->countrycode = $formData['countrycode']; $newdetail->id_user = $user->id; $address_update = false; if ($current_address) { if ($current_address->compare($newaddress, array('line1', 'line2', 'region', 'city', 'postcode', 'countrycode')) > 0) { $address_update = true; } } if ($address_update || !$current_address) { if (!$newaddress->save()) { Yii::log($this->dump_to_string($newdetail->errors), 'error'); Yii::app()->user->setFlash('error', Yii::t('translation', 'Save failed')); return; } else { $user_addresses[] = $current_address; Yii::app()->user->setFlash('success', Yii::t('translation', 'Information updated')); $current_address = null; if (count($user_addresses) > 0) { $current_address = end($user_addresses); } } } $detail_update = false; if ($user_details->compare($newdetail, array('name', 'fiatcode', 'company')) > 0) { $detail_update = true; } if ($detail_update || !$user_details) { if (!$newdetail->save()) { Yii::log($this->dump_to_string($newdetail->errors), 'error'); Yii::app()->user->setFlash('error', Yii::t('translation', 'Save failed' . $this->dump_to_string($newdetail->errors))); } else { $user->details->name = $newdetail->name; $user->details->company = $newdetail->company; $user->details->fiatcode = $newdetail->fiatcode; $user->details->timezone = $newdetail->timezone; $user->details->save(); Yii::app()->user->setFlash('success', Yii::t('translation', 'Information updated')); } } } $user_details = $user->details; } $model->name = $user->name; $model->email = $user->email; if ($current_address) { $model->line1 = $current_address->line1; $model->line2 = $current_address->line2; $model->city = $current_address->city; $model->postcode = $current_address->postcode; $model->countrycode = $current_address->countrycode; } if ($user_details) { $model->name = $user_details->name; $model->fiatcode = $user_details->fiatcode; $model->timezone = $user_details->timezone; $model->company = $user_details->company; } $this->render('index', array('user' => $user, 'model' => $model)); }
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); } }