add the killzone for fine grained management of enemies
This commit is contained in:
parent
3905306dbb
commit
99abc6a0e9
52
honk.go
52
honk.go
|
@ -958,6 +958,55 @@ func savehonker(w http.ResponseWriter, r *http.Request) {
|
||||||
http.Redirect(w, r, "/honkers", http.StatusSeeOther)
|
http.Redirect(w, r, "/honkers", http.StatusSeeOther)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type Zonker struct {
|
||||||
|
Name string
|
||||||
|
Wherefore string
|
||||||
|
}
|
||||||
|
|
||||||
|
func killzone(w http.ResponseWriter, r *http.Request) {
|
||||||
|
db := opendatabase()
|
||||||
|
userinfo := GetUserInfo(r)
|
||||||
|
rows, err := db.Query("select name, wherefore from zonkers where userid = ?", userinfo.UserID)
|
||||||
|
if err != nil {
|
||||||
|
log.Printf("err: %s", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
var zonkers []Zonker
|
||||||
|
for rows.Next() {
|
||||||
|
var z Zonker
|
||||||
|
rows.Scan(&z.Name, &z.Wherefore)
|
||||||
|
zonkers = append(zonkers, z)
|
||||||
|
}
|
||||||
|
templinfo := getInfo(r)
|
||||||
|
templinfo["Zonkers"] = zonkers
|
||||||
|
templinfo["KillCSRF"] = GetCSRF("killitwithfire", r)
|
||||||
|
err = readviews.ExecuteTemplate(w, "zonkers.html", templinfo)
|
||||||
|
if err != nil {
|
||||||
|
log.Print(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func killitwithfire(w http.ResponseWriter, r *http.Request) {
|
||||||
|
userinfo := GetUserInfo(r)
|
||||||
|
wherefore := r.FormValue("wherefore")
|
||||||
|
name := r.FormValue("name")
|
||||||
|
if name == "" {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
switch wherefore {
|
||||||
|
case "zonker":
|
||||||
|
case "zurl":
|
||||||
|
case "zonvoy":
|
||||||
|
default:
|
||||||
|
return
|
||||||
|
}
|
||||||
|
db := opendatabase()
|
||||||
|
db.Exec("insert into zonkers (userid, name, wherefore) values (?, ?, ?)",
|
||||||
|
userinfo.UserID, name, wherefore)
|
||||||
|
|
||||||
|
http.Redirect(w, r, "/killzone", http.StatusSeeOther)
|
||||||
|
}
|
||||||
|
|
||||||
func somedays() string {
|
func somedays() string {
|
||||||
secs := 432000 + notrand.Int63n(432000)
|
secs := 432000 + notrand.Int63n(432000)
|
||||||
return fmt.Sprintf("%d", secs)
|
return fmt.Sprintf("%d", secs)
|
||||||
|
@ -1020,6 +1069,7 @@ func serve() {
|
||||||
"views/homepage.html",
|
"views/homepage.html",
|
||||||
"views/honkpage.html",
|
"views/honkpage.html",
|
||||||
"views/honkers.html",
|
"views/honkers.html",
|
||||||
|
"views/zonkers.html",
|
||||||
"views/honkform.html",
|
"views/honkform.html",
|
||||||
"views/honk.html",
|
"views/honk.html",
|
||||||
"views/login.html",
|
"views/login.html",
|
||||||
|
@ -1040,6 +1090,7 @@ func serve() {
|
||||||
|
|
||||||
getters.HandleFunc("/", homepage)
|
getters.HandleFunc("/", homepage)
|
||||||
getters.Handle("/atme", LoginRequired(http.HandlerFunc(homepage)))
|
getters.Handle("/atme", LoginRequired(http.HandlerFunc(homepage)))
|
||||||
|
getters.Handle("/killzone", LoginRequired(http.HandlerFunc(killzone)))
|
||||||
getters.HandleFunc("/rss", showrss)
|
getters.HandleFunc("/rss", showrss)
|
||||||
getters.HandleFunc("/u/{name:[[:alnum:]]+}", viewuser)
|
getters.HandleFunc("/u/{name:[[:alnum:]]+}", viewuser)
|
||||||
getters.HandleFunc("/u/{name:[[:alnum:]]+}/h/{xid:[[:alnum:]]+}", viewhonk)
|
getters.HandleFunc("/u/{name:[[:alnum:]]+}/h/{xid:[[:alnum:]]+}", viewhonk)
|
||||||
|
@ -1063,6 +1114,7 @@ func serve() {
|
||||||
loggedin.Handle("/honk", CSRFWrap("honkhonk", http.HandlerFunc(savehonk)))
|
loggedin.Handle("/honk", CSRFWrap("honkhonk", http.HandlerFunc(savehonk)))
|
||||||
loggedin.Handle("/bonk", CSRFWrap("honkhonk", http.HandlerFunc(savebonk)))
|
loggedin.Handle("/bonk", CSRFWrap("honkhonk", http.HandlerFunc(savebonk)))
|
||||||
loggedin.Handle("/zonkit", CSRFWrap("honkhonk", http.HandlerFunc(zonkit)))
|
loggedin.Handle("/zonkit", CSRFWrap("honkhonk", http.HandlerFunc(zonkit)))
|
||||||
|
loggedin.Handle("/killitwithfire", CSRFWrap("killitwithfire", http.HandlerFunc(killitwithfire)))
|
||||||
loggedin.Handle("/saveuser", CSRFWrap("saveuser", http.HandlerFunc(saveuser)))
|
loggedin.Handle("/saveuser", CSRFWrap("saveuser", http.HandlerFunc(saveuser)))
|
||||||
loggedin.HandleFunc("/honkers", showhonkers)
|
loggedin.HandleFunc("/honkers", showhonkers)
|
||||||
loggedin.Handle("/savehonker", CSRFWrap("savehonker", http.HandlerFunc(savehonker)))
|
loggedin.Handle("/savehonker", CSRFWrap("savehonker", http.HandlerFunc(savehonker)))
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
<span><a href="/atme">@me</a></span>
|
<span><a href="/atme">@me</a></span>
|
||||||
<span><a href="/u/{{ .UserInfo.Username }}">{{ .UserInfo.Username }}</a></span>
|
<span><a href="/u/{{ .UserInfo.Username }}">{{ .UserInfo.Username }}</a></span>
|
||||||
<span><a href="/honkers">honkers</a></span>
|
<span><a href="/honkers">honkers</a></span>
|
||||||
|
<span><a href="/killzone">killzone</a></span>
|
||||||
<span><a href="/logout?CSRF={{ .LogoutCSRF }}">logout</a></span>
|
<span><a href="/logout?CSRF={{ .LogoutCSRF }}">logout</a></span>
|
||||||
{{ else }}
|
{{ else }}
|
||||||
<span><a href="/login">login</a></span>
|
<span><a href="/login">login</a></span>
|
||||||
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
{{ template "header.html" . }}
|
||||||
|
<div class="center">
|
||||||
|
<div class="info">
|
||||||
|
<p>
|
||||||
|
<form action="/killitwithfire" method="POST">
|
||||||
|
<span class="title">kill another zonker</span>
|
||||||
|
<input type="hidden" name="CSRF" value="{{ .KillCSRF }}">
|
||||||
|
<p>
|
||||||
|
<input tabindex=1 type="text" name="name" value="" autocomplete=off> - name
|
||||||
|
<p>
|
||||||
|
<input type="radio" id="iszonker" name="wherefore" value="zonker">
|
||||||
|
<label for="iszonker">Zonker</label>
|
||||||
|
<p>
|
||||||
|
<input type="radio" id="iszurl" name="wherefore" value="zurl">
|
||||||
|
<label for="iszurl">Zurl</label>
|
||||||
|
<p>
|
||||||
|
<input type="radio" id="iszonvoy" name="wherefore" value="zonvoy">
|
||||||
|
<label for="iszonvoy">Zonvoy</label>
|
||||||
|
<p><input tabindex=1 type="submit" name="kill" value="kill">
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
{{ range .Zonkers }}
|
||||||
|
<div class="honk" id="honkerID">
|
||||||
|
<p>What: {{ .Name }}
|
||||||
|
<p>Where: {{ .Wherefore }}
|
||||||
|
</div>
|
||||||
|
{{ end }}
|
||||||
|
</div>
|
||||||
|
</div>
|
Loading…
Reference in New Issue