Forum

Moderiert von: spinne
Forum: Codeschnippsel
Sie schreiben eine Antwort zum Thema: Weblog Kommentart mit Captcha
Gehe zu: OpenPHPNuke - das Open Source CMS Forum Index


über den Beitrag: Auch anonyme Benutzer können in diesem Forum neue Themen eröffnen und Antworten schreiben.
Benutzername:
Nachrichtensymbol:
                                                                                                                       

more...


HTML : An
BBCode : An
 


Klicken Sie auf die Smilies, um diesen in Ihre Nachricht einzufügen:

Very Happy Very Happy Smile Smile Sad Sad Surprised Surprised
Confused Confused Cool Cool Laughing Laughing Mad Mad
Razz Razz Embaressed Embaressed Crying (very sad) Crying (very sad) Evil or Very Mad Evil or Very Mad
Rolling Eyes Rolling Eyes Wink Wink Another pint of beer Another pint of beer ToolTimes at work ToolTimes at work
I have an idea I have an idea

more... 
Einstellungen:







 
Sicherheits-Code
Sicherheits-Code
Neu laden

Thema im Überblick

Autor
anonymous
Unregistrierter Benutzer
Weblog Kommentart mit Captcha

Geschrieben: 08.06.2007 11:41

Hi Stefan,

ja, dass es nicht 100% sauber war, dessen war ich mir bewusst, aber nachdem ihr besseren Überblick habt wo was in welcher class zu finden ist dacht ich mir gehts so schneller - ich muss da immer lange suchen um erstmal zu finden ob es da schon was gibt und wie die Zusammenhänge sind.

Gruß
Alex


Zitieren Druckerfreundliche Darstellung nach oben
stefan
Beiträge: 2435
Wohnort: Münster


Sende eine Private Nachricht an stefan
ICQ
Weblog Kommentart mit Captcha

Geschrieben: 08.06.2007 09:17

nett

kleine anmerkung...

$opnConfig['cuf_display_gfx_spamcheck'] ist ein objekt aus dem Contact-Modul. Du änderst aber die globale comment class

das pass dann von der logik her nicht so ganz

besser die comment class so umwandeln das sie schaltbar den code nutzt

getan mit trunk revision 877

dann in einem zweiten Schritt die Weblog Settings entsprechend erweitern und beim aufruf der comment class übergeben

getan mit trunk revision 878


Zitieren Druckerfreundliche Darstellung nach oben
axe

Registriert: 05.11.2006
Beiträge: 58
Sende eine Private Nachricht an axe
Weblog Kommentart mit Captcha

Geschrieben: 07.06.2007 12:18

ach so ja, fast vergessen, captcha verwenden / nicht verwenden kann noch nicht konfiguriert werden in den Weblog-Moduleinstellungen. hatte ich noch keine Zeit für.

Auch fehlt noch ein Redirect wenn der Code falsch eingegeben wurde nachdem die Meldung angezeigt wurde dass der Code falsch eingegeben wurde zurück auf die Kommentarseite.


Zitieren Druckerfreundliche Darstellung nach oben
axe

Registriert: 05.11.2006
Beiträge: 58
Sende eine Private Nachricht an axe
Weblog Kommentart mit Captcha

Geschrieben: 07.06.2007 12:11

hi,

so, damit ich nicht immer nur Bugs reporte hier mal eine Erweiterung für das Weblog Modul damit da bei Kommentaren auch der Security-Code abgefragt wird (analog Contact-Modul):

1. Anpassen der language/opn_comment_class/language/... files

hier müssen in jedem language file die folgenden 3 defines hinzugefügt werden:

define ('_OPN_CLASS_OPN_COMMENT_SECURITYCODE', 'Sicherheits-Code');
define ('_OPN_CLASS_OPN_COMMENT_TYPE_SECURITYCODE', 'Sicherheitscode hier eingeben');
define ('_OPN_CLASS_OPN_COMMENT_SECURITYCODE_WRONG', 'Sicherheitscode wurde falsch eingegeben.');

2. Anpassen von class/class_opn_comment.php

2.1 suchen nach:
function _replyPreview () {

2.2 in dieser function suchen nach
$form->AddChangeRow ();
$form->AddLabel ('subject', _OPN_CLASS_OPN_COMMENT_SUBJECT);

2.3 über diesen beiden Zeilen folgenden Block einfügen:
if ( (!isset($opnConfig['cuf_display_gfx_spamcheck'])) OR ($opnConfig['cuf_display_gfx_spamcheck'] == 1) ) {
$form->AddChangeRow ();
$form->AddText (_OPN_CLASS_OPN_COMMENT_SECURITYCODE);
$form->AddText ('' . _OPN_CLASS_OPN_COMMENT_SECURITYCODE . '');
$form->AddChangeRow ();
$form->AddLabel ('gfx_securitycode', _OPN_CLASS_OPN_COMMENT_TYPE_SECURITYCODE);
$form->AddTextfield ('gfx_securitycode', 7, 6);
}

2.4 2.1 bis 2.3 wiederholen für die function _Reply () {

2.5 suchen nach

function _CreateTopic () {
global $opnConfig, $opnTables;

2.6 nach diesen Zeilen folgenden Code-Block einfügen:

$inder = 0;
if ( (!isset($opnConfig['cuf_display_gfx_spamcheck'])) OR ($opnConfig['cuf_display_gfx_spamcheck'] == 1) ) {

include_once (_OPN_ROOT_PATH . _OPN_CLASS_SOURCE_PATH . 'custom/class.custom_captcha.php');
$captcha_obj = /*& new!!new*//**/& new/**/ custom_captcha;
$captcha_test = $captcha_obj->checkCaptcha ();

if ($captcha_test != true) {
$inder = 1;
}
}

if ($inder == 0) {

2.7 am Ende der function aus 2.5 folgenden code-block einfügen:

} else {
include_once (_OPN_ROOT_PATH . _OPN_CLASS_SOURCE_PATH . 'custom/custom_spamfilter_api.php');
$showok = cmi_notify_spam ("");
$showok = false;
$opnConfig['opnOutput']->DisplayContent ('', _OPN_CLASS_OPN_COMMENT_SECURITYCODE_WRONG);
}


Das wars.

Alex


Zitieren Druckerfreundliche Darstellung nach oben