Zum Inhalt springen

freeCap Captcha installieren

Erstellt am 18. März 2009 · 17 Antworten · letzte Antwort am 10. Juli 2009

Tags: Frage

Teilzeitphilosoph ·

Moinz.
Ich bin der totale Anfänger, was Typo3 angeht und soll/muss/darf jetzt die Extension freeCap Captcha installieren. Hurra. ^^
Immerhin hab ich es schon mal runtergeladen und in Typo3 installieren können. Jetzt geht es allerdings weiter mit dem hier

http://typo3.org/documentation/document-library/extension-manuals/sr_freecap/1.1.1/view/3/2/

und das hier

http://typo3.org/documentation/document-library/extension-manuals/sr_freecap/1.1.1/view/3/3/

Mein Problem ist: Wohin damit? Und hab ich mit freeCap alles, was ich brauche? Die Person, die das Typo3 hier eingerichtet und gemacht hat, ist nicht mehr da und ne Doku über irgendwas gibt es natürlich nicht. Doof.
Immerhin hab ich etwas rausknobeln können. Das Captcha soll auf unser Kontaktformular und selbiges vermute ich in dem Front-End-PlugIn "MailformPlus".
Gibt es irgendwo ein nettes How-To-Tutorial oder so was in der Art?

-bedank-

Teilzeitphilosoph ·

Ich nehm, was ich kriegen kann. 🙂
Momentan knobel ich rum, wie er die HTML erstellt, denn ist gibt kein Template dazu....oder ich bin zu doof, um es zu finden. ^^

speedprogs ·

Hallo Teilzeitphilosoph,

ob die Extension "mailformplus" geladen ist, kannst du im Extension Manager (links im Menü unter "Admin tools") nachsehen. Dort wählst du im DropDown Oben "Loaded extensions" aus und suchst nach "th_mailformplus".

Solltest du fündig werden gehst du im Backend auf die Seite, wo im Frontend das Kontaktformular zu sehen ist. Öffnest du nun den Datensatz des Kontakformulars, siehst du unter dem Tab-Reiter "Plugin", welche Extension dafür verwendet wird.
Gibt es diesen Reiter nicht sondern einen Reiter namens "Form", handelt es sich um das normale mailform. Trifft der erste Fall zu und ist "mailfromplus" als Plugin ausgewählt, dann hast du Glück. Eine Konfiguration von sr_freecap ist dann recht einfach:

Zuerst musst du diesen Teil in das HTML-Template des Kontaktformulars einfügen. Das Template wird sicher über das Flexform definiert. Schau im Reiter "Plugin" im Reiter "General" mal nach dem Eigabefeld "Template File" (Achtung: Wenn das Template hier definiert ist, musst du es bei jeder Änderung neu zuweisen, da eine Kopie davon angelegt wird, um zu verhindern, dass die Seite nicht mehr funktioniert, wenn die Datei aus Versehen gelöscht wird.):

<!--###CAPTCHA_INSERT### -->
	<div class="captcha">
		<label for="captcha_response">###SR_FREECAP_NOTICE###</label>
		###SR_FREECAP_CANT_READ###
		<br />
		<input type="text" id="captcha_response" name="captchafield" title="###SR_FREECAP_NOTICE###" value="" />
		###SR_FREECAP_IMAGE###
	</div>
<!--###CAPTCHA_INSERT###-->

Dieser Teil wird später durch das Captcha-Bild und einen "Bild-tauschen"-Link ersetzt.
Anschließend fügst du deiner TypoScript-Konfiguration ("Template" im Linken Menü wählen, anschließend auf die erste Seite unter der Weltkugel und dann auf "Setup") folgenden Zeilen hinzu:

plugin.tx_thmailformplus_pi1.freecapFieldname = captchafield
plugin.tx_thmailformplus_pi1.fieldConf.captchafield = required

Die bewirkt, dass mailformplus weiß, welches Feld für die Captcha-Validierung genutzt werden soll und, dass das Captcha-Feld benötigt wird, um das Formular abzuschicken.

Jetzt noch den Cache leeren (je nach Typo3-Version Links Unten im Menü oder Rechs Oben neben dem "Ausloggen"-Button) und schon sollte es funktionieren. Wie man mailformplus im Detail konfiguriert, kannst du dessen Manual entnehmen:

http://typo3.org/documentation/document-library/extension-manuals/th_mailformplus/4.0.13/view/toc/0/

Teilzeitphilosoph ·

Ah, groovy. Das werd ich mir mal in Ruhe reinziehen, wenn ich wieder da bin. Momentan geniesse ich meinen Resturlaub. ^^
Aber auf jeden Fall verneige ich mich dafür schon mal im Geiste vor dir!

Teilzeitphilosoph ·

So, ich hab mich wieder rangesetzt aber ganz so einfach ist es doch nicht. Soweit ich das beurteilen kann, ist unser Kontaktformular gar nicht vom Template abhängig und auch nicht vom Typ HTML, sondern es ist ein Formular vom Typ "Formular". Es gibt keinen Reiter "PlugIn" oder "Form". Ich hab nur "Allgemein", "Formular", Access". In dem Formular selbst sind dann Einträge wie

Ansprache: | Ansprache=select | Herr, Frau
Vorname*: | *Vorname=input,20,30

Nun hab ich mir davon ne Sicherheitskopie gezogen und auf dieser Kopie gearbeitet. Wenn ich den HTML-Teil reinkopiere, kommt im FrontEnd erst der Text ###SR_FREECAP_NOTICE###, den er anscheinend aus dem Tag Label zieht. Und danach kommt ein leeres Eingabefeld, was zum Tag input passt.

