38 lines
655 B
Go
38 lines
655 B
Go
package main
|
|
|
|
import (
|
|
"github.com/labstack/echo"
|
|
"net/http"
|
|
"strconv"
|
|
)
|
|
|
|
type AdminInfos struct {
|
|
Loggedin bool
|
|
Mode int
|
|
Version string
|
|
}
|
|
|
|
func adminHandler(c echo.Context) error {
|
|
//Config
|
|
SiteConf := initConfig()
|
|
|
|
rw := c.Response()
|
|
r := c.Request()
|
|
|
|
//Session init
|
|
sess := GlobalSessions.SessionStart(rw, r)
|
|
|
|
//Loggedin
|
|
loggedin := sess.Get("login")
|
|
|
|
// Admininfos
|
|
adminInfos := AdminInfos{true, SiteConf.Mode, Version}
|
|
|
|
if loggedin != nil {
|
|
return c.Render(http.StatusOK, "admin_mode_" + strconv.Itoa(SiteConf.Mode), adminInfos)
|
|
} else {
|
|
adminInfos.Loggedin = false
|
|
return c.Render(http.StatusOK, "login", adminInfos)
|
|
}
|
|
}
|