taldir

Directory service to resolve wallet mailboxes by messenger addresses
Log | Files | Refs | Submodules | README | LICENSE

commit 3c812bf1152b04bf227794a1afee42a49c0362ae
parent 456cfbe8b41c08640281c261ce848f2301444995
Author: Martin Schanzenbach <schanzen@gnunet.org>
Date:   Fri, 24 Jan 2025 11:19:30 +0100

add imprint

Diffstat:
Mpkg/rest/taldir.go | 27+++++++++++++++++++++++++++
Mweb/templates/footer.html | 7+++++--
Aweb/templates/imprint.html | 42++++++++++++++++++++++++++++++++++++++++++
3 files changed, 74 insertions(+), 2 deletions(-)

diff --git a/pkg/rest/taldir.go b/pkg/rest/taldir.go @@ -73,6 +73,9 @@ type Taldir struct { // Map of supported validators as defined in the configuration Validators map[string]Validator + // imprint page + ImprintTpl *template.Template + // landing page ValidationTpl *template.Template @@ -724,6 +727,23 @@ func (t *Taldir) landingPage(w http.ResponseWriter, r *http.Request) { return } +func (t *Taldir) imprintPage(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "text/html; charset=utf-8") + translateFunc := t.I18n.GetLocale(r).GetMessage + fullData := map[string]interface{}{ + "validators": t.Validators, + "version": t.Version, + "productDisclaimer": template.HTML(translateFunc("productDisclaimer")), + "error": translateFunc(r.URL.Query().Get("error")), + "tr": translateFunc, + } + err := t.ImprintTpl.Execute(w, fullData) + if err != nil { + fmt.Println(err) + } + return +} + func (t *Taldir) methodLookupResultPage(w http.ResponseWriter, r *http.Request) { var entry entry vars := mux.Vars(r) @@ -803,6 +823,7 @@ func (t *Taldir) setupHandlers() { /* ToS API */ t.Router.HandleFunc("/terms", t.termsResponse).Methods("GET") t.Router.HandleFunc("/privacy", t.privacyResponse).Methods("GET") + t.Router.HandleFunc("/imprint", t.imprintPage).Methods("GET") /* Config API */ t.Router.HandleFunc("/config", t.configResponse).Methods("GET") @@ -939,6 +960,12 @@ func (t *Taldir) Initialize(cfgfile string, version string) { time.Sleep(validationExp) } }() + imprintTplFile := t.Cfg.Section("taldir").Key("imprint_page").MustString("web/templates/imprint.html") + t.ImprintTpl, err = template.ParseFiles(imprintTplFile, navTplFile, footerTplFile) + if err != nil { + log.Fatal(err) + os.Exit(1) + } validationLandingTplFile := t.Cfg.Section("taldir").Key("validation_landing").MustString("web/templates/validation_landing.html") t.ValidationTpl, err = template.ParseFiles(validationLandingTplFile, navTplFile, footerTplFile) if err != nil { diff --git a/web/templates/footer.html b/web/templates/footer.html @@ -1,4 +1,7 @@ <footer class="fs-6 text-sm-end mt-4 me-2"> - <span>Version: {{.version}}</span><br/> - <span>Source: <a href="https://git.taler.net/taldir.git">Browse Git Repository</a></span> + <span><a href="https://git.taler.net/taldir.git">Browse Git Repository</a></span><br/> + <span><a href="/terms">Terms</a></span><br/> + <span><a href="/privacy">Privacy</a></span><br/> + <span><a href="/imprint">Imprint</a></span><br/> + <span>{{.version}}</span><br/> </footer> diff --git a/web/templates/imprint.html b/web/templates/imprint.html @@ -0,0 +1,42 @@ +<!DOCTYPE html> +<html lang="en"> + <head> + <!-- Required meta tags --> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> + <link href="/css/bootstrap.min.css" rel="stylesheet"> + <link href="/fontawesome/css/fontawesome.css" rel="stylesheet" /> + <link href="/fontawesome/css/solid.css" rel="stylesheet" /> + <title>{{ call .tr "title" }}</title> + </head> + <body> + {{ template "nav.html" . }} + <div class="card"> + <h2>Impressum</h2> + + <i>[German law demands this]</i><p> + + GNUnet e.V.<br> + 83661 Lenggries + + </p><p> + Email: taldir (at) gnunet (punkt) org + + </p><h2>Datenschutzerklärung</h2> + + <p> + Der Webserver schreibt Logdateien mit den Zugriffen und den IP-Adressen + der Zugreifer. Diese dienen der Fehlersuche im Krisenfall und werden + ansonsten nicht ausgewertet. Da es hier keine Benutzerkonten und keine + Tracking-Cookies o.ä. gibt, betrachte ich diese Logdateien nicht als + personenbezogen. + </p><p> + Abgesehen davon werden keine Daten erhoben, gespeichert oder + ausgewertet. + + + </p> + </div> + {{ template "footer.html" . }} + </body> +</html>