]> git.agnieray.net Git - galette.git/commitdiff
Ensure self subscription captcha is not inspected as a password; closes #1478
authorJohan Cwiklinski <johan@x-tnd.be>
Sat, 22 Aug 2020 07:30:35 +0000 (09:30 +0200)
committerJohan Cwiklinski <johan@x-tnd.be>
Sat, 22 Aug 2020 07:30:35 +0000 (09:30 +0200)
galette/lib/Galette/Controllers/Crud/MembersController.php
galette/lib/Galette/Entity/FieldsConfig.php

index 43df6eb7380db4e7415238f686a04cd958f1c78c..b1b2510d366dd35eeb9d999b5ef4a97538625ac0 100644 (file)
@@ -1506,6 +1506,9 @@ class MembersController extends CrudController
                 || !crypt($post['mdp_adh'], $post['mdp_crypt']) == $post['mdp_crypt']
             ) {
                 $error_detected[] = __('Please repeat in the field the password shown in the image.');
+            } else {
+                unset($post['mdp_adh']);
+                unset($post['mdp_crypt']);
             }
         }
 
@@ -1533,8 +1536,8 @@ class MembersController extends CrudController
         // flagging required fields
         $fc = $this->fields_config;
 
-        // password required if we create a new member
-        if ($member->id != '') {
+        // password required if we create a new member but not from self subscription
+        if ($member->id != '' || isset($args['self'])) {
             $fc->setNotRequired('mdp_adh');
         }
 
index 29e43069ae6d9fd022ca799b0642505af7a771be..f22469e95ba13cb0ebd8eb98010513b3f16b353a 100644 (file)
@@ -573,7 +573,7 @@ class FieldsConfig
 
                         if ($selfs === true) {
                             //email, login and password are always required for self subscription
-                            $srequireds = ['email_adh', 'mdp_adh', 'login_adh'];
+                            $srequireds = ['email_adh', 'login_adh'];
                             if (in_array($o->field_id, $srequireds)) {
                                 $o->required = true;
                             }