Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace AppControllerUser;
- use AppEntityUser;
- use AppFormUserEditUserType;
- use AppRepositoryUserRepository;
- use SymfonyBundleFrameworkBundleControllerController;
- use SymfonyComponentHttpFoundationRequest;
- use SymfonyComponentSecurityCoreEncoderUserPasswordEncoderInterface;
- class EditController extends Controller
- {
- public function edit(Request $request, UserPasswordEncoderInterface $encoder)
- {
- $userInfo = ['username' => null, 'plainPassword' => null, 'password' => null, 'email' => null];
- $form = $this->createForm(EditUserType::class, $userInfo);
- $form->handleRequest($request);
- $user = new User();
- $oldPassword = $user->getPassword();
- if ($form->isSubmitted() && $form->isValid()) {
- $userInfo = $form->getData();
- $username = $userInfo['username'];
- $email = $userInfo['email'];
- $newPass = $userInfo['plainPassword'];
- $oldPass = $userInfo['password'];
- $encryptOldPass = $encoder->encodePassword($user, $oldPass);
- if ($oldPassword === $encryptOldPass) {
- $this->addFlash('danger', $oldPass. ' ' .$encryptOldPass. ' ' .$oldPassword);
- return $this->redirectToRoute('user_edit');
- } else {
- $this->addFlash('success', $oldPassword. '-' .$encryptOldPass);
- return $this->redirectToRoute('user_edit');
- }
- $pass = $encoder->encodePassword($user, $newPass);
- $user->setPassword($pass);
- $user->setEmail($email);
- $user->setUsername($username);
- echo 'trey was here';
- $this->addFlash('success', 'User Details Edited');
- return $this->redirectToRoute('user_edit');
- }
- return $this->render('user/edit.html.twig', array('form' => $form->createView()));
- }
- }
- <?php
- namespace AppFormUser;
- use SymfonyComponentFormAbstractType;
- use SymfonyComponentFormExtensionCoreTypeEmailType;
- use SymfonyComponentFormExtensionCoreTypePasswordType;
- use SymfonyComponentFormExtensionCoreTypeRepeatedType;
- use SymfonyComponentFormExtensionCoreTypeTextType;
- use SymfonyComponentFormFormBuilderInterface;
- use SymfonyComponentOptionsResolverOptionsResolver;
- class EditUserType extends AbstractType
- {
- public function buildForm(FormBuilderInterface $builder, array $options)
- {
- $builder->add('email', EmailType::class)
- ->add('username', TextType::class)
- ->add('password', PasswordType::class, array())
- ->add('plainPassword', RepeatedType::class, array(
- 'type' => PasswordType::class,
- 'first_options' => array('label' => 'New Password'),
- 'second_options' => array('label' => 'New Repeat Password')
- ));
- }
- public function configureOptions(OptionsResolver $resolver)
- {
- $resolver->setDefaults(array());
- }
- }
- AppFormUserEditUserType:
- properties:
- oldPassword:
- - SymfonyComponentSecurityCoreValidatorConstraintsUserPassword:
- message: 'Invalid Password'
- {% include 'builder/header.html.twig' %}
- <div class="user-container" id="user-content">
- {% block body %}
- {% include 'builder/notices.html.twig' %}
- <div class="user-container">
- <i class="fas fa-user-edit fa-5x"></i>
- </div>
- <hr />
- {{ form_start(form) }}
- {{ form_row(form.username, { 'attr': {'class': 'form-control', 'value': app.user.username} }) }}
- {{ form_row(form.email, { 'attr': {'class': 'form-control', 'value': app.user.email} }) }}
- {{ form_row(form.password, { 'attr': {'class': 'form-control'} }) }}
- {{ form_row(form.plainPassword.first, { 'attr': {'class': 'form-control'} }) }}
- {{ form_row(form.plainPassword.second, { 'attr': {'class': 'form-control'} }) }}
- <div class="register-btn-container">
- <button class="btn btn-danger" id="return-to-dash-btn" type="button">Cancel!</button>
- <button class="btn btn-primary" type="submit">Update!</button>
- </div>
- {{ form_end(form) }}
- {% endblock %}
- </div>
- {% include 'builder/footer.html.twig' %}
Add Comment
Please, Sign In to add comment