Modlogs / Adminlogs WIP, not much to see here. I'm just dumping this here, as I'm going to be moving a lot of code into another file, and I didn't want it to mess with the diffs.
This commit is contained in:
parent
2dbeef4694
commit
d3d76d407b
16
data.sql
16
data.sql
|
@ -169,6 +169,22 @@ CREATE TABLE `themes`(
|
||||||
unique(`uname`)
|
unique(`uname`)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
CREATE TABLE `moderation_logs`(
|
||||||
|
`action` varchar(100) not null,
|
||||||
|
`elementID` int not null,
|
||||||
|
`elementType` varchar(100) not null,
|
||||||
|
`ipaddress` varchar(200) not null,
|
||||||
|
`actorID` int not null
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE `administration_logs`(
|
||||||
|
`action` varchar(100) not null,
|
||||||
|
`elementID` int not null,
|
||||||
|
`elementType` varchar(100) not null,
|
||||||
|
`ipaddress` varchar(200) not null,
|
||||||
|
`actorID` int not null
|
||||||
|
);
|
||||||
|
|
||||||
INSERT INTO settings(`name`,`content`,`type`) VALUES ('url_tags','1','bool');
|
INSERT INTO settings(`name`,`content`,`type`) VALUES ('url_tags','1','bool');
|
||||||
INSERT INTO settings(`name`,`content`,`type`,`constraints`) VALUES ('activation_type','1','list','1-3');
|
INSERT INTO settings(`name`,`content`,`type`,`constraints`) VALUES ('activation_type','1','list','1-3');
|
||||||
INSERT INTO settings(`name`,`content`,`type`) VALUES ('bigpost_min_chars','250','int');
|
INSERT INTO settings(`name`,`content`,`type`) VALUES ('bigpost_min_chars','250','int');
|
||||||
|
|
|
@ -73,6 +73,12 @@ func route_edit_topic(w http.ResponseWriter, r *http.Request) {
|
||||||
} else {
|
} else {
|
||||||
action = "unlock"
|
action = "unlock"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
err = addModLog(action,tid,"topic",ipaddress,user.ID)
|
||||||
|
if err != nil {
|
||||||
|
InternalError(err,w,r)
|
||||||
|
return
|
||||||
|
}
|
||||||
_, err = create_action_reply_stmt.Exec(tid,action,ipaddress,user.ID)
|
_, err = create_action_reply_stmt.Exec(tid,action,ipaddress,user.ID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
InternalError(err,w,r)
|
InternalError(err,w,r)
|
||||||
|
@ -137,6 +143,23 @@ func route_delete_topic(w http.ResponseWriter, r *http.Request) {
|
||||||
InternalError(err,w,r)
|
InternalError(err,w,r)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ipaddress, _, err := net.SplitHostPort(r.RemoteAddr)
|
||||||
|
if err != nil {
|
||||||
|
LocalError("Bad IP",w,r,user)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
err = addModLog("delete",tid,"topic",ipaddress,user.ID)
|
||||||
|
if err != nil {
|
||||||
|
InternalError(err,w,r)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
/*_, err = create_action_reply_stmt.Exec(tid,"delete",ipaddress,user.ID)
|
||||||
|
if err != nil {
|
||||||
|
InternalError(err,w,r)
|
||||||
|
return
|
||||||
|
}*/
|
||||||
|
|
||||||
log.Print("The topic '" + strconv.Itoa(tid) + "' was deleted by User ID #" + strconv.Itoa(user.ID) + ".")
|
log.Print("The topic '" + strconv.Itoa(tid) + "' was deleted by User ID #" + strconv.Itoa(user.ID) + ".")
|
||||||
http.Redirect(w,r,"/",http.StatusSeeOther)
|
http.Redirect(w,r,"/",http.StatusSeeOther)
|
||||||
|
|
||||||
|
|
14
mysql.go
14
mysql.go
|
@ -91,6 +91,8 @@ var update_group_stmt *sql.Stmt
|
||||||
var create_group_stmt *sql.Stmt
|
var create_group_stmt *sql.Stmt
|
||||||
var add_theme_stmt *sql.Stmt
|
var add_theme_stmt *sql.Stmt
|
||||||
var update_theme_stmt *sql.Stmt
|
var update_theme_stmt *sql.Stmt
|
||||||
|
var add_modlog_entry_stmt *sql.Stmt
|
||||||
|
var add_adminlog_entry_stmt *sql.Stmt
|
||||||
|
|
||||||
func init_database(err error) {
|
func init_database(err error) {
|
||||||
if(dbpassword != ""){
|
if(dbpassword != ""){
|
||||||
|
@ -594,6 +596,18 @@ func init_database(err error) {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
log.Print("Preparing add_modlog_entry statement.")
|
||||||
|
add_modlog_entry_stmt, err = db.Prepare("INSERT INTO moderation_logs(action,elementID,elementType,ipaddress,actorID) VALUES(?,?,?,?,?)")
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
log.Print("Preparing add_adminlog_entry statement.")
|
||||||
|
add_adminlog_entry_stmt, err = db.Prepare("INSERT INTO moderation_logs(action,elementID,elementType,actorID) VALUES(?,?,?,?)")
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
log.Print("Loading the usergroups.")
|
log.Print("Loading the usergroups.")
|
||||||
groups = append(groups, Group{ID:0,Name:"System"})
|
groups = append(groups, Group{ID:0,Name:"System"})
|
||||||
|
|
||||||
|
|
|
@ -15,6 +15,7 @@ import "net/http"
|
||||||
import "html"
|
import "html"
|
||||||
import "html/template"
|
import "html/template"
|
||||||
import "database/sql"
|
import "database/sql"
|
||||||
|
|
||||||
import _ "github.com/go-sql-driver/mysql"
|
import _ "github.com/go-sql-driver/mysql"
|
||||||
import "golang.org/x/crypto/bcrypt"
|
import "golang.org/x/crypto/bcrypt"
|
||||||
|
|
||||||
|
|
16
utils.go
16
utils.go
|
@ -223,3 +223,19 @@ func fill_group_id_gap(biggerID int, smallerID int) {
|
||||||
groups = append(groups, dummy)
|
groups = append(groups, dummy)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func addModLog(action string, elementID int, elementType string, ipaddress string, actorID int) error {
|
||||||
|
_, err := add_modlog_entry_stmt.Exec(action,elementID,elementType,ipaddress,actorID)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func addAdminLog(action string, elementID string, elementType int, ipaddress string, actorID int) error {
|
||||||
|
_, err := add_adminlog_entry_stmt.Exec(action,elementID,elementType,ipaddress,actorID)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue