Git Product home page Git Product logo

Comments (13)

zoglo avatar zoglo commented on June 30, 2024 1

@githuppi Könntest du einmal:
"contao/newsletter-bundle": "4.9.*", aufnehmen und installieren?

from contao-captcha.

zoglo avatar zoglo commented on June 30, 2024 1

Wahrscheinlich der selbe Fehler mit dem PCT-System.
Scheint mir nach einem Bug des contao/manager-plugin auszusehen, wobei 4.9 nicht mehr maintained wird.

@githuppi Magst du einmal die dev-main testen?

from contao-captcha.

githuppi avatar githuppi commented on June 30, 2024 1

Ja gern, dev-main teste ich direkt.

from contao-captcha.

githuppi avatar githuppi commented on June 30, 2024 1

Die dev-main / 1.0.4 hat den Fehler behoben. Großes Kino 👍

Ich habe es gerade bei unserem Kunden mit dem alten PCT Eclipse Theme installiert. Und für alle die hier mit dem selben Problem ankommen:

Die Erweiterung läuft mit

  • Contao 4.9.42
  • PHP 7.4.33 (alte Kundeninstallation)
  • PCT Theme Eclipse (nicht X, die alte Version)

from contao-captcha.

githuppi avatar githuppi commented on June 30, 2024 1

Danke für die schnelle Fehlerbehebung!

from contao-captcha.

zoglo avatar zoglo commented on June 30, 2024

Hey @githuppi
Ist Version 1.0.3 installiert?

Wahrscheinlich tritt der Fehler auch in Verbindung mit dem Newsletter-Abmelden + Anmelden auf?

from contao-captcha.

githuppi avatar githuppi commented on June 30, 2024

Ja es läuft 1.0.3, ein Newsletter ist dort nicht im Einsatz. Einfaches Kontakt-Formular mit Sicherheitsabfrage.

from contao-captcha.

zoglo avatar zoglo commented on June 30, 2024

Ich kann es unter 4.9.42 und PHP 7.4, sowie 8.1 nicht reproduzieren.

Gibt es noch andere Abhängigkeiten, bzw. handelt es sich hierbei nicht um eine Contao-managed edition?
contao/manager-bundle": "4.9.*" <-- Müsste in der composer.json stehen.

Edit:
Das wäre der einzige Grund, welcher mir hier einfallen würde, da das "manager-plugin" dafür verantwortlich ist, meine Klassen nach dem Core + NewsletterBundle zu laden, somit auch zu überschreiben.

Wenn du also nicht folgende Zeilen in deiner composer.json hast, dann würde die Reihenfolge nicht stimmen.
Es kann natürlich auch sein, dass du ein Theme nutzt, welches FormCaptcha modifiziert und von Contao übernimmt, dann wäre dies nicht mit diesem Plugin kompatibel.

    ...
    "require": {
         ...
        "contao/manager-bundle": "4.9.*"
    },
    ...
    "scripts": {
        "post-install-cmd": [
            "Contao\\ManagerBundle\\Composer\\ScriptHandler::initializeApplication"
        ],
        "post-update-cmd": [
            "Contao\\ManagerBundle\\Composer\\ScriptHandler::initializeApplication"
        ]
    },
    ...

Evtl. hilft auch schon eine vollständige Paketaktualisierung.

from contao-captcha.

githuppi avatar githuppi commented on June 30, 2024

Danke für die Infos, hier mal zum Vergleich die composer.json des Projektes:

composer.json

{
    "type": "project",
    "require": {
        "contao/calendar-bundle": "4.9.*",
        "contao/conflicts": "*@dev",
        "contao/listing-bundle": "4.9.*",
        "contao/manager-bundle": "4.9.*",
        "contao/news-bundle": "4.9.*",
        "do-while/contao-jobposting-bundle": "^1.1",
        "fenepedia/contao-er24-rechtstexte": "^1.0",
        "jrgregory/m17-sticky-backend-footer": "^2.0",
        "madeyourday/contao-rocksolid-columns": "v2.0.3",
        "terminal42/contao-easy_themes": "^2.2",
        "terminal42/contao-inserttags": "1.9.6",
        "terminal42/notification_center": "1.6.14",
        "zoglo/contao-captcha": "^1.0"
    },
    "extra": {
        "contao-component-dir": "assets"
    },
    "scripts": {
        "post-install-cmd": [
            "Contao\\ManagerBundle\\Composer\\ScriptHandler::initializeApplication"
        ],
        "post-update-cmd": [
            "Contao\\ManagerBundle\\Composer\\ScriptHandler::initializeApplication"
        ]
    }
}

Das Theme, welches im Einsatz ist ist ein „älteres“ Eclipse X Theme von PCT.

Es befindet sich im Template Ordner „layout“ jedoch kein überschriebenes contao-captcha.html5 Template. Erst wenn ich es ableite erhalte ich den Fehler wie im ersten Posting beschrieben.

from contao-captcha.

zoglo avatar zoglo commented on June 30, 2024

@githuppi da ich die Architektur von PCT nicht kenne (und auch aus deren Forenbeiträgen hervorgeht, dass sie nicht mit der neuen Captcha-Variante umgehen können aka invalid Request-Token usw), würde ich hier eher im PCT-Forum erfragen, warum die setLoadAfter der Contao-Manager Klasse dieses Plugin nicht nach dem Contao-Core lädt.

Bei PCT kann ich dir hier keinen Support geben, da es leider Closed-Source und bekannt für seine Eigenarchitektur zwecks Installer-Prozess ist (Entgegen des Contao-Managers).

