[TYPO3-project-formidable] Captcha renderlet
Ivan Gomez Rodriguez
igomez at igalia.com
Mon Jun 4 11:52:15 CEST 2007
Hi!
Renderlet perfectly works.
But i had to do a little change in source in order to use localized
labels for errormessage.
In file class.tx_rdtcaptcha.php, line 148
if($this->aElement["errormessage"]) {
<
$sError = $this->aElement["errormessage"];
>
$sError =
$this->oForm->_getLLLabel($this->aElement["errormessage"]);
} else {
$sError = "Captcha Error";
}
Ivan Gomez Rodriguez wrote:
> hi!
>
> Ok, I will have a look to sources.
>
> A thing that i didn't say you is: i'm trying to adapt this renderlet to
> version 0.7, maybe error can came for this reason.
>
> I will continue with this next monday.
>
> Thanks you for all!
>
> Luc Muller wrote:
>
>> hi!
>>
>> I think it should appear with all the other errors in your main errortag
>> that you use in your template
>> If this is not working I think I should have a closer look at it. by the way
>> this is strange
>>
>> Luc =:0)
>>
>> "Ivan Gomez Rodriguez" <igomez at igalia.com> a écrit dans le message de news:
>> mailman.291537.1180714240.21067.typo3-project-formidable at lists.netfielders.de...
>>
>>
>>> Hello again:
>>>
>>> I still having problems.
>>>
>>> I don't declare validator now, but captcha renderlet don't show any
>>> message error. I tried typing {captch.errormessage} in template , but it
>>> didn't works.
>>>
>>> Luc Muller wrote:
>>>
>>>
>>>> Yep, there's no need of a "validator"
>>>> it make no-sense, a captcha is "by definition" a validation system.
>>>> so it HAS to validate.
>>>> in this way you don't have to tell it to validate.
>>>> You don't need more XML conf than i gave you.
>>>> the piece of XML I gave is the "most complex" you can have for a captcha.
>>>> as you can see, error_message is already included...
>>>> in the htmlbag, you can call :
>>>> captcha.label -> this is the label for the captcha eg : validaiton
>>>> service
>>>> captcha.input -> this is the text field
>>>> captcha.image -> this is the generated image
>>>> captcha.reloadpic -> this is the relaod gif
>>>> captcha.copylabel -> this is the text where you can tell something like :
>>>> "please copy the code...."
>>>>
>>>> well, I think my conf need some explanation,
>>>>
>>>>
>>>>
>>>>
>>>>>> <renderlet:CAPTCHA name="captcha">
>>>>>> <custom>class="texte"</custom>
>>>>>> <label>Un label a la noix de présentation</label>
>>>>>> <copylabel>Copie le code</copylabel>
>>>>>> <errormessage>Errruuuuueerrrr</errormessage>
>>>>>> <reloadpic>EXT:ameos_t3con06/res/img/reload.png</reloadpic>
>>>>>> <width>100</width> -> width of the image in px
>>>>>> <height>30</height> -> height of the image in px
>>>>>> <frame>false</frame> -> border of the image
>>>>>> <bgcolor>255,255,255</bgcolor> -> background color RGB
>>>>>> <transparent_background>false</transparent_background> <font> ->
>>>>>> special conf for the font
>>>>>> <fontcolor>
>>>>>> <random>true</random>
>>>>>> <level>darker</level> if true, you can specify lighter, light,
>>>>>> dark, darker
>>>>>> </fontcolor>
>>>>>> <family>Alanden_,luggerbu.ttf</family>
>>>>>> <size>12</size>
>>>>>> </font>
>>>>>> <authchar>AZ</authchar> List of characters used in the captcha
>>>>>> default ABCDEFGHIJKLMNOPQRSTUVWXYZ
>>>>>> <crypteasy> -> this makes the captcha more readable while ordering
>>>>>> the letters alternatively with a consonnant then a vowel and so on
>>>>>> <con>ZH</con> -> these are the consonnants who are going to be used
>>>>>> with crypt easy
>>>>>> <vow>AU</vow> -> these are the vowels who are going to be used with
>>>>>> crypt easy
>>>>>> </crypteasy>
>>>>>> <difuplow>false</difuplow> -> this says if UPPERCASE and lowercase
>>>>>> make a difference in the captcha validation
>>>>>> <nbchar>5</nbchar> -> nbr of letters to display in the captcha
>>>>>> <charspace>20</charspace> -> space between characters
>>>>>> <charangle>10</charangle> -> angle of variation for each characters
>>>>>> <charup>true</charup> possible vertical deviation of each characters
>>>>>> <noise> -> special conf for the "noise"
>>>>>> <pixel>200</pixel> -> number of pixel added to the captcha, can be
>>>>>> a range (eg 1-1000 -> 1 to 1000 px, can be more)
>>>>>> <line>3</line> -> number of line added to the captcha, can be a
>>>>>> range (eg 1-5 -> 1 to 5 line, can be more)
>>>>>> <noisecolor>charcolor</noisecolor> -> color used for the noise, can
>>>>>> be either charcolor or backcolor
>>>>>> </noise>
>>>>>> <imgtype>png</imgtype> -> img type can be jpg, gif or png
>>>>>> <cryptsecure>md5</cryptsecure> -> type of hash that is used with the
>>>>>> captcha, can be either, md5 or sha1
>>>>>> <timer>
>>>>>> <time>0</time> -> time that must be spent before the user can
>>>>>> reload the captcha
>>>>>> <action>image</action> -> action to make when reloading :image
>>>>>> means having a new captcha
>>>>>> </timer>
>>>>>> <maxattempt>1000000000000</maxattempt> -> number of attempt before
>>>>>> blocking the captcha
>>>>>> </renderlet:CAPTCHA>
>>>>>>
>>>>>>
>>>>>>
>>>> "Ivan Gomez Rodriguez" <igomez at igalia.com> a écrit dans le message de
>>>> news:
>>>> mailman.290437.1180698549.21067.typo3-project-formidable at lists.netfielders.de...
>>>>
>>>>
>>>>
>>>>> Hello again:
>>>>>
>>>>> Thanks you, Luc, renderlet is working.
>>>>>
>>>>> But now, i'm trying with the captcha validator and something isn't
>>>>> working fine, validator shows always the error message.
>>>>>
>>>>> That's my xml's piece :
>>>>>
>>>>>
>>>>> <renderlet:CAPTCHA name="captcha">
>>>>> <!--custom>class="texte"</custom-->
>>>>> <label>Un label a la noix de présentation</label>
>>>>> <copylabel>Copie le code</copylabel>
>>>>> <errormessage>Errruuuuueerrrr</errormessage>
>>>>> ....
>>>>>
>>>>> BLA, BLA,BLA
>>>>> ....
>>>>>
>>>>> <validators>
>>>>> <validator:CAPTCHA name="captcha" message="AAAAA"/>
>>>>> </validators>
>>>>>
>>>>>
>>>>> That's rigth?
>>>>>
>>>>> I was looking in the code and i suspect that problem could be here.
>>>>> There aren't keys prefixed by 'sr_freecap' in $_SESSION array, when
>>>>> following function is called.
>>>>>
>>>>> tx_srfreecap_pi2 :
>>>>>
>>>>> function checkWord($word) {
>>>>> session_start();
>>>>> if (!empty($_SESSION[$this->extKey . '_word_hash']) &&
>>>>> !empty($word)) { // all freeCap words are lowercase.
>>>>> // font #4 looks uppercase, but trust me, it's not...
>>>>> if ($_SESSION[$this->extKey . '_hash_func'] == 'md5') {
>>>>> if (md5(strtolower($word)) == $_SESSION[$this->extKey .
>>>>> '_word_hash']) {
>>>>> // reset freeCap session vars
>>>>> // cannot stress enough how important it is to do
>>>>> this
>>>>> // defeats re-use of known image with spoofed session
>>>>> id
>>>>> $_SESSION[$this->extKey . '_attempts'] = 0;
>>>>> $_SESSION[$this->extKey . '_word_hash'] = false;
>>>>> return true;
>>>>> }
>>>>> }
>>>>> }
>>>>> return false;
>>>>> }
>>>>>
>>>>> Does somebody know why it doesn't work?.
>>>>>
>>>>>
>>>>> Luc Muller wrote:
>>>>>
>>>>>
>>>>>
>>>>>> You can use it like this : <renderlet:CAPTCHA />
>>>>>> this would result in a default mode.
>>>>>>
>>>>>> Or using something more complex like :
>>>>>>
>>>>>> <renderlet:CAPTCHA name="captcha">
>>>>>> <custom>class="texte"</custom>
>>>>>> <label>Un label a la noix de présentation</label>
>>>>>> <copylabel>Copie le code</copylabel>
>>>>>> <errormessage>Errruuuuueerrrr</errormessage>
>>>>>> <reloadpic>EXT:ameos_t3con06/res/img/reload.png</reloadpic>
>>>>>> <width>100</width>
>>>>>> <height>30</height>
>>>>>> <frame>false</frame>
>>>>>> <bgcolor>255,255,255</bgcolor>
>>>>>> <transparent_background>false</transparent_background>
>>>>>> <font>
>>>>>> <fontcolor>
>>>>>> <random>true</random>
>>>>>> <level>darker</level>
>>>>>> </fontcolor>
>>>>>> <family>Alanden_,luggerbu.ttf</family>
>>>>>> <size>12</size>
>>>>>> </font>
>>>>>> <authchar>AZ</authchar>
>>>>>> <crypteasy>
>>>>>> <con>ZH</con>
>>>>>> <vow>AU</vow>
>>>>>> </crypteasy>
>>>>>> <difuplow>false</difuplow>
>>>>>> <nbchar>5</nbchar>
>>>>>> <charspace>20</charspace>
>>>>>> <charangle>10</charangle>
>>>>>> <charup>true</charup>
>>>>>> <noise>
>>>>>> <pixel>200</pixel>
>>>>>> <line>3</line>
>>>>>> <noisecolor>charcolor</noisecolor>
>>>>>> </noise>
>>>>>> <imgtype>png</imgtype>
>>>>>> <cryptsecure>md5</cryptsecure>
>>>>>> <timer>
>>>>>> <time>0</time>
>>>>>> <action>image</action>
>>>>>> </timer>
>>>>>> <maxattempt>1000000000000</maxattempt>
>>>>>> </renderlet:CAPTCHA>
>>>>>>
>>>>>> This is the most complex way to use the CAPTCHA but you can only use
>>>>>> config that you need.
>>>>>> if everything is correct, all config you didn't specified, will be set
>>>>>> by default.
>>>>>>
>>>>>> Hope this helps.
>>>>>>
>>>>>> Luc =:0)
>>>>>> "Ivan Gomez Rodriguez" <igomez at igalia.com> a écrit dans le message de
>>>>>> news:
>>>>>> mailman.290101.1180688368.21067.typo3-project-formidable at lists.netfielders.de...
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>> Hello,
>>>>>>>
>>>>>>> I'm trying to use captcha renderlet and validator in order to use in a
>>>>>>> registration form, but i have no idea about configuring it.
>>>>>>>
>>>>>>> Knows somebody where i can find examples or doc about this element?.
>>>>>>>
>>>>>>> Thanks in advance.
>>>>>>>
>>>>>>> --
>>>>>>>
>>>>>>> Iván Gómez Rodríguez
>>>>>>> Ingeniero en Informática
>>>>>>> mailto:igomez at igalia.com
>>>>>>> Telf: +34 986 10 76 10
>>>>>>> Fax: +34 981 91 39 49
>>>>>>> Igalia http://www.igalia.com
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>> ------------------------------------------------------------------------
>>>>>>
>>>>>> _______________________________________________
>>>>>> TYPO3-project-formidable mailing list
>>>>>> TYPO3-project-formidable at lists.netfielders.de
>>>>>> http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-project-formidable
>>>>>>
>>>>>>
>>>> ------------------------------------------------------------------------
>>>>
>>>> _______________________________________________
>>>> TYPO3-project-formidable mailing list
>>>> TYPO3-project-formidable at lists.netfielders.de
>>>> http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-project-formidable
>>>>
>>>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> TYPO3-project-formidable mailing list
>> TYPO3-project-formidable at lists.netfielders.de
>> http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-project-formidable
>>
> _______________________________________________
> TYPO3-project-formidable mailing list
> TYPO3-project-formidable at lists.netfielders.de
> http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-project-formidable
>
More information about the TYPO3-project-formidable
mailing list