2012-08-15 11:51:25 +02:00
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
|
|
|
"html/template"
|
|
|
|
"net/http"
|
|
|
|
)
|
|
|
|
|
2013-08-31 00:38:32 +02:00
|
|
|
import txt_tmpl "text/template"
|
|
|
|
|
2012-08-18 02:06:43 +02:00
|
|
|
type Status struct {
|
2013-08-31 00:38:32 +02:00
|
|
|
BaseURL string
|
|
|
|
FullURL string
|
2013-07-19 00:37:07 +02:00
|
|
|
Search string
|
|
|
|
User string
|
|
|
|
IsAdmin bool
|
|
|
|
Notif []Notification
|
|
|
|
Home bool
|
|
|
|
About bool
|
|
|
|
News bool
|
|
|
|
Upload bool
|
|
|
|
Stats bool
|
|
|
|
Help bool
|
2012-08-18 02:06:43 +02:00
|
|
|
}
|
|
|
|
|
2013-09-23 16:27:31 +02:00
|
|
|
func GetStatus(h handler) Status {
|
2012-08-19 02:29:34 +02:00
|
|
|
var s Status
|
2013-09-23 16:27:31 +02:00
|
|
|
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
|
|
|
|
}
|
|
|
|
|
2012-10-24 21:08:34 +02:00
|
|
|
var templates = template.Must(template.ParseFiles(TEMPLATE_PATH+"header.html",
|
|
|
|
TEMPLATE_PATH+"footer.html",
|
2013-05-09 09:42:03 +02:00
|
|
|
TEMPLATE_PATH+"404.html",
|
2012-10-24 21:08:34 +02:00
|
|
|
TEMPLATE_PATH+"index.html",
|
|
|
|
TEMPLATE_PATH+"about.html",
|
2013-07-17 01:08:44 +02:00
|
|
|
TEMPLATE_PATH+"news.html",
|
|
|
|
TEMPLATE_PATH+"edit_news.html",
|
2012-10-24 21:08:34 +02:00
|
|
|
TEMPLATE_PATH+"book.html",
|
|
|
|
TEMPLATE_PATH+"search.html",
|
|
|
|
TEMPLATE_PATH+"upload.html",
|
2013-09-03 14:02:54 +02:00
|
|
|
TEMPLATE_PATH+"login.html",
|
2012-10-24 21:08:34 +02:00
|
|
|
TEMPLATE_PATH+"new.html",
|
|
|
|
TEMPLATE_PATH+"read.html",
|
|
|
|
TEMPLATE_PATH+"edit.html",
|
2012-10-28 18:47:44 +01:00
|
|
|
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",
|
2012-10-24 21:08:34 +02:00
|
|
|
))
|
2012-08-15 11:51:25 +02:00
|
|
|
|
2012-10-24 21:08:34 +02:00
|
|
|
func loadTemplate(w http.ResponseWriter, tmpl string, data interface{}) {
|
2012-08-15 12:00:44 +02:00
|
|
|
err := templates.ExecuteTemplate(w, tmpl+".html", data)
|
2012-08-15 11:51:25 +02:00
|
|
|
if err != nil {
|
|
|
|
http.Error(w, err.Error(), http.StatusInternalServerError)
|
|
|
|
return
|
|
|
|
}
|
|
|
|
}
|
2013-08-31 00:38:32 +02:00
|
|
|
|
2013-08-31 02:45:30 +02:00
|
|
|
var txt_templates = txt_tmpl.Must(txt_tmpl.ParseFiles(TEMPLATE_PATH+"search_rss.xml",
|
|
|
|
TEMPLATE_PATH+"news_rss.xml",
|
|
|
|
))
|
2013-08-31 00:38:32 +02:00
|
|
|
|
|
|
|
func loadTxtTemplate(w http.ResponseWriter, tmpl string, data interface{}) {
|
|
|
|
err := txt_templates.ExecuteTemplate(w, tmpl, data)
|
|
|
|
if err != nil {
|
|
|
|
http.Error(w, err.Error(), http.StatusInternalServerError)
|
|
|
|
return
|
|
|
|
}
|
|
|
|
}
|