Remove confirm password from join form

I want to set that people don't need to confirm their password while joining. I searched in in the forums, but didn't find an solution. Below some of the forums:

http://www.boonex.com/forums/topic/Remove-Confirm-Password-from-Join-form-.htm
http://www.boonex.com/forums/topic/How-to-remove-Confirm-password-from-Join-form-.htm

The reason why? We want to make it easier for people to join. We discussed this very properly and looked at other social network site such as Facebook, Twitter etc. They also work with just the password field.

In the profile fields section is only mentioned password that also places the confirm password. So we need to delete it somewhere else, I think. Does anybody how to achieve this?

P.S. It only needs to be disabled in the join form. 

Quote · 17 Apr 2015

Try to comment out the following code in inc/classes/BxDolProfileFields.php file, in 2 places:

                // duplicate password (confirmation)
                if ($aItem['Type'] == 'pass') {
                    $aItem_confirm = $aItem;

                    $aItem_confirm['Name']    .= '_confirm';
                    $aItem_confirm['Caption']  = '_Confirm password';
                    $aItem_confirm['Desc']     = '_Confirm password descr';

                    $aInputs[] = $this->convertJoinField2Input($aItem_confirm, $aInputParams, 0);

                    if ($bCoupleEnabled && !in_array( $aItem['Name'], $this -> aCoupleMutual ))
                        $aAddInputs[] = $this->convertJoinField2Input($aItem_confirm, $aInputParams, 1);
                }

Also it maybe that the following function will require modification as well:

    function checkPostValueForPassConfirm( $aItem, $mValue, $iHuman )
    {
        return true;
        //$sConfPass = process_pass_data( $_POST[ "{$aItem['Name']}_confirm" ][$iHuman] );
        //if( $sConfPass != $mValue )
        //    return _t( '_Password confirmation failed' );
        //else
        //    return true;
    }
Rules → http://www.boonex.com/terms
Quote · 21 Apr 2015

I did the following things...

Comment out the following code in inc/classes/BxDolProfileFields.php file:

// duplicate password (confirmation)
                if ($aItem['Type'] == 'pass') {
                    $aItem_confirm = $aItem;

                    $aItem_confirm['Name']    .= '_confirm';
                    $aItem_confirm['Caption']  = '_Confirm password';
                    $aItem_confirm['Desc']     = '_Confirm password descr';

                    $aInputs[] = $this->convertJoinField2Input($aItem_confirm, $aInputParams, 0);

                    if ($bCoupleEnabled && !in_array( $aItem['Name'], $this -> aCoupleMutual ))
                        $aAddInputs[] = $this->convertJoinField2Input($aItem_confirm, $aInputParams, 1);
                }


That worked, so now I only have the one password field, like we wanted.
I also tried to comment out the code for the password checker below:

function checkPostValueForPassConfirm( $aItem, $mValue, $iHuman )
    {
        return true;
        //$sConfPass = process_pass_data( $_POST[ "{$aItem['Name']}_confirm" ][$iHuman] );
        //if( $sConfPass != $mValue )
        //    return _t( '_Password confirmation failed' );
        //else
        //    return true;
    }


That with no succes. Than I tried to modify him as below:

   function checkPostValueForPassConfirm( $aItem, $mValue, $iHuman )
    {
        $sConfPass = process_pass_data( $_POST[ "{$aItem['Name']}_confirm" ][$iHuman] );
        return true;
    }


Than in the join process everything works. Only problem is when someone tries to change their password on the profile edit page. Because the password checker also works with that, he doesn't check them, so you can give 2 different new passwords.

Our intention was to skip the confirm password field + password checker in the join process, but they need to work on the profile edit page. So on the profile edit page you need to confirm the new password. And if possible also enter the old password.

Quote · 22 Apr 2015

BTW the password checker still needs to check if the minimum characters are achieved etc on the join page.

Quote · 22 Apr 2015

On the join page everything works alright. So there are no problems there. The only problem is on the profile edit page.

The problem is that if change the code for the checkPostValueForPassConfirm function as you described, he doesn't check the password someone fills in, in the profile edit page. So if someone fills in 2 different passwords there, they get no error message and logging in isn't possible. That because on the profile edit page we need the confirmation of the passwords.

Is it possible to have the checkPostValueForPassConfirm function disabled on the join page, but enabled on the profile edit page? So we can use the password and confirm password field on the profile edit page. And ideally it would also nice to include a old password field in the profile edit page. So if you filled in the wrong old password, nothing get's changed.

I hope that I described it this time much better.

Quote · 6 May 2015

Try to comment out the following code in inc/classes/BxDolProfileFields.php file, in one place in getFormJoin function:

                // duplicate password (confirmation)
                if ($aItem['Type'] == 'pass') {
                    $aItem_confirm = $aItem;

                    $aItem_confirm['Name']    .= '_confirm';
                    $aItem_confirm['Caption']  = '_Confirm password';
                    $aItem_confirm['Desc']     = '_Confirm password descr';

                    $aInputs[] = $this->convertJoinField2Input($aItem_confirm, $aInputParams, 0);

                    if ($bCoupleEnabled && !in_array( $aItem['Name'], $this -> aCoupleMutual ))
                        $aAddInputs[] = $this->convertJoinField2Input($aItem_confirm, $aInputParams, 1);
                }

Also the following function will require modification as well:

    function checkPostValueForPassConfirm( $aItem, $mValue, $iHuman )
    {
        if (1 == $this->iAreaID)
            return true;

        $sConfPass = process_pass_data( $_POST[ "{$aItem['Name']}_confirm" ][$iHuman] );
        if( $sConfPass != $mValue )
            return _t( '_Password confirmation failed' );
        else
            return true;
    }
 
Rules → http://www.boonex.com/terms
Quote · 9 May 2015

Thanks!!!!!!! That worked :)

Quote · 9 May 2015
 
 
Below is the legacy version of the Boonex site, maintained for Dolphin.Pro 7.x support.
The new Dolphin solution is powered by UNA Community Management System.