Hallo
Kann ich denn auch die captcha Extension statt der sr_freecap-Extension für das ve_guestbook verwenden? Ich weiss, ve_guestbook ist vorbereitet für sr_freecap und beides funktioniert einwandfrei, aber ich verwende für das Kontaktformular halt die captcha Ext und irgendwie gefällt die mir besser u.a. auch wg. der Lesbarkeit.
Muss ich ins ve_guestbook template nur einen passenden Marker einbauen (z.B. beim Kontaktformular abgucken) oder muss das noch weiter gehen in Richtung Änderung von php-files?
Hat das schon jemand erfolgreich gemacht?
Würde mich über eine Antwort freuen
Gruß
Tobias
ve_guestbook + captcha (nicht sr_freecap!)
Fast ganz einfach. Ich musste in der Datei class.tx_veguestbook_pi1.php in ungefähr Zeile 490 sowie ca. 613 (aktuelle ve_guestbook-Version) folgendes hinzufügen:
$substituteArray = array('firstname', 'surname', 'email', 'homepage', 'place', 'entry', 'entrycomment', 'submit', 'captcharesponse', 'captcha');
Also die letzten beiden Einträge mit dem captcha hinzufügen.
Außerdem in ca. Zeile 622 nach $markerArray['###ActionURL###'] = url;
## CAPTCHA PLUGIN #########################################################################################################################################################
if (t3lib_extMgm::isLoaded('captcha')) {
#creating any random string to workarround browser caching of old captcha image
$anything = date("d.m.Y-H:i:s",time());
$captchaHTMLoutput = '<img src="'.t3lib_extMgm::siteRelPath('captcha').'captcha/captcha.php?'.$anything.'" alt="No Spam!" />';
} else {
$captchaHTMLoutput = 'a';
}
$markerArray['###CAPTCHA_INSERT###'] = $captchaHTMLoutput;
## CAPTCHA PLUGIN #########################################################################################################################################################
Und in Zeile ca. 917 (nach function checkForm) folgendes einfügen:
## CAPTCHA PLUGIN #########################################################################################################################################################
# Getting the Captcha String #################
if (t3lib_extMgm::isLoaded('captcha')) {
session_start();
$captchaStr = $_SESSION['tx_captcha_string'];
$_SESSION['tx_captcha_string'] = '';
} else {
$captchaStr = -1;
}
# Evaluating the captcha string
#if ($this->postvars['captcha_response'] != $captchaStr) {
if (strcasecmp($this->postvars['captcha_response'], $captchaStr) != 0) {
$error .= '<li>Eingabe des Antispamcode war leider falsch, bitte nochmal probieren!</li>';
}
## CAPTCHA PLUGIN #########################################################################################################################################################
Hoffe, das funktioniert so bei dir.
Das editieren des php-files hat leider nicht geklappt, keine Ahnung, warum. Habe aber dann das script aus einem anderen posting (#28025) per copy and paste genommen und da hats dann geklappt. Naja, wahrscheinlich hatte ich irgendeine Kleinigkeit übersehen (Schussel)
Trotzdem danke für die Antwort.
Gruß
Tobias
Anstatt hier Code-Schnipsel zu posten, einfach mal den Autor des guestbooks kontaktieren - dann könnte dieser dies in einer neuen Version mit einbauen. Wozu sonst gibt es Open Source? ;-)
Udo