geocoder-php / geocoder-php/Geocoder

IpInfoDb - Uncaught TypeError: Argument 11 passed to Geocoder\Model\Address

Offen
#1,094 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

  • #1095 von @rtmotiondev — ohne Merge geschlossen
bug provider
Vorherrschende Sprache
PHP
Sterne
4k
Forks
525
Ø Merge
8 Min.
Gemergte PRs (30 T.)
1

Beschreibung

While testing IpInfoDb with IP 1.143.27.182 I got Uncaught TypeError: Argument 11 passed to Geocoder\Model\Address::__construct() must be of the type string or null, bool given

IpInfoDB response:

  'statusCode' => string 'OK' (length=2)
  'statusMessage' => string '' (length=0)
  'ipAddress' => string '1.143.27.182' (length=12)
  'countryCode' => string 'AU' (length=2)
  'countryName' => string 'Australia' (length=9)
  'regionName' => string 'Victoria' (length=8)
  'cityName' => string 'Geelong' (length=7)
  'zipCode' => string '3220' (length=4)
  'latitude' => string '-38.1471' (length=8)
  'longitude' => string '144.361' (length=7)
  'timeZone' => string '+11:00' (length=6)

$timezone = timezone_name_from_abbr('', (int) substr($data['timeZone'], 0, strpos($data['timeZone'], ':')) * 3600, 0);
timezone_name_from_abbr('', 39600, 0) // Melbourne Australia is observing DST so this does not work

The proper fix is to handle DST time or at the very minimum handle the case of timezone returning false which breaks Geocoder\Model\Address.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Reproduziere die IpInfoDb-Abfrage mit der IP 1.143.27.182 und untersuche die Zeitzonenumrechnung rund um timezone_name_from_abbr(). Bestätige das Verhalten, wenn DST dazu führt, dass die Abfrage false zurückgibt, und überprüfe anschließend, dass die resultierende Address-Konstruktion keinen booleschen Wert mehr erhält.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
php
Bereich
backend
Issue-Typ
Bug
Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.