Steps to reproduce the issue
Create user = testuser
Set password = testpass12
Create custom fields that would be entered by a new user during registration.
Enter some data.
In phpMyAdmin, find testuser and change password hash to -
6412c972b558f324794f8f5277299990:o8LGpLw6htpjD7VyHWAWiW9cEeVyUO23
(this is the testpass12 hash created using Joomla 1.5 system)
Go to Front End and login using testuser and testpass12
Go to Backend, check testuser custom fields. They are now empty.
Check phpMyAdmin, testuser new hash is something like:
$2y$10$wpRPb7uMhfFIurK9S4gneuhLcZppeIiULKpfIpIobqYRky1VJKrjq
Expected result
Custom fields should not be set to default (mostly deleted) when a user logs in using an old hash and a new hash is created and saved.
Actual result
Custom fields are being set to default (most are erased) during login when a new hash is saved to USERS table. Note that only the custom field data that would be entered during new user registration is affected. Other custom fields are untouched.
System information (as much as possible)
Joomla 3.8.5
PHP 5.6.30
Additional comments
I moved 330 users from a Joomla 1.5 system to a 3.8.3 system. The old password hashes are accepted correctly, but they cause loss of custom field data during login. File mods noted in #18207 fixed the issue for me on Jan 14, 2018.
I then updated to 3.8.5 on Feb 6th, and now all users who have logged in since then have their custom fields erased again, and #18207 fixes are not in the 3.8.5 update. I attempted to use the #18207 mods, but they broke-down when I got to /libraries/src/Form/Form.php.
Note - I have no custom fields that are checkboxes, but I do have lists.
Labels |
Added:
?
|
Not that it matters to the issue at hand, but I manually imported (via phpAdmin) all the data into a new 3.8 installation with custom fields. Now when someone logs into the site, their old password hash is updated to a new one, and all their custom fields are wiped out. As I noted above, I modified a handful of files in my 3.8.3 installation (#18207) that fixed the problem, and was told that the fix would be implemented in 3.8.4. So when 3.8.5 came out, I installed it thinking the issue was solved. It wasn't, and now the code changes documented in #18207 may not work anymore, so now I'm stuck with a site that is deleting data every time someone logs in.
I hope you can understand why that would be frustrating.
Status | New | ⇒ | Discussion |
Category | ⇒ | com_fields |
is this #19742 related?
I don't think so. I don't have any custom fields that are checkboxes, unless I'm missing something else about the user group assignment.
As I said, I manually imported my users into a new 3.8 install via myPHPAdmin. Maybe there is another database that links users to user groups that I missed, although everything seems to be working fine expect for this issue I noted above.
Unless someone can point me to a better solution, I'm going to have to regress the modified files noted in #18207 and hope they still work with all the other mods in 3.8.5.
I don't think so. I don't have any custom fields that are checkboxes, unless I'm missing something else about the user group assignment.
the issue is not about checkboxes, it is about all field values
The discussion about checkboxes, is
-- that they had prevented 1 or 2 suggested fixes for being accepted,
as they did not handle the checkboxes case (and any similar fields that do not submit a value when empty)
Status | Discussion | ⇒ | Closed |
Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2018-02-22 09:30:32 |
Closed_By | ⇒ | Quy |
Closed_By | Quy | ⇒ | joomla-cms-bot |
Set to "closed" on behalf of @Quy by The JTracker Application at issues.joomla.org/joomla-cms/19741
Please test #19753
Hmm, since custom fields were added in Joomla! 3.7, how can a profile from J1.5 have custom field data to be wiped?