This repository has been archived on 2025-03-01. You can view files and clone it, but cannot push or open issues or pull requests.
trantor/template.go

72 lines
1.6 KiB
Go
Raw Normal View History

package main
import log "github.com/cihub/seelog"
2013-08-31 00:38:32 +02:00
import txt_tmpl "text/template"
import "html/template"
2012-08-18 02:06:43 +02:00
type Status struct {
2014-02-19 11:59:16 +01:00
BaseURL string
FullURL string
Search string
User string
IsAdmin bool
Notif []Notification
Home bool
About bool
News bool
Upload bool
Stats bool
Help bool
Dasboard bool
2012-08-18 02:06:43 +02:00
}
func GetStatus(h handler) Status {
2012-08-19 02:29:34 +02:00
var s Status
s.BaseURL = "http://" + h.r.Host
s.FullURL = s.BaseURL + h.r.RequestURI
s.User = h.sess.User
s.IsAdmin = h.sess.IsAdmin()
s.Notif = h.sess.GetNotif()
h.sess.Save(h.w, h.r)
2012-08-19 02:29:34 +02:00
return s
}
var tmpl_html = template.Must(template.ParseFiles(TEMPLATE_PATH+"header.html",
TEMPLATE_PATH+"footer.html",
2013-05-09 09:42:03 +02:00
TEMPLATE_PATH+"404.html",
TEMPLATE_PATH+"index.html",
TEMPLATE_PATH+"about.html",
TEMPLATE_PATH+"news.html",
TEMPLATE_PATH+"edit_news.html",
TEMPLATE_PATH+"book.html",
TEMPLATE_PATH+"search.html",
TEMPLATE_PATH+"upload.html",
TEMPLATE_PATH+"login.html",
TEMPLATE_PATH+"new.html",
TEMPLATE_PATH+"read.html",
TEMPLATE_PATH+"edit.html",
2014-02-19 11:59:16 +01:00
TEMPLATE_PATH+"dashboard.html",
TEMPLATE_PATH+"settings.html",
2013-05-05 01:39:28 +02:00
TEMPLATE_PATH+"stats.html",
2013-06-01 04:56:35 +02:00
TEMPLATE_PATH+"help.html",
))
var tmpl_rss = txt_tmpl.Must(txt_tmpl.ParseFiles(TEMPLATE_PATH+"search.rss",
TEMPLATE_PATH+"news.rss",
2013-08-31 02:45:30 +02:00
))
2013-08-31 00:38:32 +02:00
func loadTemplate(h handler, tmpl string, data interface{}) {
var err error
fmt := h.r.FormValue("fmt")
if fmt == "rss" {
err = tmpl_rss.ExecuteTemplate(h.w, tmpl+".rss", data)
} else {
err = tmpl_html.ExecuteTemplate(h.w, tmpl+".html", data)
}
2013-08-31 00:38:32 +02:00
if err != nil {
tmpl_html.ExecuteTemplate(h.w, "404.html", data)
log.Warn("An error ocurred loading the template ", tmpl, ".", fmt, ": ", err)
2013-08-31 00:38:32 +02:00
}
}