Dafür hab ich die unteren beiden Zeilen da eingefügt, wo sie sinnvoll erschienen. In deinen Weg konnte ich im Setup nix eintippen aber im root hab ich was dazu gefunden.

4679: plugin.tx_thmailformplus_pi1 = USER_INT

war schon drin, also hab ich direkt darunter

4680: plugin.tx_thmailformplus_pi1.freecapFieldname = captchafield
4681: plugin.tx_thmailformplus_pi1.fieldConf.captchafield = required

eingesetzt. Soweit, so gut...gebracht hat es nix aber ich knobel noch ein wenig rum.

-bedank-
Teilzeitphilosoph

einpraegsam.​net ·

Langsam - die Anleitung von speedprogs bezog sich auf die Extension mailformplus und du nutzt das Standard TYPO3 Mailform. Und jetzt schauen wir auf das was einpraegsam geschrieben hat:

sr_freecap arbeitet so weit ich weiß nicht im normalen Kontaktformular

Wenn du also unbedingt sr_freecap nutzen willst, dann mit mailformplus oder powermail

Teilzeitphilosoph ·

Doof...gibt es denn ne stabile Alternative? Die Wahl fiel auf FreeCap, weil es als "stable" bezeichnet wurde. Mein Chef kriegt die Krise, wenn die Extension zusammenklappt. ^^

einpraegsam.​net ·

In der Regel kann man nicht nach dem Status gehen, denn der wird von verschiedenen Entwicklern verschieden genutzt (einige stellen nur "stable" Extensions ins Netz), wobei sr_freecap mit Sicherheit gut funktioniert.

Du kannst deinem Chef ausrichten, das er sich entspannen soll 8-)

Teilzeitphilosoph ·

Ich nich, frag meinen Boss. 🙂
Das (sein) Problem sind die leeren und/oder sinnlosen eMails, die wir manchmal über das Formular kriegen. Über ein Captcha soll das zumindest reduziert werden....so die Theorie. Es ist auch keine 100% Lösung aber was besseres fällt mir nicht ein. ^^

Teilzeitphilosoph ·

Tschaka, es funzt. Einziges Problem: Wenn ich eine Zielseite angebe, springt er immer dahin und dies unabhängig der Eingabe. Ohne Zielseite funktioniert es so, wie es soll.
Falsche Eingabe => Google.
Richtige Eingabe => Seite neugeladen und ne eMail im Kasten.

Newsletter anmelden? | Newsletter=check
Pflichtfeld | label

 Bitte ausrechnen| *wt_calculating_captcha=input,40
 | wt_calculating_captcha_redirect=hidden | http://google.de/


 | formtype_mail=submit | Senden
 | html_enabled=hidden | 1
 | subject=hidden | kontaktformular

Das is bestimmt ne Kleinigkeit aber ich bin -noch- zu doof, um es zu sehen. ^^

Teilzeitphilosoph ·

So, ich hab mich mal ein wenig in den Klassen und Funktionen umgesehen.
Dabei hab ich die _redirect gefunden und auch relativ leicht verstanden.

Original:

$link = (!empty($params['wt_calculating_captcha_redirect']) ? $params['wt_calculating_captcha_redirect'] : t3lib_div::getIndpEnv('TYPO3_SITE_URL'));

Und dachte mir, dass in $link bei einem richtigen Ergebnis der eine Link genommen wird und bei einem falschem/leerem Ergebnis der andere Link. Mit diesem Halbwissen hab ich dann das hier gecodet

Neue Form:

$link = (!empty($params['wt_calculating_captcha_redirect']) ? "http://www.gmx.de" : "http://www.google.de");

Aber er kommt nie auf Google.de. Leere/falsche Eingaben bringen mich zu GMX. Richtige Eingaben laden einfach die Seite noch mal neu.
Mal gucken, was man da noch basteln kann. Wer ne Idee hat, soll sich nich zurück halten. 🙂

TZP

Teilzeitphilosoph ·

Yoga-Fire, jetzt läuft es. Glücklicherweise -und lobenswert- war hinter jeder Zeile n Kommentar gewesen. Wenn die Eingabe leer/falsch ist, wird die Funktion redirect aufgerufen und der Wert für die neue Seite verarbeitet.
Also hab ich das einfach kopiert und ne neue Funktion damit erstellt, die redirectTrue heisst. Und den Aufruf der Funktion hab ich dahin gesetzt, wo das Ergebnis als Richtig identifiziert wird.

Fazit:
Jetzt werden ne Fehlerseite beim Fehler und ne AllesRichtigSeite bei richtiger Eingabe aufgerufen. Der einzige Nachteil bei der Fehlerseite ist, dass ich nicht zurück gehen kann und das Captcha neu eingeben kann. Er zeigt das von davor noch an aber es scheint intern schon ein neues Captcha geladen zu sein. Das muss ich "nur" noch meinem Chef so verkaufen. ^^

Ich bedanke mich soweit bei allen. 🙂
TZP

Teilzeitphilosoph ·

Damit es sich doch noch lohnt, hab ich noch ne Frage:
Kann ich die Position des Bildes verändern? Es hat die Angewohnheit immer erst am Ende des Formulars zu erscheinen, unabhängig wo ich die 2 Zeilen Code

Bitte ausrechnen| *wt_calculating_captcha=input,40,30
 | wt_calculating_captcha_redirect=hidden | http://www.secrypt.de/index.php?id=232

platziere. Lässt sich da überhaupt was machen oder ist das so?

W5-NOX ·

mir ist aufgefallen, dass die extension wt_calculate... eigentlich richtig funzt.

unter internet explorer 6 geht das formular immer auf die hidden seite...
unter allen anderen browser funzt die extension wie ein baby...

warum macht ie6 da wieder was microsoft will?