AddOn
Google Places - Für Google-Bewertungen und Reviews etc.
Beschreibung
Das Google Places AddOn ermöglicht es, über die Google API Informationen zu einem bestimmten Google Place in GoogleMaps auszulesen (Adresse, Google-Bewertungen/Reviews, etc.)Für das AddOn wird ein gültiger Google API-Key und die Location ID des Google Places benötigt.
github.com/danspringer/mf_googleplaces
Umsetzung
Versionen
3.0.6
Wartungsrelease (keine funktionalen Änderungen).
- Wartung: GitHub Actions aktualisiert (actions/checkout v3 → v7, ramsey/composer-install v2 → v3)
- Neu: Dependabot für GitHub Actions (wöchentliche Update-PRs)
- Wartung: Interne CI-Dateien (.github) per installer_ignore nicht mehr im Installer-Paket
3.0.5
Re-Release of 3.0.4
- Pflichtfeld-Validierung (place_detail_id, author_name, rating) beim manuellen Anlegen/Bearbeiten
- Einziger Place wird vorbelegt
- publishdate auto bei sichtbar + leer/1970
- Bugfix: UNIQUE-Index (google_place_id, author_url) → normaler Index (Migration in table.php); author_url bleibt optional
3.0.3
Fehlermeldungen der Google API werden nun korrekt angezeigt
3.0.2
Bugfixes, Sicherheitsverbesserungen & Code-Qualität
Zusammenfassung
Umfassende Überarbeitung des Google Places Add-ons mit 29 Bugfixes (4 kritisch, 14 mittel, 11 niedrig), Sicherheitsverbesserungen und neuen Features. Entfernt die Abhängigkeit zu yform_field und korrigiert zahlreiche Fehler in der API-Integration, Synchronisation und Backend-Darstellung.
Abhängigkeiten
yform_field-Abhängigkeit entfernt — Das Add-on benötigt nun nur nochyform >= 4.0.0, nicht mehryform_field >= 2.9.0choice_status→choicemigriert — Tableset verwendet nun Standard-YForm-Feldtypchoicestattchoice_statusaus yform_field- Migrations-Routine in
tableset.php— Löscht das altechoice_status-Feld vor dem Reimport, um Konflikte bei der Neuinstallation zu vermeiden
Kritische Bugfixes
rex_logger-Aufrufe korrigiert — Falsche statische Aufrufe durch korrekterex_logger::factory()->log()Syntax ersetztgetAvgRatingDb()repariert — Direkte SQL-Abfrage statt fehlerhafter YForm-Query für die Durchschnittsberechnung- Fehlende Übersetzungsschlüssel ergänzt — 30+ fehlende Keys in allen 6 Sprachdateien nachgetragen
- CSRF-Schutz für
query.php— Suchseite von GET auf POST mitrex_csrf_tokenumgestellt
Sicherheit
- XSS-Schutz im Fragment — Alle Ausgaben in
reviews.bs5.phpmitrex_escape()abgesichert - XSS-Schutz in Backend-Listen —
epYformDataList()in Place und Review escaped alle Ausgaben FindPlaceIdabgesichert —$published = false, eingeschränkte FieldMask, Variable korrekt benannt- Uninstall-Routine implementiert — Vollständige Bereinigung (YForm-Tabellen, DB, Cronjob, Daten, Config)
Bugfixes (Mittel)
install.phpOR→AND korrigiert — Bedingung für Config-Migration war logisch falschsyncAll()Fehlerbehandlung — Zählt nun Fehler korrekt statt bei 0 Placesfalsezurückzugeben- Review-Anzeige repariert —
findFilter()erhielt Google Place ID (String) statt numerischer DB-ID; Parameter-Typ auf?intgeändert - Fragment-Hardcoded-Strings — Deutsche Texte durch
rex_i18n::msg()ersetzt package.ymlitemclass→itemClass— REDAXO erwartet camelCaselist_sortorderASC→DESC — Place-Liste zeigt nun neueste Einträge zuerst
Bugfixes (Niedrig)
CURLOPT_TIMEOUThinzugefügt — 30 Sekunden Timeout für API-Anfragen- Doppelte Prio in Review-Tableset — Prio 11 war doppelt vergeben, auf 12-15 umnummeriert
Review::getPlaceId()Int-Cast — Gibt nun(int)statt String zurückgetApiResponseAsArray()Fallback — Gibt bei fehlerhaftem JSON[]stattnullzurück- Deprecated
curl_close()entfernt — Ab PHP 8.0 nicht mehr nötig - Implizit nullable Parameter —
string $x = null→?string $x = null(PHP 8.4 Deprecation)
Neue Features
- Status-Toggle in Review-Liste — Reviews können direkt in der YForm-Liste per Klick auf online/offline geschaltet werden
- Profilbild-Anzeige als Base64 Data-URI —
/data/-Verzeichnis ist nicht web-zugänglich; Profilbilder werden nun perrex_file::get()gelesen und als Base64-Data-URI ausgegeben - AGENTS.md — KI-Assistenten-Dokumentation für das Projekt hinzugefügt
Dokumentation
- README.md — Hinweis ergänzt, dass der API-Key sowohl "Places API" als auch "Places API (New)" aktiviert benötigt
3.0.1
Anpassungen für YForm 5
Full Changelog: https://github.com/FriendsOfREDAXO/googleplaces/compare/3.0.0...3.0.1
3.0.0
Offizielle Nachfolge für das Add-on
danspringer\mf_googleplaces.
Achtung: Bei der Deinstallation von
mf_googleplaceswerden alle Tabellen gelöscht, deswegen sollte erst ein Backup angefertigt werden, dann dieses Add-on installiert werden und im Anschluss die Daten überprüft werden, bevormf_googleplacesdeinstalliert wird.
Nicht rückwärtskompatibel: Bei der Installation wird versucht,
mf_googleplaces-Daten zu migrieren. Es sind jedoch Anpassungen im Code sind erforderlich durch die Umstellung auf den FriendsOfREDAXO-Namespace und Änderungen an Klassen und Fragmenten einschl. Dateipfaden.
Neu in Version 3.0.0
- 💯 Verwalte beliebig viele Einträge für Google Places
- ⭐ Speichere Reviews für mehrere Einträge
- 🔄️ Manuelle Synchronisation aus dem Backend heraus
- 5️⃣ Bootstrap 5 Ausgabe-Beispiel für Templates und Module
- 🦖 Umstellung auf FriendsOfREDAXO-Namespace
- ✅ YOrm-basierte Klassen für Einträge und Rezensionen
- ➡️ YForm-Tableset für Google Places-Einträge und Rezensionen
- 🏪 Neue Backend-Ansicht für Einträge und Rezensionen
- 🚦 Status-Schalter für Rezensionen, um diese offline zu nehmen
- 💁🏻 Überarbeitete Dokumentation mit Beispielen zu den neuen Methoden
Welche Anpassungen sind beim Upgrade von danspringer\mf_googleplaces zu FriendsOfRedaxo\googleplaces erforderlich?
- Ausgabe überarbeiten: Die Fragmente in Bootstrap 3 / Bootstrap 4 werden nicht mehr mitgeliefert, Klassennamen und Methoden haben sich geändert.
- Das Addon
yform_fieldwird benötigt, um Rezensionen offline schalten zu können. - Google Places-Eintrag kontrollieren: Zukünftig ist der einzelne Google Places-Eintrag, der in den Einstellungen hinterlegt wurde, nun ein Datensatz
- Überprüfe den Cronjob-Einstellungen auf die gewünschte Funktionalität.
Dann bist du bestens gerüstet.
What's Changed
- Update credits.md by @danspringer in https://github.com/FriendsOfREDAXO/googleplaces/pull/5
- update branch from main by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/6
- Docs vereinheitlicht by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/8
- YForm Tablesets installieren by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/9
- Mehrere Places abrufen können - neue Haupt-Version des Addons by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/7
- YForm Backend-Seiten by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/10
- Neue Doku-Struktur by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/11
- YForm Model Class und Namespace by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/12
- Datensatzerstellung in Cronjob und Co. auf YOrm-Dataset-Methoden umstellen by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/13
- Place und Review-Klassen: Dokumentation by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/14
- Manuelle Synchronisation aus dem Backend anstoßen können - "Jetzt aktualisieren" by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/15
time-Feld entfernen - wurde durch publishdate ersetzt by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/22- Backend-Sprachen hinzufügen by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/20
- Google Places ID Eintragssuche direkt aus dem Backend heraus by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/24
- Warnungstext ausgeben by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/28
- choice_status-Feld hinzufügen by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/27
- strftime -> intlDateTime by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/32
- Überarbeitung des Bootstrap-Fragments by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/33
- [ImgBot] Optimize images by @imgbot in https://github.com/FriendsOfREDAXO/googleplaces/pull/34
New Contributors
- @danspringer made their first contribution in https://github.com/FriendsOfREDAXO/googleplaces/pull/5
- @alxndr-w made their first contribution in https://github.com/FriendsOfREDAXO/googleplaces/pull/6
- @imgbot made their first contribution in https://github.com/FriendsOfREDAXO/googleplaces/pull/34
Full Changelog: https://github.com/FriendsOfREDAXO/googleplaces/compare/2.3.1...3.0.0
3.0.0-RC1
Release-Candidate: Offizielle Nachfolge für das Add-on
danspringer\mf_googleplaces. Diese Version kann bereits zu Testzwecken eingesetzt werden, Bugs und Probleme bitte an https://github.com/FriendsOfREDAXO/googleplaces/issues melden.
Achtung: Bei der Deinstallation von
mf_googleplaceswerden alle Tabellen gelöscht, deswegen sollte erst ein Backup angefertigt werden, dann dieses Add-on installiert werden und im Anschluss die Daten überprüft werden, bevormf_googleplacesdeinstalliert wird.
Nicht rückwärtskompatibel: Bei der Installation wird versucht,
mf_googleplaces-Daten zu migrieren. Es sind jedoch Anpassungen im Code sind erforderlich durch die Umstellung auf den FriendsOfREDAXO-Namespace und Änderungen an Klassen und Fragmenten einschl. Dateipfaden.
Neu in Version 3.0.0
- 💯 Verwalte beliebig viele Places
- ⭐ Speichere Reviews für mehrere Places
- 🔄️ Manuelle Synchronisation aus dem Backend heraus
- 5️⃣ Bootstrap 5 Ausgabe-Beispiel für Templates und Module
- 🦖 Umstellung auf FriendsOfREDAXO-Namespace
- ✅ YOrm-basierte Klassen für Places und Reviews
- ➡️ YForm-Tableset für Places und Reviews
- 🏪 Neue Backend-Ansicht für Places
- 🚦 Status-Schalter für Rezensionen, um diese offline zu nehmen
- 💁🏻 Überarbeitete Dokumentation mit Beispielen zu den neuen Methoden
Welche Anpassungen sind beim Upgrade von danspringer\mf_googleplaces zu FriendsOfRedaxo\googleplaces erforderlich?
- Ausgabe überarbeiten: Die Fragmente in Bootstrap 3 / Bootstrap 4 werden nicht mehr mitgeliefert, Klassennamen und Methoden haben sich geändert.
- Das Addon
yform_fieldwird benötigt, um Rezensionen offline schalten zu können. - Google Places-Eintrag kontrollieren: Zukünftig ist der einzelne Google Places-Eintrag, der in den Einstellungen hinterlegt wurde, nun ein Datensatz
- Überprüfe den Cronjob-Einstellungen auf die gewünschte Funktionalität.
Dann bist du bestens gerüstet.
What's Changed
- Update credits.md by @danspringer in https://github.com/FriendsOfREDAXO/googleplaces/pull/5
- update branch from main by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/6
- Docs vereinheitlicht by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/8
- YForm Tablesets installieren by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/9
- Mehrere Places abrufen können - neue Haupt-Version des Addons by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/7
- YForm Backend-Seiten by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/10
- Neue Doku-Struktur by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/11
- YForm Model Class und Namespace by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/12
- Datensatzerstellung in Cronjob und Co. auf YOrm-Dataset-Methoden umstellen by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/13
- Place und Review-Klassen: Dokumentation by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/14
- Manuelle Synchronisation aus dem Backend anstoßen können - "Jetzt aktualisieren" by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/15
time-Feld entfernen - wurde durch publishdate ersetzt by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/22- Backend-Sprachen hinzufügen by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/20
- Google Places ID Eintragssuche direkt aus dem Backend heraus by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/24
- Warnungstext ausgeben by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/28
- choice_status-Feld hinzufügen by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/27
- strftime -> intlDateTime by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/32
- Überarbeitung des Bootstrap-Fragments by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/33
- [ImgBot] Optimize images by @imgbot in https://github.com/FriendsOfREDAXO/googleplaces/pull/34
New Contributors
- @danspringer made their first contribution in https://github.com/FriendsOfREDAXO/googleplaces/pull/5
- @alxndr-w made their first contribution in https://github.com/FriendsOfREDAXO/googleplaces/pull/6
- @imgbot made their first contribution in https://github.com/FriendsOfREDAXO/googleplaces/pull/34
Full Changelog: https://github.com/FriendsOfREDAXO/googleplaces/compare/2.3.1...3.0.0-RC1
3.0.0-dev-2025-02-09
*Vorschau-Version für Entwicklerinnen:** Offizielle Nachfolge für das Add-on
danspringer\mf_googleplaces. Diedev-Version ist noch nicht für den produktiven Einsatz gedacht.
Achtung: Bei der Deinstallation von
mf_googleplaceswerden alle Tabellen gelöscht, deswegen sollte erst ein Backup angefertigt werden, dann dieses Add-on installiert werden und im Anschluss die Daten überprüft werden, bevormf_googleplacesdeinstalliert wird.
Nicht rückwärtskompatibel: Bei der Installation wird versucht,
mf_googleplaces-Daten zu migrieren. Es sind jedoch Anpassungen im Code sind erforderlich durch die Umstellung auf den FriendsOfREDAXO-Namespace und Änderungen an Klassen und Fragmenten einschl. Dateipfaden.
Neu in Version 3.0.0-dev-2025-02-08
- 💯 Verwalte beliebig viele Places
- ⭐ Speichere Reviews für mehrere Places
- 🔄️ Manuelle Synchronisation aus dem Backend heraus
- 5️⃣ Bootstrap 5 Modul-Beispiel
- 🦖 Umstellung auf FriendsOfREDAXO-Namespace
- ✅ YOrm-basierte Klassen für Places und Reviews
- ➡️ YForm-Tableset für Places und Reviews
- 🏪 Neue Backend-Ansicht für Places
- 🚦 Status-Schalter für Rezensionen, um diese offline zu nehmen
- 💁🏻 Überarbeitete Dokumentation mit Beispielen zu den neuen Methoden
Welche Anpassungen sind beim Upgrade von danspringer\mf_googleplaces zu FriendsOfRedaxo\googleplaces erforderlich?
- Ausgabe überarbeiten: Die Fragmente in Bootstrap 3 / Bootstrap 4 werden nicht mehr mitgeliefert, Klassennamen und Methoden haben sich geändert.
- Das Addon
yform_fieldwird benötigt, um Rezensionen offline schalten zu können. - Google Places-Eintrag kontrollieren: Zukünftig ist der einzelne Google Places-Eintrag, der in den Einstellungen hinterlegt wurde, nun ein Datensatz
What's Changed
- Update credits.md by @danspringer in https://github.com/FriendsOfREDAXO/googleplaces/pull/5
- update branch from main by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/6
- Docs vereinheitlicht by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/8
- YForm Tablesets installieren by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/9
- Mehrere Places abrufen können - neue Haupt-Version des Addons by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/7
- YForm Backend-Seiten by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/10
- Neue Doku-Struktur by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/11
- YForm Model Class und Namespace by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/12
- Datensatzerstellung in Cronjob und Co. auf YOrm-Dataset-Methoden umstellen by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/13
- Place und Review-Klassen: Dokumentation by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/14
- Manuelle Synchronisation aus dem Backend anstoßen können - "Jetzt aktualisieren" by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/15
time-Feld entfernen - wurde durch publishdate ersetzt by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/22- Backend-Sprachen hinzufügen by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/20
- Google Places ID Eintragssuche direkt aus dem Backend heraus by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/24
- Warnungstext ausgeben by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/28
- choice_status-Feld hinzufügen by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/27
- strftime -> intlDateTime by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/32
- Überarbeitung des Bootstrap-Fragments by @alxndr-w in https://github.com/FriendsOfREDAXO/googleplaces/pull/33
- [ImgBot] Optimize images by @imgbot in https://github.com/FriendsOfREDAXO/googleplaces/pull/34
New Contributors
- @danspringer made their first contribution in https://github.com/FriendsOfREDAXO/googleplaces/pull/5
- @alxndr-w made their first contribution in https://github.com/FriendsOfREDAXO/googleplaces/pull/6
- @imgbot made their first contribution in https://github.com/FriendsOfREDAXO/googleplaces/pull/34
Full Changelog: https://github.com/FriendsOfREDAXO/googleplaces/compare/2.3.1...3.0.0-dev-2025-02-09
2.3.1
=== 30.05.2023===
- Vendoren entfernt
- Neue Funktion zum lokalen Abruf von Place-Details: gplace::getPlaceDetails() holt Place-Infos aus der eigenen DB, die zuvor via Cronjob über die Google-API geholt wurden. Zuvor konnte man Detail-Infos zum Place nur direkt (kostenpflichtig) über die Google-API abrufen.
- User-Bilder der einzelnen Reviews werden jetzt auch als base64 gespeichert (nicht rückwirkend für bereits in der DB existente Reviews). In den Fragments googleplaces_reviews.bs4.php und googleplaces_reviews.bs3.php findet sich ein Beispiel zur Verwendung.
2.0
Umbau des AddOns zu V2: NICHT MEHR KOMPATIBEL V1.0
Die Anpassungen im Moduloutput sollten aber minimal sein. Es wird aber ein fertiges Review Ausgabe-Modul für Bootstrap 3 und Bootstrap 4 mitgeliefert.
=== 05.11.2021===
- Cronjob mitgeliefert: Reviews können nun in der eigenen DB gespeichert werden, um die API-Anfragen an Google zu reduzieren
- Diverse Funktionen der Klasse gplace um Informationen über einen Google Place zu erhalten
- Beispielmodule für Reviews für Bootstrap 3 und Bootstrap 4 mitgeliefert inkl. CSS
- Dokumentation ergänzt
1.0
Das Google Places AddOn ermöglicht es, über die Google API Informationen zu einem bestimmten Google Place in GoogleMaps auszulesen (Adresse, Google-Bewertungen, etc.).
Für das AddOn wird ein gültiger Google API-Key und die Location ID des Google Places benötigt.