Projekt

Allgemein

Profil

Aktionen

Bug #84

offen

[Bugsink] ErrorException: Warning: Undefined array key "eventTimeEnd"

Von Bug Sink vor etwa 1 Monat hinzugefügt.

Status:
Neu
Priorität:
wichtig
Zugewiesen an:
-
Beginn:
23.07.2026
Abgabedatum:
% erledigt:

0%

Geschätzter Aufwand:

Beschreibung

Bugsink: https://bugsink.cytrus.de/issues/issue/373f87d2-944b-493c-8bc2-8aabdbc2b1a8/event/last/

Typ: NEW issue

Projekt: www-rietberg-de

Bugsink Alert

ErrorException: Warning: Undefined array key "eventTimeEnd"


Automatisch erstellt durch n8n

KI-Analyse:

Analyse des Fehlers: Undefined array key "eventTimeEnd"


1. Ursache identifizieren

Der Fehler tritt auf, weil im PHP-Code auf einen nicht existierenden Array-Key (eventTimeEnd) zugegriffen wird.

  • Kontext:

    • Der Fehler stammt aus einer benutzerdefinierten Logik (vermutlich in /public/index.php oder einer Extension), die auf ein Array (z. B. $_POST, $_GET, $_REQUEST oder ein TYPO3-Formular-Datenarray) zugreift, ohne vorher zu prüfen, ob der Key existiert.
    • Typische Szenarien:
      • Ein Formularfeld eventTimeEnd wurde nicht gesendet (z. B. bei bedingter Anzeige im Frontend).
      • Ein TYPO3-Extension-Plugin verarbeitet Daten, aber das Feld ist optional oder wurde nicht korrekt initialisiert.
      • Ein API-Request enthält nicht alle erwarteten Parameter.
  • Stacktrace-Hinweise:

    • Der Fehler entsteht in /public/index.php (Zeile 20/21), was auf benutzerdefinierten Code hindeutet (kein Core-Fehler).
    • Die Middleware-Kette zeigt, dass der Fehler während der Request-Verarbeitung auftritt (z. B. bei der Verarbeitung von Formulardaten oder Plugin-Output).

2. Fix beschreiben (konkret)

Lösungsansätze (je nach Kontext):

A) Null-Coalescing-Operator oder isset()-Prüfung

Falls der Key optional ist:

// Vorher (fehleranfällig):
$eventTimeEnd = $array['eventTimeEnd'];

// Nachher (sicher):
$eventTimeEnd = $array['eventTimeEnd'] ?? null;  // PHP 7.0+
// oder
$eventTimeEnd = isset($array['eventTimeEnd']) ? $array['eventTimeEnd'] : null;
B) Validierung in Extbase-Controller (TYPO3)

Falls es sich um ein Extbase-Plugin handelt:

/**
 * @param string $eventTimeEnd
 * @Extbase\Validate("NotEmpty")  // Optional: Feld als Pflichtfeld markieren
 */
protected $eventTimeEnd;
  • Achtung: Falls das Feld optional ist, muss die Validierung entfernt oder angepasst werden.
C) Formular-Logik anpassen (TYPO3 Fluid)

Falls das Feld in einem Fluid-Formular verwendet wird:

<!-- Vorher (fehleranfällig, wenn Feld nicht gesendet wird): -->
<input type="text" name="tx_myextension[eventTimeEnd]" />

<!-- Nachher (mit Default-Wert): -->
<input type="text" name="tx_myextension[eventTimeEnd]" value="{data.eventTimeEnd}" />
  • Hinweis: Im Controller muss geprüft werden, ob das Feld existiert.
D) TYPO3 DataHandler (Backend)

Falls der Fehler im Backend auftritt (z. B. bei der Verarbeitung von TCA-Daten):

// In der TCA-Konfiguration:
'columns' => [
    'event_time_end' => [
        'config' => [
            'type' => 'input',
            'eval' => 'datetime,null',  // Erlaubt NULL-Werte
        ],
    ],
],

3. Betroffene TYPO3 Extension nennen

  • Der Fehler stammt nicht aus dem TYPO3-Core, sondern aus:
    • Benutzerdefiniertem Code in /public/index.php (vermutlich ein Frontend-Plugin oder API-Endpoint).
    • Oder einer eigenen Extension, die:
      • Ein Extbase-Plugin enthält (z. B. my_extension).
      • Ein Formular verarbeitet (z. B. mit EXT:form oder Fluid).
      • Eine API bereitstellt (z. B. mit EXT:rest oder EXT:headless).

Wie die Extension identifizieren?

  1. Suche nach eventTimeEnd im Projekt:
    grep -r "eventTimeEnd" typo3conf/ext/
    
  2. Prüfe die TYPO3-Backend-Module (z. B. unter "Extensions" oder "Plugins").
  3. Analysiere den Stacktrace: Der Fehler entsteht in /public/index.php, was auf ein Frontend-Plugin hindeutet (z. B. ein List- oder Show-Plugin einer Extension).

4. Confidence (0-100%)

  • 90%:
    • Die Ursache (undefinierter Array-Key) ist klar.
    • Der Fix ist abhängig vom Kontext (Extension oder benutzerdefinierter Code).
    • Die betroffene Extension kann nicht eindeutig benannt werden, da der Fehler aus /public/index.php stammt (vermutlich ein Plugin oder API-Endpoint).

Zusammenfassung

Punkt Details
Ursache Zugriff auf nicht existierenden Array-Key eventTimeEnd.
Fix ?? null oder isset()-Prüfung, Validierung in Extbase, Fluid-Anpassung.
Betroffene Ext. Benutzerdefinierte Extension (z. B. my_extension) oder /public/index.php.
Confidence 90%

Empfehlung:

  1. Prüfe den Code in /public/index.php (Zeile 20/21) auf Array-Zugriffe.
  2. Suche nach der Extension, die eventTimeEnd verwendet (z. B. mit grep).
  3. Implementiere eine sichere Array-Zugriffsmethode (z. B. ?? null).

Nichts anzuzeigen

Aktionen

Auch abrufbar als: Atom PDF