Zum Inhalt springen

"sr_freecap" in "pil_mailform" einbauen...

Erstellt am 29. Mai 2007 · 13 Antworten · letzte Antwort am 17. April 2009

Tags: PHP, Frage

SirRuddy ·

Hallo,

ich brauche mal etwas Hilfe beim Einbau von sr_freecap in die Extension pil_mailform. In der Anleitung zu sr_freecap steht zwar drin was ich in pil_mailform einbauen muss, ich habe aber keine Ahnung wohin :o

1. Class inclusion and instantiation:

if (t3lib_extMgm::isLoaded('sr_freecap') ) {
require_once(t3lib_extMgm::extPath('sr_freecap').'pi2/class.tx_srfreecap_pi2.php');
$this->freeCap = t3lib_div::makeInstance('tx_srfreecap_pi2');
}

OK! - Wohin in etwa damit?

2. Filling the CAPTCHA subpart marker

if (is_object($this->freeCap)) {
$markerArray = array_merge($markerArray, $this->freeCap->makeCaptcha());
} else {
$subpartArray['###CAPTCHA_INSERT###'] = '';
}

Das CAPTCHA-Bild wird auch ohne dies bereits angezeigt. Muss ich die Zeilen dennoch einfügen? - Wenn ja: WO?

3. Checking the input string against the CAPTCHA string

if (is_object($this->freeCap) && !$this->freeCap->checkWord($your-form-data['captcha_response'])) {
do-something about-it
}

Checken ob der String richtig ist wäre natürlich auch schön. - Aber wohin bloß damit (in etwa)???
Da offensichtlich einige dieses Problem haben, würde ich mich freuen wenn das mal jemand schnell und unkompliziert posten würde. Ein Link zu einer Anleitung wäre auch schon ausreichend.

Gruß
SirRuddy

JMS ·

Hallo SirRuddy,

ich sitze gerade auch vor dem Problem, dass ich das Captcha zwar eingebaut bekomme, aber das die Prüfung des eingetragenen Wertes fehlschlägt.

Ich bin dann auf diesen Thread gestossen und habe cr_tmailform_ausprobiert, doch leider bin ich auch hier gescheitert. Der Einzeiler im "Howto" zu cr_tmailform ist ja alles anderer als ergiebig.

@all:
Hat irgendwer 'ne Idee (oder kann mich jemand an der Hand nehmen und mir erklären), wie ich das Captcha einbaue?!

Vorab Danke

JMS

SirRuddy ·

Hallo JMS,

bei mir hat es ohne weitere Eingriffe sehr gut funktioniert. Du musst natürlich "sr_freecap" und "pil_mailform" installiert haben, und zusätzlich noch die Extension "cr_tmailform_captcha" (um die Beiden zu "verbinden"). Nun noch unter Feldeinstellungen in den Plugin-Optionen bei Required values:

captcha;useCaptcha;text:Bitte wiederholen Sie das Wort aus der Grafik

eintragen und fertig.

Gruß
SirRuddy

Unbekannter Benutzer ·

Hi SirRuddy,

ich habe EXAKT dies gemacht:

pil_mailform 3.04 - installiert
sr_freecap 1.03 - installiert
cr_tmailform_captcha 0.01 - installiert

pil_mailform Vorlage angefertigt -> getestet -> funktioniert
sr_freecap subpart marker in die HTML Vorlage eingefügt:

<!--###CAPTCHA_INSERT### this subpart is removed if CAPTCHA is not enabled! -->
	<div class="tx-your-extension-id-pi1-captcha">
		<label for="tx_your_extension_id_pi1_captcha_response">###SR_FREECAP_NOTICE###</label>
		###SR_FREECAP_CANT_READ###
		<br />
		<input type="text" size="15" id="tx_your_extension_id_pi1_captcha_response" name="tx_your_extension_id_pi1_pi1[captcha_response]" title="###SR_FREECAP_NOTICE###" value="">
		###SR_FREECAP_IMAGE###
		###SR_FREECAP_ACCESSIBLE###
	</div>
<!--###CAPTCHA_INSERT###-->

Dann hab ich noch die von dir angegebene Zeile in die Required Values des Plug-ins eingefügt:

captcha;useCaptcha;text:Bitte wiederholen Sie das Wort aus der Grafik

Abgesehen, dass ich nur Standard Vorlagen genutzt habe, was fehlt? Ich sehe zwar ein Eingabefeld, aber kein Captcha Bild (habe auch noch keine GDF gemacht, muss ich das?) und damit keine Chance es zu testen.

Ich würde gern ein kleines How-To verfassen, wenn ich das fertig hinbekommen und "verstanden" habe.

Grüße,
tronicIO

SirRuddy ·

Das übersteigt leider auch meine Fähigkeiten 🙂 Aber soweit ich weiß kannst Du jede Schrift über: 'Tools' --> 'GD Font Maker' kompilieren. Habe aber auch keine Erfahrungen damit.

Gruß
SirRuddy

Unbekannter Benutzer ·

tja und genau der eintrag fehlt bei mir !!
in der anleitung steht, dass ich GDlib benötige, jetzt guck ich ins installationstool von typo3, da steht, dass ich das habe, aber freetype benötige um truetype schriften nutzen zu können!

MohnSemmel ·

Hallo,

ich krieg das irgendwie nicht hin mit dem required-setting im pil_mailform:

captcha;useCaptcha;text:Bitte wiederholen Sie das Wort aus der Grafik

... funktioniert nicht. Muss ich statt

id="tx_your_extension_id_pi1_captcha_response" name="tx_your_extension_id_pi1_pi1[captcha_response]"

folgendes im input-feld eintragen:

id="tx_pilmailform_pi1_captcha_response" name="tx_pilmailform_pi1[captcha_response]"

???

Danke schon mal für die Hilfe.

Grüße
Semmel

wolfi02 ·

Hallo MohnSemmel,

der Eintrag ist zwar schon etwas älter, aber falls du noch keine Lösung hast,oder andere das gleiche Problem haben, ich hab es endlich zum laufen bekommen.

Ich hab jetzt folgende Einstellungen:

HTML-Template:

<!--###CAPTCHA_INSERT### this subpart is removed if CAPTCHA is not enabled! -->
  <div class="tx_pilmailform_pi1_captcha">
    <label for="tx_pilmailform_pi1_captcha_response">###SR_FREECAP_NOTICE###</label>
    ###SR_FREECAP_CANT_READ###<br />
    <input type="text" size="15" id="tx_pilmailform_pi1_captcha_response" name="tx_pilmailform_pi1[captcha][captcha_response]" title="###SR_FREECAP_NOTICE###" value="">
    ###SR_FREECAP_IMAGE###
    ###SR_FREECAP_ACCESSIBLE###
  </div>
<!--###CAPTCHA_INSERT###-->

Im Plugin unter Required Fields:

captcha_response;useCaptcha;text:Bitte wiederholen Sie das Wort aus der Grafik

Wichtig bei der ganze Sache ist, das der Name des InputFeldes (captcha_response) mit der Pflichfeldbezeichnung übereinstimmt.