From a906f1747063065513da25b661fec64105005c27 Mon Sep 17 00:00:00 2001 From: Azareal Date: Thu, 6 Apr 2017 18:37:32 +0100 Subject: [PATCH] Added support for modlogs. Added support for more mod-action posts in topics. Fixed an easter egg. Fixed a few redirects. Fixed an issue with users not being loaded if they weren't already in the cache in the User Editor. --- data.sql | 6 +- images/modlogs.png | Bin 0 -> 87315 bytes main.go | 1 + mod_routes.go | 96 +++++++++++++++++++++--- mysql.go | 4 +- pages.go | 16 ++++ panel_routes.go | 128 +++++++++++++++++++++++++++----- routes.go | 37 ++++----- templates/panel-inner-menu.html | 1 + templates/panel-modlogs.html | 19 +++++ 10 files changed, 253 insertions(+), 55 deletions(-) create mode 100644 images/modlogs.png create mode 100644 templates/panel-modlogs.html diff --git a/data.sql b/data.sql index 7a924f8d..452b4c89 100644 --- a/data.sql +++ b/data.sql @@ -174,7 +174,8 @@ CREATE TABLE `moderation_logs`( `elementID` int not null, `elementType` varchar(100) not null, `ipaddress` varchar(200) not null, - `actorID` int not null + `actorID` int not null, + `doneAt` datetime not null ); CREATE TABLE `administration_logs`( @@ -182,7 +183,8 @@ CREATE TABLE `administration_logs`( `elementID` int not null, `elementType` varchar(100) not null, `ipaddress` varchar(200) not null, - `actorID` int not null + `actorID` int not null, + `doneAt` datetime not null ); INSERT INTO settings(`name`,`content`,`type`) VALUES ('url_tags','1','bool'); diff --git a/images/modlogs.png b/images/modlogs.png new file mode 100644 index 0000000000000000000000000000000000000000..dba1b374b4038f020d50e2188a2733befb6d9e4c GIT binary patch literal 87315 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 rrr7k5^RX&R%&(>%mTmD@Ti" + topic.Title + " was locked by "+actor.Name+"" + case "unlock": + topic, err := topics.CascadeGet(elementID) + if err != nil { + topic = &Topic{Title:"Unknown"} + } + action = "" + topic.Title + " was reopened by "+actor.Name+"" + case "stick": + topic, err := topics.CascadeGet(elementID) + if err != nil { + topic = &Topic{Title:"Unknown"} + } + action = "" + topic.Title + " was pinned by "+actor.Name+"" + case "unstick": + topic, err := topics.CascadeGet(elementID) + if err != nil { + topic = &Topic{Title:"Unknown"} + } + action = "" + topic.Title + " was unpinned by "+actor.Name+"" + case "delete": + if elementType == "topic" { + action = "Topic #" + strconv.Itoa(elementID) + " was deleted by "+actor.Name+"" + } else { + topic, err := get_topic_by_reply(elementID) + if err != nil { + topic = &Topic{Title:"Unknown"} + } + action = "A reply in " + topic.Title + " was deleted by "+actor.Name+"" + } + case "ban": + targetUser, err := users.CascadeGet(elementID) + if err != nil { + targetUser = &User{Name:"Unknown"} + } + action = "" + targetUser.Name + " was banned by "+actor.Name+"" + case "unban": + targetUser, err := users.CascadeGet(elementID) + if err != nil { + targetUser = &User{Name:"Unknown"} + } + action = "" + targetUser.Name + " was unbanned by "+actor.Name+"" + case "activate": + targetUser, err := users.CascadeGet(elementID) + if err != nil { + targetUser = &User{Name:"Unknown"} + } + action = "" + targetUser.Name + " was activated by "+actor.Name+"" + default: + action = "Unknown action '" + action + "' by "+actor.Name+"" + } + logs = append(logs, Log{Action:template.HTML(action),IPAddress:ipaddress,DoneAt:doneAt}) + } + err = rows.Err() + if err != nil { + InternalError(err,w,r) + return + } + + pi := LogsPage{"Moderation Logs",user,noticeList,logs,nil} + err = templates.ExecuteTemplate(w,"panel-modlogs.html",pi) + if err != nil { + log.Print(err) + } +} diff --git a/routes.go b/routes.go index f6af4b4b..5ea29e6e 100644 --- a/routes.go +++ b/routes.go @@ -288,12 +288,9 @@ func route_forums(w http.ResponseWriter, r *http.Request){ } func route_topic_id(w http.ResponseWriter, r *http.Request){ - var( - err error - page int - offset int - replyList []Reply - ) + var err error + var page, offset int + var replyList []Reply page, _ = strconv.Atoi(r.FormValue("page")) tid, err := strconv.Atoi(r.URL.Path[len("/topic/"):]) @@ -416,6 +413,12 @@ func route_topic_id(w http.ResponseWriter, r *http.Request){ case "unlock": replyItem.ActionType = "This topic has been reopened by " + replyItem.CreatedByName + "" replyItem.ActionIcon = "🔓︎" + case "stick": + replyItem.ActionType = "This topic has been pinned by " + replyItem.CreatedByName + "" + replyItem.ActionIcon = "📌︎" + case "unstick": + replyItem.ActionType = "This topic has been unpinned by " + replyItem.CreatedByName + "" + replyItem.ActionIcon = "📌︎" default: replyItem.ActionType = replyItem.ActionType + " has happened" replyItem.ActionIcon = "" @@ -452,23 +455,11 @@ func route_profile(w http.ResponseWriter, r *http.Request){ return } - var( - err error - rid int - replyContent string - replyCreatedBy int - replyCreatedByName string - replyCreatedAt string - replyLastEdit int - replyLastEditBy int - replyAvatar string - replyCss template.CSS - replyLines int - replyTag string - replyGroup int - - replyList []Reply - ) + var err error + var replyContent, replyCreatedByName, replyCreatedAt, replyAvatar, replyTag string + var rid, replyCreatedBy, replyLastEdit, replyLastEditBy, replyLines, replyGroup int + var replyCss template.CSS + var replyList []Reply pid, err := strconv.Atoi(r.URL.Path[len("/user/"):]) if err != nil { diff --git a/templates/panel-inner-menu.html b/templates/panel-inner-menu.html index 50264dfc..6c27e5bf 100644 --- a/templates/panel-inner-menu.html +++ b/templates/panel-inner-menu.html @@ -9,4 +9,5 @@ {{if .CurrentUser.Perms.ManageThemes}}{{end}} {{if .CurrentUser.Perms.ManagePlugins}}{{end}} + \ No newline at end of file diff --git a/templates/panel-modlogs.html b/templates/panel-modlogs.html new file mode 100644 index 00000000..4e556b26 --- /dev/null +++ b/templates/panel-modlogs.html @@ -0,0 +1,19 @@ +{{template "header.html" . }} +{{template "panel-menu.html" . }} +
+ +
+ {{range .Logs}} +
+ {{.Action}}
+ IP: {{.IPAddress}} + + {{.DoneAt}} + +
+ {{end}} +
+
+{{template "footer.html" . }} \ No newline at end of file