Bug fixes and new features

Keep in mind that the goal for this release wasn’t to add new features, but to fix bugs in the existing code, so nearly all of the things listed below are bug fixes. Things that should have worked, but didn’t.

Plugin help is completely revised. More info on attributes and much more examples. Styling attempts to resemble textbook.

Fixed validation problem when using an empty select list option.

Filter out ASCII 0 characters (NULL)

Send article

Prettier emails with much html escaped characters

Default built-in form to get started more quickly

Recipient email address is validated as well now (use the zem_contact_email tag with send_article attribute set to “1”)

Form input is now internally stored by name (the HTML name attribute in form elements) instead of by label, allowing for multiple fields with the same label (the names have to be unique anyway).

Email MX check is skipped if textpattern.com cannot be resolved. This is a workaround for some broken DNS setups.

Email MX check now uses a dot at the end of the domain that’s checked.

ID/name can no longer contain a dot. Though valid in (X)HTML it doesn’t play nice with PHP.

The ‘break’ attribute now accepts ‘br’ to indicate a <br />. Anything other than ‘br’ is used as-is.

copysender now sends a separate second email instead of using BCC.

The ‘from_form’ and ‘subject_form’ now do work (no form was fetched in the previous versions).

Thanks message is now in a DIV with class ‘zemThanks’

Each form element now has a class added: zemText, zemRadio, zemSelect, etc… to make styling easier without having to set the ‘name’ attribute.

When displaying errors or the thanks message, an anchor is used to make the page scroll down to the right location automatically. Should be useful when forms are at the bottom of the page. This is disabled in cases where errors are shown separate from the form input fields.

Radio buttons

New attribute ‘group’ which serves as the label for a group of radio buttons.

Both ‘name’ (now optional) and ‘group’ attributes are sticky, so within a group of radio buttons you need only set them for the first radio button.

Unique IDs for each radio option based on name+label instead of just label.

Plans for the future

Built in ‘Multi language pack’ support (which also means making the zem_contact_lang plugin optional)

Re: zem_contact_reborn 4.0.3.19 (old version)

Installed and works fine though I don’t have a very complex form.

I know there is that pap_contact_cleaner spam protection plugin, but we all know that sometimes gets in the way of legit emails because of auto form fills. Is there any thought or ideas about another spam plugin or built in spam protection? I run this plugin on a few sites, they all get hit with spam.

Re: zem_contact_reborn 4.0.3.19 (old version)

The anti-spam plugin API is similar to the one for the TXP comments, so modifying existing anti-spam plugins that are meant for comments shouldn’t be too hard.

The spam you get, is there any way you see to block it? Does it have something in the content of the messages that sets it apart as spam? Does it come from the same IPnr? Does it come in short bursts of many spam messages all at once or evenly spread out over time?

Re: zem_contact_reborn 4.0.3.19 (old version)

I just noticed that the pap_contact_cleaner doesn’t seem to work with this new version. At least not on mine. I’m using the two combinations on other sites, with an older version of this plugin, and it works.

The hidden form fields aren’t being written to the page. No errors or anything. I do have a legit phone field with this plugin though. I was going to modify the pap_contact_cleaner plugin to write a different field.

The spam I get now isn’t a lot but it’s consistent. Never all at once. I don’t open them anymore so I can’t really tell what is in the body. I have a pop3 checker where I can delete the emails before downloading them. The email addresses are from different countries like .ru most of the time. I suppose I could block on that, was just hopping for a plugin of some kind.

I don’t mind the pap_contact_cleaner plugin as I’m not too worried about auto filled form, but in a perfect world I’d rather something a bit safer.

Re: zem_contact_reborn 4.0.3.19 (old version)

Yes the plugin is activated. Not sure why the fields aren’t showing up. I’ve checked the source. You can see it on my contact page for yourself. I’ll keep digging and see what I can find. I’m running the latest versions of txp and both plugins.

I realize there are no fool proof ways to stop spam, but I was thinking maybe there was a better solution than the pap_contact_cleaner plugin. I do like the solution since I don’t think too many people use auto form fillers in their browsers.

However, I think a better solution would be to count the time it takes the form to be submitted and if it’s less than say, 5 seconds, it’s spam. I know auto form fillers would fill this info in less than that time, but with almost all forms there is some kinda of message field which would require the user to actually type and bring the count over 5 seconds. Just food for thought. I’ll be happy if I can get the current plugin working.

On a side note, where can I edit the error message that is thrown back when marked as spam in the current plugin? I haven’t looked much but I see it isn’t in the actual plugin itself. I’d like to change the message to something which explains better to a real user who has filled in the form automatically and gotten the error message by accident.

Re: zem_contact_reborn 4.0.3.19 (old version)

However, I think a better solution would be to count the time it takes the form to be submitted and if it’s less than say, 5 seconds, it’s spam.

Actually, this has been something that I’ve considered implementing myself, but I didn’t have any info on how much time spammers take to submit the form so I didn’t know if it was worth doing. Do your log files show that spammers take only a second or so to submit? If anyone else has info on this as well then do tell.

The error message can be edited in the zem_contact_lang plugin. It’s the ‘spam’ string.

Re: zem_contact_reborn 4.0.3.19 (old version)

I don’t have any logo info regarding the time, but it has to be just a few seconds since they crawl for a form and just auto fill everything in and move on to submit. That process would definitely be very quick, a few seconds at most. Maybe set it up so there is a variable in the contact tag which can be set to the amount of time to check against. i.e spam_time=5

Re: zem_contact_reborn 4.0.3.19 (old version)

Is there a way to add one or two paragraphs to the email sent out, especially the copy sent to the visitor who fills out the form?

Also, in the event that someone else will have trouble with this, too, you can’t put line spaces or returns between the attributes of zem_contact. If you try that, it will say, ‘Sorry, unable to send email.’