itAdd function to insert badge list in HTML - scoreboard - Interactive scoreboard for CTF-like games Err z3bra.org 70 hgit clone git://git.z3bra.org/scoreboard.git URL:git://git.z3bra.org/scoreboard.git z3bra.org 70 1Log /scm/scoreboard/log.gph z3bra.org 70 1Files /scm/scoreboard/files.gph z3bra.org 70 1Refs /scm/scoreboard/refs.gph z3bra.org 70 i--- Err z3bra.org 70 1commit 05db44d4935f2aaf86977e40dca6b5855d592c7e /scm/scoreboard/commit/05db44d4935f2aaf86977e40dca6b5855d592c7e.gph z3bra.org 70 1parent b4e128c73fa57ae574761f732be6d380650bbed3 /scm/scoreboard/commit/b4e128c73fa57ae574761f732be6d380650bbed3.gph z3bra.org 70 hAuthor: Willy Goiffon URL:mailto:contact@z3bra.org z3bra.org 70 iDate: Sat, 28 Sep 2024 00:42:44 +0200 Err z3bra.org 70 i Err z3bra.org 70 iAdd function to insert badge list in HTML Err z3bra.org 70 i Err z3bra.org 70 iDiffstat: Err z3bra.org 70 i M html.go | 41 ++++++++++++++++++++++++++++--- Err z3bra.org 70 i Err z3bra.org 70 i1 file changed, 38 insertions(+), 3 deletions(-) Err z3bra.org 70 i--- Err z3bra.org 70 1diff --git a/html.go b/html.go /scm/scoreboard/file/html.go.gph z3bra.org 70 it@@ -3,6 +3,7 @@ package main Err z3bra.org 70 i import ( Err z3bra.org 70 i "os" Err z3bra.org 70 i "fmt" Err z3bra.org 70 i+ "strings" Err z3bra.org 70 i "html/template" Err z3bra.org 70 i "github.com/dustin/go-humanize" Err z3bra.org 70 i ) Err z3bra.org 70 it@@ -11,6 +12,7 @@ type Boardline struct { Err z3bra.org 70 i Name string Err z3bra.org 70 i Rank string Err z3bra.org 70 i Flag string Err z3bra.org 70 i+ Badge string Err z3bra.org 70 i Score string Err z3bra.org 70 i } Err z3bra.org 70 i Err z3bra.org 70 it@@ -24,7 +26,7 @@ var html string = ` Err z3bra.org 70 i Err z3bra.org 70 i Err z3bra.org 70 i Err z3bra.org 70 i- Err z3bra.org 70 i+ Err z3bra.org 70 i Err z3bra.org 70 i Err z3bra.org 70 i Err z3bra.org 70 it@@ -56,18 +58,49 @@ var html string = ` Err z3bra.org 70 i Err z3bra.org 70 i Err z3bra.org 70 i Err z3bra.org 70 i-{{range .Players}} Err z3bra.org 70 i+{{range .Players}} Err z3bra.org 70 i {{end}} Err z3bra.org 70 i {{range .Placeholders}} Err z3bra.org 70 i {{end}} Err z3bra.org 70 i Err z3bra.org 70 i
RANKNAMEFLAGSSCORE
{{.Rank}}{{.Name}}{{.Flag}}{{.Score}}
{{.Rank}}{{.Name}}{{.Flag}}{{.Score}}
{{.Rank}}{{.Name}}{{.Flag}}{{.Score}}
Err z3bra.org 70 i Err z3bra.org 70 i- Err z3bra.org 70 i+ Err z3bra.org 70 i Err z3bra.org 70 i Err z3bra.org 70 i ` Err z3bra.org 70 i Err z3bra.org 70 i+func (p *Player) BadgeHTML() string { Err z3bra.org 70 i+ var badges strings.Builder Err z3bra.org 70 i+ Err z3bra.org 70 i+ query := `SELECT Err z3bra.org 70 i+ flag.badge Err z3bra.org 70 i+ FROM flag Err z3bra.org 70 i+ INNER JOIN score ON score.flag = flag.value Err z3bra.org 70 i+ WHERE score.name = ?;` Err z3bra.org 70 i+ Err z3bra.org 70 i+ rows, err := p.db.Query(query, p.name) Err z3bra.org 70 i+ if err != nil { Err z3bra.org 70 i+ return "" Err z3bra.org 70 i+ } Err z3bra.org 70 i+ Err z3bra.org 70 i+ var n int = 0 Err z3bra.org 70 i+ for rows.Next() { Err z3bra.org 70 i+ var b string Err z3bra.org 70 i+ err := rows.Scan(&b) Err z3bra.org 70 i+ if err != nil { Err z3bra.org 70 i+ return "" Err z3bra.org 70 i+ } Err z3bra.org 70 i+ badges.WriteString(b) Err z3bra.org 70 i+ n = n + 1 Err z3bra.org 70 i+ if n % 8 == 0 { Err z3bra.org 70 i+ badges.WriteString("\n") Err z3bra.org 70 i+ } Err z3bra.org 70 i+ } Err z3bra.org 70 i+ Err z3bra.org 70 i+ return badges.String() Err z3bra.org 70 i+} Err z3bra.org 70 i+ Err z3bra.org 70 i func (a *Application) GenerateHTML() { Err z3bra.org 70 i players, err := db_ranked_players(a.db, 0, -1) Err z3bra.org 70 i if err != nil { Err z3bra.org 70 it@@ -77,10 +110,12 @@ func (a *Application) GenerateHTML() { Err z3bra.org 70 i data := Template{} Err z3bra.org 70 i for i:=0; i