TYPO3-Testaccount
Testen Sie die aktuellste TYPO3-Version kostenlos und unverbindlich für einen Monat!

Jetzt testen!

Schulungen

ve_guestbook & Fehlermeldung von wt_spamshield


Autor Nachricht
Verfasst am: 01. 07. 2009 [13:32]
L-o-B
Themenersteller
Dabei seit: 24.01.2009
Beiträge: 18
Moin,
Wie bekomme ich es hin, dass die Fehlermeldung von Spamshield wie hier 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?

TYPOSCRIPT
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? <img src="typo3conf/ext/mm_forum//res/smilies/icon_smile.gif" alt="icon_smile.gif" />
		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 icon_wink.gif

Gruß
L-o-B

typo3-4.3.1
Profil
Verfasst am: 09. 09. 2009 [11:36]
Gruenbaer
Dabei seit: 02.05.2007
Beiträge: 18
Würde mich auch interessieren.
Hast Du evtl. schon die Lösung gefunden?

Danke,

Emil
Profil
Verfasst am: 25. 01. 2010 [00:18]
L-o-B
Themenersteller
Dabei seit: 24.01.2009
Beiträge: 18
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:
forge.typo3.org/issues/show/5131
Dann erstmal in der Datei class.tx_wtspamshield_ve_guestbook.php Zeile 131 von
PHP
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
PHP
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
PHP
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').&quot<img src="typo3conf/ext/mm_forum//res/smilies/icon_wink.gif" alt="icon_wink.gif" /></li>\n";
			$this->errorFields['captcha'] = false;
		}
	} else {
		$error .= '<li>' . ucfirst($this->pi_getLL('form_error_cookie')) . '</li>';
		$this->errorFields['captcha'] = false;
	}
}
und
PHP
$error .= $errorBlacklist;
 
if (!empty($error)) {
	return "<ul>\n".$error."</ul>\n";
}
folgendes eingefügt:
PHP
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 icon_wink.gif

Grüße
L-o-B

typo3-4.3.1
Profil