[Configuration] The charset is configurable (fixes #8)
This commit is contained in:
parent
c0530a0b26
commit
537716fe38
|
@ -22,6 +22,7 @@ class Configuration implements ConfigurationInterface
|
||||||
->scalarNode('length')->defaultValue(5)->end()
|
->scalarNode('length')->defaultValue(5)->end()
|
||||||
->scalarNode('width')->defaultValue(120)->end()
|
->scalarNode('width')->defaultValue(120)->end()
|
||||||
->scalarNode('height')->defaultValue(40)->end()
|
->scalarNode('height')->defaultValue(40)->end()
|
||||||
|
->scalarNode('charset')->defaultValue('abcdefhjkmnprstuvwxyz23456789')->end()
|
||||||
->scalarNode('as_file')->defaultValue(false)->end()
|
->scalarNode('as_file')->defaultValue(false)->end()
|
||||||
->scalarNode('image_folder')->defaultValue('captcha')->end()
|
->scalarNode('image_folder')->defaultValue('captcha')->end()
|
||||||
->scalarNode('web_path')->defaultValue('%kernel.root_dir%/../web')->end()
|
->scalarNode('web_path')->defaultValue('%kernel.root_dir%/../web')->end()
|
||||||
|
|
|
@ -100,6 +100,7 @@ You can define the following type option :
|
||||||
* **width**: the width of the captcha image (default=120)
|
* **width**: the width of the captcha image (default=120)
|
||||||
* **height**: the height of the captcha image (default=40)
|
* **height**: the height of the captcha image (default=40)
|
||||||
* **length**: the length of the captcha (number of chars, default 5)
|
* **length**: the length of the captcha (number of chars, default 5)
|
||||||
|
* **charset**: the charset used for code generation (default=abcdefhjkmnprstuvwxyz23456789)
|
||||||
* **as_file**: if set to true an image file will be created instead of embedding to please IE6/7 (default=false)
|
* **as_file**: if set to true an image file will be created instead of embedding to please IE6/7 (default=false)
|
||||||
* **image_folder**: name of folder for captcha images relative to public web folder in case **as_file** ist set to true (default="captcha")
|
* **image_folder**: name of folder for captcha images relative to public web folder in case **as_file** ist set to true (default="captcha")
|
||||||
* **web_path**: absolute path to public web folder (default="%kernel.root_dir%/../web")
|
* **web_path**: absolute path to public web folder (default="%kernel.root_dir%/../web")
|
||||||
|
|
|
@ -45,6 +45,12 @@ class CaptchaType extends AbstractType
|
||||||
*/
|
*/
|
||||||
protected $asFile;
|
protected $asFile;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Charset used
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $charset;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Folder to save captcha images in,
|
* Folder to save captcha images in,
|
||||||
* relative to public web folder
|
* relative to public web folder
|
||||||
|
@ -78,7 +84,7 @@ class CaptchaType extends AbstractType
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Session key
|
* Session key
|
||||||
* @var String
|
* @var string
|
||||||
*/
|
*/
|
||||||
private $key = 'captcha';
|
private $key = 'captcha';
|
||||||
|
|
||||||
|
@ -91,6 +97,7 @@ class CaptchaType extends AbstractType
|
||||||
$this->height = $config['height'];
|
$this->height = $config['height'];
|
||||||
$this->length = $config['length'];
|
$this->length = $config['length'];
|
||||||
$this->asFile = $config['as_file'];
|
$this->asFile = $config['as_file'];
|
||||||
|
$this->charset = $config['charset'];
|
||||||
$this->imageFolder = $config['image_folder'];
|
$this->imageFolder = $config['image_folder'];
|
||||||
$this->webPath = $config['web_path'];
|
$this->webPath = $config['web_path'];
|
||||||
$this->gcFreq = $config['gc_freq'];
|
$this->gcFreq = $config['gc_freq'];
|
||||||
|
@ -156,8 +163,7 @@ class CaptchaType extends AbstractType
|
||||||
{
|
{
|
||||||
if (!$this->session->has($this->key)) {
|
if (!$this->session->has($this->key)) {
|
||||||
$value = '';
|
$value = '';
|
||||||
$charset = 'abcdefhjkmnprstuvwxyz23456789';
|
$chars = str_split($this->charset);
|
||||||
$chars = str_split($charset);
|
|
||||||
|
|
||||||
for ($i=0; $i<$this->length; $i++) {
|
for ($i=0; $i<$this->length; $i++) {
|
||||||
$value.= $chars[array_rand($chars)];
|
$value.= $chars[array_rand($chars)];
|
||||||
|
|
Loading…
Reference in New Issue