59 lines
1.3 KiB
Go
59 lines
1.3 KiB
Go
|
package main
|
||
|
|
||
|
import (
|
||
|
"fmt"
|
||
|
"github.com/flamego/captcha"
|
||
|
"github.com/flamego/flamego"
|
||
|
"github.com/flamego/session"
|
||
|
"github.com/flamego/template"
|
||
|
user2 "kuvia/pkg/user"
|
||
|
"net/http"
|
||
|
)
|
||
|
|
||
|
func userProfile(t template.Template, data template.Data, s session.Session, captcha captcha.Captcha, c flamego.Context) {
|
||
|
|
||
|
|
||
|
user, err := user2.GetUserByUsername(sqlConnection, c.Param("name"))
|
||
|
if err != nil {
|
||
|
panic(err)
|
||
|
}
|
||
|
|
||
|
gallerys := []Gallery{}
|
||
|
err = sqlConnection.Select(&gallerys, "SELECT * FROM gallery WHERE owner_id = ? ORDER BY id DESC", user.Id)
|
||
|
if err != nil {
|
||
|
panic(err)
|
||
|
}
|
||
|
|
||
|
var list [][]Gallery
|
||
|
var tmp []Gallery
|
||
|
|
||
|
for _, g := range gallerys {
|
||
|
if len(tmp) == 3 {
|
||
|
list = append(list, tmp)
|
||
|
tmp = []Gallery{}
|
||
|
}
|
||
|
tmp = append(tmp, g)
|
||
|
}
|
||
|
list = append(list, tmp)
|
||
|
|
||
|
data["list"] = list
|
||
|
data["user"] = user
|
||
|
fmt.Println(list)
|
||
|
t.HTML(http.StatusOK, "user_profil")
|
||
|
}
|
||
|
|
||
|
func userGallery(t template.Template, data template.Data, c flamego.Context) {
|
||
|
//todo: check if gallery belongs to user
|
||
|
user, err := user2.GetUserByUsername(sqlConnection, c.Param("name"))
|
||
|
if err != nil {
|
||
|
panic(err)
|
||
|
}
|
||
|
|
||
|
images := []File{}
|
||
|
sqlConnection.Select(&images, "SELECT * FROM images WHERE gallery_id = ?", c.Param("id"))
|
||
|
data["images"] = images
|
||
|
data["user"] = user
|
||
|
t.HTML(http.StatusOK, "user_gallery")
|
||
|
}
|
||
|
|