diff --git a/info.json b/info.json index 5a821ea..48d027d 100644 --- a/info.json +++ b/info.json @@ -1,18 +1,18 @@ { "name": "Simple Math CAPTCHA", "slug": "simple-math-captcha", - "version": "1.3.4", + "version": "1.3.5", "author": "Ingo Höttges", "author_homepage": "https://git.rosinenkot.de/ingo", "homepage": "https://git.rosinenkot.de/ingo/simple-math-captcha", "requires": "5.8", "tested": "6.9", "requires_php": "8.0", - "download_url": "https://git.rosinenkot.de/ingo/simple-math-captcha/archive/v1.3.4.zip", + "download_url": "https://git.rosinenkot.de/ingo/simple-math-captcha/archive/v1.3.5.zip", "last_updated": "2026-04-23 08:00:00", "sections": { "description": "Minimalistische Mathe-CAPTCHA auf WordPress-Login, Passwort-Reset und Registrierung. Keine externen Requests, kein JavaScript, kein Tracking. Einstellungen unter Einstellungen → Math CAPTCHA: Maximaler Wert an der Lücke, maximale Summe, Position der Lücke (erster/zweiter Summand, Summe, Zufall).", - "changelog": "

1.3.4

1.2.0

1.1.0

" + "changelog": "

1.3.5

1.3.4

1.2.0

1.1.0

" }, "icons": { "default": "https://git.rosinenkot.de/ingo/simple-math-captcha/raw/branch/main/icon-128.png" diff --git a/simple-math-captcha.php b/simple-math-captcha.php index fe3e4b0..bcb1db6 100644 --- a/simple-math-captcha.php +++ b/simple-math-captcha.php @@ -5,7 +5,7 @@ * Keine externen Requests, kein JavaScript, kein Tracking, keine Tabellen. * Loesung wird serverseitig als einmal-verwendbarer Transient gespeichert (10 min TTL). * Einstellungen unter "Einstellungen > Math CAPTCHA". - * Version: 1.3.4 + * Version: 1.3.5 * Author: Ingo Höttges * License: GPL-2.0-or-later */ @@ -149,6 +149,13 @@ class Simple_Math_Captcha { if (empty($_POST) || empty($_POST['log']) || empty($_POST['pwd'])) { return $user; } + // Wenn WordPress bereits einen Fehler hat (z. B. falsches Passwort), + // durchreichen — sonst wuerde unsere Captcha-Fehlermeldung den + // originalen Fehler ueberdecken und die native rote WP-Meldung + // fuer falsche Anmeldedaten ginge verloren. + if (is_wp_error($user)) { + return $user; + } if (!$this->check()) { return new WP_Error( 'captcha_failed',