Email Form Field


#1

Hi there,

I am on creating an Email field for Forms in ATK at the moment and I think it could be a nice Add-On.

Did any of you do something in this direction already?

So, my plan at the moment is:

  1. In the model, the field can be defined as ‘type’ => ‘email’
  2. Add validator to see if the syntax is a valid Email Address
  3. Add a button to the right of the field which opens a modal in which an email can be instantly written and sent using PHPMailer. I plan on HTML Emails, Plaintext is created automatically from HTML Text.
  4. Add a simple WYSIWYG editor to have the most important text styling options for the Email Body.
  5. Use standard Header and Footer templates which define the HTML before and after the Email Body which is editable by the user.

Ok, I already implemented 3. and 5., Though not inside a field definition, but as a field->action addition:

field_email_1

Clicking the Email Icon results in a modal being opened which allows to edit and send the Email (apologies for the partly german text):

What do you think? Nice Idea to create an Email field type or complete overkill no one will ever use?

Best regards
Philipp


#2

Here is the add-on i was planning:

Outbox

Readme is available here: https://github.com/atk4/sendgrid, however I’m thinking about using some 3rd party library (like https://github.com/Stampie/Stampie) to be compatible with as many providers as possible.

Quite similar in the way how ‘Login’ add-on is implemented, the Outbox would include admin panel, where you could review all emails which recently went out and maintain status updates from delivery provider (through integration with atk4 \ api).

This add-on can also include extended support for “Email” fields, similar to how you have described it above. This should also integrate into ‘Login’ add-on enabling user email confirmation, password recovery etc.

For now - it’s quite easy to add a icon + validation with http://php.net/manual/en/filter.examples.validation.php.


Some JS Callbacks not working inside Loader
#3

I have opened this ticket for add-on and linked it with BountySource:

I will be using bounty-source to prioritize add-ons.