= sfCaptchaGD plugin =

The `sfCaptchaGDPlugin` is a symfony plugin that provides captcha functionality based on GD library.

It gives you the lib with Captcha class and the module to secure your symfony forms in a minute with a good captcha.

== Installation ==

Install the plugin
  
  {{{
    symfony plugin-install http://plugins.symfony-project.com/sfCaptchaGDPlugin
  }}}
  
Enable one or more modules in your `settings.yml`
    * sfCaptchaGD

  {{{
    all:
      .settings:
        enabled_modules:      [default, sfCaptchaGD]
  }}}


Clear you cache
  
  {{{
    symfony cc
  }}}

== Secure your form ==

To secure a symfony form:

Put the following lines inside of your form
  {{{
    <?php if ($sf_request->hasError('captcha')) echo form_error('captcha') ?>
    <?php echo input_tag('captcha', $sf_params->get('captcha')) ?><br>
    <img src='<?php echo url_for('/captcha').'?'.time(); ?>'>
  }}}

Put the following code into your form's validator yml file:

  {{{
        fields:
          captcha:
            required:
              msg:            Enter characters from image
            sfCaptchaGDValidator:
              captcha_error:  Entered characters are wrong, try again
  }}}

== Configuration options ==
These options are default for captcha, you can change any of them, putting in settings.yml

{{{
all:
    sf_captchagd:
        image_width:                100 # image width in pixels
        image_height:               30 # image height in pixels
        chars:                      "123456789" # possible chars in captcha
        length:                     4 # length of captcha
        font_size:                  18 # font size
        
        # possible chars colors
        font_color:                 ["252525", "8b8787", "550707", "3526E6", "88531E"]
        
        # chars fonts
        fonts:                      ["akbar/akbar.ttf", "brushcut/BRUSHCUT.TTF", "molten/molten.ttf", "planet_benson/Planetbe.ttf", "whoobub/WHOOBUB_.TTF"] 
        background_color:           DDDDDD # image background color
        border_color:               000000 # image border color
}}}


== TODO ==

