Ergebnis 1 bis 5 von 5

Thema: recaptcha-Erweiterung nicht kompatibel mit TL 2.8.0

  1. #1
    Contao-Nutzer Avatar von otto06217
    Registriert seit
    19.02.2010.
    Beiträge
    3

    Standard recaptcha-Erweiterung nicht kompatibel mit TL 2.8.0

    Hallo,

    ich bin neu hier und hab mir heute mal die nicht kompatible erweiterung recaptcha 0.6.1 stable
    installiert und bin darüber gestolptert:

    Fatal error: Call to undefined method FormReCaptcha::generateQuestion() in .../system/modules/news/templates/mod_newsreader.tpl on line 42

    An sich kein Problem, hier also mein "Quick-n-Dirty" - Hack.

    in .../system/modules/recaptcha/FormReCaptcha.php Zeile 176
    PHP-Code:
    public function generate()... 
    den ganzen Funktionsblock kopieren und am besten gleich dahinter einfügen
    PHP-Code:
    public function generate() /* im  einfuegten Funktionsblock in */ 
    public function generateQuestion() 
    umbennen.
    Nur
    PHP-Code:
    generate() 
    umzubennen führt zu einem anderen Fehler:
    Fatal error: Class FormReCaptcha contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Widget::generate) in .../system/modules/recaptcha/FormReCaptcha.php on line 208

    Das zieht mir zu viele Blasen, also zog ich die schnelle und schmutzige Lösung vor.
    Ja, ich weiß...

    Alternativ könnte man auch jeden Methodenaufruf
    PHP-Code:
    <div class="widget">
      <?php echo $this->fields['captcha']->generateWithError(); ?>
         <label for="ctrl_captcha"><?php echo $this->fields['captcha']->generateQuestion(); ?>
         <span class="mandatory">*</span>
    </label>
    in /system/modules/news/templates/mod_newsreader.tpl bzw. eigenen Templates ändern.

    Das erschien mir noch aufwändiger. Bis dahin wird recaptcha sicher geupdatet. Ich empfehle meinen Hack daher nur bastelfreudigen Nutzern.

    Grundsätzlich halte ich nicht in den Core rein. Insofern bot sich die Änderung einer Erweiterung geradezu an.

    Ciao
    Geändert von otto06217 (19.02.2010 um 23:03 Uhr)

  2. #2
    Contao-Nutzer
    Registriert seit
    15.11.2009.
    Beiträge
    9

    Standard

    Super Sache, danke.
    Gerade gesucht wie ein Gestoerter was da los ist.
    Was ich seltsam finde ist, dass:

    public function generate() { ... code ... }
    public function generateQuestion() { generate() }

    nicht funktioniert. Aber dazu bin ich wohl nicht php-skilled genug ^^

  3. #3
    Contao-Nutzer Avatar von otto06217
    Registriert seit
    19.02.2010.
    Beiträge
    3

    Standard Was geht nicht?

    Hai,

    probier mal das:

    PHP-Code:
    public function generateQuestion()
    {
        return 
    $this->generate();

    Getestet und funzt. Ist zwar nicht die reine Lehre, aber bis das Problem generell gelöst wird, lassen wir's einfach mal so, oder?

    Und außerdem ist die Lösung "superkompatibel".

    Gruß

    PS: Klar, hätte ich auch selbst drauf kommen
    Geändert von otto06217 (02.03.2010 um 21:43 Uhr)

  4. #4
    Contao-Nutzer Avatar von mr_flory
    Registriert seit
    16.08.2009.
    Ort
    München
    Beiträge
    13

    Standard

    Hallo,

    ich bin der Entwickler der reCaptcha Erweiterung. Ich wurde leider erst jetzt auf dieses Problem aufmerksam gemacht.
    Es befindet sich nun eine neue Version im Katalog, welche das Problem umgeht, um den Fehler zu vermeiden. Leider sind die Kommentarformulare so implementiert, dass sie nur für das Standard-Captcha geeignet sind, und daher müsste eigentlich für reCaptcha jedes dieser Templates geändert werden. Aber für die Standard-Themes funktioniert es zum Glück auch so.

    Gruß, Florian

  5. #5
    Contao-Nutzer Avatar von otto06217
    Registriert seit
    19.02.2010.
    Beiträge
    3

    Computer

    Zitat Zitat von mr_flory Beitrag anzeigen
    Hallo,

    ich bin der Entwickler der reCaptcha Erweiterung. Ich wurde leider erst jetzt auf dieses Problem aufmerksam gemacht.
    Es befindet sich nun eine neue Version im Katalog, welche das Problem umgeht, um den Fehler zu vermeiden. Leider sind die Kommentarformulare so implementiert, dass sie nur für das Standard-Captcha geeignet sind, und daher müsste eigentlich für reCaptcha jedes dieser Templates geändert werden. Aber für die Standard-Themes funktioniert es zum Glück auch so.

    Gruß, Florian
    Das habe ich erkannt, deshalb habe ich ja diesen Weg gewählt:
    PHP-Code:
    public function generateQuestion()
    {
        return 
    $this->generate();

    Das ist natürlich nicht elegant. aber dadurch müssen die entsprechenden Templates nicht geändert werden.

    Ich schau mir bei Gelegenheit Deine neue Version an. Insgesamt ist es aber etwas ärgerlich, dass dem so ist. Aber was soll's?

    Gruß und Frohe Ostern

    Otto
    Geändert von otto06217 (01.04.2010 um 18:50 Uhr)

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. cufon und csseditor nicht kompatibel?
    Von plusx im Forum Sonstige Erweiterungen
    Antworten: 6
    Letzter Beitrag: 10.06.2011, 08:09
  2. reCAPTCHA modifizieren
    Von apfeloma im Forum Sonstige Erweiterungen
    Antworten: 8
    Letzter Beitrag: 21.09.2010, 16:33
  3. [recaptcha] reCaptcha: Sprache
    Von jabadoo im Forum Sonstige Erweiterungen
    Antworten: 0
    Letzter Beitrag: 20.08.2009, 10:58

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •