Skip to content

google_geocode: neuen Datensatz ohne Wert speichern (explode auf null) - #1602

Open
tbaddade wants to merge 1 commit into
masterfrom
fix/google-geocode-null-value
Open

tbaddade wants to merge 1 commit into
masterfrom
fix/google-geocode-null-value

Conversation

@tbaddade

@tbaddade tbaddade commented Oct 8, 2026

Copy link
Copy Markdown
Member

Problem

Ein neuer Datensatz in einer Tabelle mit google_geocode-Feld lässt sich im Debug-Modus nicht speichern:

Transaktion wurde wegen folgendem Fehler nicht ausgeführt: explode(): Passing null to parameter #2 ($string) of type string is deprecated

rex_yform_value_google_geocode::enterObject() ruft explode(',', $this->getValue()) auf. Ohne Wert (neuer Datensatz) ist der null — seit PHP 8.1 deprecated. Im Debug-Modus macht der Error-Handler daraus eine Exception, die Transaktion bricht ab. Ohne Debug-Modus läuft der Save durch, die Meldung landet nur im Log.

Aufgefallen beim Anlegen eines YCom-Users, dessen Tabelle ein Geocode-Feld hat.

Änderung

  • Wert und default werden vor explode() als String behandelt. Verhalten sonst unverändert: ohne Wert und Default wird wie bisher 0,0 gespeichert.
  • Regressionstest testGoogleGeocodeSavesNewDatasetWithoutValue in der FieldTypesSuite.
  • Changelog-Eintrag unter 5.0.3 (Datum noch offen).

Test

php redaxo/bin/console yform:test:field-types: ohne Fix schlägt der neue Test mit genau dieser Meldung fehl, mit Fix 15/15 grün.

🤖 Generated with Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant