2017 © Pedro Peláez
 

symfony-bundle contact-bundle

This bundle provides a basic feedback implementation for symfony 3 projects

image

jairwin/contact-bundle

This bundle provides a basic feedback implementation for symfony 3 projects

  • Monday, July 2, 2018
  • by JAIrwin
  • Repository
  • 1 Watchers
  • 1 Stars
  • 137 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 7 Versions
  • 2 % Grown

The README.md

JAIContactBundle

This bundle provides a basic feedback implementation for Symfony 3 projects., (*1)

Installation

Step 1: Download the Bundle

Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle:, (*2)

$ composer require jairwin/contact-bundle "~1"

This command requires you to have Composer installed globally, as explained in the installation chapter of the Composer documentation., (*3)

Step 2: Enable the Bundle

Then, enable the bundle and required bundle by adding them to the list of registered bundles in the app/AppKernel.php file of your project:, (*4)

<?php
// app/AppKernel.php

// ...
class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = array(
            // ...

            new EWZ\Bundle\RecaptchaBundle\EWZRecaptchaBundle(),
            new JAI\Bundle\ContactBundle\JAIContactBundle(),
        );

        // ...
    }

    // ...
}

Step 3: Add Routing

To add the provided routes for /contact and /contact/success update app/config/routing.yml:, (*5)

# app/config/routing.yml

jai_contact:
    resource: "@JAIContactBundle/Resources/config/routing.yml"
    prefix:   /

Step 4: Configure ReCaptcha

This bundle uses the EZWRecaptchaBundle which is configured in app/config/config.yml (documentation: EWZRecaptcha on GitHub):, (*6)

``` yaml, (*7)

app/config/config.yml

ewz_recaptcha: public_key: here_is_your_public_key private_key: here_is_your_private_key locale_key: %kernel.default_locale%, (*8)


For development you need to provide separate configuratons using the public test keys everywhere except production (documentation: [Google Recaptcha FAQ](https://developers.google.com/recaptcha/docs/faq)). You could either store the keys in `parameters.yml` or add the `ewz_recaptcha` configurations to `config_dev.yml`, `config_prod.yml`, and `config_test.yml` instead of `config.yml`. ### Step 5: Enable Translations To get the correct form labels and placeholders enable translation. In a new Symfony3 project it needs to be uncommented in `app/config/config.yml`: ``` yaml # app/config/config.yml framework: translator: { fallbacks: ["%locale%"] }

And set the locale in app/config/parameters.yml:, (*9)

``` yaml, (*10)

app/config/parameters.yml

locale: en

Note - so far only english translations have been provided in this bundle. Most of the defaults are rather ugly. ### Step 6: Configure Recipient This bundle sends all contact emails to a single address. This is configured in `app/config/parameters.yml`: ``` yaml # app/config/parameters.yml # JAI Contact Bundle Configuration feedback_email: address@yoursite.tld

Using

Once installed and configured the contact form can be reached at the route \contact. The form uses the Symfony Forms Component (documentation: Forms from the Symfony Book), so it will use the form themes (documentation: Form Themes from the Symfony Book)., (*11)

To-Do

Unit Testing

Currently there aren't any unit tests, and that's just not right., (*12)

Better Handling of Configuration

Should probably move feedback_email from parameters.yml to config.yml and add more configurable settings., (*13)

Flood Control

Could stop some bot attacks before they hit the form in the first place., (*14)

Remove Dependency on EZWRecaptchaBundle

It would be better if there was an optional setting like "use captcha" and then further settings such as only requiring after a certain amount of flooding, and then specifics related to whatever captcha implementation is used in the current project., (*15)

Multiple To Addresses

Configure optional topic selection that would allow the user to select a topic for the feedback that would address the email to different recipients. Some examples:, (*16)

"Website Issues" => "webmaster@domain.tld"
"Billing Issues" => "accounting@domain.tld"
"General Feedback" => "feedback@domain.tld"

The Versions

02/07 2018

dev-master

9999999-dev https://github.com/JAIrwin/JAIContactBundle

This bundle provides a basic feedback implementation for symfony 3 projects

  Sources   Download

MIT

The Requires

 

email symfony contact

02/07 2018

v1.0.5

1.0.5.0 https://github.com/JAIrwin/JAIContactBundle

This bundle provides a basic feedback implementation for symfony 3 projects

  Sources   Download

MIT

The Requires

 

email symfony contact

30/03 2018

v1.0.4

1.0.4.0 https://github.com/JAIrwin/JAIContactBundle

This bundle provides a basic feedback implementation for symfony 3 projects

  Sources   Download

MIT

The Requires

 

email symfony contact

12/02 2018

v1.0.3

1.0.3.0 https://github.com/JAIrwin/JAIContactBundle

This bundle provides a basic feedback implementation for symfony 3 projects

  Sources   Download

MIT

The Requires

 

email symfony contact

26/07 2016

v1.0.2

1.0.2.0 https://github.com/JAIrwin/JAIContactBundle

This bundle provides a basic feedback implementation for symfony 3 projects

  Sources   Download

MIT

The Requires

 

email symfony contact

16/04 2016

v1.0.1

1.0.1.0 https://github.com/JAIrwin/JAIContactBundle

This bundle provides a basic feedback implementation for symfony 3 projects

  Sources   Download

MIT

The Requires

 

email symfony contact

05/04 2016

v1.0.0

1.0.0.0 https://github.com/JAIrwin/JAIContactBundle

This bundle provides a basic feedback implementation for symfony 3 projects

  Sources   Download

MIT

The Requires

 

email symfony contact