============================================================ === WhatsApp Button | Cover72 (mod_whatsappbutton) 1.4.0 === ============================================================ WhatsApp-Button-Modul für Joomla 5 und 6 (Site-Modul, PHP 8.1+). == Installation == 1. `mod_whatsappbutton-1.4.0.zip` unter System → Erweiterungen installieren hochladen. 2. Inhalt → Website-Module → Neu → WhatsApp Button. 3. Nummer eintragen, Modulposition wählen (bei „schwebend" genügt eine beliebige immer ausgegebene Position, z. B. `debug`, `footer` oder eine leere Position des Templates), Menüzuweisung setzen, veröffentlichen. == Einstellungen == Grundeinstellungen * WhatsApp-Nummer – international ohne Plus, z. B. `49151234567`. `0049…` und `+49 (0)151…` werden automatisch korrigiert. * Vorangestellter Text – wird der Nachricht des Besuchers als erster Absatz vorangestellt, mit Platzhaltern `{title}`, `{url}`, `{sitename}`. Ohne Nachrichtenfenster steht er allein im WhatsApp-Eingabefeld. * Link-Variante – `api.whatsapp.com` (Vorgabe: übergibt am Desktop an die installierte WhatsApp-App, sonst WhatsApp Web; am Handy die App), `wa.me` (kürzeste Adresse, zeigt am Desktop oft eine Zwischenseite) oder `web.whatsapp.com` (erzwingt WhatsApp Web). * In neuem Tab öffnen, Beschriftung für Screenreader. Nachrichtenfenster * Der Klick auf den Button öffnet ein kleines Chatfenster: Kopfzeile mit Icon, Überschrift und Statuszeile, darunter eine Begrüßungsblase, ein Textfeld und der Senden-Button. * Erst Senden zeigt den Datenschutzhinweis; nach der Bestätigung öffnet WhatsApp mit der getippten Nachricht, der der konfigurierte Text vorangestellt ist. * Oben links lässt sich ein eigenes Logo oder Foto einsetzen (Media-Feld), das dort das WhatsApp-Symbol ersetzt. * Die Begrüßung wird angetippt: erst drei wandernde Punkte wie in WhatsApp, danach klappt der Text auf. Dauer einstellbar, abschaltbar. * Alle Texte sind frei setzbar; Statuszeile und Begrüßung lassen sich durch Leerlassen ausblenden. * Abschaltbar – dann führt der Button wie zuvor direkt zu WhatsApp. * Bedienung: Cmd/Strg + Enter sendet, Esc schließt, Klick daneben schließt. Darstellung * Schwebend (6 Positionen, Abstände, z-index) oder inline an der Modulposition. * Größe, Hintergrund- und Iconfarbe, Schatten, optionale Puls-Animation (respektiert `prefers-reduced-motion`). * Optionale Beschriftung neben dem Icon (macht aus dem Kreis eine Pille). * Sichtbarkeit: alle Geräte / nur mobil / nur Desktop mit frei wählbarem Umbruchpunkt. Sprechblase * Überschrift + Text, Verzögerung, Auto-Ausblenden, „nur einmal pro Besuch". Öffnungszeiten * Pro Wochentag ein Feld, Format `HH:MM-HH:MM`, mehrere Spannen mit Komma: `08:00-12:00, 13:00-17:00`. Leeres Feld = geschlossen. * Zeitzone: Website-Zeitzone oder frei gewählt. * Außerhalb der Zeiten: Hinweis einblenden / Button deaktivieren / Button ausblenden. * Der Hinweis lässt sich schließen und bleibt dann für den restlichen Besuch weg – der Button selbst bleibt sichtbar. Datenschutz * Zwei-Klick-Lösung: Der Hinweis erscheint nach dem Klick auf Senden, erst „Weiter" ruft WhatsApp auf. Vor der Bestätigung wird keine Verbindung zu WhatsApp aufgebaut. * Überschrift, Text (HTML erlaubt), Buttonbeschriftungen frei setzbar; sinnvolle deutsche Standardtexte sind hinterlegt. * Link zur Datenschutzerklärung wahlweise als Menüeintrag oder freie Adresse. * Zustimmung merken: gar nicht / für den Besuch / dauerhaft. Es werden keine Cookies gesetzt und keine externen Ressourcen geladen. == Technische Hinweise == * Kein jQuery, keine externen Abhängigkeiten, Icon als Inline-SVG. * Farben und Maße laufen über CSS-Custom-Properties (`--wab-bg`, `--wab-size` …) und lassen sich im Template überschreiben. * Das Layout ist überschreibbar: `templates/DEIN_TEMPLATE/html/mod_whatsappbutton/default.php`. == Sicherheit == Das Modul hat keine eigenen Formulare, Datenbankabfragen, Datei- oder AJAX-Zugriffe: Es liest ausschließlich seine eigenen Parameter und gibt Markup aus. Alle Ausgaben laufen durch `htmlspecialchars`, der WhatsApp-Link wird aus einer festen https-Adresse gebaut. Der Text des Besuchers wird ausschließlich in die WhatsApp-Adresse übernommen, nie in die Seite geschrieben. == Updates == Ab Version 1.3.0 meldet sich das Modul selbst, wenn eine neue Fassung vorliegt. Unter System → Aktualisieren → Erweiterungen erscheint sie dann in der Liste und lässt sich mit einem Klick einspielen; gespeicherte Einstellungen bleiben dabei erhalten. Bei einer bereits bestehenden Installation ohne diese Funktion muss die aktuelle ZIP einmal von Hand über System → Installieren → Erweiterungen eingespielt werden, danach laufen alle weiteren Updates automatisch. == Änderungen == 1.4.0 * Tippanimation vor der Begrüßung im Nachrichtenfenster, mit zwei neuen Feldern im Reiter Nachrichtenfenster: Ein/Aus und Dauer. 1.3.0 * Eigener Update-Server: Das Modul meldet neue Fassungen jetzt selbst im Joomla-Backend. 1.2.4 * Links unmittelbar neben dem Button ließen sich nicht anklicken (Puls-Ring nahm Klicks an). Behoben – der Ring und der schwebende Rahmen sind jetzt für Klicks durchlässig. 1.2.3 * Verbesserte Cache-Kontrolle für CSS/JS, damit Browser nach einem Update nicht an einer veralteten Fassung festhalten. 1.2.2 * Der Hinweis außerhalb der Öffnungszeiten lässt sich schließen und bleibt dann für den restlichen Besuch weg. 1.2.1 * Härtung nach einer Sicherheitsdurchsicht (URL-Filterung, konsequentes Escaping). 1.2.0 * Neues Feld Nachrichtenfenster → Logo oder Foto. 1.1.0–1.1.2 * Neuer Ablauf Button → Nachrichtenfenster → Senden → Datenschutzhinweis → WhatsApp, diverse Darstellungskorrekturen. 1.0.1–1.0.2 * Erste Korrekturen nach der Erstveröffentlichung (Darstellung in verschiedenen Templates, Formularfelder). Lizenz: GPL-2.0-or-later.