93364dac77
List Torrent delete log Torrent edit log Comment delete log And every other logged activities Can be filtered out by a filter tag ("edit" or "delete" supported) Pages navigation Can be accessed by /activities Added some translation string Fixed hidden username on api request Fixed comments username on modpanel New Activity model New Activity handler New Activity Service Fixed some updating issue for ES when moderating torrents Be aware deleting torrents and comments return the model now!
197 lignes
4,3 Kio
Go
197 lignes
4,3 Kio
Go
package router
|
|
|
|
import (
|
|
"html/template"
|
|
"path/filepath"
|
|
)
|
|
|
|
// TemplateDir : Variable to the template directory
|
|
var TemplateDir = "templates" // FIXME: Need to be a constant!
|
|
|
|
// ModeratorDir : Variable to the admin template sub directory
|
|
const ModeratorDir = "admin"
|
|
|
|
var homeTemplate,
|
|
searchTemplate,
|
|
faqTemplate,
|
|
activityList,
|
|
uploadTemplate,
|
|
viewTemplate,
|
|
viewRegisterTemplate,
|
|
viewLoginTemplate,
|
|
viewRegisterSuccessTemplate,
|
|
viewVerifySuccessTemplate,
|
|
viewProfileTemplate,
|
|
viewProfileNotifTemplate,
|
|
viewProfileEditTemplate,
|
|
viewUserDeleteTemplate,
|
|
userTorrentEd,
|
|
notFoundTemplate,
|
|
changePublicSettingsTemplate,
|
|
databaseDumpTemplate *template.Template
|
|
|
|
var panelIndex,
|
|
panelTorrentList,
|
|
panelUserList,
|
|
panelCommentList,
|
|
panelTorrentEd,
|
|
panelTorrentReportList,
|
|
panelTorrentReassign *template.Template
|
|
|
|
type templateLoader struct {
|
|
templ **template.Template
|
|
file string
|
|
indexFile string
|
|
name string
|
|
}
|
|
|
|
// ReloadTemplates : reloads templates on runtime
|
|
func ReloadTemplates() {
|
|
pubTempls := []templateLoader{
|
|
{
|
|
templ: &databaseDumpTemplate,
|
|
name: "dump",
|
|
file: "dumps.html",
|
|
},
|
|
{
|
|
templ: &homeTemplate,
|
|
name: "home",
|
|
file: "home.html",
|
|
},
|
|
{
|
|
templ: &searchTemplate,
|
|
name: "search",
|
|
file: "home.html",
|
|
},
|
|
{
|
|
templ: &uploadTemplate,
|
|
name: "upload",
|
|
file: "upload.html",
|
|
},
|
|
{
|
|
templ: &faqTemplate,
|
|
name: "FAQ",
|
|
file: "FAQ.html",
|
|
},
|
|
{
|
|
templ: &activityList,
|
|
name: "activityList",
|
|
file: "activity_list.html",
|
|
},
|
|
{
|
|
templ: &viewTemplate,
|
|
name: "view",
|
|
file: "view.html",
|
|
},
|
|
{
|
|
templ: &viewRegisterTemplate,
|
|
name: "user_register",
|
|
file: filepath.Join("user", "register.html"),
|
|
},
|
|
{
|
|
templ: &viewRegisterSuccessTemplate,
|
|
name: "user_register_success",
|
|
file: filepath.Join("user", "signup_success.html"),
|
|
},
|
|
{
|
|
templ: &viewVerifySuccessTemplate,
|
|
name: "user_verify_success",
|
|
file: filepath.Join("user", "verify_success.html"),
|
|
},
|
|
{
|
|
templ: &viewLoginTemplate,
|
|
name: "user_login",
|
|
file: filepath.Join("user", "login.html"),
|
|
},
|
|
{
|
|
templ: &viewProfileTemplate,
|
|
name: "user_profile",
|
|
file: filepath.Join("user", "profile.html"),
|
|
},
|
|
{
|
|
templ: &viewProfileNotifTemplate,
|
|
name: "user_profile",
|
|
file: filepath.Join("user", "profile_notifications.html"),
|
|
},
|
|
{
|
|
templ: &viewProfileEditTemplate,
|
|
name: "user_profile",
|
|
file: filepath.Join("user", "profile_edit.html"),
|
|
},
|
|
{
|
|
templ: &viewUserDeleteTemplate,
|
|
name: "user_delete",
|
|
file: filepath.Join("user", "delete_success.html"),
|
|
},
|
|
{
|
|
templ: &userTorrentEd,
|
|
name: "user_torrent_edit",
|
|
file: filepath.Join("user", "torrent_edit.html"),
|
|
},
|
|
{
|
|
templ: ¬FoundTemplate,
|
|
name: "404",
|
|
file: "404.html",
|
|
},
|
|
{
|
|
templ: &changePublicSettingsTemplate,
|
|
name: "change_settings",
|
|
file: "public_settings.html",
|
|
},
|
|
}
|
|
for idx := range pubTempls {
|
|
pubTempls[idx].indexFile = filepath.Join(TemplateDir, "index.html")
|
|
}
|
|
|
|
modTempls := []templateLoader{
|
|
{
|
|
templ: &panelTorrentList,
|
|
name: "torrentlist",
|
|
file: filepath.Join(ModeratorDir, "torrentlist.html"),
|
|
},
|
|
{
|
|
templ: &panelUserList,
|
|
name: "userlist",
|
|
file: filepath.Join(ModeratorDir, "userlist.html"),
|
|
},
|
|
{
|
|
templ: &panelCommentList,
|
|
name: "commentlist",
|
|
file: filepath.Join(ModeratorDir, "commentlist.html"),
|
|
},
|
|
{
|
|
templ: &panelIndex,
|
|
name: "indexPanel",
|
|
file: filepath.Join(ModeratorDir, "panelindex.html"),
|
|
},
|
|
{
|
|
templ: &panelTorrentEd,
|
|
name: "torrent_ed",
|
|
file: filepath.Join(ModeratorDir, "paneltorrentedit.html"),
|
|
},
|
|
{
|
|
templ: &panelTorrentReportList,
|
|
name: "torrent_report",
|
|
file: filepath.Join(ModeratorDir, "torrent_report.html"),
|
|
},
|
|
{
|
|
templ: &panelTorrentReassign,
|
|
name: "torrent_reassign",
|
|
file: filepath.Join(ModeratorDir, "reassign.html"),
|
|
},
|
|
}
|
|
|
|
for idx := range modTempls {
|
|
modTempls[idx].indexFile = filepath.Join(TemplateDir, "admin_index.html")
|
|
}
|
|
|
|
templs := make([]templateLoader, 0, len(modTempls)+len(pubTempls))
|
|
templs = append(templs, pubTempls...)
|
|
templs = append(templs, modTempls...)
|
|
|
|
for _, templ := range templs {
|
|
t := template.Must(template.New(templ.name).Funcs(FuncMap).ParseFiles(templ.indexFile, filepath.Join(TemplateDir, templ.file)))
|
|
t = template.Must(t.ParseGlob(filepath.Join(TemplateDir, "_*.html")))
|
|
*templ.templ = t
|
|
}
|
|
}
|