New Dashboard section shows users/sessions/pageviews for the last 7 days plus top pages, fetched server-side via the GA4 Data API using a Google service account (JWT-bearer flow, no OAuth consent screen needed) - the same approach WordPress plugins like MonsterInsights use to surface GA stats inline instead of linking out to analytics.google.com. Backend: GoogleAnalyticsReporting support class (signs its own JWT with openssl, exchanges it for an access token, calls runReport - no need for the full Google API PHP client library for one endpoint) and AnalyticsController (settings show/update, report fetch). The service account JSON key is written to a gitignored config file, mirroring the existing db.php/setup.php pattern for environment-specific secrets. Admin: new "Dashboard-Anbindung" section in Website Settings (Property ID + service account JSON paste, independent save action). Dashboard gracefully shows a setup hint when not yet configured instead of an error. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
7 lines
396 B
SQL
7 lines
396 B
SQL
-- GA4-Property-ID admin-konfigurierbar machen, fuer die Dashboard-Kennzahlen-Anbindung
|
|
-- ueber die Google Analytics Data API. Additiv, nichts wird geloescht.
|
|
-- Hinweis: Auf der Live-Seite reicht stattdessen ein Klick auf "Datenbankstruktur aktualisieren"
|
|
-- unter Admin-Panel -> Einstellungen -> Datenbank.
|
|
|
|
ALTER TABLE app_settings
|
|
ADD COLUMN IF NOT EXISTS ga_property_id VARCHAR(30) NULL;
|