- This module provides a contact form based on ZF2 and Doctrine2.
- Submitted contact forms will persist in repository.
- Captcha support is provided to force submitting by humans.
- Views are twitter-Bootstrap compatible.
The recommended way to install
mamuz/mamuz-contact is through
composer by adding dependency to your composer.json:
{
"require": {
"mamuz/mamuz-contact": "*"
}
}After that run composer update and enable this module for ZF2 by adding
MamuzContact to modules in ./config/application.config.php:
// ...
'modules' => array(
'MamuzContact',
),This module is based on DoctrineORMModule
and be sure that you have already configured database connection.
Create database tables with command line tool provided by
DoctrineORMModule:
./vendor/bin/doctrine-module orm:schema-tool:updateThis module is usable out of the box, but you can overwrite default configuration
by adding a config file in ./config/autoload directory.
For default configuration see
module.config.php
Create a new config file and place it to ./config/autoload directory and
insert configuration array for Zend Captcha form element factory.
Array must be indexed by key captcha, for e.g.:
return array(
'captcha' => array(
'type' => 'Zend\Form\Element\Captcha',
'name' => 'captcha',
'options' => array(
'label' => 'Please verify you are human',
'captcha' => array(
'class' => 'recaptcha',
'options' => array(
'pubkey' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
'privkey' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
),
),
),
'attributes' => array(
'required' => 'required'
),
),
);Register your domain to Google ReCaptcha WebService to
create a private key and a public key. Be sure that private key will not commit to VCS.
After filtering and validation of user input a new contact entity
will persist in repository MamuzContact.
For the sake of simplicity Event is used for
FQN MamuzContact\EventManager\Event.
The following events are triggered by Event::IDENTIFIER mamuz-contact:
| Name | Constant | Description |
|---|---|---|
| persist.pre | Event::PRE_PERSISTENCE |
Before contact entity persistence |
| persist.post | Event::POST_PERSISTENCE |
After contact entity persistence |



