I am using Profile Pro with Community Builder and have found a bug where when saving your profile, it will set certain fields that aren't shown on the profile page to be empty in the database.
I have tried to track down the issue, and although it is because profile pro allows you to show certain fields for certain people, it is something that can be fixed in core.
It is certain field types that are emptied. The ones I know for certain are:
Drop Down (single select)
Email
Radio Buttons
Date
Web Address
There is probably a couple more that I don't use.
The only one I can find that I'm certain it does not affect is text field.
I followed Web Address and looked into the class CBfield_webaddress.
I then tracked it down to the function prepareFieldDataSave.
I did a var dump of $this either side of the line 2467 in cb.core.php shown below and on the die before, it had the correct in the object, and in the die afterwards, the fields were was empty.
$value = stripslashes( cbGetParam( $postdata, $col, '' ) );
That is in a loop that goes through all the comprofiler table columns and I believe because there is not value being set on the profile page, it defaults to the 3rd parameter '' (empty). It then updates this in the database further down the function.
The function cbGetParam being called is in LegacyFoundationFunctions.php on line 555.
I will also raise the issue with ProfilePro as well but currently the only fix is to either set the fields as text fields or add them to the profile page and hide them. Neither of which are good workarounds so any help would be appreiciated.
Thank you.