I’ve just started playing with 2022.04 (latest template + composer updates) and have a very simple project which I’ve created from scratch.It only has one “hello world” custom file plus the basic PHPM tables needed:users, user levels, user permissions, push subscribers and auditing
However, I’ve run into an odd issue on the register page, which has these fields:username, first name, last name,
account type, account owner,
address 1, address 2, city, region, post code, country,
email address, cellphone,
password, confirm password,…plus the standard PHPM captchaOnly username, account type, email, password and confirm password are required fields.When I click to register an account, it does get saved to the users table, but I’m also getting a modal error panel that states…C:\WebServer\www\dfx2022.tst\vendor\soundasleep\html2text\src\Html2Text.php(171):
DomDocument::loadHTML(): htmlParseEntityRef:
expecting ‘;’ in Entity, line: 32At this stage, there’s no user code within the project, and I have Debug enabled, but nothing’s being reported.Any clues?
Thought I should add that this same table schema and register form layout / settings work fine with a v2021 project.I’d normally assume that the issue was related to extensions and/or user code, but this test project doesn’t have any use code yet, and the only extensions enabled are the standard PHPM extensions: Audit Trail, CAPTCHA, Chartsjs, DateTimePicker, Preview, FixedHeaderTable, CKEditor and dompdf
After disabling and slowly adding back all of the Advanced Security options for the registration page, I discovered that the “Requires activation” option is triggering the error, and with “modal” turned off, I was able to get a trace:
The offending part of phpfn.php is …// Convert HTML to text
function HtmlToText($html)
{
return \Soundasleep\Html2Text::convert($html);
}I’ve check the value of $html and it’s fine, so the issue lays with Soundasleep - hopefully the devs pick up this thread and find a fix.
For the time being, I’ve turned off “Add plain text version in HTML email” in Advanced Settings.
The error means the HTML in the email content cannot be parsed, you may want to check your email content. If you do not need text version in your email, you may simply disable the advanced setting “Add plain text version in HTML email”.