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);
     }
 }
Пример #2
0
 /**
  * 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');
     }
 }
Пример #3
0
 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);
     }
 }