Moin,
Wie bekomme ich es hin, dass die Fehlermeldung von Spamshield wie hier http://typo3.org/documentation/document-library/extension-manuals/wt_spamshield/0.5.0/view/1/2/#id4151172 ausgegeben werden?
Es werden Fehler ausgegeben wenn ich vergesse Felder auszufüllen, z.B. E-Mail.
Bei Eingabe von gleichem Vor- und Zunamen wird lediglich ein Log im BE erstellt, aber nicht im FE wie im Screenshot ausgegeben.
Wie muss die entsprechende Config dafür aussehen?
plugin.tx_veguestbook_pi1 {
datetime_stdWrap.strftime= %A, %d.%m.%Y %H:%M
date_stdWrap.strftime= %d.%m.%y
time_stdWrap.strftime= %H:%M
}
plugin.wt_spamshield {
enable.ve_guestbook = 1
redirect.ve_guestbook = 4
message {
session.note1 = You're too slow man
session.note2 = Wow, that was too fast
session.note3 = Don't clear your sesssion man
httpcheck = Don't use more than %s links man
uniquecheck = Every field should contain its own content
namecheck = Your firstname and your lastname is the same? :)
akismet = I believe you want to spam my server
honeypod = There was an entry in the honeypod
}
}
Muss ich im Template des guestbooks noch entsprechende Marker setzen? Wenn ja welche?
wt_spamshield-0.5.2
ve_guestbook-2.8.1
Freue mich schon auf rege Beteiligung beim Lösen 😉
Gruß
L-o-B
Würde mich auch interessieren.
Hast Du evtl. schon die Lösung gefunden?
Danke,
Emil
Abend,
Also jetzt habe ich endlich eine für mich akzeptable Lösung.
Zunächst habe ich mir die 2 php-Datein von hier runtergeladen:
http://forge.typo3.org/issues/show/5131
Dann erstmal in der Datei class.tx_wtspamshield_ve_guestbook.php Zeile 131 von
if (empty($GLOBALS['TSFE']->tmpl->setup['plugin.']['wt_spamshield.']['enable.']['ve_guestbook']) || intval($GLOBALS['TSFE']->tmpl->setup['plugin.']['wt_spamshield.']['redirect.']['ve_guestbook']) > 0) // only if enabled for current page and redirect < 1
in
if (empty($GLOBALS['TSFE']->tmpl->setup['plugin.']['wt_spamshield.']['enable.']['ve_guestbook']) || intval($GLOBALS['TSFE']->tmpl->setup['plugin.']['wt_spamshield.']['redirect.']['ve_guestbook']) == 0) // only if enabled for current page and redirect > 0
geändert und anschließend in die entsprechenden Verzeichnisse kopiert.
Beim Gästebuch habe ich folgende Änderung vorgenommen:
Datei EXT:ve_guestbook/pi1/class.tx_veguestbook_pi1.php ~Zeile 1130
zwischen
if (t3lib_extMgm::isLoaded('captcha') && $this->config['captcha'] == 'captcha') {
session_start();
if(isset($_SESSION['tx_captcha_string'])) {
$captchaStr = $_SESSION['tx_captcha_string'];
$_SESSION['tx_captcha_string'] = '';
if ($captchaStr != $this->postvars['captcha_response'] && !empty($captchaStr)) {
$error .= '<li>'.ucfirst($this->pi_getLL('form_captcha_response'))." (".$this->pi_getLL('form_invalid_field').")</li>\n";
$this->errorFields['captcha'] = false;
}
} else {
$error .= '<li>' . ucfirst($this->pi_getLL('form_error_cookie')) . '</li>';
$this->errorFields['captcha'] = false;
}
}
und
$error .= $errorBlacklist;
if (!empty($error)) {
return "<ul>\n".$error."</ul>\n";
}
folgendes eingefügt:
if (is_array($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['ve_guestbook']['formValidationHook'])) {
foreach($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['ve_guestbook']['formValidationHook'] as $_classRef) {
$_procObj = & t3lib_div::getUserObj($_classRef);
$errorHook = $_procObj->formValidtionProcessor($this);
}
if(!empty($errorHook)){
foreach($errorHook as $errormessage){
$error .= "<li>".$errormessage."</li>";
}
}
}
Das funktioiert bei mir so wie ich es mir vorstelle.
Hoffe es hat noch geholfen 😉
Grüße
L-o-B