diff --git a/activity.go b/activity.go index 32c1a75..dc70d14 100644 --- a/activity.go +++ b/activity.go @@ -22,6 +22,7 @@ import ( "database/sql" "encoding/json" "fmt" + "image" "io" "log" "net/http" @@ -217,7 +218,17 @@ func savedonk(url string, name, media string) *Donk { xid := xfiltrate() - res, err := stmtSaveFile.Exec(xid, name, url, media, buf.Bytes()) + data := buf.Bytes() + if strings.HasPrefix(media, "image") { + img, format, err := image.Decode(&buf) + if err != nil { + log.Printf("unable to decode image: %s", err) + return nil + } + data, format, err = vacuumwrap(img, format) + media = "image/" + format + } + res, err := stmtSaveFile.Exec(xid, name, url, media, data) if err != nil { log.Printf("error saving file %s: %s", url, err) return nil diff --git a/honk.go b/honk.go index 24ef297..4d28b7d 100644 --- a/honk.go +++ b/honk.go @@ -24,9 +24,6 @@ import ( "html" "html/template" "image" - _ "image/gif" - _ "image/jpeg" - _ "image/png" "io" "log" notrand "math/rand" @@ -1129,7 +1126,7 @@ func killitwithfire(w http.ResponseWriter, r *http.Request) { } db := opendatabase() db.Exec("insert into zonkers (userid, name, wherefore) values (?, ?, ?)", - userinfo.UserID, name, wherefore) + userinfo.UserID, name, wherefore) if wherefore == "zonker" || wherefore == "zurl" { bitethethumbs() }