Eine neuere Version des PCT-Themes kannst du auch nicht für 4.13.37 installieren, da es mit Request-Token auch nur funktioniert, wenn der Cache disabled wurde.

Leider kannst du dieses Plugin also nicht für PCT verwenden, ich würde das Issue hiermit schließen.

from contao-captcha.

githuppi avatar githuppi commented on June 30, 2024

@zoglo leider muss ich nochmal nachhaken. Wir haben hier auch eine selbst umgesetzte Seite bei der ich den gleichen Fehler erhalte. Dort ist ein individuell erstelltes Theme drin.

Die Fehlermeldung lautet:
[2024-03-07 11:39:23] security.INFO: Populated the TokenStorage with an anonymous Token. [] [] [2024-03-07 11:39:23] request.CRITICAL: Uncaught PHP Exception Symfony\Component\ErrorHandler\Error\UndefinedMethodError: "Attempted to call an undefined method named "getAjaxUrl" of class "Contao\FormCaptcha"." at /hosting/49_lts/templates/gwm/form_captcha.html5 line 25 {"exception":"[object] (Symfony\\Component\\ErrorHandler\\Error\\UndefinedMethodError(code: 0): Attempted to call an undefined method named \"getAjaxUrl\" of class \"Contao\\FormCaptcha\". at /hosting/49_lts/templates/gwm/form_captcha.html5:25)"} []

Leite ich das Template ab bekomme ich den obigen Fehler.
In Zeile 25 vom abgeleiteten Template steht:

<script src="<?= $this->getAjaxUrl() ?>" data-id="<?= $this->id ?>" data-name="<?= $this->name ?>" async></script>

Die composer.json des Projekts habe ich hier:

{
    "type": "project",
    "require": {
        "christianbarkowsky/tabcontrol": "^3.0",
        "codefog/contao-haste": "^4.18",
        "contao/calendar-bundle": "4.9.*",
        "contao/conflicts": "*@dev",
        "contao/faq-bundle": "4.9.*",
        "contao/listing-bundle": "4.9.*",
        "contao/manager-bundle": "4.9.*",
        "contao/news-bundle": "4.9.*",
        "delahaye/dlh_geocode": "^1.1",
        "delahaye/dlh_googlemaps": "^2.4",
        "fenepedia/contao-er24-rechtstexte": "^1.0",
        "giggsey/libphonenumber-for-php": "^8.9",
        "hofff/contao-calendarfield": "^4.0",
        "jrgregory/m17-sticky-backend-footer": "^2.0",
        "madeyourday/contao-rocksolid-columns": "^2.0",
        "oveleon/contao-cookiebar": "^1.4",
        "terminal42/contao-changelanguage": "^3.1",
        "terminal42/contao-easy_themes": "^2.2",
        "terminal42/contao-fineuploader": "^2.0",
        "terminal42/contao-inserttags": "^1.9",
        "terminal42/contao-tablelookupwizard": "^3.3",
        "terminal42/dcawizard": "^2.4",
        "terminal42/notification_center": "^1.5",
        "zoglo/contao-captcha": "^1.0"
    },
    "autoload": {
        "classmap": [
            "src/Estao/ContaoManagerPlugin.php"
        ],
        "psr-4": {
            "Estao\\Core\\": "src/Estao/Core",
            "Estao\\Helper\\": "src/Estao/Helper",
            "Estao\\Export\\": "src/Estao/Export",
            "Estao\\Notifications\\": "src/Estao/Notifications"
        }
    },
    "extra": {
        "contao-component-dir": "assets"
    },
    "scripts": {
        "post-install-cmd": [
            "Contao\\ManagerBundle\\Composer\\ScriptHandler::initializeApplication"
        ],
        "post-update-cmd": [
            "Contao\\ManagerBundle\\Composer\\ScriptHandler::initializeApplication"
        ]
    }
}

Bin für weitere Hilfe sehr dankbar.

from contao-captcha.

githuppi avatar githuppi commented on June 30, 2024

@zoglo hab ich gemacht. Jetzt ist das Template im Quelltext aktiv. 🥳

<div class="widget widget-captcha mandatory" style="display: none;">
      <label for="ctrl_44">
        <span class="invisible">Pflichtfeld </span>Sicherheitsfrage<span class="mandatory">*</span>
    </label>

  
    <input type="text" name="captcha_44" id="ctrl_44" class="captcha mandatory" value="" aria-describedby="captcha_text_44" maxlength="2">
    <span id="captcha_text_44" class="captcha_text">Bitte rechnen Sie 7 plus 8.</span>
    <input type="hidden" name="captcha_44_hash226" value="a397e05e05f4f9bd17fe9a757e378e94d6b7dabde9fd6fa59a8ba5be6c73e07f">

    <div style="display:none">
        <label for="ctrl_44_hp">Do not fill in this field</label>
        <input type="text" name="captcha_44_name" id="ctrl_44_hp" value="">
    </div>
    <script src="/_contao/captcha/de" data-id="44" data-name="captcha_44" async=""></script>

</div>

Wir haben oftmals das Newsletter System nicht installiert. Gäbe es einen Workaround die Erweiterung auch ohne die „Kopplung“ an den Newsletter zum Laufen zu bringen?

from contao-captcha.

zoglo avatar zoglo commented on June 30, 2024

Dann ist es nun in der neuen 1.0.4 behoben :), Danke fürs Testen @githuppi

from contao-captcha.

Related Issues (1)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.